ALGORITMOS GENETICOS ADR

67
UNMSM E.A.P INVESTIGACION OPERATIVA ALGORITMOS GENÉTICOS ( EL AGENTE VIAJERO) AUTOR : Ricardo Antonio Díaz Roque REDES DE OPTIMIZACION

Transcript of ALGORITMOS GENETICOS ADR

Page 1: ALGORITMOS GENETICOS ADR

UNMSME.A.P INVESTIGACION OPERATIVA

ALGORITMOS GENÉTICOS

( EL AGENTE VIAJERO)

AUTOR :

Ricardo Antonio Díaz Roque

REDES DE OPTIMIZACION

Page 2: ALGORITMOS GENETICOS ADR

INVESTIGACIÓN OPERATIVA

Saludos estimados amigos de Perú.

En esta oportunidad les presento:

Algoritmos Genéticos

( El agente Viajero)

Ingeniería Matemática

equivalente a:

Investigación Operativa

UNMSM

Page 3: ALGORITMOS GENETICOS ADR

UNA DEFINICIÓN COMPLETA DE UN

ALGORITMO GENÉTICO ES LA PROPUESTA

POR JHON KOZA

“Es un algoritmo matemático

altamente paralelo que

transforma un conjunto de

objetos matemáticos

individuales con respecto al

tiempo usando operaciones

modeladas de acuerdo al

principio Darwiniano de

reproducción y supervivencia

del mas apto, y tras haberse

presentado de forma natural

una serie de operaciones

genéticas de entre las que

destaca la recombinación

sexual.”

Page 4: ALGORITMOS GENETICOS ADR

ALGORITMO GENÉTICO

John Holland, 1960s

“Los organismos vivientes

son consumados

resolvedores de problemas”

Adaptation in natural and

artificial systems, 1975

Page 5: ALGORITMOS GENETICOS ADR

¿W. o G.

Bateson?

Page 6: ALGORITMOS GENETICOS ADR

ALGORITMO GENÉTICO

Población de soluciones

Serie de caracteres (cromosomas)

Carácter (gen, rasgo)

Reproducción sexual y cross-over

Mutación

Ciclo:– 1. Generar población

– 2. Evaluar adecuación

– 3. Los mejores se reproducen, los peoresse extinguen

– 4. Aplicar mutaciones

– 5. Actualizar población

– 6. Volver a 2

Page 7: ALGORITMOS GENETICOS ADR

•Trabajan con un conjunto de parámetros

codificados y no con los parámetros mismos.

•Inician la búsqueda desde un conjunto de

puntos, no de uno solo.

•Usan una función a optimizar en lugar de la

derivada u otro conocimiento adicional.

•Usan reglas de transición probabilísticas no

determinísticas.

DIFERENCIAS CON OTROS

MÉTODOS

Page 8: ALGORITMOS GENETICOS ADR

PROCESO

Dado un problema especifico a resolver, la

entrada del AG es un conjunto de soluciones

potenciales a ese problema, codificadas de

alguna manera, y una métrica llamada función

de aptitud que permite evaluar

cuantitativamente a cada candidata.

En un acervo de candidatas generadas

aleatoriamente, por supuesto, la mayoría no

funcionarían en absoluto, y serian eliminadas.

Page 9: ALGORITMOS GENETICOS ADR

Unas pocas pueden ser prometedoras

(pueden mostrar actividad), aunque sólo sea

actividad débil e imperfecta, hacia la solución

del problema.

Estas candidatas prometedoras se conservan

y se les permite reproducirse.

Las candidatas que han empeorado o no han

mejorado con los cambios en su código son

eliminadas de nuevo; pero, de nuevo, por

puro azar, las variaciones aleatorias

introducidas en la población pueden haber

mejorado a algunos individuos,

convirtiéndolos en mejores soluciones del

problema, mas completas o mas eficientes.

Page 10: ALGORITMOS GENETICOS ADR

PARAMETROS NECESARIOS AL APLICAR

ALGORITMOS GENETICOS

Tamaño de la población

Condición de terminación

Individuos que intervienen en la

reproducción de cada generación

Probabilidad de ocurrencia de una

mutación

Page 11: ALGORITMOS GENETICOS ADR

SELECCIÓN Selección proporcional a la función

adaptativa

Selección por ruleta.

Selección por torneo (deterministica,

probabilística).

Page 12: ALGORITMOS GENETICOS ADR

SELECCIÓN

Page 13: ALGORITMOS GENETICOS ADR

CRUZAMIENTO

COPIA CRUZAMIENTO

Page 14: ALGORITMOS GENETICOS ADR

