2. TOP
Korina Lyliana
Contreras Iñiguez
Instituto Tecnológico de Saltillo
Ingeniería Industrial
2
Existe una clase especial de problemas,
en los cuales las variables de decisión
son discretas y las soluciones suelen
presentarse en la forma de
permutaciones.
A estos problemas se les denomina de
“optimización combinatoria”.
(Coello,2004).
OPTIMIZACIÓN COMBINATORIA.
3. TOP
Korina Lyliana
Contreras Iñiguez
Instituto Tecnológico de Saltillo Ingeniería Industrial 3
En los problemas de tipo combinatorio existe
siempre un procedimiento elemental para
determinar la solución óptima buscada:
• Generar todas las soluciones factibles (las que
satisfacen a las restricciones).
• Calcular para cada una el coste asociado.
• Elegir finalmente la solución que se adapte mejor
a la problemática planteada.
4. TOP
Korina Lyliana
Contreras Iñiguez
Instituto Tecnológico de Saltillo Ingeniería Industrial 4
Sin embargo, aunque este método teóricamente
siempre proyecta resultados óptimos, no es
eficiente, pues el tiempo de cálculo necesario
crece exponencialmente con el número de
soluciones que tenga el problema. (Díaz, et al,
1996)
5. TOP
Korina Lyliana
Contreras Iñiguez
Instituto Tecnológico de Saltillo Ingeniería Industrial 5
Desde finales de los años 70 se han intentado
caracterizar matemáticamente los problemas
combinatorios.
• Problemas P: El cálculo de su tiempo de
ejecución se expresa en forma de polinomio y
son resueltos de manera eficiente.
• Problemas NP: No se conoce un algoritmo en el
cual su tiempo de ejecución pueda ser calculado
en forma de polinomio; por lo cual se plantea la
opción de encontrar soluciones de alta calidad en
tiempos razonables, aunque estas soluciones no
sean óptimas. (Duarte,et al, 2007).
6. TOP
Korina Lyliana
Contreras Iñiguez
Instituto Tecnológico de Saltillo Ingeniería Industrial 6
Técnicas clásicas de
optimización
Técnicas heurísticas de
optimización
Método simplex. Búsqueda Tabú.
Método de las M’s Recocido simulado.
Método de las dos fases Escalando la colina.
Redes Redes neuronales.
Algoritmos genéticos.
7. TOP
Korina Lyliana
Contreras Iñiguez
Instituto Tecnológico de Saltillo
Ingeniería Industrial
7
COMPUTACIÓN EVOLUTIVA
También llamada algoritmos evolutivos
ha empezado a recibir una atención
significante durante la última década,
aunque los orígenes pueden remontarse
hacia 1950. (Back, et al, 1997).
8. TOP
Korina Lyliana
Contreras Iñiguez
Instituto Tecnológico de Saltillo
Ingeniería Industrial
8
Esta metodología debe entenderse como
un concepto adaptable para resolver
problemas de optimización difíciles,
utilizando una colección de algoritmos
(Back, et al, 1997).
COMPUTACIÓN EVOLUTIVA
9. TOP
Korina Lyliana
Contreras Iñiguez
Instituto Tecnológico de Saltillo
Ingeniería Industrial
9
El término computación evolutiva
engloba una serie de técnicas
inspiradas en los principios de la teoría
Neo-Darwiniana de la evolución natural
(Coello, 2006).
Evolución
Continuidad
Cambio Gradual
(Batalla, 1993)
Universo
10. TOP
Korina Lyliana
Contreras Iñiguez
Instituto Tecnológico de Saltillo
Ingeniería Industrial
10
Por lo tanto recordando que la
computación evolutiva se inspira en:
Neo-Darwinismo.
Teoría de la
evolución.
(Darwin,2007)
Teoría del
germoplasma.
(Coello,2004)
Charles
Darwin.
August
Weismann
Leyes de
Mendel.
(Coello,2004)
Gregorio
Mendel
11. TOP
Korina Lyliana
Contreras Iñiguez
Instituto Tecnológico de Saltillo
Ingeniería Industrial
11
Algunos de los algoritmos que se
consideran dentro de la computación
evolutiva son: (Back, et al,1997)
➢ Programación evolutiva.
➢ Estrategias evolutivas.
➢ Algoritmos genéticos.
12. TOP
Korina Lyliana
Contreras Iñiguez
Instituto Tecnológico de Saltillo
Ingeniería Industrial
12
Algoritmos Genéticos
El algoritmo genético intenta encontrar o
mejorar una solución al problema,
engendrando una población inicial de
individuos que evolucionan mediante
una serie de generaciones. (Koza,1997)
14. TOP
Korina Lyliana
Contreras Iñiguez
Instituto Tecnológico de Saltillo
Ingeniería Industrial
14
Estructura de datos que contiene una
cadena de parámetros de diseño o
genes.
Esta estructura de datos puede
almacenarse, por ejemplo, como una
cadena de bits o un arreglo de enteros.
CROMOSOMA
1
3
8
9
10
4
7
6
5
2
1
15. TOP
Korina Lyliana
Contreras Iñiguez
Instituto Tecnológico de Saltillo
Ingeniería Industrial
15
Es una subsección de un cromosoma
que (usualmente) codifica el valor de un
solo parámetro.
GEN
1
3
8
9
10
4
7
6
5
2
16. TOP
Korina Lyliana
Contreras Iñiguez
Instituto Tecnológico de Saltillo
Ingeniería Industrial
16
Es un solo miembro de la población de
soluciones potenciales a un problema.
Cada individuo contiene un cromosoma
que representa una solución posible al
problema a resolverse.
INDIVIDUO
1
3
8
9
10
4
7
6
5
2
1
1
7
4
6
5
2
9
10
8
3
1
N=2
17. TOP
Korina Lyliana
Contreras Iñiguez
Instituto Tecnológico de Saltillo
Ingeniería Industrial
17
Es el valor que se asigna a cada individuo
y que indica qué tan bueno es éste con
respecto a los demás para la solución de
un problema.
APTITUD
1
1
4
6
10
9
2
5
3
8
7
1
80
5
1
7
4
6
5
2
9
10
8
3
1
73
18. TOP
Korina Lyliana
Contreras Iñiguez
Instituto Tecnológico de Saltillo
Ingeniería Industrial
18
Una generación se crea a través de una
iteración de:
✓ Una población.
✓ Una reproducción.
✓ Una mutación.
✓ Una evaluación y selección.
✓ Un reemplazo
GENERACIÓN
i Z
1 73
2 73
3 73
4 69
5 69
6 69
7 69
8 69
9 69
10 69
19. TOP
Korina Lyliana
Contreras Iñiguez
Instituto Tecnológico de Saltillo
Ingeniería Industrial
19
La cruza combina partes de cada uno
de los cromosomas padres para formar
un nuevo cromosoma.
CRUZA
PADRE 1 3 5 5 1 4
PADRE 2 5 4 5 1 3
1
3
8
9
10
4
7
6
5
2
1
1
7
4
6
5
2
9
10
8
3
1
20. TOP
Korina Lyliana
Contreras Iñiguez
Instituto Tecnológico de Saltillo
Ingeniería Industrial
20
Se denomina mutación a un parámetro
que forma un nuevo cromosoma a
través de alteraciones usualmente
pequeñas de los valores de los genes
de un solo cromosoma padre.
MUTACIÓN
21. TOP
Korina Lyliana
Contreras Iñiguez
Instituto Tecnológico de Saltillo
Ingeniería Industrial
21
PASOS BÁSICOS DE AG
✓ Generar (aleatoriamente) una población inicial.
✓Calcular aptitud de cada individuo.
✓Seleccionar (probabilísticamente) en base a
aptitud.
✓Aplicar parámetros genéticos (cruza y
mutación) para generar la siguiente población.
✓Ciclar hasta que cierta condición se satisfaga
22. TOP
Korina Lyliana
Contreras Iñiguez
Instituto Tecnológico de Saltillo
Ingeniería Industrial
22
PROBLEMA DEL AGENTE VIAJERO.
(Ramírez,2008).
Para n=10, hay unas 181,440 soluciones posibles.
24. TOP
Korina Lyliana
Contreras Iñiguez
Instituto Tecnológico de Saltillo
Ingeniería Industrial
24
REFERENCIAS
▪ Back Thomas, Hammel Urich, Schwefel Hans-Paul. Evolutionary Computation. Comments
on the History and Current State 1997., p.1-2.
▪Coello Carlos, Santana Luis. Una introducción a la computación evolutiva y algunas de sus
aplicaciones en Economía y Finanzas. Revista de Métodos Cuantitativos para la Economía y
la Empresa. Diciembre de 2006., p.5.
▪Batalla María, Méndez Humberto. Biología1. Editorial Kapelusz 1993, p. 45-50.
▪Lamarck Jean, “Filosofía Zoológica” Ed. Alta Fulla 1986 p.175.
▪Darwin Charles, “El Origen de las Especies” Edición. AlfaEpsilon 2007
▪Coello Carlos. Introducción a la Computación Evolutiva. Departamento de Computación.
CINVESTAV-IPN.2004, p.41-51
▪ Koza John . Genetic Programming for Encyclopedia of Computer Science and Technology
August 18, 1997 to be edited by Allen Kent and James G. Williams. 7,734 words p.2-3
▪Ramírez Sergio. Apuntes de aplicación de AG. 2008