41
Tema 4: Teor´ ıa de dualidad. Algoritmo Dual del Simplex 1 4.1 Introducci´on 4.2 Definici´on del Problema Dual 4.3 Relaciones Primal-Dual 4.4 Condiciones de Holgura Complementaria 4.5 Interpretaci´on Econ´omica de la Dualidad 4.6 Determinaci´ondelaSoluci´on ´ Optima a partir de la Tabla ´ Opti- ma del Problema Primal 4.7 El Algoritmo Dual del Simplex 4.1. Introducci´on Uno de los descubrimientos m´as importantes durante el desarrollo ini- cial de la programaci´on lineal fue el concepto de dualidad y sus muchas e importantes ramificaciones. Este descubrimiento revel´o que asociado a todo problema de programaci´on lineal existe otro problema lineal llamado dual. Las relaciones entre el dual y su original (llamado primal) son extremada- mente ´ utiles en una gran variedad de situaciones. Por ejemplo, se ver´ a que de hecho la soluci´on ´optima del problema dual es la que proporciona los precios sombra descritos en las pr´acticas al introducir el an´alisis de sensibilidad. Uno de los papeles clave que juega la teor´ ıa de la dualidad es la inter- pretaci´on y realizaci´on del an´alisis de sensibilidad. De hecho la dualidad nos permitir´a tratar dicho an´alisis desde el punto de vista algebr´aico pudiendo as´ ı generalizarlo y aplicarlo a cualquier problema de programaci´on lineal, independientemente de cu´al sea su tama˜ no i.e., n´ umero de variables y/o res- tricciones. Los or´ ıgenes de la dualidad, tal y como hoy se conoce, son, en boca del propio Dantzig , atribuibles al c´ elebre matem´atico John Von Neumann, qui´ en, en octubre de 1947, conjetur´o por primera vez la existencia de un problema dual asociado al modelo de programaci´on lineal. Dantzig hab´ ıa acudido a Von Neumann en busca de sugerencias e ideas para desarrollar nuevas t´ ecnicas para resolver el modelo de programaci´on lineal pues, por aqu´ el entonces,

Tema 4: Teor¶‡a de dualidad. Algoritmo Dual del Simplex · do as¶‡ un nuevo conjunto de restricciones de un problema de programaci¶on lineal, para el que la soluci¶on asociada

Embed Size (px)

Citation preview

Tema 4: Teorıa de dualidad. Algoritmo Dual del Simplex 1

4.1 Introduccion

4.2 Definicion del Problema Dual

4.3 Relaciones Primal-Dual

4.4 Condiciones de Holgura Complementaria

4.5 Interpretacion Economica de la Dualidad

4.6 Determinacion de la Solucion Optima a partir de la Tabla Opti-

ma del Problema Primal

4.7 El Algoritmo Dual del Simplex

4.1. Introduccion

Uno de los descubrimientos mas importantes durante el desarrollo ini-

cial de la programacion lineal fue el concepto de dualidad y sus muchas e

importantes ramificaciones. Este descubrimiento revelo que asociado a todo

problema de programacion lineal existe otro problema lineal llamado dual.

Las relaciones entre el dual y su original (llamado primal) son extremada-

mente utiles en una gran variedad de situaciones. Por ejemplo, se vera que de

hecho la solucion optima del problema dual es la que proporciona los precios

sombra descritos en las practicas al introducir el analisis de sensibilidad.

Uno de los papeles clave que juega la teorıa de la dualidad es la inter-

pretacion y realizacion del analisis de sensibilidad. De hecho la dualidad nos

permitira tratar dicho analisis desde el punto de vista algebraico pudiendo

ası generalizarlo y aplicarlo a cualquier problema de programacion lineal,

independientemente de cual sea su tamano i.e., numero de variables y/o res-

tricciones.

Los orıgenes de la dualidad, tal y como hoy se conoce, son, en boca del

propio Dantzig , atribuibles al celebre matematico John Von Neumann, quien,

en octubre de 1947, conjeturo por primera vez la existencia de un problema

dual asociado al modelo de programacion lineal. Dantzig habıa acudido a Von

Neumann en busca de sugerencias e ideas para desarrollar nuevas tecnicas

para resolver el modelo de programacion lineal pues, por aquel entonces,

Tema 4: Teorıa de dualidad. Algoritmo Dual del Simplex

los ordenadores todavıa no se habıan desarrollado y el potencial del metodo

Simplex estaba aun por descubrir. El azar quiso que Von Neumann acabase

justo de escribir un texto sobre teorıa de juegos, y fueron los resultados de

dicha teorıa los que le permitieron reconocer, de forma inmediata, la relacion

entre los juegos de suma nula entre dos jugadores y la programacion lineal.

El objetivo de este apartado es introducir la construccion del problema

dual asociado a un problema de programacion lineal general, y establecer,

a traves de los principales resultados de dualidad, las relaciones entre am-

bos problemas. Veremos tambien como, en ausencia de degeneracion, las

denominadas condiciones de holgura complementaria nos permiten obtener,

unıvocamente, la solucion optima de cualquiera de los problemas de un par

primal-dual a partir de la solucion optima del otro. Terminaremos introdu-

ciendo la naturaleza economica de la teorıa de la dualidad. De hecho, puede

decirse que la clave de esta teorıa esta en interpretar los problemas primal y

dual como modelizaciones, desde dos puntos de vista opuestos, de una misma

situacion a la que se enfrentan dos personas que compiten entre sı. En este

modelo de competitividad, el beneficio maximo que puede obtener una de

ellas se alcanza en el punto en el que se equilibra la perdida maxima que

esta dispuesta a admitir su oponente.

4.2. Definicion del Problema Dual

Supongamos que el siguiente problema de programacion lineal ha sido

resuelto utilizando el algoritmo Simplex:

Primal (P )

Min z = ctx

s.a: Ax = b

x ≥ 0n,

en donde A es una matriz m × n, de rango completo por filas, b ∈ IRm y

c ∈ IRn, y sea,

x =

(xB

xN

)=

