Inteligencia Artificial 1 Semestre 2009 Campus Santiago

Anuncio
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
Inteligencia Artificial
1 Semestre 2009
Campus Santiago
Elizabeth Montero Ureta
1
Optimización Combinatoria
2
Algoritmos de Optimización con búsqueda de árbol
3
Problemas de Optimización Combinatoria
4
Modelado de restricciones especiales
5
Modelos de Set Covering, Packing y Partitioning
Departamento de Informática
Universidad Técnica Federico Santa Marı́a
6
Modelos con Generación de Columnas
1er Semestre 2009
7
Modelos de Problemas de Asignación
1/31
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
2/31
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
Idea
Introducción
Criterio a optimizar Función de costo a minimizar. Función de ganancia
a maximizar.
Encontrar una solución factible y óptima de acuerdo a algún criterio
definido.
Ejemplos de criterios:
Principio Una solución es una hoja de árbol de búsqueda con el
mejor criterio a optimizar.
Scheduling (Calendarización): Minimizar la fecha de término
Asignement (Asignación): Minimizar el número de recursos utilizados
Diseño: Minimizar el costo de la solución
Marco de aplicación Diversos problemas de optimización.
Dificultades Pueden producirse infinitas ramas o redundancia (varios
nodos representando el mismo estado). La idea es evitar
esta situación.
En problemas sobre-restringidos se busca una solución que satisface
al menos las restricciones prioritarias.
3/31
4/31
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
Formulación de Modelos
Modelos con restricciones para las variables Todo-o-nada
Para el problema lineal:
La formulación de Modelos de Optimización requiere la definición de:
máx 18 · x1 + 3 · x2 + 9 · x3
Función Objetivo / Objetivo Medida cuantitativa del funcionamiento del
sistema que se desea optimizar (maximizar o minimizar).
2 · x1 + x2 + 7 · x3
≤ 150
Variables Representan las decisiones que se pueden tomar para
afectar el valor de la Función Objetivo.
0 ≤ x1
≤ 60
0 ≤ x2
≤ 30
Restricciones Representan el conjunto de relaciones (ecuaciones e
inecuaciones) que las variables están obligadas a cumplir.
0 ≤ x3
≤ 20
Constantes Valores de ciertos atributos del problema conocidos a priori
y fijos que permiten simplificar la formulación del modelo.
Nuevo requerimiento: Cada xi puede ser utilizado ya se en su cota
superior o no ser utilizado.
6/31
5/31
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
Modelos con restricciones para las variables Todo-o-nada
Disyunción
Restricción:
Disyunción: De 2 restricciones al menos una debe darse. Debe cumplirse
una de las restricciones, no necesariamente las dos.
Sea
Yi =
1
0
Si xi es utilizado
si no
{f (x) ≤ 0} ó {g (x) ≤ 0}
Variables:
máx 18 · 60 · Y1 + 3 · 30 · Y2 + 9 · 20 · Y3
2 · 60 · Y1 + 30 · Y2 + 7 · 20 · Y3
≤
150
x1
≤
60 · Y 1
x2
≤
30 · Y 2
x3
≤
20 · Y 3
δ=
1
0
obliga a g (x) ≤ 0 y relaja la otra restricción
obliga a f (x) ≤ 0 y relaja la otra restricción
Restricciones:
f (x) ≤ M1 · δ
g (x) ≤ M2 · (1 − δ)
7/31
8/31
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
Cumplir k de N ecuaciones
Seleccionar el valor de una función entre N valores posibles
Restricción:
Seleccionar entre N valores: Una ecuación con múltiples valores posibles.

 v1
...
f (x) =

