Está en la página 1de 4

Algoritmo genético aplicado a la

optimización de una función.


AGUIRRE CEVALLOS BRYAN ALEXANDER
CODIGO: 1030
Bryan.aguirre@espoch .edu.ec

Resumen—En este informe se presentan los resultados de la Los Algoritmos Genéticos (AGs) son métodos adaptativos que
aplicación de algoritmos genéticos, para optimizar un problema de pueden usarse para resolver problemas de búsqueda y
generación distribuida (GD) de potencia que debe cumplir ciertas optimización. Están basados en el proceso genético de los
restricciones. Para la implementación del algoritmo genético se organismos vivos. A lo largo de las generaciones, las
utiliza el toolbox de Matlab ya implementado variando algunos poblaciones evolucionan en la naturaleza de acorde con los
parámetros como fracción de mutación, población etc. principios de la selección natural y la supervivencia de los más
fuertes, postulados por Darwin. Por imitación de este proceso,
Palabras Claves—Optimización con restricciones, Algoritmos los Algoritmos Genéticos son capaces de ir creando soluciones
Genéticos, Matlab, Generación.
para problemas del mundo real. La evolución de dichas
Abstract- In this report we present the results of the application of soluciones hacia valores óptimos del problema depende en
genetic algorithms, to improve a distributed generation (GD) buena medida de una adecuada codificación de las mismas.
power problem that must comply with certain restrictions. For the
implementation of the genetic algorithm, the Matrix toolbox and B. Problemática
the application are used.
Los Algoritmos Genéticos usan una analogía directa con el
Keywords-Constrained Optimization, Genetic Algorithm, Matlab, comportamiento natural. Trabajan con una población de
Generation. individuos, cada uno de los cuales representa una solución
factible a un problema dado. A cada individuo se le asigna un
I. INTRODUCCION valor ó puntuación, relacionado con la bondad de dicha solución.
La optimización con restricciones plantea el problema de En la naturaleza esto equivaldría al grado de efectividad de un
organismo para competir por unos determinados recursos.
encontrar un punto o puntos mínimos de una función restringida
Cuanto mayor sea la adaptación de un individuo al problema,
a ciertas restricciones, a unos valores de banda, (Up-Down), y a
mayor será la probabilidad de que el mismo sea seleccionado
una función de restricción. En nuestro problema vamos a
para reproducirse, cruzando su material genético con otro
optimizar una función objetivo y encontrar el mínimo relativo. individuo seleccionado de igual forma. Este cruce producirá
Para solucionar este problema se usan algoritmos genéticos, nuevos individuos. descendientes de los anteriores. los cuales
algoritmo específicamente elaborado para solucionar comparten algunas de las características de sus padres. Cuanto
problemas de este tipo, es Heurísticos, que dependen mucho de menor sea la adaptación de un individuo, menor será la
los parámetros de entrada. Se usa el toolbox de Matlab ya probabilidad de que dicho individuo sea seleccionado para la
implementado variando diferentes propiedades. reproducción, y por tanto de que su material genético se
propague en sucesivas generaciones.
II. MARCO TEÓRICO
C. Ventajas y Desventajas
A. Algoritmos Genéticos
Los algoritmos genéticos son un tipo de algoritmo de No necesitan conocimientos específicos sobre el problema que
optimización que se utilizan para encontrar una solución intentan resolver.
óptima, a un problema computacional, en el cual se imitan
procesos biológicos de reproducción y selección natural. Al  Operan de forma simultánea con varias soluciones, en
igual que en la evolución, muchos de esto procesos de vez de trabajar de forma secuencial como las técnicas
algoritmos genéticos son la alzar, aunque mediante el toolbox tradicionales.
de Matlab y en general se puede establecer el nivel de  Cuando se usan para problemas de optimización
aleatoriedad y control. maximizar una función objetivo- resultan menos
Debido a que los algoritmos genéticos simulan procesos afectados por los máximos locales (falsas soluciones)
biológicos mucha terminología relevante de biología debe ser que las técnicas tradicionales.
usada, Los componentes básicos de un algoritmo genético son:
 Resulta sumamente fácil ejecutarlos en las modernas
 Una función de optimización, denominada función arquitecturas masivamente paralelas.
