Sunteți pe pagina 1din 28

Formulaci

on y Ejemplos
Resoluci
on gr
afica
Resoluci
on del problema: algoritmo del Simplex

Programacion Lineal Continua


Elisenda Molina
Universidad Carlos III de Madrid
elisenda.molina@uc3m.es

8 de octubre de 2008

Investigaci
on Operativa

Programaci
on Lineal Continua

Formulaci
on y Ejemplos
Resoluci
on gr
afica
Resoluci
on del problema: algoritmo del Simplex

Esquema

Formulacion y Ejemplos

Resolucion grafica

Resolucion del problema: algoritmo del Simplex

Investigaci
on Operativa

Programaci
on Lineal Continua

Formulaci
on y Ejemplos
Resoluci
on gr
afica
Resoluci
on 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
2
3

Corte del mineral,


Tamizado y a la selecci
on,
Lavado.

Datos:
Lignito
Antracita
Disponibilidad maxima

Corte
3
4
12

Tamizado
3
3
10

Lavado
4
2
8

Beneficio
24
18

cuantas toneladas de cada clase de carbon debe producir al


da para maximizar sus beneficios?

Investigaci
on Operativa

Programaci
on Lineal Continua

Formulaci
on y Ejemplos
Resoluci
on gr
afica
Resoluci
on del problema: algoritmo del Simplex

Asignacion y distribucion de recursos/Producion

Problemas en los que se trata de asignar o localizar un n


umero
de recursos, siempre limitados, entre diversas actividades.
Se plantea un conflicto entre la funcion objetivo, que cuantifica
el beneficio derivado de cada asignacion, y las restricciones, que
establecen los lmites a las asignaciones posibles.

Investigaci
on Operativa

Programaci
on Lineal Continua

Formulaci
on y Ejemplos
Resoluci
on gr
afica
Resoluci
on 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 caractersticas:
1
2
3

Variables de decisi
on continuas: xt = (x1 , . . . , xn )
Funcion objetivo lineal: f (x1 , . . . , xn )
Restricciones lineales: para j = 1, . . . , m,
aj1 x1 + aj2 x2 + + ajn xn bj ,

aj1 x1 + aj2 x2 + + ajn xn bj ,

aj1 x1 + aj2 x2 + + ajn xn = bj

Investigaci
on Operativa

Programaci
on Lineal Continua

Formulaci
on y Ejemplos
Resoluci
on gr
afica
Resoluci
on del problema: algoritmo del Simplex

Programacion Matematica: alternativas

Programacion Entera (Mixta): cantidades no divisibles y


enteras y/o decisiones logicas.

Programacion no Lineal: relaciones no proporcionales y no


aditivas.

Programacion Multiobjetivo: varios objetivos.

Programacion Estocastica, que permite incorporar la


incertidumbre inherente en muchas situaciones reales al modelo.

Programacion Difusa, que permite trabajar con problemas en


los que las restricciones no son rgidas (modelizan relaciones
vagamente definidas).

Investigaci
on Operativa

Programaci
on Lineal Continua

Formulaci
on y Ejemplos
Resoluci
on gr
afica
Resoluci
on del problema: algoritmo del Simplex

El problema de la dieta
Aplicacion clasica de la Programacion Lineal y un ejemplo tpico de
esta familia de problemas. Se trata de alimentar a un colectivo de la
forma menos costosa, satisfaciendo las necesidades nutricionales.
Un veterinario aconseja a un granjero dedicado a la cra de
pollos una dieta mnima para la alimentacion de las aves
consistente en 3 unidades de hierro y 4 unidades de vitaminas.
Dieta: mezcla de maz, harina de pescado y pienso sintetico.
Datos:
Maz
Harina
Pienso

Hierro (u/kg)
2,5
3
1

Vitaminas (u/kg)
1
3
2

Coste (euro/kg)
0,3
0,5
0,2

El granjero se pregunta por la composicion de la dieta que,


satisfaciendo las necesidades alimenticias, minimice el coste
total.
Investigaci
on Operativa

Programaci
on Lineal Continua

Formulaci
on y Ejemplos
Resoluci
on gr
afica
Resoluci
on del problema: algoritmo del Simplex

Ejemplo
Una refinera de petroleo puede destilar 2 tipos de crudo: un
crudo medio de Arabia Saud y uno pesado de Venezuela, para
producir gasolina, fuel de avion y lubricantes.
Dependiendo de las caractersticas del crudo el proceso de
refino da lugar a distintos derivados en diferentes proporciones.
Datos:
Gasolina
Fuel avion
Lubricantes
Disponible/da
Coste

Medio
0.3
0.4
0.2
9000
20

Pesado
0.4
0.2
0.3
6000
15

Requerimientos
2000
1500
500

C
omo satisfacer la demanda comprometida a coste mnimo?

Investigaci
on Operativa

Programaci
on Lineal Continua

