Caja de herramientas del algoritmo genético de Sheffield

Instalar Toolbox

Como una biblioteca de funciones de matlab, Sheffield Genetic Algorithm Toolbox puede implementar fácilmente algoritmos genéticos. Al principio, aprendí los algoritmos de optimización de inteligencia de enjambre, como la optimización de enjambre de partículas y los algoritmos de optimización de ballenas, ambos en el dominio entero, que dependen de diferentes operadores para iterar cada agente en la población, y también he encontrado genética como algoritmos de evolución diferencial. Algoritmo mejorado. Después de comprender inicialmente el algoritmo genético, he estado pensando en la conversión entre binario y decimal en el algoritmo genético, porque involucra la parte decimal del decimal y el número de dígitos binarios. En la caja de herramientas Sheffield, hay una función bs2rv (). La función incorporada contiene un algoritmo específico, que nos permite convertir fácilmente una matriz binaria en un número decimal en un intervalo específico de acuerdo con los parámetros requeridos por el algoritmo. El principio no es especial. Entender

Descargar caja de herramientas

El enlace de descarga original fue proporcionado por el oficial de forma gratuita, pero actualmente es 404. Si lo necesita, puede confiar en mí en privado. El sitio web oficial original es este.
http://codem.group.shef.ac.uk/index.php/ga-toolbox
(1) Salga del disco de la red, para recordar la adición de chino, puede eliminar el chino anterior después de la descarga.

(2) Descomprímalo y colóquelo en la carpeta (caja de herramientas) de la herramienta de administración de matlab. PD: uso matlab2012a
Inserte la descripción de la imagen aquí

Agregar ruta

Busque la siguiente carpeta en matlab y agregue gatbx a la ruta de todos los archivos. Mi matlab debe agregarse cada vez que se inicia.
Inserte la descripción de la imagen aquí

Función de algoritmo genético

El algoritmo genético es un algoritmo de optimización de inteligencia grupal. En la población, repita las tres operaciones de selección, cruce y mutación para cada partícula. Aquí hay algunas funciones que son un poco difíciles de entender. Para algunas funciones, mi comprensión puede estar sesgada.

función ranking ()

Hay tres formatos de llamada para la función ranking ()
1.FitnV = ranking (ObjV)
2.FitnV = ranking (ObjV, RFun)
3.FitnV = ranking (ObjV, RFun, SUBPOP)

El primer formato
ObjV es un valor de objeto , que almacena un vector. Devuelve una secuencia con clasificación lineal y presión diferencial = 2 , donde la clasificación lineal y la presión diferencial de 2 son los atributos predeterminados. Desde una perspectiva macro, se devuelve un vector ** [0,2] . Cuanto mayor sea ObjV , menor será el valor de retorno. Este valor de retorno se llamará en la función de selección **.
El segundo formato
Rfun necesita pasar en una matriz de dos dígitos. En
Rfun (1), para la clasificación lineal, Rfun (1) necesita ser controlado en [1,2] Según tengo entendido, la diferencia de presión es un modo de compresión, Rfun (1) = 2, el valor de retorno de la función se controlará en [0,2], Rfun (1) = 1.5, el valor de retorno se controlará en [0.5,1.5].
En Rfun (2), Rfun (2) = 1 es una ordenación no lineal, y Rfun (2) = 0 es una ordenación lineal. Poco se sabe sobre la ordenación lineal y la ordenación no lineal. La función de clasificación () por defecto es la ordenación lineal.
El tercer formato
predeterminado es SUBPOP = 1, SUBPOP define el número de poblaciones de neutrones ObjV, este parámetro no se ha estudiado demasiado.

función select ()

Seleccionar individuos de la población 1.
SelCh = seleccionar (SEL_F, Chrom, FitnV)
2. SelCh = seleccionar (SEL_F, Chrom, FitnV, GGAP)
3. SelCh = seleccionar (SEL_F, Chrom, FitnV, GGAP, SUBPOP)

El primer formato que
SEL_F pasa en un parámetro de cadena 'rws' es Roulette Wheel Selection, que es ruleta y 'sus' es Stochastic Universal Sampling, que es un muestreo universal aleatorio.
El segundo formato
GGAP representa la brecha generacional, es decir, la probabilidad de permanecer. El valor predeterminado es 1.0

Función bs2rv ()

Función binaria a decimal
bs2rv (Chrom, FieldD)
Esta función se entiende como un algoritmo integrado en la caja de herramientas del algoritmo genético. Debido a que la selección, el cruce y la mutación en el algoritmo genético se completan en la cadena binaria, esta función debe convertirse a Decimal
FieldD entiende que nuestra conversión es un parámetro de formato que debe pasarse.
FieldD = [len lb ub código escala lbin ubin]
len = tamaño (Chrom, 2)
lb, ub son los límites superior e inferior de cada variable.
El código viene en el modo de codificación, 1 significa codificación binaria estándar y 0 significa codificación Gray.
scale La escala utilizada para la subcadena entrante.0 significa que se calcula la escala. 1 significa escala logarítmica.
lbin ubin indica si el rango convertido contiene límites, 0 significa que no hay límites y 1 significa inclusión.

Resumen

Este artículo solo presenta brevemente una pequeña parte de la caja de herramientas del algoritmo genético de Sheffield. Si hay alguna imprecisión, puede discutirlo en cartas privadas. Espero que este artículo pueda ayudar a todos, además de ayudarme a registrar mi aprendizaje.

Publicado 1 artículo original · gustó 0 · visitas 6

Supongo que te gusta

Origin blog.csdn.net/qq_40705144/article/details/105600406
Recomendado
Clasificación