Medición en Fábrica

Texto completo

(1)

Algoritmos Genéticos

Algoritmos Genéticos

y

y

Optimización Heurística

Optimización Heurística

Dr. Adrian

Dr. Adrian WillWill F.A.C.E.T

F.A.C.E.T. . –– U.N.T. U.N.T. Cátedra de Cátedra de Tópicos Selectos de Tópicos Selectos de Inteligencia Artificial Inteligencia Artificial

(2)

Optimización Tradicional

Optimización Tradicional

(3)

Problemas Reales

Problemas Reales

(4)

Problemas Reales

(5)
(6)
(7)

Algoritmos Determinísticos

Algoritmos Determinísticos

Requieren fuertes hipótesis sobre la función

Requieren fuertes hipótesis sobre la función

, en

, en

general globales (continuidad, existencia de

general globales (continuidad, existencia de

derivadas, convexidad, etc.)

derivadas, convexidad, etc.)

Convergencia a un óptimo garantizada

Convergencia a un óptimo garantizada

, pero en

, pero en

general es un óptimo local, y no es posible

general es un óptimo local, y no es posible

comprobar si es un óptimo global sin hipótesis sobre

comprobar si es un óptimo global sin hipótesis sobre

comprobar si es un óptimo global sin hipótesis sobre

comprobar si es un óptimo global sin hipótesis sobre

la función

la función

Tiempo máximo

Tiempo máximo

yy

tiempo promedio de convergencia

tiempo promedio de convergencia

conocidos

conocidos

Repetir el algoritmo

Repetir el algoritmo

, con la misma función, y

, con la misma función, y

partiendo de las mismas condiciones

partiendo de las mismas condiciones iniciales

iniciales,

,

produce siempre el mismo resultado

(8)

Random

Random Search

Search Heuristics

Heuristics

No requieren hipótesis sobre la función

No requieren hipótesis sobre la función.

.

Funcionan

Funcionan

bien incluso en el caso en que no sea función sino

bien incluso en el caso en que no sea función sino

sólo simulación (Genetic Programming)

sólo simulación (Genetic Programming)

Funcionan bien y producen buenas soluciones en

Funcionan bien y producen buenas soluciones en

casos muy complejos

casos muy complejos