(B−1b

0n−m

),

la solucion optima alcanzada. Con A = (B, N), y B una submatriz regular

m×m. Sabemos que en la tabla optima del Simplex los costes reducidos son

Tema 4: Teorıa de dualidad. Algoritmo Dual del Simplex 3

todos no positivos,

zj − cj = ctBB−1aj − cj ≤ 0, ∀j ∈ {1, 2, . . . , n}.

Es decir, la optimalidad “equivale” a encontrar una combinacion lineal de

las filas de A cuyo resultado, ctBB−1A, sea un vector que acote inferiormente

al vector de costes de la funcion objetivo. Si pensamos en los multiplicado-

res de las filas, ctBB−1, como en variables cuyo valor desconocemos, podrıa

decirse que la resolucion del problema de Programacion Lineal consiste en

la busqueda de los valores adecuados para que, ωtA ≤ c. Hemos construi-

do ası un nuevo conjunto de restricciones de un problema de programacion

lineal, para el que la solucion asociada a la submatriz, B, definida por las

columnas asociadas a las variables basicas optimas de P (en adelante base

optima), ωt = ctBB−1, no unicamente es posible, sino que ademas, es optima

para la funcion objetivo Max btω. Estamos en condiciones de definir el proble-

ma dual del problema primal en forma estandar como el siguiente problema

de programacion lineal:

Dual (D)

Max btω

s.a: Atω ≤ c

ω no restringida.

Ejemplo 4.2.1

Dado el problema de programacion lineal:

Min 6x1 + 8x2

s.a.: 3x1 + 1x2 = 4

5x1 + 2x2 = 7

x1, x2 ≥ 0

su dual es:Max 4ω1 + 7ω2

s.a.: 3ω1 + 5ω2 ≤ 6

1ω1 + 2ω2 ≤ 8

ω1, ω2 no restringidas

La definicion de dualidad que hemos dado nos permite demostrar facil-

mente la siguiente propiedad,

Tema 4: Teorıa de dualidad. Algoritmo Dual del Simplex

Simetrıa de la Dualidad

El dual del dual es el primal

En efecto, sea P el problema primal en forma estandar, y D el correspon-

diente dual. Podemos expresar el problema D en forma estandar aplicando

el siguiente cambio de variables: ω = ω1 − ω2, ω1, ω2 ∈ IRm+

− Min −bt(ω1 − ω2)

s.a: At(ω1 − ω2) + ωh = c

ω1 ≥ 0m, ω2 ≥ 0m, ωh ≥ 0n.

Es decir, D es ahora:

− Min (−bt, bt, 0)

ω1

ω2

ωh

s.a: (At,−At, In)

ω1

ω2

ωh

= c

ω1 ≥ 0m, ω2 ≥ 0m, ωh ≥ 0n.

cuyo dual es, aplicando la definicion:

− Max cty

s.a:

A

−A

In

y ≤

−b

b

0n

y ∈ IRn,

que, evidentemente, es equivalente al problema original P , basta con realizar

de nuevo el cambio de variables, x = −y. 2

Teniendo en cuenta que cualquier PPL puede transformarse mediante sen-

cillas operaciones en un problema equivalente en forma estandar, la definicion

de dualidad dada es suficiente para obtener el problema dual de cualquier

Tema 4: Teorıa de dualidad. Algoritmo Dual del Simplex 5

PPL. Sin embargo, esta tarea resulta en ocasiones larga y tediosa, por lo que

resulta mas apropiado llevar a cabo una construccion directa del problema

dual. Para ello hay que tener en cuenta lo siguiente:

1. Por cada restriccion del problema primal (excepto las de no negativi-

dad) se define una variable en el problema dual.

2. Por cada variable en el problema primal se define una restriccion en el

problema dual. Los coeficientes de las variables en estas restricciones se

obtienen de la columna en el problema primal asociada a dicha variable.

El termino de la derecha de la restriccion es igual al coeficiente en la

funcion objetivo del primal de la misma variable.

3. Los coeficientes de la funcion objetivo del problema dual son iguales al

RHS del problema primal.

Las reglas para determinar el sentido de la optimizacion, el tipo de restriccion

y el signo de las variables en el problema dual se dan en la siguiente tabla:

Problema de | Problema de

Minimizacion | Maximizacion

≥ 0 ⇐⇒ ≤Variables ≤ 0 ⇐⇒ ≥ Restricciones

No restringida ⇐⇒ =

≥ ⇐⇒ ≥ 0

Restricciones ≤ ⇐⇒ ≤ 0 Variables

= ⇐⇒ No restringida

terminos independientes | coeficientes f. obj.

coeficientes f. obj. | terminos independientes

matriz de restricciones | traspuesta matriz restricciones

Cuadro 4.1: Relaciones entre los problemas primal y dual

Tema 4: Teorıa de dualidad. Algoritmo Dual del Simplex

Ejemplo 4.2.2

Dado el problema de programacion lineal:

Max 8x1 + 3x2 − 2x3

s.a.: 1x1 − 6x2 + 1x3 ≥ 2

5x1 + 7x2 − 2x3 = −4

x1 ≤ 0

x2 ≥ 0

x3 no restringido

su dual es:Min 2ω1 − 4ω2

s.a.: 1ω1 + 5ω2 ≤ 8

− 6ω1 + 7ω2 ≥ 3

1ω1 − 2ω2 = −2

ω1 ≤ 0

ω2 no restringida

4.3. Relaciones Primal-Dual

Conviene resaltar que, evidentemente, tanto la simetrıa de la dualidad

como los resultados que presentaremos en esta seccion son aplicables, con los

cambios adecuados, a cualquier pareja primal-dual. En principio, y salvo que

explıcitamente establezcamos otras condiciones, supondremos que estamos

trabajando con el par:

(P ) Min ctx (D) Max btω

s.a: Ax = b s.a: Atω ≤ c.

x ≥ 0n,

Los problemas primales y duales estan tan estrechamente relacionados,

que la solucion optima de un problema se puede obtener directamente (sin

calculos adicionales) de la tabla del sımplex optima del otro problema. Este

