Red de conocimiento informático - Material del sitio web - Cómo utilizar algoritmos genéticos para implementar problemas de optimización multivariante

Cómo utilizar algoritmos genéticos para implementar problemas de optimización multivariante

¿Se parece mucho a encontrar el valor óptimo de una función? Se recomienda que aprenda sobre la codificación real de los algoritmos genéticos, lo cual es muy conveniente para encontrar el valor máximo de una función sin la necesidad de realizar una conversión como la binaria.

Una breve introducción a la idea:

Lo más importante es determinar la función adecuada. Siempre que se determine esta función, será fácil de usar. No es necesario programar, simplemente llame directamente a la caja de herramientas de Matlab.

Primero, establezca el tamaño de la población e inicialice la población p, y luego calcule la aptitud de cada individuo.

Por ejemplo, 20 individuos, cada individuo contiene 5 variables: x1, x2, x3, x4, x5.

Si usas matlab para programar, puedes implementarlo fácilmente usando la función random('unif', a, b), ¿verdad?

Por ejemplo, si el rango de x1 es, entonces x1=random('unif', 0, 1).

En segundo lugar, use la ruleta para seleccionar descendencia que pueda producir padres ( p_padres).

En otras palabras, la esencia de la ruleta es que el padre con mayor adaptabilidad tiene mayor probabilidad de ser seleccionado. No es difícil, pero es una larga historia, así que puedes comprobarlo por ti mismo.

3. El principio del proceso de hibridación es emparejar aleatoriamente a los individuos en p_parents y luego generar aleatoriamente un número del 1 al n (n es el número de variables), establecerlo en i, y en cada uno Intercambia el valor de la variable después de i en la generación principal. Los p_parents intercambiados se convierten en el descendiente p_offspring.

Los cambios aquí son un poco complicados, pero sólo hay que tener paciencia y programar el proceso de emparejamiento y el proceso de intercambio.

4. El proceso de mutación es relativamente sencillo, pero es necesario dominarlo mejor.

La idea básica es establecer una probabilidad, como 0,05, y luego generar un número aleatorio. Si el número aleatorio es menor que 0,05, entonces el valor de la variable debería aumentar o disminuir ligeramente.

Este proceso de mutación debe pasar por todas las variables de p_offspring.

Paso 5: combine p y p_offspring, seleccione el que tenga la mayor aptitud y reorganice una población igual al tamaño de la población original.