vN
Restricción:
Cumplir k de N ecuaciones: De N ecuaciones se deben cumplir al menos
k, siendo k < N
{f1 (x) ≤ 0}, ..., {fN (x) ≤ 0}
Variables:
yi =
1
0
si la restricción i se cumple
si no
Variables:
yi =
Restricciones:
yi
si la ecuación toma el valor i-ésimo
si no
Restricciones:
fi (x) ≤ Mi · (1 − yi )
N
X
1
0
f (x)
= k
=
N
X
v1 · yi
i=1
i=1
N
X
yi
=
1
i=1
9/31
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
10/31
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
Modelos tipo Problema de la Mochila
Modelos de Presupuesto [Mochila Multidimensional]
El lı́mite total de recursos disponibles consumidos por los proyectos
seleccionados e inversiones en cada perı́odo de tiempo no deben
exceder la cantidad de tiempo disponible.
Problema de optimización combinatoria puro: Variables binarias y
una sola restricción.
xi =
1
0
La actividad i se realiza
si no
Las restricciones son:
máx 8000 · x1 + 3000 · x2 + 1500 · x3 + 7000 · x4 + 1000 · x5 + 1200 · x6
5 · x1 + 3 · x2 + 2 · x3 + 4,5 · x4 + 1,5 · x5 + 1 · x6 ≤ 10
6 · x1 + 2 · x2 + 3 · x3 + 1 · x7 + 4 · x9 + 5 · x12 ≤ 10
(2000-200
x1 , x2 , x3 , x4 , x5 , x6 ∈ {0, 1}
3 · x2 + 5 · x3 + 5 · x5 + 8 · x7 + 5 · x9 + 8 · x10 + 7 · x12 + 1 · x13 + 4 · x14 ≤ 12
(2003-200
8 · x5 + 1 · x4 + 4 · x10 + 2 · x11 + 4 · x13 + 5 · x14 ≤ 14
(2006-200
8 · x6 + 5 · x8 + 7 · x11 + 1 · x13 + 3 · x14 ≤ 14
(2009-201
xi ∈ {0, 1}
11/31
12/31
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
Modelos de Presupuesto [Mochila Multidimensional]
Modelos de Set Covering, Packing y Partitioning
Trabajan con un conjunto de elementos, la idea es contruir sub-conjuntos
de elementos considerando diversos puntos de vista respecto a las
restricciones:
Restricciones en un Modelo de Presupuesto:
Actividades mutuamente excluyentes
La actividad 4 no se puede realizar si se realiza la actividad 5 y
viceversa
x4 + x5 ≤ 1
Set Covering Requieren que cada elemento pertenezca a al menos un
sub-conjunto.
Dependencia entre actividades
La actividad 11 requiere que la actividad 2 se realice
Set Packing Requieren que cada elemento aparezca en a lo más un
sub-conjunto.
Set Partitioning Requieren que cada elemento aparezca en exactamente
un sub-conjunto.
x11 ≤ x2
13/31
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
14/31
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
Set Covering
Set Covering
Instalar la menor cantidad de Estaciones de Bomberos de manera que
puedan satisfacer las demandas de las 11 comunas de una ciudad. Se
considera que una Estación de Bomberos es capaz de satisfacer las
demandas de la comuna en la que se encuentra y de las inmediatamente
adyacentes a dicha comuna.
Variables:
1
xi =
0
Si se instala una Estación de Bomberos en la comuna i
si no
Objetivo:
Mı́n x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9 + x10 + x11
Restricciones:
x1 + x2 + x3 + x4
≥ 1 (Comuna 1)
x1 + x2 + x3 + x5
≥ 1 (Comuna 2)
x1 + x2 + x3 + x4 + x5 + x6
≥ 1 (Comuna 3)
x1 + x3 + x4 + x6 + x7
≥ 1 (Comuna 4)
x2 + x3 + x5 + x6 + x8 + x9
≥ 1 (Comuna 5)
...
15/31
16/31
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
Set Covering
Set Covering
Variables:
1
xi =
0
Instalar cuatro Estaciones de Bomberos de manera que puedan satisfacer
las demandas de las comunas más importantes de una ciudad. La
importancia de la comuna viene dada por la cantidad de ciudadanos que
viven en dicha comuna. Se considera que una Estación de Bomberos es
capaz de satisfacer las demandas de la comuna en la que se encuentra y
de las inmediatamente adyacentes a dicha comuna.
Si se instala una Estación de Bomberos en la comuna i
si no
yi =
1 Si la comuna i no será servida
0 si no
Constantes:
Pi = Población de la comuna i
Objetivo:
Mı́n
11
X
Pi · yi
i=1
Restricciones:
x1 + x2 + x3 + x4 + y1
≥ 1 (Comuna 1)
x1 + x2 + x3 + x5 + y2
≥ 1 (Comuna 2)
...
11
X
xi = 4
(Sólo cuatro Estaciones)
i=1
17/31
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
18/31
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
Set Covering
Set Covering
Variables:
Considere un conjunto S de personas.
xj =
S = {1, 2, 3, 4, 5}
1
0
Si se elije el equipo j
si no
Constantes:
Suponga que desea organizar dichas personas en varios equipos
conocidos:
aij =
1 Si la persona i está en el equipo j
0 si no
cj = Costo de elegir el equipo j
El conjunto de equipos posibles es s
Objetivo:
Por ejemplo: s = {{1, 2}, {4, 5}, {1, 3, 5}, {2, 4, 5}, {1}, {3}}
Cada equipo tiene un costo cj
Se desea elegir los equipos que permiten tener ocupadas a todas las
personas con un costo mı́nimo
Mı́n
6
X
c j · xj
j=1
Restricciones:
No importa que la misma persona este en más de un equipo
6
X
aij · xj ≥ 1
∀i
j=1
19/31
20/31
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
Set Partitioning
Set Partitioning
Variables:
xj =
Considere un conjunto S de personas.
1
0
Si se elije el equipo j
si no
Constantes:
S = {1, 2, 3, 4, 5}
aij =
Suponga que desea organizar dichas personas en varios equipos
conocidos:
1 Si la persona i está en el equipo j
0 si no
bj = Beneficio de elegir el equipo j
El conjunto de equipos posibles es s
Objetivo:
Por ejemplo: s = {{1, 2}, {4, 5}, {1, 3, 5}, {2, 4, 5}, {1}, {3}}
Máx
Cada equipo tiene un beneficio bj
6
X
bj · xj
j=1
Se desea elegir los equipos que permiten que cada persona este en
sólo un equipo con un beneficio máximo
Restricciones:
6
X
aij · xj = 1
∀i
j=1
21/31
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
22/31
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
Set Packing
Set Packing
Variables:
Considere un conjunto S de personas.
xj =
S = {1, 2, 3, 4, 5}
1
0
Si se elije el equipo j
si no
Constantes:
Suponga que desea organizar dichas personas en varios equipos
conocidos:
aij =
1 Si la persona i está en el equipo j
0 si no
bj = Beneficio de elegir el equipo j
El conjunto de equipos posibles es s
Objetivo:
Por ejemplo: s = {{1, 2}, {4, 5}, {1, 3, 5}, {2, 4, 5}, {1}, {3}}
Cada equipo tiene un beneficio bj
Se desea elegir los equipos que proporcionen el beneficio máximo sin
que exista solape
Máx
6
X
bj · xj
j=1
Restricciones:
No importa que una persona no esté en ningún equipo
6
X
aij · xj ≤ 1
∀i
j=1
23/31
24/31
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
AA Crew Scheduling
Definición Generación de Columnas
Problema: Encontrar la secuencia de vuelos para cada tripulación
sobre un perı́odo mı́nimo de 2 dı́as y máximo de 3 dı́as. La secuencia
debe comenzar y terminar en la ciudad donde vive la tripulación. El
objetivo es minimizar los costos.
La generación de columnas se utiliza como una estrategia de dos
pasos para enfrentar la resolución de problemas combinatorios
altamente complejos.
Suponga la siguiente secuencia de viajes de American Airlines.
Consiste en la generación de una secuencia de columnas donde cada
columna representa una solución factible y luego, resolver el
problema como un set Partitioning (o Covering o Packing) para
seleccionar un conjunto óptimo de esas alternativas.
Ventaja: Flexibilidad
Desventaja: Dificultad para enumerar todas las posibilidades.
25/31
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
Generación de Columnas en AA Crew Scheduling
Generación de Columnas en AA Crew Scheduling
Paso 2:
Resolver el problema como un Set [Covering/ Packing/ Partitioning]
Variables:
1 Si se elije la columna j
xj =
0 si no
Paso 1:
Generación de una secuencia de columnas
j
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Secuencia de Vuelos
101 - 203 - 406 - 308
101 - 203 -407
101 - 204 - 305 - 407
101 - 204 - 308
203 - 406 - 310
203 - 407 - 109
204 - 305 - 407 - 109
204 - 308 - 109
305 - 407 - 109 - 212
308 - 109 - 212
310 - 212
402 - 203
402 - 204 - 305
402 - 204 - 310 - 211
406 - 308 - 109 - 211
406 - 310 - 211
407 - 109 - 211
26/31
Costo
2900
2700
2600
3000
2600
3150
2550
2500
2600
2300
2000
2100
2400
2550
2750
2600
2550
Constantes:
aij =
1
0
Si el vuelo i está en la columna j
si no
Cj = Costo de la columna j
Objetivo:
Máx
17
X
Cj · xj
j=1
Restricciones:
17
X
aij · xj = 1
∀i
j=1
Solución x1 = x9 = x14 = 1 a un costo total de 8050
27/31
28/31
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
Modelos de Problema de Asignación
Modelos de Problema de Asignación Cuadrática
Descripción
Ejemplo: Mall Layout
Encontrar la mejor asignación máquina-trabajo, personal-cliente,...,
para minimizar costos
Variables:
1 Si i esta asignado a j
xij =
0 si no
Constantes:
Cij = Costo de asignar i a j
Se tienen 4 posibles ubicaciones para departamentos en un shopping
mall. Se conocen las distancias (en metros) entre las ubicaciones. Se
conoce además el número de clientes a la semana que desearı́an visitar
los diferentes pares de departamentos. Por ejemplo, se proyecta que 500
clientes a la semana visitarı́an la tienda de ropa (Tienda 1) y
computación (Tienda 2). El objetivo del problema es determinar la
unicación de las tiendas minimizando la molestia de los clientes.
Objetivo:
Mı́n
XX
i
Cij · xij
j
Restricciones:
X
xij
=
1
∀i
xij
=
1
∀j
j
X
i
29/31
Optimización Combinatoria
Algoritmos de Optimización con búsqueda de árbol
Problemas de Optimización Combinatoria
Modelado de restricciones especiales
Modelos de Set Covering, Packing y Partitioning
Modelos con Generación de Columnas
Modelos de Problemas de Asignación
Modelos de Problema de Asignación Cuadrática
Modelado
Variables:
1 Si i esta asignado a j
0 si no
xij =
Constantes:
Cijkl = Costo de asignar i a j y k a l
Objetivo:
Mı́n
XXXX
i
j
Cijkl · xij · xkl
k≥i l6=j
Restricciones:
X
xij
=
1
∀i
xij
=
1
∀j
j
X
i
31/31
30/31
Descargar