resultado se basa en la siguiente propiedad:

Tema 4: Teorıa de dualidad. Algoritmo Dual del Simplex 7

En cualquier iteracion del sımplex del problema primal o del dual, el coste

reducido de la variable j en un problema es igual al lado izquierdo menos el

lado derecho de la restriccion j en el otro problema

Este resultado es ventajoso desde el punto de vista de los calculos ya que

podemos resolver el problema que resulte mas sencillo de los dos y aplicar

despues esta propiedad para obtener la solucion optima del otro. Pensemos

por ejemplo en el dual de un problema con 100 variables y 500 restricciones.

Resolver el dual implica trabajar con un problema de 500 variables y 100

restricciones que sin duda es mucho mas sencillo ya que trabajaremos con

inversas de matrices 100 x 100 en lugar de 500 x 500.

A continuacion presentamos una relacion entre el primal y el dual, que

junto con la propiedad anterior, se puede emplear para proporcionar intere-

santes interpretaciones economicas del problema de programacion lineal.

Teorema de Dualidad Debil

Dados un par primal-dual, si x es una solucion posible de P y ω es una

solucion posible de D, entonces, btω ≤ ctx.

En efecto, sea x una solucion posible de P , entonces, Ax = b y x ≥ 0n.

Veamos que ctx es una cota superior del valor de la funcion objetivo en

cualquier solucion posible del problema dual.

Sea ω una solucion posible del dual, entonces,

Ax = b −→ ωtAx = ωtb

Atω ≤ c, x ≥ 0n −→ ωtAx ≤ ctx

}−→ btω ≤ ctx.

2

Como consecuencia podemos afirmar, que para cualquier pareja primal-

dual:

Tema 4: Teorıa de dualidad. Algoritmo Dual del Simplex

El valor de la funcion objetivo en cualquier solucion posible

del problema de minimizacion proporciona una cota superior

del valor de la funcion objetivo del problema de maximizacion.

El valor de la funcion objetivo en una solucion posible del

problema de maximizacion proporciona una cota inferior del

valor de la funcion objetivo del problema de minimizacion.

Si uno de los dos problemas de un par primal-dual es no aco-

tado, entonces el otro problema es imposible

Si x es solucion posible del primal, w es solucion posible del

dual, y ctx = btω, entonces, x y ω son soluciones optimas de

sus problemas respectivos.

Los resultados que acabamos de ver nos permiten relacionar los valores

objetivos de cualquier pareja de soluciones posibles primales-duales. Como

consecuencia, las iteraciones sucesivas de un problema de maximizacion daran

por resultado un incremento en el valor de la funcion objetivo y las del pro-

blema de minimizacion daran por resultado una disminucion en el valor de

la funcion objetivo. A la larga, durante el curso de las sucesivas iteraciones,

se llegara a un punto de equilibrio donde los valores objetivos de la maximi-

zacion y de la minimizacion deben ser iguales.

El siguiente resultado nos permite averiguar cuando podemos garantizar

la existencia de soluciones de un par primal-dual.

Teorema de Dualidad Fuerte

Si uno de los problemas de un par primal-dual tiene solucion optima finita,

entonces, el otro tambien la tiene, y los valores optimos de las respectivas

funciones objetivo coinciden.

Por el teorema de dualidad debil sabemos que si uno de los dos problemas

tiene solucion optima finita el otro no puede ser no acotado, por lo tanto,

solamente le quedan dos alternativas, ser imposible o tener solucion optima

finita. Como vemos a continuacion, la opcion de la imposibilidad puede ser

Tema 4: Teorıa de dualidad. Algoritmo Dual del Simplex 9

descartada ya que el algoritmo del Simplex nos permite dar una demostracion

constructiva de la factibilidad del problema.

Podemos suponer, sin perdida de generalidad, que el problema que tiene

solucion optima finita es el problema primal. Sea x∗ una solucion optima de

P obtenida con el metodo Simplex.

Siguiendo el mismo razonamiento utilizado al principio del tema para

introducir el problema dual, podemos afirmar que ω∗t = ctBB−1 es solucion

posible del dual, siendo B la base en la tabla del Simplex asociada a x∗.

Ademas:

ctx∗ = ctB(B−1b) = ω∗tb.

Ahora bien, como por el teorema de dualidad debil sabemos que,

ctx∗ ≥ btω, ∀ω solucion del dual,

ω∗ es solucion optima de D.

Analogamente demostrarıamos que si el dual tiene solucion optima finita,

el primal tambien la tiene, y los valores optimos coinciden. 2

Los resultados anteriores suelen enunciarse conjuntamente en el denomi-

nado:

Teorema Fundamental de Dualidad

Dado un par primal-dual, una y solo una de las afirmaciones siguientes es

cierta:

1. Los dos problemas tienen solucion optima finita, y los valores optimos

de ambos problemas coinciden.

2. Uno de los dos problemas es no acotado y el otro es imposible.

3. Ambos problemas son imposibles.

El siguiente ejemplo nos permite demostrar que hemos de contemplar,

necesariamente, la tercera de las opciones:

(P ) Min zP = −x1 − x2 (D) Max zD = ω1 + ω2

s.a: x1 − x2 ≥ 1 s.a: ω1 − ω2 ≤ −1

−x1 + x2 ≥ 1 −ω1 + ω2 ≤ −1

x1, x2 ≥ 0 ω1, ω2 ≥ 0

Tema 4: Teorıa de dualidad. Algoritmo Dual del Simplex

Primal-Dual Optimo Finito No Acotado Imposible

Optimo Finito 1 × ×No Acotado × × 2

Imposible × 2 3

Cuadro 4.2: Alternativas posibles en un par primal-dual

ya que los dos problemas son imposibles.

En definitiva, si tenemos en cuenta que cualquier problema lineal puede

ser, acotado, no acotado, o imposible, de las nueve posibilidades que en prin-

cipio hay cuando comparamos el problema primal con el dual, solamente 4

de ellas pueden darse. Lo resumimos en la siguiente tabla.