CROSS-OVER La riqueza no está en el azar, sino en la

diversidad

Ejemplo: Match – William Langdon, UCLALGORITMO GENETICO EN POSADAS

2726 = 16,423,203,268,260,700,000,000,000,000,000,000,000

1017 = 100,000,000,000,000,000

Page 15: ALGORITMOS GENETICOS ADR

MUTACIÓN

Page 16: ALGORITMOS GENETICOS ADR

MUTACIÓN

Page 17: ALGORITMOS GENETICOS ADR

MUTACIÓN El termino mutación quiere decir “cambio”,

así como en la naturaleza las especiescambian para sobrevivir en un entornocambiante, en la IA se busca obtener lasmejores soluciones a través de la variaciónde dichas soluciones esto se realizavariando ciertos cromosomas de la solución.

Al igual que una mutación en los seres vivoscambia un gen por otro, una mutación en unalgoritmo genético también causa pequeñasalteraciones en puntos concretos del códigode un individuo.

Page 18: ALGORITMOS GENETICOS ADR

Se encarga de modificar en forma aleatoria uno

o más genes del cromosoma de un

descendiente.

La siguiente figura muestra el quinto gen

siendo mutado, a lo que se conoce como

“mutación sencilla”:

MUTACIÓN

Page 19: ALGORITMOS GENETICOS ADR

Es el método por el cual se insertan

los hijos en la población, por ejemplo

mediante la eliminación del individuo

más débil o al azar.

REEMPLAZO

Page 20: ALGORITMOS GENETICOS ADR

Crossover

Representación de un Algoritmo

Genético

soluciones11001010

10111110

00100101

01011011

cromosomas

11001010

10111110

00100101

11001110

10111101

Mutación

01011011

00100101

11001010

10111110

00100101

01011011

00100101

11001110

10111101

hijos

Cálculode

Fitness

EvaluaciónSelección

Ruletaruleta

Nueva Población

Paradigma de Holland (220):

“seleccionar los padres

a recombinar”

Page 21: ALGORITMOS GENETICOS ADR

EVALUACIÓN

Establece una medida numérica de la

bondad de una solución. Esta medida

recibe el nombre de ajuste.

En la naturaleza el ajuste (o adecuación)

de un individuo puede considerarse como

la probabilidad de que ese individuo

sobreviva hasta la edad de reproducción y

se reproduzca. Esta probabilidad deberá

estar ponderada con el número de

descendientes.

Page 22: ALGORITMOS GENETICOS ADR

Se pueden diferenciar cuatro tipos

de ajuste o fitness [Koza, 1992]:

Fitness Puro: r (i, t)

Fitness Estandarizado: s (i, t)

Fitness Ajustado: a (i, t)

Fitness Normalizado: n (i, t)

Page 23: ALGORITMOS GENETICOS ADR

PUNTOS A CONSIDERAR EN UN

AG BÁSICO• Criterio de paro. Normalmente cuando un

porcentaje alto de la población converge a un

valor. Si con ese valor no se llega a la medida

esperada, entonces se toma una pequeña

proporción y se inyecta ”diversidad genética'„

(se generan aleatoriamente nuevos individuos),o

inclusive se reemplaza completamente la

población.

• Operadores genéticos. Los principales son:

cruza(crossover), mutación, selección (algunos

autores lo consideran como tal) y reemplazo

(aunque existen más).

Page 24: ALGORITMOS GENETICOS ADR

ALGORITMO GENÉTICO

Page 25: ALGORITMOS GENETICOS ADR

DEFINICIÓN

John Koza :

"Es un algoritmo matemático altamente paralelo

que transforma un conjunto de objetos

matemáticos individuales con respecto al

tiempo usando operaciones modeladas de

acuerdo al principio Darwiniano de

reproducción y supervivencia del más apto, y

tras haberse presentado de forma natural una

serie de operaciones genéticas de entre las que

destaca la recombinación sexual”.

Page 26: ALGORITMOS GENETICOS ADR

HISTORIA

Fueron inventados en 1975 por John Holland, de

la Universidad de Michigan.

John Holland desde pequeño, se preguntaba

cómo logra la naturaleza, crear seres cada vez

más perfectos.

Cuando Holland se enfrentó a los AG, los

objetivos de su investigación fueron dos:

Imitar los procesos adaptativos de los sistemas

naturales

Diseñar sistemas artificiales (normalmente

programas) que retengan los mecanismos

importantes de los sistemas naturales.

Page 27: ALGORITMOS GENETICOS ADR

CARACTERÍSTICA

Perfeccionar su propia heurística en el proceso de

