¡Urgente! Obtenga ayuda de expertos de matlab
Este es un documento muy útil para principiantes, especialmente aquellos sin experiencia en programación
Un ejemplo de algoritmo genético
A continuación se muestra un ejemplo de algoritmo genético
Encuentra el valor máximo de la siguiente función
f(x)=10*sin(5x) 7*cos(4x) x∈
Toma el valor de x y use el valor de x en la forma de la siguiente función. p> Representar el valor de x en forma binaria de 10 bits es un problema binario, y la resolución de números binarios de 10 bits es (10-0)/(2^10-1)≈0,01 por.
Discretiza el dominio variable en un dominio binario, x=0 10*b/1023, donde b es un número binario en .
------------------------------ ------ -------------------------------------------- ------ --------------------------
------- ------- ------------------------------------------- ------- ------------------------------------------- --
Programación
--------------------------------- ------- -------
2.1 Inicialización (codificación)
La función de la función initpop.m es inicializar la población. popsize representa el tamaño de la población, chromlength representa la longitud del cromosoma (la longitud del número binario),
La longitud depende de la longitud de codificación binaria de la variable (10 bits en este ejemplo).
Subrutina de algoritmo genético
Nombre: initpop.m
Inicialización
Función pop=initpop(popsize, chromlength)
pop=round(rand(popsize, chromlength)); rand genera aleatoriamente una matriz, el número de filas de cada unidad es popsize, el número de columnas es chromlength y el número de filas es {0, 1},
roud redondea cada celda de la matriz. Esto crea la población inicial.
2.2 Calcular el valor de la función objetivo
2.2.1 Convertir un número binario en un número decimal (1)
Subrutina del algoritmo genético
Nombre : decodebinary.m
Generado)
evalops es el parámetro pasado a la función de ajuste, opts es la precisión de la codificación binaria, termops es el parámetro pasado a maxGenTerm cuando termina maxGenTerm Se selecciona la función, es decir, xoverops es el parámetro pasado a la función de cruce. mutops son los parámetros pasados a la función de mutación.
El problema es encontrar el valor máximo de f(x)=x 10*sin(5x) 7*cos(4x), donde 0lt;=xlt;=9
Analizar codificación binaria Seleccione, el número de individuos en la población es 10, la longitud del código binario es 20, la probabilidad de cruce es 0,95 y la probabilidad de mutación es 0.
08
Lista de programas
Escribe la función objetivo
función)
evalops es el parámetro pasado a la función de ajuste, opts es el codificación binaria La precisión de termops es el parámetro pasado a maxGenTerm al seleccionar la función de terminación maxGenTerm, es decir, xoverops es el parámetro pasado a la función de cruce. mutops son los parámetros pasados a la función de mutación.
Referencia: No lo recuerdo, lo siento