4.4. Condiciones de Holgura Complementa-ria

Al introducir el tema ya avanzamos que una de las propiedades principales

de una pareja primal-dual reside en la posibilidad de obtener, cuando los dos

problemas tienen soluciones optimas finitas, la solucion optima de uno de los

problemas a partir de la del otro, y viceversa. Esta propiedad juega un papel

fundamental a la hora de resolver los problemas de programacion lineal para

los que el correspondiente dual es bastante mas sencillo que el primal. El

siguiente resultado nos proporciona la forma de conseguir unas soluciones a

partir de otras:

Teorema de Holgura Complementaria

Dado el siguiente par primal-dual,

(P ) Max ctx (D) Min btω

s.a: Ax ≤ b s.a: Atω ≥ c

x ≥ 0 ω ≥ 0,

x solucion posible de P , y ω solucion posible de D. Las condiciones de holgura

complementaria:1

ui = ωi(bi − atix) = 0 ∀i = 1, . . . , m

vj = (ωtaj − cj)xj = 0 ∀j = 1, . . . , n

Son condiciones necesarias y suficientes de optimalidad, para x y ω.

Observese que ui ≥ 0, ∀i y vj ≥ 0, ∀j. Por lo tanto:

u =∑m

i=1 ui ≥ 0

v =∑j

j=1 vj ≥ 0,

1En donde ai denota la fila i-esima de la matriz A , y aj la columna j-esima.

Tema 4: Teorıa de dualidad. Algoritmo Dual del Simplex 11

de donde, u = 0 si y solo si ωi(bi− atix) = 0, ∀i = 1, . . . , m, y v = 0 si y solo

si vj = (ωtaj − cj)xj = 0, ∀j = 1, . . . , n. Ahora bien,

u+v =m∑

i=1

ωi(bi−atix)+

n∑j=1

(ωtaj−cj)xj = ωtb−ωtAx+ωtAx−ctx = ωtb−ctx

de donde, u + v = 0 si y solo si ctx = ωtb, es decir, si y solo si x y ω son,

respectivamente, soluciones optimas de los problemas primal y dual. 2

Este resultado es valido para cualquier pareja de problemas primales-

duales. Nuestra eleccion concreta del par primal-dual para el cual hemos

desarrollado las condiciones de holgura complementaria obedece, por un lado,

a cuestiones de claridad en la exposicion, y por otro, a que la interpretacion

economica de las mismas, que hacemos en el punto siguiente, es mucho mas

rica que para otras parejas primales-duales.

Las condiciones de holgura complementaria relacionan, las variables de

holgura de cada restriccion del problema primal, con las variables duales

asociadas a dichas restricciones, y las holguras del dual, con las variables

primales asociadas. Vistas ası, podemos interpretar las condiciones de holgura

complementaria de la siguiente forma,

Dos soluciones posibles del primal y del dual son, respectiva-

mente optimas, si y solo sı, toda variable asociada a una restric-

cion con variable de holgura distinta de cero, es nula.

4.5. Interpretacion Economica de la Duali-dad

Las condiciones de holgura complementaria captan perfectamente la esen-

cia de la dualidad ya que, como veremos a continuacion, formalizan matema-

ticamente algunos principios basicos de economıa. Entenderemos mejor su

significado despues de introducir la interpretacion economica de la variables

duales. Consideremos la siguiente pareja primal-dual:

(P ) Max ctx (D) Min btω

s.a: atix ≤ bi i = 1, . . . , m s.a: ωtaj ≥ cj j = 1, . . . , n

xj ≥ 0 j = 1, . . . , m ωi ≥ 0 i = 1, . . . , n

Tema 4: Teorıa de dualidad. Algoritmo Dual del Simplex

Supongamos que,

x∗ =

(B−1b

0n−m

),

es una solucion optima del problema primal. Sea ω∗t = ctBB−1 la solucion

dual complementaria. Teniendo en cuenta que la funcion objetivo de P puede

expresarse en funcion, unicamente, de las variables no basicas:

z =ctBB−1b−

∑j∈N

(zj − cj)xj = btω∗ −∑j∈N

(zj − cj)xj,

en ausencia de degeneracion primal cabe esperar que pequenos cambios en

los valores de un bi no provoquen un cambio de base optima, por lo tanto,

las variables no basicas seguiran siendo las mismas (e iguales a cero). En esta

situacion, z puede suponerse diferenciable en un entorno del valor actual de

b, siendo la derivada parcial con respecto a bi:

∂z

∂bi

= ω∗i ,

es decir, podemos interpretar la variable dual i-esima como la razon de cam-

bio de la funcion objetivo cuando el termino independiente de la i-esima

restriccion primal asociada es sometido a pequenos cambios .

Pensemos por ejemplo en una situacion real en la que P modeliza un

problema de planificacion de la produccion. En este problema debe decidir-

se cuantas unidades fabricar de una serie de productos, j = 1, . . . , n, que

comparten los mismos recursos limitados, bi, i = 1, . . . , m. El objetivo es

planificar la produccion de forma que los beneficios obtenidos sean maximos.

En estas condiciones ω∗i representa el beneficio extra que conseguirıamos si

dispusiesemos de una unidad mas de recurso i. Evidentemente, si ω∗i es el

beneficio que conseguirıamos si dispusiesemos de una unidad mas de recurso

i, este sera, precisamente, el precio maximo (“extra”, si el coste del recurso

esta implıcito en la funcion objetivo) que estaremos dispuestos a pagar por

conseguir una unidad extra del recurso, de ahı que las variables duales se

denominen tambien precios sombra.

Ahora resulta mas sencillo interpretar las condiciones de holgura comple-

mentaria: Si atix∗ < bi, entonces, el recurso i-esimo no se agota con el plan de

produccion optimo, logicamente, disponer de una unidad mas de recurso no

Tema 4: Teorıa de dualidad. Algoritmo Dual del Simplex 13

nos reportara ningun beneficio, por lo que el precio que estamos dispuestos