ejecución, por lo que no requiere largos períodos

de entrenamiento especializado por parte del ser

humano, principal defecto de otros métodos para

solucionar problemas, como los Sistemas

Expertos.

Page 28: ALGORITMOS GENETICOS ADR

CUANDO USAR LOS A.G.

Si la función a optimizar tiene muchos

máximos/mínimos locales se requerirán más

iteraciones del algoritmo para "asegurar" el

máximo/mínimo global.

Si la función a optimizar contiene varios puntos

muy cercanos en valor al óptimo, solamente

podemos "asegurar" que encontraremos uno de

ellos (no necesariamente el óptimo).

Page 29: ALGORITMOS GENETICOS ADR

COMO SABER SI ES POSIBLE

USAR UN A.G. Su espacio de búsqueda (i.e, sus posibles

soluciones) debe estar delimitado dentro de

un cierto rango.

Debe poderse definir una función de

aptitud que nos indique qué tan buena o

mala es una cierta respuesta.

Las soluciones deben codificarse de una

forma que resulte relativamente fácil de

implementar en la computadora.

Page 30: ALGORITMOS GENETICOS ADR

VENTAJAS

Una clara ventaja es que los algoritmos

genéticos son intrínsecamente paralelos, es

decir, operan de forma simultánea con varias

soluciones, en vez de trabajar de forma

secuencial como las técnicas tradicionales.

Esto significa que mientras técnicas

tradicionales sólo pueden explorar el espacio

de soluciones hacia una solución en una

dirección al mismo tiempo, y si la solución que

descubren resulta subóptima, no se puede

hacer otra cosa que abandonar todo el trabajo

hecho y empezar de nuevo.

Page 31: ALGORITMOS GENETICOS ADR

DESVENTAJAS

Pueden tardar mucho en converger, o no

converger en absoluto, dependiendo en

cierta medida de los parámetros que se

utilicen tamaño de la población, número de

generaciones.

Page 32: ALGORITMOS GENETICOS ADR

LIMITACIONES

No se garantiza que el Algoritmo Genético

encuentre la solución óptima, del problema,

existe evidencia empírica de que se encuentran

soluciones de un nivel aceptable, en un tiempo

competitivo con el resto de algoritmos de

optimización combinatoria

Page 33: ALGORITMOS GENETICOS ADR

APLICACIONES

Diseño de sistemas de distribución de aguas.

Diseño de topologías de circuitos impresos.

Diseño de topologías de redes computacionales.

En Teoría de juegos, resolución de equilibrios.

Análisis de expresión de genes.

Aprendizaje de comportamiento de robots.

Aprendizaje de reglas de Lógica difusa.

Optimización de estructuras moleculares.

Planificación de producción multicriterio.

Predicción.

Aplicación

Segmentación Automática de Bases de Datos

Distribuidas

Page 34: ALGORITMOS GENETICOS ADR

SOLUCIONAR

PROBLEMAS

8-puzzle

Problema del viajante

Mastermind

Page 35: ALGORITMOS GENETICOS ADR

APLICACIÓN

ESPECIFICA DE

ALGORITMOS

GENETICOS

Page 36: ALGORITMOS GENETICOS ADR

MERCADOS FINANCIEROS

Se utilizaron un algoritmo genético para

predecir el rendimiento futuro de 1.600

acciones ofertadas públicamente.

Concretamente, al AG se le asignó la tarea

de predecir el beneficio relativo de cada

acción.

Page 37: ALGORITMOS GENETICOS ADR

MATEMÁTICAS Y ALGORITMIA

Para resolver ecuaciones de derivadas

parciales no lineales de alto orden,

normalmente encontrando los valores para los

que las ecuaciones se hacen cero, y dan como

ejemplo una solución casi perfecta para los

coeficientes de la ecuación de quinto orden

conocida como Super Korteweg de Vries.

Page 38: ALGORITMOS GENETICOS ADR

LINEA DE INVESTIGACIÓN

OPERATIVA

Durante los últimos años una gran parte de la

investigación en esta área se ha concentrado

en el desarrollo de mejoras al desempeño de

los algoritmos genéticos. Se han propuesto

nuevas técnicas de representación, selección

y cruza, con resultados muy alentadores.

Page 39: ALGORITMOS GENETICOS ADR

APLICACIÓN DE

ALGORITMOS GENÉTICOS

EN PROBLEMAS DE

ASIGNACIÓN DE RUTAS

PARA LA DISTRIBUCIÓN

DE ACCESORIOS Y

EQUIPOS MÉDICOS

Page 40: ALGORITMOS GENETICOS ADR

