Professional Documents
Culture Documents
GENETIC ALGORITHMS
Integrantes:
Grupo: 3CM6
Objetivo
Analizar los elementos de la herramienta Algoritmos Genéticos y Búsqueda Directa en
la solución de problemas de optimización y búsqueda; mediante la ejecución de
programas demostrativos y archivos fuente de la herramienta Genetic Algorithm and
Direct Search Toolbox de Matlab.
Marco Teórico
Un algoritmo genético consiste en una función matemática o una rutina de software
que toma como entradas a los ejemplares y retorna como salidas cuáles de ellos deben
generar descendencia para la nueva generación. Habitualmente la población inicial se
escoge generando ristras al azar, pudiendo contener cada gen uno de los posibles
valores del alfabeto con probabilidad uniforme. Dos aspectos que resultan cruciales en
el comportamiento de los Algoritmos Genéticos son la determinación de una adecuada
función de adaptación o función objetivo, así como la codificación utilizada.
3CM9 Página 2
Práctica 1 – Genetic Algorithms
Introducción
El algoritmo genético es una técnica de búsqueda basada en la teoría de la evolución
de Darwin, que ha cobrado tremenda popularidad en todo el mundo durante los últimos
años. Se presentarán aquí los conceptos básicos que se requieren para abordarla, así
como unos sencillos ejemplos que permitan a los lectores comprender cómo aplicarla al
problema de su elección.
3CM9 Página 3
Práctica 1 – Genetic Algorithms
Desarrollo
PARTE 1. Programas Demostrativos de Algoritmos Genéticos.
3CM9 Página 4
Práctica 1 – Genetic Algorithms
3CM9 Página 5
Práctica 1 – Genetic Algorithms
3CM9 Página 6
Práctica 1 – Genetic Algorithms
3CM9 Página 7
Práctica 1 – Genetic Algorithms
plotobjective(@shufcn,[-2 2; -2 2]);
-186.381
54 épocas.
opts = gaoptimset(opts,'PopulationSize',10);
Population = rand(3,2)
3CM9 Página 8
Práctica 1 – Genetic Algorithms
Por qué los primeros valores que evalúa son aleatorios dentro de los valores de
optimización. Al hacer la primera corrida toma los individuos de la población que
presenten mejor aptitud los toma y los empieza a evaluar para obtener la mejor
función evaluada y en cada corrida hace lo mismo hasta obtener el mejor valor
evaluado a partir de la función de aptitud.
100 Generaciones.
clc; clear,
3CM9 Página 9
Práctica 1 – Genetic Algorithms
1ra Corrida.
2da Corrida.
3ra Corrida.
3CM9 Página 10
Práctica 1 – Genetic Algorithms
4ta Corrida.
5ta Corrida.
Después de analizar las 5 corridas efectuadas, se deduce que la mejor de las corridas
fue la primera ya que el valor de su función de aptitud (fval) evaluado en el punto X fue
el menor, es decir, el mejor.
3CM9 Página 11
Práctica 1 – Genetic Algorithms
3CM9 Página 12
Práctica 1 – Genetic Algorithms
3CM9 Página 13
Práctica 1 – Genetic Algorithms
b. Corrida 2
c. Corrida 3
3CM9 Página 14
Práctica 1 – Genetic Algorithms
d. Corrida 4
e. Corrida 5
3CM9 Página 15
Práctica 1 – Genetic Algorithms
- Cuestionario
1. ¿Cuáles son las funciones en Genetic Algorithms and Direct Search Tool
Box que nos permiten realizar las operaciones principales de un algoritmo
genético? Investigue y explique.
R.
Genetic Algorithm
Función Descripción
ga Encuentra el mínimo de una función
usando el algoritmo genético
gaoptimget Obtiene valores de las opciones de
estructura de un algoritmo genético
gaoptimset Crea opciones de estructura de algoritmos
genéticos
gatool Abre la herramienta con interfaz gráfica
de algoritmos genéticos
3CM9 Página 16
Práctica 1 – Genetic Algorithms
Función Descripción
patternsearch Encuentra el mínimo de una función
usando búsqueda de patrones
psoptimget Obtiene valores de estructura de opciones
de búsqueda de patrones
psoptimset Crea una estructura de opciones de
búsqueda de patrones
psearchtool Abre la herramienta de búsqueda de
patrones (Pattern Search Tool)
3CM9 Página 17
Práctica 1 – Genetic Algorithms
llenan tomando los genes del padre P1 donde existe un”1” en la plantilla.
En este punto se tiene C1 parcialmente lleno, pero este tiene algunos
espacios. Los genes del padre P1 en la posición correspondiente a los
ceros en la plantilla son tomados y ordenados en el mismo orden como
aparecen en el padre P2 la lista ordenada se usa para llenar los espacios
en C1. El hijo en C2 se creará usando un proceso similar.
- Métodos de mutación
o Flipping: Gerena un cambio de 0 a 1 y viceversa basado en la
generación de una mutación de cromosoma.
o Swap Mutation: Se aplica a codificaciones basadas en el orden
(Permutaciones). Consiste en elegir 2 coordenadas al azar e intercambiar
sus valores.
Ésta es una herramienta que nos permite simular y usar los Algoritmos Genéticos y
algunas de sus funciones son las siguientes:
3CM9 Página 18
Práctica 1 – Genetic Algorithms
CONCLUSIONES
Pérez Pérez José Ricardo
3CM9 Página 19
Práctica 1 – Genetic Algorithms
Bibliografía:
http://disi.unal.edu.co/~lctorress/RedNeu/LiRna004.pdf
http://www.lcc.uma.es/~jmortiz/archivos/Tema4.pdf
3CM9 Página 20