Intro. a la Prog. Lineal

Anuncio
Pontificia Universidad Católica
Escuela de Ingeniería
Departamento de Ingeniería Industrial y de Sistemas
Clase 17 • Programación Lineal
ICS 1102 • Optimización
Profesor : Claudio Seebach
2 de octubre de 2006
Apuntes de Clases • Optimización • Claudio Seebach
Programación Lineal • 3
Programación Lineal
Comprende el problema general de asignar
de una manera óptima
una serie de recursos escasos
entre varias actividades que compiten por ellos.
Apuntes de Clases • Optimización • Claudio Seebach
Programación Lineal • 4
Introducción a Programación Lineal
• Un importante avance cientı́fico del siglo XX
• Poderosa herramienta de modelación: teorı́a y práctica
– Simple
– Cubre una amplia gama de aplicaciones
– Flexible
• Método Simplex (Georg Dantzig 1947)
• Paquetes comerciales (Cplex, Minos, Lindo, Excel)
Apuntes de Clases • Optimización • Claudio Seebach
Programación Lineal • 5
Introducción a Programación Lineal
Apuntes de Clases • Optimización • Claudio Seebach
Programación Lineal • 6
Supuestos en Programación Lineal
• Los recursos son limitados
• Existe un objetivo explı́cito
• Tanto la función objetivo como las restricciones se expresan como funciones lineales
• Todos los productos y recursos son homogéneos
• Las variables de decisión son no-negativas y pueden tomar valores fraccionales
Apuntes de Clases • Optimización • Claudio Seebach
Programación Lineal • 7
Aplicaciones Reales
• En manufactura
– Mix de productos
– Planificación de la producción
• En energı́a
– Despacho de centrales eléctricas
– Exploración y explotación de petróleo
• En finanzas
– Asignación de activos
– Selección de porfolio
Apuntes de Clases • Optimización • Claudio Seebach
Programación Lineal • 8
Problema de Empresa de Perfumes
• Venden dos productos: colonia y perfume
• Colonia se vende a $3 por onza; y cada onza requiere
– 2 gramos de fragancia
– 6 gramos de intensificador
• Perfume se vende a $8 por onza; y cada onza requiere
– 4 gramos de fragancia
– 2 gramos de intensificador
– 1 gramo de estabilizador
• Los recursos son limitados. En particular hay:
– 1,600 gramos de fragancia
– 1,800 gramos de intensificador
– 350 gramos de estabilizador
• ¿Cómo se podrı́a maximizar las ventas?
Apuntes de Clases • Optimización • Claudio Seebach
Programación Lineal • 9
Problema de Empresa de Perfumes
Apuntes de Clases • Optimización • Claudio Seebach
Programación Lineal • 10
Problema de Empresa de Perfumes
Apuntes de Clases • Optimización • Claudio Seebach
Programación Lineal • 11
Empresa de Vidrios
Apuntes de Clases • Optimización • Claudio Seebach
Programación Lineal • 12
Formulación del Problema de LP
• Variables de decisión
– x1= # de lotes del producto 1 por semana
– x2= # de lotes del producto 2 por semana
– Z = Utilidad total por semana (en miles de $)
• Restricciones
– Función objetivo: Z = 3x1 + 5x2
– Producción
x1 ≤ 4
2x2 ≤ 12
3x1 + 2x2 ≤ 18
(planta 1)
(planta 2)
(planta 3)
– No-negatividad: x1 ≥ 0 y x2 ≥ 0
• Problema: Encontrar x1 y x2 que maximice Z sujeto a las restricciones
de producción y de no-negatividad
Apuntes de Clases • Optimización • Claudio Seebach
Programación Lineal • 13
Solución usando Métodos Gráficos
• No-negatividad: x2 ≥ 0 & x1 ≥ 0
• Producción: x1 ≤ 4, 2x2 ≤ 12 & 3x1 + 2x2 ≤ 18
• Objetivo: Z = 3x1 + 5x2 = K
Apuntes de Clases • Optimización • Claudio Seebach
Programación Lineal • 14
Solución usando Métodos Gráficos
• El # de variables de decisión determina la dimensionalidad del problema
– Problemas de dos variables pueden ser graficados en 2-D
– Se escoge un eje para cada variable
• Las restricciones determinan el conjunto de soluciones factibles
– Cada desigualdad determina un semiplano factible
– La región factible del problema es la intersección de los semiplanos
– Para graficar una restricción basta con calcular las dos intersecciones y trazar la
lı́nea entre ellas
• Una solución óptima siempre puede encontrarse en un vértice
– Tomar un valor de la función objetivo arbitrario y trazar curvas de nivel
– Encontrar la dirección de mejora del valor de la función; ubicar vértices candidatos
a óptimo
– Calcular la solución correspondiente a cada vértice candidato, resolviendo el sistema de ecuaciones de restric. activas en el vértice
– Comparar los valores de la función objetivo reemplazando las coordenadas en la
función objetivo
Apuntes de Clases • Optimización • Claudio Seebach
Programación Lineal • 15
Introducción a Programación Lineal
• Un problema de optimización es lineal si las variables son todas continuas y tanto la función objetivo como las restricciones del problema son funciones lineales en las variables.
• Z = Valor de la Función Objetivo
• xj = Nivel de actividad j (j = 1, ..., n) (variable de decisión)
• cj = Cambio en Z por cada unidad que se cambie en xj .
• bi = Cantidad de recurso i (i = 1, ..., m) disponible.
• aij = Cantidad de recurso i consumido por cada unidad de actividad j.
Apuntes de Clases • Optimización • Claudio Seebach
Programación Lineal • 16
Introducción a Programación Lineal
• Todo problema de Programación Lineal puede expresarse mediante el
siguiente formato estándar:
s.a
min Z = c1x1 + c2x2 + ... + cnxn
a11x1 + ... + a1nxn ≤ b1
..
am1x1 + ... + amnxn ≤ bm
• En notación matricial:
min !c · !x
s.a A!x ≤ !b
Apuntes de Clases • Optimización • Claudio Seebach
Programación Lineal • 17
Terminologı́a de Programación Lineal
• Solución óptima
• Múltiples óptimos, o solución no óptima
• Valor óptimo o más favorable de Z
• Problema no acotado
• Problema infactible
Apuntes de Clases • Optimización • Claudio Seebach
Programación Lineal • 18
Descargar