a pagar por disponer de una unidad extra del mismo es cero, el precio justo

que pagarıamos es ω∗i = 0, es decir, se cumple la condicion de holgura com-

plementaria ω∗i (bi − atix∗) = 0. Por otro lado, si ωi es positivo, significa que

disponer de una unidad extra del recurso i-esimo resulta rentable, la unica

explicacion razonable para ello es que el agotamiento del recurso condiciona

el plan de produccion optimo. En terminos matematicos, atix∗ = bi, es decir,

la restriccion i-esima es activa en la solucion optima. De nuevo se cumple la

condicion de holgura complementaria.

Analogamente, si pensamos en que ω∗i representa el valor de una uni-

dad de recurso bi, entonces ω∗taj representara el coste total de los recursos

que se necesitan para fabricar una unidad de producto j. Logicamente, si

ω∗taj > cj, significa que los recursos necesarios para fabricar una unidad de

producto j cuestan mas que el beneficio que nos va a reportar vender dicha

unidad, por lo tanto, x∗j = 0, es decir, no fabricaremos dicho producto. Ahora

bien, x∗j > 0 significa que resulta rentable fabricar el producto j, luego nece-

sariamente ω∗taj = cj. En cualquier caso se cumple la condicion de holgura

complementaria, (ωtaj − cj)xj = 0.

Despues de lo que acabamos de ver es incuestionable la utilidad de los

precios sombra en el mundo empresarial, por ejemplo, nos sirven para:

valorar la estabilidad de la solucion optima alcanzada, ayudando en el

analisis de sensibilidad postoptimo,

contemplar cambios en polıticas de actuacion,

valorar la conveniencia de introducir o no en el mercado nuevos pro-

ductos,

justificar cambios de precios en empresas como las electricas, o las pe-

trolıferas, en las que los precios estan sujetos a restricciones legales.

No obstante, conviene dejar constancia de que en presencia de degenera-

cion la interpretacion de las variables duales requiere consideraciones adicio-

nales. La degeneracion puede implicar que haya mas de una base asociada a

una solucion optima, lo que significa que los precios sombra no estan unıvo-

camente determinados por el valor de las variables duales en el optimo, ya

que estas no son unicas.

Tema 4: Teorıa de dualidad. Algoritmo Dual del Simplex

En este tipo de situaciones, y en el caso concreto con el que estamos tra-

bajando, una variable dual, ω∗i , debe interpretarse como una cota superior

del cambio que experimentarıa la funcion objetivo si se incrementase en una

unidad el termino i-esimo, o como una cota inferior, si el termino se disminu-

yese. Lo recomendable serıa realizar el analisis de sensibilidad de la solucion

optima.

Para terminar daremos una interpretacion intuitiva de cual debe ser el

signo de las variables duales.

el signo de las variables duales

Recordemos que el valor de la variable dual optima, ωi, asociada a una res-

triccion, (aitx, bi) indica la cantidad en la que cambia la funcion objetivo

cuando se modifica el termino derecho de la restriccion, siempre y cuando

esta modificacion no implique un cambio de base optima (variables basicas).

Luego:

Nuevo valor optimo de z = Viejo valor optimo de z + ωi4bi

Si tenemos en cuenta que,

aumentar el valor de bi en una restriccion de ≤ no puede empeorar

nuestra situacion actual, pero sı podrıa mejorarla (incrementar el bi

implica ampliar el conjunto de soluciones posibles del problema).

Aumentar el valor de bi en una restriccion de ≥ no puede mejorar

nuestra situacion actual, pero si podrıa empeorarla (incrementar el bi

implica reducir el conjunto de soluciones posibles del problema).

Queda claro que, en un:

Problema de Maximizacion

La variable dual de una restriccion de ≤, es siempre positiva.

La variable dual de una restriccion de ≥, es siempre negativa.

Problema de Minimizacion

La variable dual de una restriccion de ≤, es siempre negativa.

La variable dual de una restriccion de ≥, es siempre positiva.

Para restricciones del tipo =, el signo de la variable dual puede ser cual-

quiera.

Tema 4: Teorıa de dualidad. Algoritmo Dual del Simplex 15

4.6. Determinacion de la Solucion Optima apartir de la Tabla Optima del ProblemaPrimal

Para identificar el valor de las variables duales en la tabla optima del

Simplex podemos proceder de cualquiera de las dos formas siguientes:

Suponiendo que hemos resuelto un problema de programacion lineal

cuya matriz de restricciones (Ax = b) contenıa la matriz identidad,

aunque no necesariamente ordenada, podemos averiguar directamente

la solucion optima del problema dual identificando en la tabla optima

del problema primal la inversa de la matriz formada por las columnas

originales de las variables basicas, es decir B−1. Concretamente, B−1

estara formada por las columnas de la tabla optima que originalmente

correspondıan a la matriz identidad.

El valor optimo de las variables duales no sera otro que cBtB−1.

Los costes reducidos en la tabla optima de las variables de holgura

y/o artificiales proporcionan el valor de la variable dual asociada a

la restriccion en la que se ha anadido dicha variable de holgura y/o

artificial.

Solamente hay que tener en cuenta los siguientes detalles:

1. Si la restriccion “i-esima” era de ”≤”, la variable de holgura xj

se anade y el vector de coeficientes de dicha variable es un vector

unitario con todo ceros excepto un 1 en la posicion i-esima. Enton-

ces su coste reducido, zj− cj = cBtB−1aj− cj = ωtaj− 0 = ωi. La

variable dual de la restriccion es igual al coste reducido

de la variable de holgura asociada a dicha restriccion.

2. Si la restriccion “i-esima” era de ”≥”, la variable de holgura xj se

resta y el vector de coeficientes de dicha variable es un vector uni-

tario con todo ceros excepto un -1 en la posicion i-esima. Entonces

su coste reducido, zj − cj = cBtB−1aj − cj = ωtaj − 0 = −ωi. La

variable dual de la restriccion es igual al coste reducido

Tema 4: Teorıa de dualidad. Algoritmo Dual del Simplex