fitness.
 Usan operadores probabilísticos, en vez de los típicos
 Población de cromosomas. operadores determinísticos de las otras técnicas.
 Selección de reproducción de cromosomas  Pueden tardar mucho en converger, o no converger en
 Mezcla de los productos de la siguiente generación de absoluto, dependiendo en cierta medida de los
cromosomas y un factor aleatorio de mutación en la parámetros que se utilicen tamaño de la población,
nueva generación. número de generaciones, etc.-.
En el toolbox de Matlab, ya vienen integrados todos estos  Pueden converger prematuramente debido a una serie de
parámetros, además de diversas funciones de selección de problemas de diversa índole.
individuos, tales como selección estocástica, ruleta y elitista.
Una vez creada nuestra función objetivo procedemos ah ver los
parámetros de la PG utilizamos el comando:

optimtool('ga')
PRUEBA ALGORITMOS GENÉTICOS, OPCIONES POR
DEFECTO.
Se calibra el toolbox de Matlab incluido con las opciones de la
función objetivo que se vaya a minimizar, en nuestro caso las
potencias de generación, y se establecen los vectores de umbral
de cada una de los generadores. Las demás opciones como
Población (Population), Escala Fitness, etc, se dejan con los
valores predeterminados. La población inicial se toma como 20
potencias aleatorias que posiblemente minimizaran el
problema, el parámetro de selección por defecto es Estocástico
Uniforme, que, al ser de carácter no lineal, tiene en cuenta los
padres, es decir, las potencias iníciales y escoge la siguiente
generación en base a la expectativa de vida o en este caso a la Esta ventana de comandos nos permite realizar cambios poner
potencia producida, por medio de un parámetro aleatorio. parámetros dependiendo de nuestro problema.
El parámetro de reproducción está determinado por defecto, en Después de llenar todos los parámetros y realizar los cambios
2, es decir el número de individuos que sobrevivirán a la correspondientes le damos clic en start .
siguiente generación, en todos los casos se debe tener en cuenta Por último, llamamos a nuestra función y ejecutamos, como
que este parámetro determinado por elitismo, es decir donde los resultado optemos nuestro mínimo absoluto o aproximado.
mejores resultados pasen a la siguiente generación, debe ser
menor o igual al tamaño de la población. El factor de mezcla
debe ser un numero contendido entre 0 y 1, en este caso 0.8; III. CONCLUSIONES
representando una tasa de reproducción al azar del 80% es decir
 Dos aspectos que resultan cruciales en el comportamiento
pasan a la siguiente generación con mayores
de los Algoritmos Genéticos son la determinación de una
III.APLICACION DEL PROBLEMA
adecuada función de adaptación o función objetivo, así
La función objetivo que se va a utilizar para demostrar el
como la codificación utilizada.
funcionamiento del algoritmo genético es la siguiente:
 Los parámetros de calibración son de vital importancia
para determinar las características de la población y su
reproducción, como se puede determinar por las pruebas
realizadas cambios en la forma de la mutación y selección
de los individuos hacen que la función converja, pero
ceñida a restricciones del algoritmo en utilización.
Y si grafico es:
REFERENCES
[1] Mahamad Nabab Alama, “Particle Swarm Optimization: Algoritm and
it’s codes in MATLAB”, en revisión, Marzo 8 de 2016. Departamento
de Ingeniería Eléctrica del Instituto de Tecnología Roorke, India.
[2] Carr J, An An Introduction to Genetic, Peters, Ed. New York: McGraw-
Hill, 1964, pp. 15–64.
[3] Pohlheim H. Tutorial: Genetic and Evolutionary Algorithm Toolbox for
use with Matlab Documentation for: Genetic and Evolutionary
Algorithm Toolbox for use with Matlab version: toolbox 1.95
documentation 1.95 (August 1999)
[4] Help with Matlab Script. Available
http://www.mathworks.com/help/optim/ug/fmincon.html

Como se puede observar dicha función tiene dos mínimos, el


trabajo de nuestro algoritmo genético será encontrar cual es el
más mínimo.
Para ello declaramos nuestra función objetivo.

function y= optimizar(x)
if x<=20
y=-exp(-(x/20).^2);
else
y=-exp(-1)+(x-20)*(x-22);
end

También podría gustarte