io1 98KB Dec 10 2014 05:28:58 PM

Download Report

Transcript io1 98KB Dec 10 2014 05:28:58 PM

Investigación Operativa
Tema 1: Programación Lineal
Resolución gráfica
x2
z
Solución óptima
z*
Región factible
Solución básica
x1
Casos especiales
•
•
•
•
Óptimos alternativos
Solución infactible
Restricciones redundantes
No acotado
Forma estándar
Min z  c1 x1  c2 x2    cn xn
s.a.
a11 x1  a12 x2    a1n xn  b1

am1 x1  am 2 x2    amn xn  bm
x1 , x2 , , xn  0
Matricialmente,
Min CTX
s.a.
AX=b
x0
Adaptación de formulaciones
•Maximización a minimización
Max z es igual a Min -z
•Variables de holgura o superávit
Para convertir las desigualdades en igualdades
•Variables no restringidas (pueden ser negativas)
xnr = xnr+ - xnr- ;
xnr+, xnr-  0
Ejemplo nº2
Encontrar la dieta más barata que asegure las necesidades
diarias de una persona, en función de las características
siguientes:
Pan
Queso
Pollo
Nec. totales
Proteínas
2,4
7,1
8,4
75
Grasas
Hidratos C.
0,3
15,8
9,9
2,1
90
300
Coste
5
17
37
Geometría de la P.L.
• Región
– Intersección de un número finito de semiespacios cerrados.
También se llama poliedro
• Si está acotado: Politopo
– Siempre es convexo: si cualquier c.l. de sus puntos también
pertenece al conjunto
• Punto extremo
– No se puede expresar como c.l. de cualesquiera otros puntos
– Existe un número finito de ellos en un conjunto convexo
• Dirección
• Dirección extrema
– No puede expresarse como c.l. de dos direcciones distintas
Teorema de representación
Cualquier punto X perteneciente a la región
S={X / AX=b, X  0} se puede expresar como:
k
X

j 1
l
jX j

k
  d , 
j
j 1
j
j
1
j 1
Entonces, S es convexo: tiene un número finito
de puntos extremos
Aplicación al problema de P.L.
Min CTX
s.a.
AX=b
x0
X1, ... , Xk : puntos extremos
d1, ... , dk: direcciones extremas
Existe solución óptima finita si y sólo si CTdj>=0, para todo j
Entonces, existe un punto extremo que resuelve el problema
Álgebra de la P.L.
Base: Conjunto de m vectores de A linealmente independientes, donde
m es el rango de A. Se representa por B.
Variable básica: Variables de decisión asociadas a los m vectores de
la base. Se representan por XB. El resto se llaman variables no básicas
o secundarias, XN.
Solución básica: La que corresponde a XB=B-1b, con XN=0.
Existe un número finito de ellas.
Para cada solución básica factible, existe un punto extremo
Solución básica degenerada: Si alguno de los componentes de XB tiene
valor nulo.
Teorema fundamental de la P.L.
Dado el problema:
Min CTX
s.a.
AX=b
x0
•Si admite una solución factible, admite al
menos una solución básica factible
•Si admite una solución óptima finita, admite al
menos una solución básica óptima
El Simplex
• Procedimiento iterativo
• Calcula en cada paso una solución básica
mejor que la anterior, hasta llegar a la óptima
• Número de iteraciones:
– máximo: (nm)
– generalmente, entre 1,5 y 3m
Notación del Simplex
Min z  C T X
s .a .
AX  b
X  ( X B ,X N )
Z  CT X
X 0
N  YB
Y  B 1 N ,Y j  B 1a j
xs  x s 
y
sj x j
jN
z  z
( z
jN
j
 c j )x j
Interpretación de los criterios
• zj-cj (vector de criterios del Simplex, coste
reducido, coste marginal): es lo que se reduce
la función objetivo cuando se empieza a
desarrollar la actividad xj a nivel unitario
• yij (tasa de sustitución): disminución que es
necesario consentir en el nivel de realización
de la actividad i para desarrollar la j a nivel
unitario
Teoremas del Simplex (I)
• No acotamiento
– Dada una solución básica factible asociada a B, si para un kN
se tiene que zj-cj>0 y yk0, entonces no existe solución óptima
finita
• Mejora de la solución
– Dada una solución básica factible asociada a B, si para un kN
se tiene que zj-cj0 y si para algún sB, ysk>0, entonces la
solución básica asociada a B’, donde B’ es igual a B pero
entrando el vector ak a sustituir a al de modo que
 xs 
xl
 min 