cambiado de signo de la variable de holgura asociada a

dicha restriccion.

3. Si la restriccion “i-esima” era de “=”, la variable artificial xj se

anade y el vector de coeficientes de dicha variable es un vector uni-

tario con todo ceros excepto un 1 en la posicion i-esima. Entonces

su coste reducido, zj − cj = cBtB−1aj − cj = ωtaj − 0 = ωi. La

variable dual de la restriccion es igual al coste reducido

de la variable artificial asociada a dicha restriccion.

4.7. El Algoritmo Dual del Simplex

Las propiedades entre el problema de programacion lineal y su dual han

dado origen a nuevos algoritmos para resolver el PPL, entre ellos, al algoritmo

Dual del Simplex que presentamos en esta seccion.

Los resultados de dualidad nos permiten interpretar el algoritmo del Sim-

plex como un esquema iterativo en el que, partiendo de una solucion posible

del primal (b = B−1b ≥ 0), se trata de alcanzar una solucion posible del dual

(zj − cj = ctBB−1aj − cj = ωtaj − cj ≤ 0, ∀j ∈ N).

En cada iteracion, el algoritmo se mueve de una solucion posible basica

del primal, (B−1b, 0n−m)t, a otra i.e., de un punto extremo a otro. Cada una

de las soluciones posibles basicas del primal tiene asociado, a traves de las

condiciones de holgura complementaria, un vector ωt = ctBB−1 de variables

duales, que, salvo que estemos en el optimo, no sera solucion posible del dual,

aunque sı que cumplira la condicion necesaria de optimalidad establecida en

el Teorema Fuerte de Dualidad i.e., ctx = btω. Una vez alcanzado el optimo

disponemos de una solucion posible del dual y de otra del primal.

En ocasiones resulta sencillo encontrar una solucion posible del dual

(zj − cj ≤ 0 ) pero no del primal (b ≥ 0) o, como ocurre en el analisis

de sensibilidad, despues de haber alcanzado la optimalidad, es necesario rea-

lizar cambios en las condiciones del problema (terminos de la derecha, matriz

de restricciones, anadir restricciones) que nos hacen perder la posibilidad pri-

mal, pero no la dual.

El algoritmo Dual del Simplex, desarrollado por Lemke en 1954, nos pro-

porciona una forma eficiente para superar estos “inconvenientes” sin nece-

sidad de buscar una nueva solucion posible basica inicial para resolver de

Tema 4: Teorıa de dualidad. Algoritmo Dual del Simplex 17

nuevo el problema primal. Este algoritmo utiliza la tabla del Simplex pa-

ra resolver optimamente el problema dual. Para conseguirlo, los pivotes se

realizan de forma que en cada iteracion se mantiene la posibilidad dual, se

mejora el valor de la funcion objetivo dual, y se garantiza que se cumplen

las condiciones de holgura complementaria para el par de soluciones basicas

representadas en la tabla. Evidentemente, si llegamos al optimo tendremos

tambien la solucion optima del primal. En otro caso concluiremos que el dual

es no acotado y el primal es imposible.

En realidad, el Dual del Simplex equivale a resolver con el metodo del

Simplex el problema dual, pero, sobre la tabla del Simplex para el problema

primal. Se trata de un metodo alternativo al metodo Simplex que en ocasiones

puede resultar mas eficiente, sobre todo si el problema dual es mucho mas

sencillo que el primal.

Algoritmo Dual del Simplex para el PPL de Minimizar

Paso 0.- Considerar una tabla del Simplex asociada a una solucion basica

(no necesariamente posible) del primal y a una solucion posible basica

del dual i.e., una base B del primal, tal que zj − cj ≤ 0, ∀j. Ir al Paso

1.

xB xN

z 0 zj − cj = ctBB−1N − cN ct

BB−1b

xB Im Y = B−1N b = B−1b

Paso 1.- Si la solucion es primal posible i.e., b ≥ 0m, Stop, se han alcanzado

las soluciones optimas del primal y del dual. En otro caso, elegir una

fila r con br < 0, por ejemplo, br = min{bi}, e ir al Paso 2.

Paso 2.- Si yrj ≥ 0, ∀j ∈ N , Stop, el dual es no acotado y el primal

es imposible. En otro caso, aplicar el siguiente criterio para elegir la

columna pivote:

k :zk − ck

yrk

= Min

{zj − cj

yrj

| yrj < 0

}

e ir al Paso 3.

Paso 3.- Pivotar sobre yrk (xBr deja de ser basica y xk se hace basica).

Volver al Paso 1.

Tema 4: Teorıa de Dualidad.

Algoritmo Dual del Simplex

(P ) Min ctx (D) Max btω

s.a: Ax = b s.a: Atω ≤ c

x ≥ 0n

Orıgenes: Conversaciones de John Von Neumann con George Dantzig(Octubre de 1947). Teorıa de Juegos

1

4.1 Introduccion

4.2 Definicion del Problema Dual

4.3 Relaciones Primal-Dual

4.4 Condiciones de Holgura Complementaria

4.5 Interpretacion Economica de la Dualidad

4.6 Determinacion de la Solucion Optima a partir de laTabla Optima del Problema Primal

4.7 El Algoritmo Dual del Simplex

2

4.2 Definicion del Problema Dual

Primal (P )

Min ctx

s.a: Ax = b

x ≥ 0n

−→ Dual (D)

Max btω

s.a: Atω ≤ c

A, una matriz m× n, de rango completo por filas, b ∈ IRm y c ∈ IRn

xt = (xB , xN )t = (B−1b, 0n−m)t, A = (B, N), y B una submatriz regular m×m

Condicion de Optimalidad en la Tabla del Simplex

zj − cj = ctBB−1

︸ ︷︷ ︸ω

aj − cj ≤ 0, ∀j ∈ {1, 2, . . . , n}

↓ωtA ≤ c

3

Simetrıa de la Dualidad

El dual del dual es el primal

El problema dual puede expresarse en forma estandar, utilizando el

siguiente cambio de variable:

