Investigación Operativa
Tema 1: Programación Lineal
Resolución gráfica
x1
x2
z
z* Región factible
Solución óptima
Solución básica
Casos especiales
• Óptimos alternativos• Solución infactible• Restricciones redundantes• No acotado
Forma estándar
nn xcxcxcz Min 2211
021
2211
11212111
n
mnmnmm
nn
x,,x,x
bxaxaxa
bxaxaxa
.a.s
Matricialmente,
Min CTXs.a.AX=bx 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 necesidadesdiarias de una persona, en función de las característicassiguientes:
Proteínas Grasas Hidratos C. CostePan 2,4 0,3 15,8 5Queso 7,1 9,9 - 17Pollo 8,4 2,1 - 37Nec. totales 75 90 300
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
jj
l
jjj
k
jjj ,dXX
111
1
Entonces, S es convexo: tiene un número finito de puntos extremos
Aplicación al problema de P.L.
Min CTXs.a.AX=bx 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, dondem 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ásicaso 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 tienevalor nulo.
Teorema fundamental de la P.L.
Dado el problema:
•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
Min CTXs.a.AX=bx 0
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
0
X
bAX
.a.s
XCz Min T
XCZ
)X,X(XT
NB
jj aBY,NBY
YBN11
Njjjj
Njjsjss
x)cz(zz
xyxx
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
kN se tiene que zj-cj>0 y yk0, 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
kN se tiene que zj-cj0 y si para algún sB, 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
es una nueva solución básica factible que da a z un valor
La mejora será efectiva si es no degenerado (xl>0) y si zk-ck>0
sk
s
y/slk
l
y
xmin
y
x
sk 0
z'z
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 jN, zj-cj 0
– Una condición suficiente para que una solución básica sea la única óptima es que
para todo jN, 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-cj0 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.
7- Pasar de B a B’=B-{al}U{ak}
8- Repetir el algoritmo
sk
s
y/slk
l
y
xmin
y
x
sk 0
Cambio de base
kNj),cz(y
yczc'z
lj,y
y'y
kNj,yy
yy'y
lj,y
'y
kNj,y
y'y
kklk
ljjjjj
lk
sksj
sjlk
ljsjsj
lkkj
lk
ljkj
1
sklk
lss
lk
lk
yyx
x'x
yx
'x
Ejemplo nº3
Min z = x1-3x2-x3
s.a.x1+4x2+3x3 = 12x1+2x2 - x3 = 4x1, x2, x3 0
Tabla del Simplex
x1 xl xk xn
z1-c1 0 zk-ck zn-cn zx1 y11 0 y1k 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’
(B’)-1 x’B
z’
w
B-1 xB
z
w
B-1 xB
z
w = CBB-1
xB = B-1b
zj - cj = waj - cj
yk = B-1ak
zk-ck
yk
(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 2410x1 + 3x2 30x1, x2 0