INTRODUCCIÓN

Se presenta la

aplicación de las

Metaheurísticas

mediante la

construcción de un

Algoritmo Genético que

busca encontrar una

solución de buena

calidad enfocada en la

minimización del

recorrido de despacho

en un circuito

hamiltoniano.

Page 41: ALGORITMOS GENETICOS ADR

DESCRIPCIÓN DEL PROBLEMA

El problema de distribuir productos desde ciertos

depósitos a sus usuarios finales juega un papel

central en la gestión de algunos sistemas

logístico , y su adecuada planificación puede

significar considerables ahorros y ventajas

competitivas (Tohtetal.,2000).

La comercializadora estudiada ha ido

aumentando el número de clientes locales ,por lo

que la programación de ruta para la entrega de la

mercancía es cada vez más compleja , debido a

que , la combinación de clientes cambia cada vez

que se debe realizar un recorrido de entrega,

generando un sin número de posibles

alternativas de solución.

Page 42: ALGORITMOS GENETICOS ADR

OBJETIVO DE LA

INVESTIGACIÓN

Construir un Algoritmo

Genético que indique el

recorrido de entrega de

mercancía, de tal manera, que

se logre el menor kilometraje

posible en cada programación.

Page 43: ALGORITMOS GENETICOS ADR

ALGORITMO GENÉTICO

Page 44: ALGORITMOS GENETICOS ADR

INFORMACIÓN PRELIMINAR

El proceso de la distribución de la

mercancía en la empresa, se

desarrolla como un problema

PAV(Problema del Agente Viajero),en

donde el vehículo distribuidor debe

hacer un tour que pase por cada uno

de los clientes , de manera que se

minimice el recorrido total.

Page 45: ALGORITMOS GENETICOS ADR

INFORMACIÓN PRELIMINAR Para un grafo conectado de n vértices

(n>2), las posibles alternativas de

solución que pueden ser obtenidas son:

(n-1)!/2

Como actualmente se tiene 20 clientes

más la empresa, el modelo PAV

contemplará 21vértices. Partiendo de la

fórmula citada las posibles alternativas de

solución serán:

2.4329*10elevado(18)

Page 46: ALGORITMOS GENETICOS ADR

INFORMACIÓN PRELIMINAR

Explosión Combinatoria

Page 47: ALGORITMOS GENETICOS ADR

CONSTRUCCIÓN DEL

ALGORITMO - Codificación

Page 48: ALGORITMOS GENETICOS ADR

Codificación-Matriz de distancias

“d”

Page 49: ALGORITMOS GENETICOS ADR

POBLACIÓN INICIAL

Será generada de forma aleatoria.

Teniéndose en cuenta que el circuito

obtenido es Hamiltoniano. Es decir, no se

permite visitar un cliente más de una vez y la

alternativa obtenida los deberá incluir a

todos.

Page 50: ALGORITMOS GENETICOS ADR

POBLACIÓN INICIAL

La población inicial es una matriz

generada de manera aleatoria, en la cual,

la cantidad de filas es controlada por un

parámetro denominado “tampoblación”

(Tamaño de la población) y la cantidad de

columnas es controlada por el número de

nodos “numgenes” que se deban visitar

(Número de genes en cada cromosoma).

Es así, como cada vector de la matriz que

forma la población inicial, será una

alternativa de solución

Page 51: ALGORITMOS GENETICOS ADR

POBLACIÓN INICIAL

Page 52: ALGORITMOS GENETICOS ADR

FUNCIÓN OBJETIVOSe evalúa la función objetivo de cada una de

las alternativas de solución teniendo en

cuenta la distancia (kilometraje) total

recorrida en cada tour.

Page 53: ALGORITMOS GENETICOS ADR

SELECCIÓN Se utiliza Torneo determinístico, técnica

presentada por Goldberg and Deb (2004),quien

plantea que en este tipo de selección se

realizan torneos entre parejas de individuos

escogidos aleatoriamente y la alternativa de

mayor calidad (mejor valor de la función de

objetivo)es seleccionada para pasar su copia

genética a la siguiente generación. Se debe

escoger, usando torneo , un número de

alternativas igual al tamaño de la población.

Por esta razón, si el tamaño de la población es

n, se deben realizar 2n torneos para conformar

el total de individuos.

Page 54: ALGORITMOS GENETICOS ADR

SELECCIÓN

Page 55: ALGORITMOS GENETICOS ADR

CRUZAMIENTO

Se utiliza el operador PMX , el cual puede

ser visto como una recombinación de

permutaciones que garantiza que todos