Formulaci
on y Ejemplos
Resoluci
on gr
afica
Resoluci
on 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 producto
final. Todo ello, teniendo en cuenta las caractersticas tecnicas
del producto final, las materias primas disponibles y sus
componentes tecnicos.
Las limitaciones que suelen aparecer vienen dadas por: garanta
mnima relativa, costos fijos de produccion, n
umero maximo de
ingredientes, ingredientes sustitutivos, procesos sustitutivos,
proporciones de mercado, proporciones en caractersticas
tecnicas, tarifas de precios,
Aplicaciones: industrias de la alimentacion, ganadera,
farmaceutica, qumica, sider
urgica o petrolfera.
Investigaci
on Operativa

Programaci
on Lineal Continua

Formulaci
on y Ejemplos
Resoluci
on gr
afica
Resoluci
on del problema: algoritmo del Simplex

Region Factible

Regi
on factible: conjunto de puntos que verifican todas las
restricciones del modelo

Min.
2x1 x2

x1 + x2 2,
s.a
x1 + x2 4,

5x1 + 3x2 15,

x 1 , x2
0.
Poliedro: interseccion finita de semiespacios, conjunto convexo

Investigaci
on Operativa

Programaci
on Lineal Continua

Formulaci
on y Ejemplos
Resoluci
on gr
afica
Resoluci
on del problema: algoritmo del Simplex

Region Factible

x1 + x2 = 2

x1 + x2 = 4

5x1 + 3x2 = 15

Investigaci
on Operativa

Programaci
on Lineal Continua

La

Formulaci
on y Ejemplos
Resoluci
on gr
afica
Resoluci
on del problema: algoritmo del Simplex

Rectas de nivel y

mn 2x1 x2 ,
s.a x1 + x2 2,
gradientex1 + x2 4,
5x1 + 3x2 15,
x1 , x2 0.
2x1 x2 = 2

2x1 x2 = 0
2x1 x2 = 1
(0, 2)

El punto
optimo es (0, 2), en el
la funci
on objetivo
vale -2.
El punto optimo es (0, 2), en el queque
la funci
on objetivo
vale -2.

Investigaci
on Operativa

Programaci
on Lineal Continua

Formulaci
on y Ejemplos
Resoluci
on gr
afica
Resoluci
on del problema: algoritmo del Simplex

Ejemplos: resolucion en clase

Investigaci
on Operativa

Programaci
on Lineal Continua

Formulaci
on y Ejemplos
Resoluci
on gr
afica
Resoluci
on 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 n
umero finito.

Solucion no acotada
Direccion extrema de decrecimiento (mn.), crecimiento (max.),
partiendo de un punto extremo.

El problema no tiene solucion: la region es vaca y, por tanto,


no existen puntos extremos.

Investigaci
on Operativa

Programaci
on Lineal Continua

Formulaci
on y Ejemplos
Resoluci
on gr
afica
Resoluci
on del problema: algoritmo del Simplex

Metodos de resolucion

Las dos alternativas mas importantes son:


1

Algoritmo del simplex.

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 region
factible. Utiliza tecnicas de programacion no lineal.

Investigaci
on Operativa

Programaci
on Lineal Continua

Formulaci
on y Ejemplos
Resoluci
on gr
afica
Resoluci
on del problema: algoritmo del Simplex

Vertices: Puntos Extremos y Soluciones Basicas Factibles


X Punto extremo o vertice: punto interseccion de al menos n caras
o hiperplanos (definicion geometrica).
X Solucion Basica Factible: Se trabaja con PLs en Forma Estandar

Formulacion estandar
Funci
on objetivo de minimizar, restricciones de igualdad,
constantes del lado derecho no negativas y variables no negativas.
mn z = ct x
s.a.
A x = b,
x 0,
con b 0
Investigaci
on Operativa

Programaci
on Lineal Continua

Formulaci
on y Ejemplos
Resoluci
on gr
afica
Resoluci
on del problema: algoritmo del Simplex

Transformaciones

Cualquier problema de programacion lineal se puede formular en


formato estandar.
Si el objetivo es maximizar, multiplicando la funcion objetivo
por -1, se convierte en un problema de minimizacion:
max 2x1 + 3x2 mn 2x1 3x2

Investigaci
on Operativa

Programaci
on Lineal Continua

Formulaci
on y Ejemplos
Resoluci
on gr
afica
Resoluci
on 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 la
restricci
on. Se denomina variable de exceso (surplus)
x1 + x2 s2 = 10
Investigaci
on Operativa

con s2 0.
Programaci
on Lineal Continua

Formulaci
on y Ejemplos
Resoluci
on gr
afica
Resoluci
on del problema: algoritmo del Simplex

Transformaciones. Signo de las variables


X Si una variable x no esta restringida en signo, se hace el cambio
de 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 cambio
x 0 = x.
X Si la cota inferior de una variable no es 0:
x 3,
se puede hacer el cambio x 0 = x 3.
Investigaci
on Operativa

Programaci
on Lineal Continua

Formulaci
on y Ejemplos
Resoluci
on gr
afica
Resoluci
on del problema: algoritmo del Simplex

Transformaciones. Valor absoluto


Es habitual que en muchos problemas aparezca el valor absoluto de
una expresion.
Por ejemplo, si aparece |x|, para eliminarlo de la formulacion se hace
el 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