(NP

(NP--Hard, problemas con gran

Hard, problemas con gran

casos muy complejos

casos muy complejos

(NP

(NP--Hard, problemas con gran

Hard, problemas con gran

cantidad de optimos locales)

cantidad de optimos locales)

Convergen al óptimo global o cerca de él

Convergen al óptimo global o cerca de él

(“Near

(“Near

optimal solutions”

optimal solutions” -- Algoritmos Genéticos)

Algoritmos Genéticos)

Tiempo Máximo

Tiempo Máximo

y

y Velocidad de convergencia

Velocidad de convergencia,

,

en

en

general no conocidos

(9)

Aplicaciones

Problemas de

Problemas de

Job

Job Scheduling

Scheduling

o

o Timetables

Timetables (reorganizar

(reorganizar

tareas de una fábrica, oficina, etc., de modo de minimizar

tareas de una fábrica, oficina, etc., de modo de minimizar

algo, normalmente tiempo o costo)

algo, normalmente tiempo o costo)

Problemas de

Problemas de

Diseño Automático

Diseño Automático

o Asistido (diseño de

o Asistido (diseño de

hélices de barcos, Turbinas para motores de avión,

hélices de barcos, Turbinas para motores de avión,

antenas para naves espaciales, reactores nucleares)

antenas para naves espaciales, reactores nucleares)

Problemas Financieros

Problemas Financieros

(Optimización de Inversiones,

(Optimización de Inversiones,

Problemas Financieros

Problemas Financieros

(Optimización de Inversiones,

(Optimización de Inversiones,

Predicción (GP))

Predicción (GP))

Optimización de Redes

Optimización de Redes

Eléctricas o de Telecomunicaciones

Eléctricas o de Telecomunicaciones

(Transformadores, Celulares, etc.)

(Transformadores, Celulares, etc.)

Diseño

Diseño

de Semiconductores y Compiladores

de Semiconductores y Compiladores

Biología Molecular

Biología Molecular

((Protein

Protein Folding

Folding, Descubrimiento de

, Descubrimiento de

Genes y marcadores relevantes para Cáncer, etc.)

Genes y marcadores relevantes para Cáncer, etc.)

DataMining

(10)

Ejemplo - Travelling Salesman Problem

2 4 5 1 2 3 4

(11)

Ejemplo - Travelling Salesman Problem

2 4

5

1 3

(12)

Ejemplo – Travelling Salesman Problem

“Dado un grafo completo con pesos, encontrar un ciclo

“Dado un grafo completo con pesos, encontrar un ciclo

Hamiltoniano

Hamiltoniano de costo mínimo”

de costo mínimo”

Total de Soluciones: (n

Total de Soluciones: (n--1

1)!/

)!/2

2. Para

. Para 60

60 ciudades,

ciudades, 0

0..5

5*

*59

59! ~

! ~

10

10

8080

NP

NP--Hard

Hard

Problem

Problem

Fijar matriz de costos D, y c real, y preguntar si Existe una

Fijar matriz de costos D, y c real, y preguntar si Existe una

ruta de costo total menor que c

ruta de costo total menor que c

NP Completo

NP Completo

Gran cantidad de

Gran cantidad de

variantes de interés práctico

variantes de interés práctico

(Simétrico,

(Simétrico,

Asimétrico, TSP

Asimétrico, TSP with

with Time Windows, Travelling

Time Windows, Travelling Polititian

Polititian

Problem

Problem, cantidad de vendedores fijos, problemas de

, cantidad de vendedores fijos, problemas de

transporte con restricciones de entregas, etc.)

transporte con restricciones de entregas, etc.)

Caso Grafo

Caso Grafo

No existen todas las rutas

No existen todas las rutas

Caso

Caso Euclídeo

Euclídeo

Plano, existen todas las rutas, NP

Plano, existen todas las rutas, NP--Hard

Hard

aunque se elimine la condición “recorrer cada ciudad solo

aunque se elimine la condición “recorrer cada ciudad solo

una vez”, por la desigualdad triangular

(13)

Travelling Salesman Problem - Algoritmos

Determinísticos

Determinísticos

Branch

Branch and

and Bound

Bound

Programación Lineal

Programación Lineal

Heurísticos

Heurísticos

Heurísticos

Heurísticos

Nearest

Nearest Neighbour

Neighbour

2

2--opt,

opt, 3

3--opt, Variable

opt, Variable--opt

opt ((Lin

Lin--Kernighan

Kernighan--Johnson)

Johnson) –

Mutation

Mutation operator

operator and EA

and EA

Algoritmos Aleatorios (cadenas de

Algoritmos Aleatorios (cadenas de Markov

Markov,

,

operadores de inversión)

operadores de inversión)

Algoritmos Genéticos,

Algoritmos Genéticos, Simulated

Simulated Annealing

Annealing, Colonias

, Colonias

de Hormigas

(14)
(15)

Travelling Salesman Problem

(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)

Lista de Problemas NP-Completos - Redes

Routeo

Routeo: : Bottleneck TSP, Chinese Postman for mixed graphs, Bottleneck TSP, Chinese Postman for mixed graphs, Euclidean TSP, K most vital arcs, K

Euclidean TSP, K most vital arcs, K--thth shortest paths, Metric shortest paths, Metric

TSP, Longest Circuit, Longest Path, Prize Collecting TSP, Rural TSP, Longest Circuit, Longest Path, Prize Collecting TSP, Rural Postman, Shortest Path in general networks, Shortest weight Postman, Shortest Path in general networks, Shortest weight constrained path, Stalker

constrained path, Stalker--crane, TSP with Time Windows crane, TSP with Time Windows

feasibility,

feasibility, VehileVehile Routing problem.Routing problem.

Spanning Trees:

Spanning Trees: Degree constrained spanning tree, Maximum Degree constrained spanning tree, Maximum leaf

leaf SpTSpT, shortest total length , shortest total length SpTSpT, Bounded diameter , Bounded diameter SpTSpT, , leaf

leaf SpTSpT, shortest total length , shortest total length SpTSpT, Bounded diameter , Bounded diameter SpTSpT, , Capacitated

Capacitated SpTSpT, Geometric Capacitated , Geometric Capacitated SpTSpT, Optimum , Optimum

communication

communication SpTSpT, Isomorphic , Isomorphic SpTSpT, K, K--thth best best SpTSpT, Bounded , Bounded components Spanning Forest, Multiple Choice Branching, Steiner components Spanning Forest, Multiple Choice Branching, Steiner tree, Geometric Steiner tree, Cable Trench problem.

tree, Geometric Steiner tree, Cable Trench problem.

Flow:

Flow: 12 12 problemasproblemas

Cuts y

Cuts y conectividadconectividad: : 10 10 problemasproblemas, , incluyendoincluyendo Network Network reliability

reliability Muchos

(30)

Algoritmos Genéticos - Aplicaciones

Algoritmos Genéticos Tradicionales Algoritmos Genéticos Tradicionales

Problemas de Job

Problemas de Job SchedulingScheduling o o TimetablesTimetables (reorganizar tareas (reorganizar tareas

de una fábrica, oficina, etc., de modo de minimizar algo, de una fábrica, oficina, etc., de modo de minimizar algo, normalmente tiempo o costo)

normalmente tiempo o costo)

Problemas de Diseño Automático o Asistido (diseño de hélices Problemas de Diseño Automático o Asistido (diseño de hélices de barcos, Turbinas para motores de avión, antenas para

de barcos, Turbinas para motores de avión, antenas para naves espaciales, reactores nucleares)

naves espaciales, reactores nucleares)

Genetic

Genetic ProgrammingProgramming –– Programación EvolutivaProgramación Evolutiva Genetic

Genetic ProgrammingProgramming –– Programación EvolutivaProgramación Evolutiva

Problemas Financieros (Optimización de Inversiones, Problemas Financieros (Optimización de Inversiones, Predicción Bursátil)

Predicción Bursátil) Robótica

Robótica

Biología Molecular (

Biología Molecular (ProteinProtein FoldingFolding, Descubrimiento de Genes , Descubrimiento de Genes

y marcadores relevantes para Cáncer, eficiencia de y marcadores relevantes para Cáncer, eficiencia de tratamientos, etc.)

tratamientos, etc.)

Algoritmos Genéticos

Algoritmos Genéticos GroupingGrouping

Optimización de Redes Eléctricas o de Telecomunicaciones Optimización de Redes Eléctricas o de Telecomunicaciones (Transformadores, Celulares, etc.)

(31)

Algoritmos Genéticos - Redes

Shortest

Shortest PathPath

Problemas de Transporte:

Problemas de Transporte: Determinar una ruta respetando Determinar una ruta respetando

restricciones de peso máximo permitido, en mínimo tiempo o restricciones de peso máximo permitido, en mínimo tiempo o con mínima distancia

con mínima distancia Travelling

Travelling PolititianPolititian problemproblem, o Viajante con restricciones: , o Viajante con restricciones: muchos de los problemas de

muchos de los problemas de ShortestShortest PathPath dejan de ser dejan de ser

lineales al aplicarles restricciones lineales al aplicarles restricciones

Spanning

Spanning TreeTree Spanning

Spanning TreeTree

Diseño de sistemas físicos con mínimo gasto (redes de Diseño de sistemas físicos con mínimo gasto (redes de distribución

distribución Clustering

Clustering (muchos métodos comienzan con un (muchos métodos comienzan con un spanningspanning treetree y y quitan ramas para organizar los

quitan ramas para organizar los clustersclusters))

Maximum

Maximum FlowFlow

Subproblema

Subproblema en en SchedulingScheduling de maquinas iguales trabajando en de maquinas iguales trabajando en

paralelo

paralelo –– feasiblefeasible schedulingscheduling problemproblem –– MaximumMaximum latenesslateness, , minimum

minimum compoletioncompoletion time, time, maximummaximum utilizationutilization problemproblem Tanker

(32)

No Free Lunch Theorem

The “No Free Lunch” theorems for search and optimization apply to The “No Free Lunch” theorems for search and optimization apply to The “No Free Lunch” theorems for search and optimization apply to The “No Free Lunch” theorems for search and optimization apply to

finite spaces and algorithms that do not resample points

finite spaces and algorithms that do not resample points. . All All

algorithms that search for an

algorithms that search for an extremumextremum of a cost function of a cost function

perform exactly the same when averaged over all possible cost perform exactly the same when averaged over all possible cost functions

functions. . So, for any search/optimization algorithm, any So, for any search/optimization algorithm, any

elevated performance over one class of problems is exactly paid elevated performance over one class of problems is exactly paid for in performance over another class. [

for in performance over another class. [WolpertWolpert and Macready, and Macready,

1997

1997]. ].

“An

(33)

No hay un Algoritmo Perfecto, que resuelva bien todos los

No hay un Algoritmo Perfecto, que resuelva bien todos los

problemas.

problemas.

Para cada problema o clase de problemas, se debe diseñar

Para cada problema o clase de problemas, se debe diseñar

un algoritmo específico

un algoritmo específico

.

.

Mientras más limitado el problema

Mientras más limitado el problema

y más conocimiento sobre el problema particular

y más conocimiento sobre el problema particular

No Free Lunch Theorem

y más conocimiento sobre el problema particular

y más conocimiento sobre el problema particular

(“

(“Problem

Problem--Specific

Specific Knowledge

Knowledge”) se incorpore al algoritmo,

”) se incorpore al algoritmo,

mejor será el rendimiento del algoritmo en la clase de

mejor será el rendimiento del algoritmo en la clase de

problemas planteado.

problemas planteado.

Sólo se utilizará un algoritmo general, sin incorporar

Sólo se utilizará un algoritmo general, sin incorporar

conocimiento del problema, cuando no exista otra solución

conocimiento del problema, cuando no exista otra solución

(por problemas de tiempo por ejemplo)

(34)

Cuándo Aplicar métodos Heurísticos

Cuando no se pueda aplicar otro método

Cuando no se pueda aplicar otro método

, en general por

, en general por

falta de hipótesis para aplicar algoritmos

falta de hipótesis para aplicar algoritmos determinísticos

determinísticos

(funciones no derivables o no continuas, o que no son

(funciones no derivables o no continuas, o que no son

funciones, etc.)

funciones, etc.)

Problemas ruidosos o mal condicionados

Problemas ruidosos o mal condicionados

(los algoritmos

(los algoritmos

heurísticos o aleatorios tienden a ser robustos y poco

heurísticos o aleatorios tienden a ser robustos y poco

sensibles a la presencia de ruido)

sensibles a la presencia de ruido)

sensibles a la presencia de ruido)

sensibles a la presencia de ruido)

Existencia de gran cantidad de óptimos locales

Existencia de gran cantidad de óptimos locales

(donde los

(donde los

algoritmos tradicionales basados en derivadas quedan

algoritmos tradicionales basados en derivadas quedan

atrapados)

atrapados)

Problemas reales de gran complejidad

Problemas reales de gran complejidad

, donde es suficiente

, donde es suficiente

con encontrar una buena solución al problema, aunque no

con encontrar una buena solución al problema, aunque no

sea necesariamente el óptimo global

Figure

Actualización...

Referencias

Actualización...