ω = ω1 − ω2, ω1, ω2 ∈ IRm+

- Min −bt(ω1 − ω2)

s.a: At(ω1 − ω2) + ωh = c

ωi ≥ 0m, ∀i = 1, 2

ωh ≥ 0n

- Min (−bt, bt, 0)

ω1

ω2

ωh

s.a: (At,−At, In)

ω1

ω2

ωh

= c

ωi ≥ 0m, ∀i = 1, 2, ωh ≥ 0n

4

Cuyo dual es,

− Max cty

s.a:

A

−A

In

y ≤

−b

b

0n

y ∈ IRn

Que equivale al problema primal:

(P ) Min z = ctx

s.a: Ax = b

x ≥ 0n

Basta hacer el cambio de variable x = −y.

5

Problema de | Problema de

Minimizacion | Maximizacion

≥ 0 ⇐⇒ ≤Variables ≤ 0 ⇐⇒ ≥ Restricciones

No restringida ⇐⇒ =

≥ ⇐⇒ ≥ 0

Restricciones ≤ ⇐⇒ ≤ 0 Variables

= ⇐⇒ No restringida

terminos independientes | coeficientes f. obj.

coeficientes f. obj. | terminos independientes

matriz de restricciones | traspuesta matriz restricciones

Cuadro 1: Relaciones entre los problemas primal y dual

6

Ejemplo: Consideremos el problema:

Max z = − 2x1 − 3x2 − 9x3

s.a.: − x1 − 3x3 ≤ −3

x2 + 2x3 ≥ 5

x1 + x2 + x4 = 4

x1, x2, x3, x4 ≥ 0

Su dual sera:

Min z = − 3ω1 + 5ω2 + 4ω3

s.a.: − ω1 + ω3 ≥ −2

ω2 + ω3 ≥ −3

− 3ω1 + 2ω2 ≥ −9

ω3 ≥ 0

ω1 ≥ 0, ω2 ≤ 0 ω3 no restringida

7

4.3 Relaciones Primal-Dual

Teorema de Dualidad Debil

Dados un par primal-dual, si x es una solucion posible de P y ω esuna solucion posible de D, entonces, btω ≤ ctx.

Dadas x una solucion posible del primal, y ω cualquier solucionposible del dual:

Ax = b −→ ωtAx = ωtb

Atω ≤ c, x ≥ 0n −→ ωtAx ≤ ctx

−→ btω ≤ ctx

8

El valor de la funcion objetivo en cualquier solucion posible del

problema de minimizacion proporciona una cota superior del valor

de la funcion objetivo del problema de maximizacion.

El valor de la funcion objetivo en una solucion posible del proble-

ma de maximizacion proporciona una cota inferior del valor de la

funcion objetivo del problema de minimizacion.

Si uno de los dos problemas de un par primal-dual es no acotado,

entonces el otro problema es imposible.

Si x es solucion posible del primal, w es solucion posible del dual, y

ctx = btω, entonces, x y ω son soluciones optimas de sus problemas

respectivos.

9

Teorema de Dualidad Fuerte

Si uno de los problemas de un par primal-dual tiene solucion optimafinita, entonces, el otro tambien la tiene, y los valores optimos de lasrespectivas funciones objetivo coinciden.

Sea x∗ una solucion optima de P obtenida con el metodo Simplex, ysea B la base en la tabla asociada a x∗, x∗t = (B−1b, 0n−m)t.

Entonces, ω∗t = ctBB−1 es solucion posible del dual, siendo:

ctx∗ = ctB(B−1b) = ω∗tb

Por el teorema de dualidad debil,

ctx∗ ≥ btω, ∀ ω solucion de D −→ ω∗ es solucion optima de D

10

Teorema Fundamental de Dualidad

Dado un par primal-dual, una y solo una de las afirmacionessiguientes es cierta:

1. Los dos problemas tienen solucion optima finita, y los valoresoptimos de ambos problemas coinciden.

2. Uno de los dos problemas es no acotado y el otro es imposible.

3. Ambos problemas son imposibles.

(P ) Min zP = −x1 − x2 (D) Max zD = ω1 + ω2

s.a: x1 − x2 ≥ 1 s.a: ω1 − ω2 ≤ −1

−x1 + x2 ≥ 1 −ω1 + ω2 ≤ −1

x1, x2 ≥ 0 ω1, ω2 ≥ 0

11

4.4 Condiciones de Holgura Complementaria

Teorema de Holgura Complementaria

Dado el siguiente par primal-dual,

(P ) Max ctx (D) Min btω

s.a: Ax ≤ b s.a: Atω ≥ c

x ≥ 0 ω ≥ 0,

x solucion posible de P , y ω solucion posible de D. Las condiciones de

holgura complementaria:

ui = ωi(bi − atix) = 0 ∀i = 1, . . . , m

vj = (ωtaj − cj)xj = 0 ∀j = 1, . . . , n

Son condiciones necesarias y suficientes de optimalidad, para x y ω.

12

ui ≥ 0, ∀i y vj ≥ 0, ∀j. Entonces:

u =∑m

i=1 ui ≥ 0 u = 0 sii ui = ωi(bi − atix) = 0, ∀i = 1, . . . , m

v =∑j

j=1 vj ≥ 0 v = 0 sii vj = (ωtaj − cj)xj = 0, ∀j = 1, . . . , n

u+v =

m∑i=1

ωi(bi−atix)+

n∑j=1

(ωtaj−cj)xj = ωtb−ωtAx+ωtAx−ctx = ωtb−ctx

Luego,

u + v = 0 ↔ ctx = ωtb

Es decir, si y solo si:

x es solucion optima del primal

ω es solucion optima del dual

13

Ejemplo, continuacion . . .

Las condiciones de holgura complementaria para el par primal-dualdel ejemplo son:

ω1(−3 + x1 + 3x3) = 0

ω2(5− x2 − 2x3) = 0

ω3(4− x1 − x2 − x4) = 0

(−ω1 + ω3 + 2)x1 = 0

(ω2 + ω3 + 3)x2 = 0