ylk s / y sk 0 y sk 
es una nueva solución básica factible que da a z un valor
z'  z
La mejora será efectiva si es no degenerado (xl>0) y si zk-ck>0
Teoremas del Simplex (II)
• Optimalidad
– Dada una solución básica factible asociada a B, una condición
necesaria y suficiente para que sea óptima es que
para todo jN, zj-cj  0
– Una condición suficiente para que una solución básica sea la
única óptima es que
para todo jN, zj-cj < 0
Casos particulares
• Solución infactible
• Solución no acotada
• Solución con óptimos alternativos
Algoritmo del Simplex
1- Determinar una solución básica factible inicial B
2- Calcular la matriz Y y el vector de criterios zj-cj
3- Si zj-cj0 para todo j : SOLUCIÓN ÓPTIMA
4- Si no, comprobar yj para los j t.q. zj-cj>0
Si yj  0 para algún j: SOLUCIÓN NO ACOTADA
5- REGLA DE ENTRADA: Escoger k=Max (zj-cj)
6- REGLA DE SALIDA: Escoger l t.q.
 xs 
xl
 min 

ylk s / y sk 0 y sk 
7- Pasar de B a B’=B-{al}U{ak}
8- Repetir el algoritmo
Cambio de base
y' kj 
ylj
ylk
xl
x' k 
ylk
, j  N  k 
1
y' kj 
,j l
ylk
y' sj  y sj 
ylj
ylk
y sj , j  N  k 
xl
x' s  x s 
y sk
ylk
y sk
y' sj  
,j l
ylk
z' j c j  z j  c j 
ylj
ylk
( z k  ck ), j  N  k 
Ejemplo nº3
Min z = x1-3x2-x3
s.a.
x1+4x2+3x3 = 12
x1+2x2 - x3 = 4
x 1, x 2, x 3  0
Tabla del Simplex
x1
x1
z1-c1
y11
xl
0
0
xk
zk-ck
y1k
xn
zn-cn z
y1n x1
xl (x'k)
yl1
1
ylk
yln
xl
xs
ys1
0
ysk
ysn
xs
xm
ym1
0
ymk
ymn
xm
Variables artificiales
• Sirven para encontrar una base factible inicial
• Pero deben desaparecer de la solución final, si
no el problema es infactible
• La manera de eliminarlas es penalizándolas en
la función objetivo, para que sea el propio
algoritmo el que las saque de la base
Método de las penalizaciones
• Consiste en penalizar las variables artificiales en
la función objetivo con un término M lo
suficientemente grande, de tal forma que sea el
propio algoritmo quien las elimine
• Posibles resultados:
– No hay variables artificiales en la base
– Hay variables artificiales en la base
• a nivel nulo
– si se pueden cambiar por otras reales: BASE DEGENERADA
– si no se pueden cambiar: RESTRICCIONES REDUNDANTES
• a nivel no nulo: PROBLEMA INFACTIBLE
• El problema es determinar el valor de M
Método de las dos fases
• Fase 1: Minimizar la suma de las variables
artificiales
• Fase 2: Eliminar las variables artificiales y
resolver el problema original (con la solución
anterior como solución factible inicial)
• Posibles situaciones:
– Min z = 0:
• V. artif. nulas: se eliminan las v.a., y se sigue resolviendo el
problema (hay que recalcular zj-cj y z)
• V. artif. no nulas: se cambian las v.a. por variables
originales (pivotando, siempre que yij  0)
– Min z  0: PROBLEMA INFACTIBLE
Simplex revisado
• Tiene los mismos pasos que el Simplex
“básico”
• Pero requiere un menor número de
operaciones
• Ocupa menos memoria de ordenador
• Es más fácil controlar los posibles errores de
redondeo
• Puede inducir a más errores que el “básico”
cuando se hace de forma manual
Algoritmo revisado
w
z
B-1
xB
w
z
zk-ck
B-1
xB
yk
w’
z’
(B’)-1
x’B
w = CBB-1
xB = B-1b
zj - cj = waj - cj
yk = B-1ak
(zj - cj)’ = w’aj - cj
y’k = (B’)-1ak
Ejemplo nº 4
Min -x1-2x2+x3-x4-4x5+2x6
s.a.
x1+x2+x3+x4+x5+x6+x7
=6
2x1-x2-2x3+x4
+x8 = 4
x3+x4+2x5+x6
+x9 = 4
x1,x2,x3,x4,x5,x6 ,x7,x8,x9 0
Degeneración y ciclado
• Una solución es degenerada si alguna de las
variables básicas es nula
• Indica la existencia de restricciones
redundantes
• Posibles razones:
– Existe un componente de b nulo
– Empate en el criterio de salida
• Posibilidad de caer en un ciclo
• Puede haber degeneraciones temporales
Óptimos alternativos
• Coste reducido de variables no básicas:
– Negativo (<0): SOLUCIÓN ÓPTIMA ÚNICA
– Nulo (=0) para xk: Entra xk, sale xl
• xl=0: Cambio de base, pero solución óptima única
• xl>0: Soluciones múltiples
• Entonces, son soluciones óptimas todas las
combinaciones lineales convexas de las
soluciones múltiples obtenidas
Ejemplo nº5
Max 3x1 + 2x2
s.a.
6x1 + 4x2  24
10x1 + 3x2  30
x1, x2  0