Investigaci
on Operativa

2x1 + x2 3
3 2x1 + x2

Programaci
on Lineal Continua

Formulaci
on y Ejemplos
Resoluci
on gr
afica
Resoluci
on del problema: algoritmo del Simplex

Transformaciones. Objetivo maximin/minimax


Un ordenador con 2 procesadores funciona durante al menos 10
horas diarias en aplicaciones administrativas y academicas.
Cada tarea administrativa requiere 2 segundos de CPU si se
ejecuta en el procesador 1 y 6 segundos de CPU si se ejecuta
en el procesador 2.
Cada tarea academica requiere 5 segundos de CPU si se ejecuta
en el procesador 1 y 3 segundos de CPU si se ejecuta en el
procesador 2.
Se requiere programar la cantidad de tareas diarias a asignar a
cada procesador de manera que se minimice el tiempo que el
ordenador esta ocupado en estos trabajos.

Investigaci
on Operativa

Programaci
on Lineal Continua

Formulaci
on y Ejemplos
Resoluci
on gr
afica
Resoluci
on del problema: algoritmo del Simplex

Vertices: Puntos Extremos y Soluciones Basicas Factibles


Sea el sistema de ecuaciones lineales Ax = b, donde
A Mmn (m n), es la matriz del sistema:
A = (a1 , . . . , an )
aj = (a1j , . . . , aij , . . . , amj )t IR m , jesima columna de A
rg (A) = m < n
b IR m y x IR n .
Soluciones Basicas del sistema
X Seleccionar m variables con columnas asociadas linealmente
independientes B=matriz basica
El resto de columnas de A se denotan por N.
Despues de un posible reordenamiento de las columnas de A:
A = (B, N) con B Mmm
Investigaci
on Operativa

Programaci
on Lineal Continua

Formulaci
on y Ejemplos
Resoluci
on gr
afica
Resoluci
on del problema: algoritmo del Simplex

Soluciones Basicas del sistema (cont.)


X Se separa el vector x en dos subvectores: variables basicas y
variables no basicas.


xB
x=
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 = B1 b
Soluciones Basicas Factibles:
Si ademas xB = B1 b 0 x = Solucion Basica Factible punto
extremo (vertice)

n
Cuantos puntos extremos tenemos? como mucho m
Investigaci
on Operativa

Programaci
on Lineal Continua

Formulaci
on y Ejemplos
Resoluci
on gr
afica
Resoluci
on del problema: algoritmo del Simplex

Soluciones Basicas del sistema: terminologa

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 las
componentes de xB es 0.

Investigaci
on Operativa

Programaci
on Lineal Continua

Formulaci
on y Ejemplos
Resoluci
on gr
afica
Resoluci
on del problema: algoritmo del Simplex

Algoritmo del simplex (Dantzig, 1949)


George Dantzig es el padre de la PL. Desarrollo el algoritmo del
Simplex en 1947.
El primer problema de PL fue el problema de la dieta (9
restricciones y 77 variables). Se necesitaron 9 trabajadores
durante aproximadamente 15 das para realizar los calculos
electronicos que resolvieron el problema.
La primera implementacion del Simplex en ordenador es de
1952. Se resolvio un PL con 48 restricciones y 71 variables en
18 horas.
Actualmente se pueden resolver PLs con millones de variables
y restricciones en horas o minutos.

Investigaci
on Operativa

Programaci
on Lineal Continua

Formulaci
on y Ejemplos
Resoluci
on gr
afica
Resoluci
on 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 vaca o si la solucion optima es no
acotada.
A pesar de que han aparecido otros algoritmos, sigue siendo el mas
utilizado:
Hay implementaciones muy eficientes del algoritmo.
Proporciona mucha informacion sobre la estructura de la region
factible.
Si el n
umero de variables (n) es muy superior al de restricciones
(m), el n
umero de iteraciones oscila entre 32 m y 3m (n = 60 y
m = 20, 30-60 iteraciones).

Investigaci
on Operativa

Programaci
on Lineal Continua

Formulaci
on y Ejemplos
Resoluci
on gr
afica
Resoluci
on del problema: algoritmo del Simplex

Algoritmo del simplex (Dantzig, 1949)

Clave del algoritmo


Reconoce la optimalidad de un punto extremo sin tener que
enumerar todos los puntos extremos. Utiliza CONDICIONES DE
OPTIMALIDAD LOCALES

Investigaci
on Operativa

Programaci
on Lineal Continua

Formulaci
on y Ejemplos
Resoluci
on gr
afica
Resoluci
on del problema: algoritmo del Simplex

Algoritmo del simplexAlgoritmo


(Dantzig,
1949)
del simplex
Punto extremo
Sol. B
asica factible

Es factible?
Hay redundancia algebraica?

Contraste de
Optimalidad

Soluci
on Optima

FIN

Contraste de
no acotaci
on

Soluci
on no acotada

FIN

Nuevo punto extremo


(cambio de base)

Investigaci
on Operativa

Programaci
on Lineal Continua

S-ar putea să vă placă și