Andrés Ramos
Universidad Pontificia Comillas
http://www.iit.upcomillas.es/aramos/
Andres.Ramos@upcomillas.es
CONTENIDO
INTRODUCCIÓN
• OPTIMIZACIÓN
• SOLUTION METHODS (master)
• 1 cola
• 8 servidores
Investigación operativa. Optimización y modelado
Línea de ensamblaje de coches
www.doi.icai.upcomillas.es/simio/apuntes/a_casos.pdf
• INTRODUCCIÓN
OPTIMIZACIÓN
• SOLUTION METHODS (master)
• Función objetivo
– Medida cuantitativa del funcionamiento (de la bondad) de un sistema
que se desea maximizar o minimizar
• Variables
– Decisiones que afectan el valor de la función objetivo
• Restricciones
– Conjunto de relaciones que las variables están obligadas a satisfacer
• INTRODUCCIÓN
• OPTIMIZACIÓN
SOLUTION METHODS (master)
• Métodos clásicos
– buscan el óptimo “localmente”
– garantizan el óptimo numérico
– permiten un elevado número de restricciones
• Métodos metaheurísticos
– Imitan fenómenos sencillos observados en la naturaleza
– “globales”, mecanismos específicos para evitar óptimos locales
– NO garantizan la obtención del óptimo. Permiten la obtención de
múltiples subóptimos
– NO permiten elevado número de restricciones
– exploran gran número de soluciones en tiempo muy corto
– aplicados principalmente a problemas combinatoriales
• LP (linear programming)
• MIP (mixed integer programming)
• NLP (non linear programming)
• QP (quadratic programming)
• DP (dynamic programming)
• NF (network flow)
T
min c x
x
Ax = b
x≥0
x ∈ ℝ n , c ∈ ℝ n , A ∈ ℝ m×n , b ∈ ℝ m
x2
≤4
(2,6)
x1
2 x2 ≤ 12 PI Rectas de
isofunción
objetivo
+2 x2 ≤ 18
(4,3)
3x1
x1 , x2 ≥ 0 SX
x1
(0,0) (4,0)
min c x + d y
T T
x
Ax + By = b
x, y ≥ 0
x ∈ Z n , y ∈ ℝl , c ∈ ℝn , d ∈ ℝl
A ∈ ℝ m×n , B ∈ ℝ m×l , b ∈ ℝ m
• Método de ramificación y acotamiento (branch and bound)
• Método de ramificación y corte (branch and cut)
1
2
z=14.2
INFACTIBLE
x2 ≤ 1 (1,1.2,1.8,0) x2 ≥ 2
3 4
Resolución de
z=14.16 z=12.16
un problema LP
x1 ≤ 0 (0.83,1,1.83,0) x1 ≥ 1 (0.83,2,1.83,0)
5
6
z=13.5
INFACTIBLE
(0,0,2,0.5)
zˆ = 13.5
3
← x/3+y=6
2
0
0 2 4 6 8 10 12
x
Investigación operativa. Optimización y modelado
Programación no lineal (NLP)
• Sin restricciones
– No requieren derivadas
• Métodos de coordenadas cíclicas, Hooke & Jeeves y
Nelder & Mead
– Requieren primeras derivadas min f ( x )
x
• Métodos de máximo descenso, gradiente conjugado
– Requieren segundas derivadas g ( x) = 0
• Métodos de Newton y cuasi-Newton h( x ) ≤ 0
• Con restricciones
– Métodos factibles
l≤ x≤u
• Método del gradiente, Newton y cuasi-Newton reducido f :ℝ →ℝ n
• Programación cuadrática secuencial
– Métodos de penalización g , h : ℝn → ℝm
• Métodos de penalización y barrera
• Método del lagrangiano aumentado
• Métodos factibles
– Aproximación de funciones mediante el desarrollo en serie de Taylor
(lineal o cuadrática, primeras o segundas derivadas)
– Detención cuando se verifica que primera derivada es 0
• Métodos de penalización
– Resuelven secuencias de problemas de optimización sin restricciones
– Método de penalización
• Penaliza la violación de las restricciones
– Método barrera
• Evitan que se alcance el contorno de la restricción
Secuencia de puntos
x0 = −0.75
f ′( x0 )
x1 = x0 − = −0.4135
f ′′( x0 )
x1 = −0.3376
x1 = −0.3333
1 T
min c x + x Qx
T
x 2
Ax = b
x≥0
x ∈ ℝ n , c ∈ ℝ n , A ∈ ℝ m×n
Q ∈ ℝ n×n , b ∈ ℝ m
Ventaja
el hessiano es constante, la aproximación por segundas
derivadas es exacta
Investigación operativa. Optimización y modelado
Programación dinámica (DP) (i)
• Técnica matemática orientada a la solución de problemas con
decisiones en etapas sucesivas (espaciales o temporales)
donde se debe minimizar el coste total de dichas decisiones
G
7
B 1
6 K
2 H 9
E 6 11
8 5 4
1 P
C 5
8 2 6
6 L
A 7 I 3
9 T
6 4
5 6 5
5 F 6 R
4 6 5
D 5
8 M
J
Tram o I Tram o II Tramo III Tram o IV Tram o V Tramo VI
• GA (genetic algorithms)
• TS (tabu search)
• SA (simulated annealing)
• SS (scatter search)
• CE (cross entropy)
• PS (particle swarm)
• ACO (ant colony optimization)
• VNS (variable neighborhood search)
1. Iteración i=0
2. Sea una población de soluciones (cromosomas) para la
iteración i, P(i)
3. Evalúa la población de soluciones P(i)
4. Mientras no se acabe, hacer lo siguiente:
• Iteración i+1
• Selecciona la población de soluciones de la iteración i+1 como los
mejores de la iteración anterior
• Recombina, es decir, cruza y muta soluciones aleatoriamente
elegidas para obtener nuevas soluciones
• Cruce (crossover): intercambio entre elementos (genes) de soluciones
• Mutación: alteración aleatoria de un elemento (gen)
• Evalúa la población de soluciones P(i+1)
Andrés Ramos
Modelo
• Definición
– Esquema teórico, generalmente en forma matemática, de un sistema o
de una realidad compleja (por ejemplo, la evolución económica de un
país), que se elabora para facilitar su comprensión y el estudio de su
comportamiento. (Diccionario de la lengua española. Real Academia
Española)
• Representación precisa de una realidad
• Herramienta de ayuda a la toma de decisiones
• Puede involucrar equipo multidisciplinar
• Equilibrio entre representación detallada y capacidad de
obtener la solución
• Modelador: especifica y desarrolla el modelo
• Experto: conoce el problema real
Investigación operativa. Optimización y modelado
Dos riesgos importantes
• Ciencia
– Análisis y detección de las relaciones entre datos
– Suposiciones y aproximaciones a los problemas
– Algoritmos específicos de solución
– Soluciones del modelo
• Arte
– Visión o interpretación de la realidad
– Estilo en modelo y documentación
– Elegancia y simplicidad en desarrollo
– Uso de creativo de herramientas
Resolución
• GIGOLO
• Garbage In, Garbage Out, Look Out !
• El pasado no es estocástico
1998
El contraste de los resultados
del modelo con datos reales del
sistema es imprescindible.
• Problema de la dieta
Se ha determinado que las
necesidades mínimas diarias en
la alimentación de una ternera
son 700 g de proteínas, 28 g de
calcio y 150 mg de vitaminas.
Los alimentos disponibles son Proteínas Calcio Vitaminas
pienso y forraje con un coste (g) (g) (mg)
unitario de 0.30 y 0.35 €/kg
respectivamente. La composición Pienso 30 2 10
nutritiva por kg de alimento se Forraje 45 1 5
muestra en la tabla de la derecha.
Se trata de determinar la cantidad
diaria óptima de cada alimento
para minimizar el coste total de
la alimentación.
Investigación operativa. Optimización y modelado