los alelos son encontrados sólo una vez

en cada descendiente (Murata and

Ishibuchi,1995).

Paso 1: Se escogen aleatoriamente de la

población dos cromosomas (alternativas

de solución), los cuales se llamarán Padre

y Madre.

Page 56: ALGORITMOS GENETICOS ADR

CRUZAMIENTO

Paso 2: Se generan aleatoriamente dos

puntos de corte Pc1 y Pc2.

Paso 3: Los genes que están fuera de la

franja limitada por los dos puntos de corte

son copiados del padre al descendiente,

conservando las mismas posiciones.

Paso 4: Los genes faltantes en el

descendiente son tomados de la madre,

conservando el orden en el que se

encuentran en ella.

Page 57: ALGORITMOS GENETICOS ADR

CRUZAMIENTO

Page 58: ALGORITMOS GENETICOS ADR

MUTACIÓN Para ejecutar esta parte del Algoritmo

Genético se usó un valor de 0.4 como la

tasa de mutación y se le asignó a un

parámetro llamado “tasa mutación”. Es

así, como después de haber realizado

la Selección y el Cruzamiento respectivo ,

se genera un número aleatorio entre 0 y 1

para ser comparado con la tasa de

mutación. Si el valor está por debajo de

dicha tasa, se inicia el proceso de

Mutación.

Page 59: ALGORITMOS GENETICOS ADR

MUTACIÓN

Page 60: ALGORITMOS GENETICOS ADR

SOLUCIÓN DE BUENA

CALIDAD

Alternativa (tour que se debe realizar).

Para una distancia total recorrida de 9,949 km

Page 61: ALGORITMOS GENETICOS ADR

CONCLUSIONES

Históricamente se recorrían

alrededor de 20.93 kilómetros en las

entregas, con la utilización del

algoritmo genético se obtiene una

reducción del 52.5%. Además, el

tiempo de las entregas disminuye de

una jornada completa a media

jornada.

Page 62: ALGORITMOS GENETICOS ADR

CONCLUSIONES

Los Algoritmos Genéticos son

idóneos cuando se tiene problemas

de explosión combinatoria, ya que ,

permiten la exploración de una

cantidad relevante de alternativas de

solución . Sin embargo no se

garantiza la optimalidad , por lo que

hay que realizar varias corridas hasta

estar seguro de la solución.

Page 63: ALGORITMOS GENETICOS ADR

Existen varios paquetes y bibliotecas de algoritmos genéticos en el

mercado, a continuación se presentan algunos:

GAGS

Generador de aplicaciones basadas en algoritmos genéticos, escrito en

C++. Desarrollado por el grupo de J.J. Melero.

Dirección primaria: kal-el.ugr.es/gags.html

Dirección para descargar vía FTP:kal-el.ugr.es/GAGS/.

GALIB

Biblioteca de algoritmos genéticos de Matthew. Conjunto de clases en

C++ de algoritmos genéticos.

Dirección primaria: lancet.mit.edu/ g a /

Dirección para descargar vía FTP:lancet.mit.edu/pub/ g a /

SOFTWARE

Page 64: ALGORITMOS GENETICOS ADR

SOFTWAREGPDATA

Para desarrollar algoritmos genéticos en C++.

Dirección primaria: cs.ucl.ac.uk/genetic/papers/

Dirección para descargar vía FTP:

ftp.cs.bham.ac.uk/pub/authors/ W.B.Langdon/ g p-code/

GPJPP

Bibliotecas de clases para desarrollar algoritmos genéticos en Java

Dirección primaria: www.turbopower.com/~ kimk/gpjpp.asp.

Page 65: ALGORITMOS GENETICOS ADR

SOFTWARE

LIL-GP

Herramientas para programación genética en C.

Dirección primaria:isl.msu.edu/GA/software/l I l-gp/index.html

Dirección para descargar vía FTP:isl.cps.msu.edu/pub/GA/l i lgp/

GPsys

Sistema de programación genética en Java.

Dirección primaria:www.cs.ucl.ac.uk/ staff/ A.Qureshi / gpsys.html.

Page 66: ALGORITMOS GENETICOS ADR

INVESTIGACIÓN OPERATIVA

Saludos estimados amigos de Perú.

En esta oportunidad les presento:

Algoritmos Genéticos

( El agente Viajero)

Ingeniería Matemática

equivalente a:

Investigación Operativa

UNMSM

Page 67: ALGORITMOS GENETICOS ADR

MUCHAS GRACIAS POR SU

ATENCION

AUTOR

Ricardo Antonio Díaz Roque

EMAIL

[email protected]