Anda di halaman 1dari 4

Análisis de dualidad y sensibilidad

La solución óptima de una programación lineal se basa en una toma instantánea


de las condiciones que prevalecen en el momento de formular y resolver el modelo. En
el mundo real, los ambientes de decisión rara vez permanecen estáticos, y es esencial
determinar cómo cambia la solución óptima cuando cambian los parámetros del modelo.
Eso es lo que hace el análisis de sensibilidad. Proporciona técnicas de cómputo eficientes
para estudiar el comportamiento dinámico de la solución óptima que resulta al hacer
cambios en los parámetros del modelo.

Ya explicamos el análisis de sensibilidad a un nivel elemental. Ahora, usaremos la


teorı́a de la dualidad para presentar un tratamiento algebraico de este importante as-
pecto práctico.

DEFINICIÓN DEL PROBLEMA DUAL


El problema dual es una programación lineal definida en forma directa y sistemática a
partir del modelo original (o primal) de programación lineal. Los dos problemas están
relacionados en forma tan estrecha que la resolución óptima de un problema produce en
forma automática la resolución óptima del otro.

En la mayor parte de las presentaciones de programación lineal, el dual se define para


varias formas del primal, dependiendo del sentido de la optimización (maximización o
mini-mización), tipos de restricciones (≤, ≥ o =), y la orientación de las variables (no
negativa o no restringida). Este tipo de tratamiento puede confundir Por esta razón
presentaremos una sola definición que comprenda en forma automática a todas las formas
del primal.
Nuestra definición del problema dual requiere expresar el problema primal en forma
de ecuaciones, como se presentó anteriormente: todas las restricciones son ecuaciones,
con lado derecho no negativo y todas las variables son no negativos. Este requisito es
consistente con el formato de la tabla de inicio sı́mplex. En consecuencia, todo resultado
obtenido a partir de la solución primal óptima se aplican en forma directa al problema
dual asociado.

Para mostrar cómo se forma el problema dual, se define el primal en forma de


ecuación como sigue:

X
n
Maximizar o minimizarz = cj x j (1)
j=1
sujeta a

1
X
n
aij xj = bi , i = 1, 2, . . . , m (2)
j=1
xj ≥ 0, j = 1, 2, . . . , n (3)

Las variables xj , j = 1, 2, . . . , n, incluyen las variables excedentes, holguras y arti-


ficı́ales, si las hay.

La tabla 1 muestra cómo se construye el problema dual a partir del primal. De hecho
se tiene que:

Cuadro 1: Construcción del dual a partir del primal


Variables primales
x1 x2 . . . xj . . . xn
Variables duales c1 c2 ... cj . . . cn
y1 a11 a12 . . . a1j . . . a1n b1
y2 a21 a22 . . . a2j . . . a2n b2
.. .. .. .. .. .. .. ..
. . . . . . . .
ym am1 am2 . . . amj . . . amn bm
↑ ↑
j-ésima Coeficientes
restricción dual objetivo
duales

1. Se define una variable dual por cada ecuación primal (restricción).


2. Se define una restricción dual por cada variable primal.
3. Los coeficientes de restricción (columna) de una variable primal definen los
coeficientes en el lado izquierdo de la restricción dual, y su coeficiente objetivo define el
lado derecho.
4. Los coeficientes objetivo del dual son iguales al lado derecho de las ecuaciones
de restricción primal.
Las reglas para determinar el sentido de la optimización (maximización o minimiza-
ción), el tipo de restricción (≤, ≥ o =), y el signo de las variables duales (siempre no
restringido) se resumen en la tabla 2. Nótese que el sentido de la optimización en el dual
siempre es el opuesto al del primal. Una forma fácil de recordar el tipo de restricción (es
decir, ≤ o ≥) en el dual es que si el objetivo del dual es minimización (es decir, “apunta
hacia abajo”), las restricciones son todas del tipo ≥ (es decir, “apuntan hacia arriba”).
Cuando el objetivo del dual es maximización lo contrario es válido.

2
Cuadro 2: Reglas para construir el problema dual
Objetivo del problema Problema dual
primal Objetivo Tipo de restricciones Signo de variables
Maximización Minimización ≥ No restringido
Minimización Maximización ≤ No restringido

En los siguientes ejemplos se demuestra el uso de las reglas de la tabla 2, y también


se muestra que la definición comprende todas las formas del primal, en forma automática.

Ejemplo 1

Primal Primal en forma de ecuación Variables duales


Maximizar z = 5x1 + 12x2 + 4x3 Maximizar z = 5x1 + 12x2 + 4x3 + 0x4
sujeta a sujeta a
x1 + 2x2 + x3 ≤ 10 x1 + 2x2 + x3 + x4 = 10 y1
2x1 − x2 + 3x3 = 8 2x1 − x2 + 3x3 + 0x4 = 8 y2
x1 , x2 , x3 ≥ 0 x 1 , x2 , x3 , x4 ≥ 0
Problema dual
Minimizar w = 10y1 + 8y2
s.a y1 + 2y2 ≥ 5
2y1 − y2 ≥ 12
y1 + 3y2 ≥ 4
y1 + 0y2 ≥ 0
y1 , y2 sin restricción

Ejemplo 2

Primal Primal en forma de ecuación Variables duales


Minimizar z = 15x1 + 12x2 Minimizar z = 5x1 + 12x2 + 0x3 + 0x4
sujeta a sujeta a
x1 + 2x2 ≥ 3 x1 + 2x2 − x3 + 0x4 = 3 y1
2x1 − 4x2 ≤ 5 2x1 − 4x2 + 0x3 + x4 = 5 y2
x1 , x2 ≥ 0 x 1 , x2 , x3 , x4 ≥ 0
Problema dual

3
Maximizar w = 3y1 + 5y2
s.a y1 + 2y2 ≤ 15
2y1 − 4y2 ≤ 12
−y1 ≤ 0
y2 ≤ 0
y1 , y2 sin restricción

Ejemplo 3

Primal Primal en forma de ecuación Variables duales


Sustituir x1 = x+ 1 − x1

+
Maximizar z = 5x1 + 6x2 Maximizar z = 5x1 − 5x1 + 6x2 + 0x3 + 0x4

sujeta a sujeta a
x1 + 2x2 = 5 x+
1 − x −
1 + 2x 2 + 0x3 + 0x4 = 5 y1
+ −
−x1 + 5x2 ≥ 3 −x1 x1 + 5x2 − x3 + 0x4 = 3 y2
4x1 + 7x2 ≤ 8 4x+1 − 4x1 + 7x2 + 0x3 + x4 = 8

y3
x1 no restringida, x2 ≥ 0 x+
1 , x1 , x2 ≥ 0

Problema dual
Minimizar w = 5y1 + 3y2 + 8y3
s.a y1 − y2 + 4y3 ≥ 5
−y1 + y2 − 4y3 ≥ −5
2y1 + 5y2 + 7y3 ≥ 6
−y2 ≥ 0
y3 ≥ 0
y1 , y2 , y3 sin restricción

Las restricciones primera y segunda se sustituyen por una ecuación. La regla general
en este caso es que una variable primal no restringida corresponde siempre a una res-
tricción dual de igualdad. A la inversa, una ecuación primal produce una variable dual
no restringida.