(−3ω1 + 2ω2 + 9)x3 = 0

ω3x4 = 0

14

4.5 Interpretacion Economica de la Dualidad

(P ) Max ctx (D) Min btω

s.a: atix ≤ bi ∀i s.a: ωtaj ≥ cj ∀j

xj ≥ 0 ∀j ωi ≥ 0 ∀i

x∗t= (B−1b, 0n−m)t, ω∗t = ct

BB−1

z =ctBB−1b−

∑j∈N

(zj − cj)xj = btω∗ −∑j∈N

(zj − cj)xj

∂z

∂bi= ω∗i

variable dual i-esima = razon de cambio de la funcion objetivo del

primal cuando el termino independiente de la i-esima restriccion

primal es sometido a pequenos cambios

15

Problema de Planificacion de la Produccion

(P) Max ctx

s.a: atix ≤ bi ∀i = 1, . . . , m recursos

xj ≥ 0 ∀j = 1, . . . , n productos

Si atix∗ < bi −→ ω∗i = 0

Si ω∗i > 0 −→ atix∗ = bi

ω∗i (bi − at

ix∗) = 0

Variables Duales como Precios Sombra

ω∗i ≡ beneficio que conseguirıamos si dispusiesemos de una unidadmas de recurso i

ω∗i ≡ precio maximo que estaremos dispuestos a pagar por conseguiruna unidad extra de recurso i

16

Utilidad de los Precios Sombra

Valorar la estabilidad de la solucion optima alcanzada. La baseoptima no cambiara mientras los precios no lleguen a un lımite.

Contemplar cambios en polıticas de actuacion.

Valorar la conveniencia de introducir o no en el mercado nuevosproductos. ¿ωtaj − cj?

Justificar cambios de precios en empresas con precios regulados.Precios competitivos.

17

4.7 Algoritmo Dual del Simplex

Primal

Min ctx

s.a: Ax = b

x ≥ 0n

−→ Dual

Max btω

s.a: Atω ≤ c

A, una matriz m× n, de rango completo por filas, b ∈ IRm y c ∈ IRn y B una

submatriz regular m×m, A = (B, N)

x =

B−1b

0n−m

es una SPB del Problema Primal si B−1b ≥ 0

ω = cBB−1 es una Solucion Dual Posible si

ωtA ≤ c sii

cBB−1B ≤ cB

cBB−1N ≤ cN

sii zj − cj ≤ 0 ∀j ∈ N

18

Algoritmo Dual del Simplex (Lemke, 1954)

Paso 0.- Considerar una tabla del Simplex cuya base B asociada seadual posible i.e., zj − cj ≤ 0, ∀j. Ir al Paso 1.

xB xN

z 0 = ctBB−1B − ct

B zj − cj ≡ ctBB−1N − ct

N ctBB−1b

xB Im Y = B−1N b = B−1b

Paso 1.- Si b ≥ 0m, Stop, se han alcanzado las soluciones optimasdel primal y del dual. En otro caso, elegir la fila r, tal que,br = min{bi} < 0, e ir al Paso 2.

19

Paso 2.- Si yrj ≥ 0, ∀j ∈ N , Stop, el dual es no acotado y elprimal es imposible. En otro caso, elegir la columna k, tal que,

zk − ck

yrk= Min

{zj − cj

yrj| yrj < 0

}

e ir al Paso 3.

Paso 3.- Pivotar sobre yrk (la variable xBrdeja de ser basica y la

variable xk se hace basica). Volver al Paso 1.

20

Ejemplo, continuacion . . . : Consideremos el problema:

Max z = − 2x1 − 3x2 − 9x3

s.a.: − x1 − 3x3 ≤ −3

x2 + 2x3 ≥ 5

x1 + x2 + x4 = 4

x1, x2, x3, x4 ≥ 0

que tras anadir variables de holgura resulta:

- Min z = 2x1 + 3x2 + 9x3

s.a.: − x1 − 3x3 +x5 = −3

− x2 − 2x3 +x6 = −5

x1 + x2 +x4 = 4

x1, x2, x3, x4, x5, x6 ≥ 0

21

x1 ↓ x2 x3 x4 x5 x6 rhs

z -2 -3 -9 0 0 0 0

x5 -1 0 -3 0 1 0 -3

x6 0 -1 -2 0 0 1 -5

x4 1 1 0 1 0 0 4

→ mın{−3−1

, −9−2} = 3

x1 x2 x3 x4 x5 x6 rhs

z -2 0 -3 0 0 -3 15

x5 -1 0 -3 0 1 0 -3

x2 0 1 2 0 0 -1 5

x4 1 0 -2 1 0 1 -1

22

x1 x2 ↓ x3 x4 x5 x6 rhs

z -2 0 -3 0 0 -3 15

x5 -1 0 -3 0 1 0 -3

x2 0 1 2 0 0 -1 5

x4 1 0 -2 1 0 1 -1

→ mın{−2−1 , −3

−3} = 1

x1 x2 x3 x4 x5 x6 rhs

z -1 0 0 0 -1 -3 18

x313 0 1 0 −1

3 0 1

x2−23 1 0 0 2

3 -1 3

x453 0 0 1 −2

3 1 1

x∗ =

0

3

1

1

z∗ = −18

23

Ejemplo, continuacion . . . :

Resolvamos el problema dual a partir de la solucion optima del problema

primal y utilizando las condiciones de holgura complementaria:

ω1(−3 + x1 + 3x3) = 0

ω2(5− x2 − 2x3) = 0

ω3(4− x1 − x2 − x4) = 0

(−ω1 + ω3 + 2)x1 = 0

(ω2 + ω3 + 3)x2 = 0

(−3ω1 + 2ω2 + 9)x3 = 0

ω3x4 = 0

x∗2 = 3 > 0 → ω∗2 + ω∗3 = −3

x∗3 = 1 > 0 → −3ω∗1 + 2ω∗2 = −9

x∗4 = 1 > 0 → ω∗3 = 0

→ ω∗1 = 1, ω∗2 = −3, ω∗3 = 0

24