Programación Lineal Continua - Departamento de Estadí · PDF fileResolucion del...
Transcript of Programación Lineal Continua - Departamento de Estadí · PDF fileResolucion del...
Formulacion y EjemplosResolucion grafica
Resolucion del problema: algoritmo del Simplex
Programacion Lineal Continua
Elisenda MolinaUniversidad Carlos III de [email protected]
8 de octubre de 2008
Investigacion Operativa Programacion Lineal Continua
Formulacion y EjemplosResolucion grafica
Resolucion del problema: algoritmo del Simplex
Esquema
1 Formulacion y Ejemplos
2 Resolucion grafica
3 Resolucion del problema: algoritmo del Simplex
Investigacion Operativa Programacion Lineal Continua
Formulacion y EjemplosResolucion grafica
Resolucion del problema: algoritmo del Simplex
Ejemplo: Produccion de carbon
Una empresa minera produce lignito y antracita.
El proceso de produccion esta dividido en tres fases:1 Corte del mineral,2 Tamizado y a la seleccion,3 Lavado.
Datos:Corte Tamizado Lavado Beneficio
Lignito 3 3 4 24Antracita 4 3 2 18
Disponibilidad maxima 12 10 8
¿cuantas toneladas de cada clase de carbon debe producir aldıa para maximizar sus beneficios?
Investigacion Operativa Programacion Lineal Continua
Formulacion y EjemplosResolucion grafica
Resolucion del problema: algoritmo del Simplex
Asignacion y distribucion de recursos/Producion
Problemas en los que se trata de asignar o localizar un numerode recursos, siempre limitados, entre diversas actividades.
Se plantea un conflicto entre la funcion objetivo, que cuantificael beneficio derivado de cada asignacion, y las restricciones, queestablecen los lımites a las asignaciones posibles.
Investigacion Operativa Programacion Lineal Continua
Formulacion y EjemplosResolucion grafica
Resolucion del problema: algoritmo del Simplex
Problema de Programacion Lineal Continua
Clase mas importante de problemas de optimizacion
Base para la resolucion de otros problema de optimizacion
Uno de los modelos matematicos mas aplicados (ver top10.pdf)
Elementos y caracterısticas:1 Variables de decision continuas: xt = (x1, . . . , xn)2 Funcion objetivo lineal: f (x1, . . . , xn)3 Restricciones lineales: para j = 1, . . . ,m,
aj1x1 + aj2x2 + · · ·+ ajnxn ≤ bj , o
aj1x1 + aj2x2 + · · ·+ ajnxn ≥ bj , o
aj1x1 + aj2x2 + · · ·+ ajnxn = bj
Investigacion Operativa Programacion Lineal Continua
Formulacion y EjemplosResolucion grafica
Resolucion del problema: algoritmo del Simplex
Programacion Matematica: alternativas
1 Programacion Entera (Mixta): cantidades no divisibles yenteras y/o decisiones logicas.
2 Programacion no Lineal: relaciones no proporcionales y noaditivas.
3 Programacion Multiobjetivo: varios objetivos.
4 Programacion Estocastica, que permite incorporar laincertidumbre inherente en muchas situaciones reales al modelo.
5 Programacion Difusa, que permite trabajar con problemas enlos que las restricciones no son rıgidas (modelizan relacionesvagamente definidas).
Investigacion Operativa Programacion Lineal Continua
Formulacion y EjemplosResolucion grafica
Resolucion del problema: algoritmo del Simplex
El problema de la dieta
Aplicacion clasica de la Programacion Lineal y un ejemplo tıpico deesta familia de problemas. Se trata de alimentar a un colectivo de laforma menos costosa, satisfaciendo las necesidades nutricionales.
Un veterinario aconseja a un granjero dedicado a la crıa depollos una dieta mınima para la alimentacion de las avesconsistente en 3 unidades de hierro y 4 unidades de vitaminas.
Dieta: mezcla de maız, harina de pescado y pienso sintetico.
Datos:Hierro (u/kg) Vitaminas (u/kg) Coste (euro/kg)
Maız 2,5 1 0,3Harina 3 3 0,5Pienso 1 2 0,2
El granjero se pregunta por la composicion de la dieta que,satisfaciendo las necesidades alimenticias, minimice el costetotal.
Investigacion Operativa Programacion Lineal Continua
Formulacion y EjemplosResolucion grafica
Resolucion del problema: algoritmo del Simplex
Ejemplo
Una refinerıa de petroleo puede destilar 2 tipos de crudo: uncrudo medio de Arabia Saudı y uno pesado de Venezuela, paraproducir gasolina, fuel de avion y lubricantes.
Dependiendo de las caracterısticas del crudo el proceso derefino da lugar a distintos derivados en diferentes proporciones.Datos:
Medio Pesado RequerimientosGasolina 0.3 0.4 2000Fuel avion 0.4 0.2 1500Lubricantes 0.2 0.3 500Disponible/dıa 9000 6000Coste 20 15
¿Como satisfacer la demanda comprometida a coste mınimo?
Investigacion Operativa Programacion Lineal Continua
Formulacion y EjemplosResolucion grafica
Resolucion del problema: algoritmo del Simplex
Problemas de Mezclas
Planificacion optima de la mezcla de productos a fabricar:determinar la cantidad de materia prima a comprar/producir,ası como la proporcion de cada materia prima en cada productofinal. Todo ello, teniendo en cuenta las caracterısticas tecnicasdel producto final, las materias primas disponibles y suscomponentes tecnicos.
Las limitaciones que suelen aparecer vienen dadas por: garantıamınima relativa, costos fijos de produccion, numero maximo deingredientes, ingredientes sustitutivos, procesos sustitutivos,proporciones de mercado, proporciones en caracterısticastecnicas, tarifas de precios,
Aplicaciones: industrias de la alimentacion, ganadera,farmaceutica, quımica, siderurgica o petrolıfera.
Investigacion Operativa Programacion Lineal Continua
Formulacion y EjemplosResolucion grafica
Resolucion del problema: algoritmo del Simplex
Region Factible
Region factible: conjunto de puntos que verifican todas lasrestricciones del modelo
Min. 2x1 − x2
s.a −x1 + x2 ≤ 2,x1 + x2 ≤ 4,
5x1 + 3x2 ≤ 15,x1, x2 ≥ 0.
Poliedro: interseccion finita de semiespacios, conjunto convexo
Investigacion Operativa Programacion Lineal Continua
Formulacion y EjemplosResolucion grafica
Resolucion del problema: algoritmo del Simplex
Region FactibleEjemplo
mın 2x1− x2 ,
s.a −x1+ x2≤ 2,
x1+ x2≤ 4,
5x1+3x2≤15,
x1 , x2≥ 0.
−x1 + x2 = 2
x1 + x2 = 4
5x1 + 3x2 = 15
La
zona sombreada representa el conjunto de puntos que verifican todas las
restricciones del modelo, la region factible
Investigacion Operativa Programacion Lineal Continua
Formulacion y EjemplosResolucion grafica
Resolucion del problema: algoritmo del Simplex
Rectas de nivel y gradiente
Ejemplo (cont.)
mın 2x1− x2 ,
s.a −x1+ x2≤ 2,
x1+ x2≤ 4,
5x1+3x2≤15,
x1 , x2≥ 0.
2x1 − x2 = 02x1 − x2 = 1
(0,2)
2x1 − x2 = −2
El punto optimo es (0,2), en el
que la funcion objetivo vale -2.El punto optimo es (0, 2), en el que la funcion objetivo vale -2.
Investigacion Operativa Programacion Lineal Continua
Formulacion y EjemplosResolucion grafica
Resolucion del problema: algoritmo del Simplex
Ejemplos: resolucion en clase
Investigacion Operativa Programacion Lineal Continua
Formulacion y EjemplosResolucion grafica
Resolucion del problema: algoritmo del Simplex
Vertices: teorema fundamental de la PLC
Soluciones de un problema de Programacion Lineal:
Si tiene solucion finita:
La solucion se encuentra en un punto extremo.Estos existen en un numero finito.
Solucion no acotada
Direccion extrema de decrecimiento (mın.), crecimiento (max.),partiendo de un punto extremo.
El problema no tiene solucion: la region es vacıa y, por tanto,no existen puntos extremos.
Investigacion Operativa Programacion Lineal Continua
Formulacion y EjemplosResolucion grafica
Resolucion del problema: algoritmo del Simplex
Metodos de resolucion
Las dos alternativas mas importantes son:
1 Algoritmo del simplex.
2 Metodos de punto interior.
El primer metodo se mueve por la frontera de la region factible,hasta llegar a un punto optimo. Se basa en un resultado basico:
Si el problema de programacion lineal tiene solucion,entonces se alcanza en al menos un vertice.
Los metodos de punto interior se mueven por el interior de la regionfactible. Utiliza tecnicas de programacion no lineal.
Investigacion Operativa Programacion Lineal Continua
Formulacion y EjemplosResolucion grafica
Resolucion del problema: algoritmo del Simplex
Vertices: Puntos Extremos y Soluciones Basicas Factibles
X Punto extremo o vertice: punto interseccion de al menos n caraso hiperplanos (definicion geometrica).
X Solucion Basica Factible: Se trabaja con PLs en Forma Estandar
Formulacion estandar
Funcion objetivo de “minimizar”, restricciones de “igualdad”,constantes del lado derecho no negativas y variables no negativas.
mın z = ct xs.a. A x = b,
x ≥ 0,
con b ≥ 0
Investigacion Operativa Programacion Lineal Continua
Formulacion y EjemplosResolucion grafica
Resolucion del problema: algoritmo del Simplex
Transformaciones
Cualquier problema de programacion lineal se puede formular enformato estandar.
Si el objetivo es maximizar, multiplicando la funcion objetivopor -1, se convierte en un problema de minimizacion:
max 2x1 + 3x2 ⇔ mın − 2x1 − 3x2
Investigacion Operativa Programacion Lineal Continua
Formulacion y EjemplosResolucion grafica
Resolucion del problema: algoritmo del Simplex
Transformaciones. Restriccion de desigualdad a igualdad
x1 + 2x2 ≤ 3,
Se introduce una nueva variable, denominada variable de holgura(slack):
x1 + 2x2+s1 = 3 con s1 ≥ 0.
Si la desigualdad es de tipo “mayor o igual que”,
x1 + x2 ≥ 10,
la variable de holgura se introduce con signo negativo en larestriccion. Se denomina variable de exceso (surplus)
x1 + x2−s2 = 10 con s2 ≥ 0.
Investigacion Operativa Programacion Lineal Continua
Formulacion y EjemplosResolucion grafica
Resolucion del problema: algoritmo del Simplex
Transformaciones. Signo de las variables
X Si una variable x no esta restringida en signo, se hace el cambiode variable
x = x+ − x−,
x+ = max{x , 0}x− = max{−x , 0}
y se introducen estas variables en el modelo, en lugar de x .
X Si una variable debe tomar un valor negativo, se hace el cambiox ′ = −x .
X Si la cota inferior de una variable no es 0:
x ≥ 3,
se puede hacer el cambio x ′ = x − 3.
Investigacion Operativa Programacion Lineal Continua
Formulacion y EjemplosResolucion grafica
Resolucion del problema: algoritmo del Simplex
Transformaciones. Valor absoluto
Es habitual que en muchos problemas aparezca el valor absoluto deuna expresion.Por ejemplo, si aparece |x |, para eliminarlo de la formulacion se haceel cambio:
x = x+ − x−,
donde x+ y x− estan definidas como en el apartado anterior.El valor absoluto es, entonces:
|x | = x+ + x−.
Si lo que aprarece es:
|2x1 + x2| ≤ 3 ⇒{
2x1 + x2 ≤ 3−3 ≤ 2x1 + x2
Investigacion Operativa Programacion Lineal Continua
Formulacion y EjemplosResolucion grafica
Resolucion del problema: algoritmo del Simplex
Transformaciones. Objetivo maximin/minimax
Un ordenador con 2 procesadores funciona durante al menos 10horas diarias en aplicaciones administrativas y academicas.
Cada tarea administrativa requiere 2 segundos de CPU si seejecuta en el procesador 1 y 6 segundos de CPU si se ejecutaen el procesador 2.
Cada tarea academica requiere 5 segundos de CPU si se ejecutaen el procesador 1 y 3 segundos de CPU si se ejecuta en elprocesador 2.
Se requiere programar la cantidad de tareas diarias a asignar acada procesador de manera que se minimice el tiempo que elordenador esta ocupado en estos trabajos.
Investigacion Operativa Programacion Lineal Continua
Formulacion y EjemplosResolucion grafica
Resolucion del problema: algoritmo del Simplex
Vertices: Puntos Extremos y Soluciones Basicas Factibles
Sea el sistema de ecuaciones lineales Ax = b, donde
A ∈Mm×n (m ≤ n), es la matriz del sistema:
A = (a1, . . . , an)
aj = (a1j , . . . , aij , . . . , amj)t ∈ IRm, j–esima columna de A
rg(A) = m < n
b ∈ IRm y x ∈ IRn.
Soluciones Basicas del sistema
X Seleccionar m variables con columnas asociadas linealmenteindependientes ⇒ B=matriz basicaEl resto de columnas de A se denotan por N.Despues de un posible reordenamiento de las columnas de A:
A = (B,N) con B ∈Mm×m
Investigacion Operativa Programacion Lineal Continua
Formulacion y EjemplosResolucion grafica
Resolucion del problema: algoritmo del Simplex
Soluciones Basicas del sistema (cont.)
X Se separa el vector x en dos subvectores: variables basicas yvariables no basicas.
x =
(xB
xN
)X Asignar el valor 0 a las variables no basicas: xN = 0
Y resolver las m ecuaciones con m incognitas que queda:
BxB = b ⇒ xB = B−1b
Soluciones Basicas Factibles:Si ademas xB = B−1b ≥ 0 ⇒ x = Solucion Basica Factible≡ puntoextremo (vertice)¿Cuantos puntos extremos tenemos? como mucho
(nm
)Investigacion Operativa Programacion Lineal Continua
Formulacion y EjemplosResolucion grafica
Resolucion del problema: algoritmo del Simplex
Soluciones Basicas del sistema: terminologıa
Solucion basica factible: si xB ≥ 0.
B: matriz basica (o base)
N: matriz no basica
Componentes de xB : variables basicas
Componentes de xN : variables no basicas
Solucion basica factible no degenerada: si xB > 0.
Solucion basica factible degenerada: si alguna de lascomponentes de xB es 0.
Investigacion Operativa Programacion Lineal Continua
Formulacion y EjemplosResolucion grafica
Resolucion del problema: algoritmo del Simplex
Algoritmo del simplex (Dantzig, 1949)
George Dantzig es el padre de la PL. Desarrollo el algoritmo delSimplex en 1947.
El primer problema de PL fue el problema de la dieta (9restricciones y 77 variables). Se necesitaron 9 trabajadoresdurante aproximadamente 15 dıas para realizar los calculoselectronicos que resolvieron el problema.
La primera implementacion del Simplex en ordenador es de1952. Se resolvio un PL con 48 restricciones y 71 variables en18 horas.
Actualmente se pueden resolver PL’s con millones de variablesy restricciones en horas o minutos.
Investigacion Operativa Programacion Lineal Continua
Formulacion y EjemplosResolucion grafica
Resolucion del problema: algoritmo del Simplex
Algoritmo del simplex (Dantzig, 1949)
Procedimiento que permite moverse de un punto extremo a otro,mejorando cada vez (o, por lo menos, no empeorando) el objetivo.Detecta si la region factible es vacıa o si la solucion optima es noacotada.A pesar de que han aparecido otros algoritmos, sigue siendo el masutilizado:
Hay implementaciones muy eficientes del algoritmo.Proporciona mucha informacion sobre la estructura de la regionfactible.Si el numero de variables (n) es muy superior al de restricciones(m), el numero de iteraciones oscila entre 3
2m y 3m (n = 60 ym = 20, 30-60 iteraciones).
Investigacion Operativa Programacion Lineal Continua
Formulacion y EjemplosResolucion grafica
Resolucion del problema: algoritmo del Simplex
Algoritmo del simplex (Dantzig, 1949)
Clave del algoritmo
Reconoce la optimalidad de un punto extremo sin tener queenumerar todos los puntos extremos. Utiliza CONDICIONES DEOPTIMALIDAD LOCALES
Investigacion Operativa Programacion Lineal Continua
Formulacion y EjemplosResolucion grafica
Resolucion del problema: algoritmo del Simplex
Algoritmo del simplex (Dantzig, 1949)Algoritmo del simplex
Punto extremo
Sol. Basica factible
Contraste de
Optimalidad
Contraste de
no acotacion
Nuevo punto extremo
(cambio de base)
Solucion Optima
Solucion no acotada
FIN
FIN
¿Es factible?¿Hay redundancia algebraica?
7
Investigacion Operativa Programacion Lineal Continua