investigación de operaciones [inf-3144] capítulo 2...

Post on 01-Feb-2018

226 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Investigación de Operaciones [INF-3144]Capítulo 2: Programación con Restricciones

Dr. Ricardo Soto[ricardo.soto@ucv.cl]

[http://www.inf.ucv.cl/∼rsoto]

Escuela de Ingeniería InformáticaPontificia Universidad Católica de Valparaíso

Dr. Ricardo Soto Investigación de Operaciones 1/30

1. Introducción

Es una tecnología que tiene sus raíces en diversas áreas...

Objetivo?Resolver problemas que se puedan representar en función devariables y restricciones

Dr. Ricardo Soto Investigación de Operaciones 2/30

2. Ejemplos

Ejemplos RealesDetección de errores de precisión en robots (IRCCYN Lab)...+ de 500 variables y restricciones

Diseño de un sistema de aire acondicionado para aviones(Dassault Aviation)...+ de 1000 variables y restricciones

a1

X1θ1

link 1

end-effector

joint 2

joint 1

Y1

X2

Z1

X2

Y2

Z2

X3

Y3

Z3

a2

link 2

b1

b2

F1

F2

F3

Dr. Ricardo Soto Investigación de Operaciones 3/30

3. Proyectos Resueltos por alumnos PUCV

Manufacturing Cell DesignJuan Gutiérrez, Alexis López

Dr. Ricardo Soto Investigación de Operaciones 4/30

3. Proyectos Resueltos por alumnos PUCV

Nurse RosteringRenzo Pizarro, Gianni Rivera

Dr. Ricardo Soto Investigación de Operaciones 5/30

3. Proyectos Resueltos por alumnos PUCV

Mario Bros ProblemRodrigo Muñoz

Dr. Ricardo Soto Investigación de Operaciones 6/30

3. Proyectos Resueltos por alumnos PUCV

Ms Pacman ProblemFrancisco Lobos, Diego González

Dr. Ricardo Soto Investigación de Operaciones 7/30

3. Proyectos Resueltos por alumnos PUCV

Water DistributionPaz Clayton, Ricardo Rojas

Dr. Ricardo Soto Investigación de Operaciones 8/30

3. Proyectos Resueltos por alumnos PUCV

Portfolio SelectionCamila Allendes, Hans Berendsen

Dr. Ricardo Soto Investigación de Operaciones 9/30

3. Proyectos Resueltos por alumnos PUCV

Open-pit miningBoris Almonacid

Dr. Ricardo Soto Investigación de Operaciones 10/30

4. Problema de Satisfacción de Restricciones(Constraint Satisfaction Problem, CSP)

Ejemplo 1Resolver la siguiente ecuación, reemplazando las letras pordígitos distintos.

S E N D+ M O R EM O N E Y

Dr. Ricardo Soto Investigación de Operaciones 11/30

4. Problema de Satisfacción de Restricciones(Constraint Satisfaction Problem, CSP)

Ejemplo 1Resolver la siguiente ecuación, reemplazando las letras pordígitos distintos.

S E N D+ M O R EM O N E Y

9 5 6 7+ 1 0 8 51 0 6 5 2

Dr. Ricardo Soto Investigación de Operaciones 12/30

4. Problema de Satisfacción de Restricciones(Constraint Satisfaction Problem, CSP)

ModeloVariables

S,E,N,D,M,O,R,Y ∈ [0,9]

Restricciones

1000 · S + 100 · E + 10 · N + D+ 1000 ·M + 100 ·O + 10 · R + E

= 10000 ·M + 1000 ·O + 100 · N + 10 · E + Y

S 6= E , S 6= N, S 6= D . . . R 6= Y

Dr. Ricardo Soto Investigación de Operaciones 13/30

4. Problema de Satisfacción de Restricciones(Constraint Satisfaction Problem, CSP)

Ejemplo 2 - N-QueensUbicar n reinas en un tablero de ajedrez de n × n, de maneratal que no se puedan atacar.

Dr. Ricardo Soto Investigación de Operaciones 14/30

4. Problema de Satisfacción de Restricciones(Constraint Satisfaction Problem, CSP)

ModeloVariables

Q1,Q2,Q3,Q4 ∈ [1,4]

Restricciones (para i ∈ [1,3] y j ∈ [i + 1,4])

Qi 6= Qj (filas)

Qi + i 6= Qj + j (diagonal 1)

Qi − i 6= Qj − j (diagonal 2)

Dr. Ricardo Soto Investigación de Operaciones 15/30

4. Problema de Satisfacción de Restricciones(Constraint Satisfaction Problem, CSP)

Ejercicio 1 - Packing SquaresUbicar un conjunto de cuadrados dentro una base cuadrada detal manera que ningún cuadrado se translape con otro.

Dr. Ricardo Soto Investigación de Operaciones 16/30

4. Problema de Satisfacción de Restricciones(Constraint Satisfaction Problem, CSP)

Variables

x1, x2, ..., xsquares ∈ [1, sideSize]y1, y2, ..., ysquares ∈ [1, sideSize]

Constantes

sideSizesquaressize1, size2, ..., sizesquares

Restricciones (para i ∈ [1, squares]) //inside

xi ≤ sideSize − sizei + 1yi ≤ sideSize − sizei + 1

Dr. Ricardo Soto Investigación de Operaciones 17/30

4. Problema de Satisfacción de Restricciones(Constraint Satisfaction Problem, CSP)

Restricciones (para i ∈ [1, squares] y j ∈ [i + 1, squares])//noOverlap

xi + sizei ≤ xj ORxj + sizej ≤ xi ORyi + sizei ≤ yj ORyj + sizej ≤ yi

Dr. Ricardo Soto Investigación de Operaciones 18/30

4. Problema de Satisfacción de Restricciones(Constraint Satisfaction Problem, CSP)

A Constraint Satisfaction Problem P is defined by a tripleP = 〈X ,D, C〉 where:

X is a n-tuple of variables X = 〈x1, x2, ..., xn〉,D is a corresponding n-tuple of domainsD = 〈D1,D2, ...,Dn〉 such that xi ∈ Di , and Di is a set ofvalues, for i = 1, ...,n.C is a m-tuple of constraints C = 〈C1,C2, ...,Cm〉.

Dr. Ricardo Soto Investigación de Operaciones 19/30

5. Algoritmos de búsqueda y Técnicas de filtraje

Solving = Modeling + Search

Dr. Ricardo Soto Investigación de Operaciones 20/30

5. Algoritmos de búsqueda y Técnicas de filtraje

Generate and Test

b

bb

b

b

b

b

b b

b b b b b b b b

bb

bb b

bb b

b bbbb

bb

bb

b

b

b

b

b

bb

bb

b b

b

b b

b

bb

bb

b

b b

b

b

b b bb

b

b

bb

bb

bb

bb

bb

bb

bb

b bb

b b b b bb

b b

bb

bb

bb

bbb

bb

bb

b

bb

b

b

b

b

b

bbbb

bb

b

b b b b b b b b bbbb bb

bb

Dr. Ricardo Soto Investigación de Operaciones 21/30

5. Algoritmos de búsqueda y Técnicas de filtraje

ProblemasGran cantidad de instanciaciones que no conducen auna soluciónLas restricciones se evalúan con todas las variablesinstanciadas

Solución?Evaluar las restricciones apenas se instancien lasvariables involucradas.

Dr. Ricardo Soto Investigación de Operaciones 22/30

5. Algoritmos de búsqueda y Técnicas de filtraje

Backtracking

b

bb

b

b

b

b

b b

b

b

b

b

b

b

bb

bb

b b

b

b b

b

bb

bb

b

b b

b

b

b b bb

b

b

bb

b

b

b

b

b

b

b

b

bbbb

bb

bb

b

b

b

b

b

b

bbbbb b

bb

b

Dr. Ricardo Soto Investigación de Operaciones 23/30

5. Algoritmos de búsqueda y Técnicas de filtraje

Principal ProblemaNo se pueden detectar inconsistencias sin instanciartodas las variables involucradas en una restricción.

Solución?Eliminar valores temporalmente de los dominiosutilizando técnicas de consistencia (arc-consistency).

Dr. Ricardo Soto Investigación de Operaciones 24/30

5. Algoritmos de búsqueda y Técnicas de filtraje

Forward Checking

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

1234

1 2 3 4

Dr. Ricardo Soto Investigación de Operaciones 25/30

5. Algoritmos de búsqueda y Técnicas de filtraje

Se puede mejorar?Verificar no sólo la consistencia entre la variableactual y las futuras, sino que también entre lasfuturas...

Dr. Ricardo Soto Investigación de Operaciones 26/30

5. Algoritmos de búsqueda y Técnicas de filtraje

Maintaining Arc Consistency(Full Look Ahead)

b

b

b

b

b

1 2 3 4 1 2 3 4

1

2

3

4

1

2

3

4

Dr. Ricardo Soto Investigación de Operaciones 27/30

5. Algoritmos de búsqueda y Técnicas de filtraje

OptimizaciónBasta con extender el algoritmo de búsqueda paraconsiderar la función objetivo

Algoritmo más utilizado para optimización en CP:

Branch and Bound b

bb

b

b

b

b

b b

b b b b b b b b

bb

bb b

bb b

b bbbb

bb

bb

b

b

b

b

b

bb

bb

b b

b

b b

b

bb

bb

b

b b

b

b

b b bb

b

b

bb

bb

bb

bb

bb

bb

bb

b bb

b b b b bb

b b

bb

bb

bb

bbb

bb

bb

b

bb

Dr. Ricardo Soto Investigación de Operaciones 28/30

6. Heurísticas de selección de variable y valor

VariableFirst-fail (dominio más pequeño)Most-constrained variableReduce-first (dominio más grande)Round-robin (orden equitativo, por ej. de la 1era a laúltima)

Valorsmallestmedianmaximal

Dr. Ricardo Soto Investigación de Operaciones 29/30

7. Solvers

Diversos Lenguajes para CPBasados en programación lógica (Eclipse,SicstusProlog...)Basados en programación orientada a objetos (ILOG,Gecode...)Modelado de alto nivel (OPL, Zinc...)

Dr. Ricardo Soto Investigación de Operaciones 30/30

top related