Análisis de dualidad y sensibilidad

Anuncio
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 aspecto 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:
Maximizar o minimizarz =
n
X
j=1
sujeta a
1
cj x j
(1)
n
X
aij xj
= bi , i = 1, 2, . . . , m
(2)
≥ 0, j = 1, 2, . . . , n
(3)
j=1
xj
Las variables xj , j = 1, 2, . . . , n, incluyen las variables excedentes, holguras y artificı́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 minimizació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
Maximizar z = 5x1 + 12x2 + 4x3
sujeta a
x1 + 2x2 + x3 ≤ 10
2x1 − x2 + 3x3 = 8
x1 , x2 , x3 ≥ 0
Primal en forma de ecuación
Maximizar z = 5x1 + 12x2 + 4x3 + 0x4
sujeta a
x1 + 2x2 + x3 + x4 = 10
2x1 − x2 + 3x3 + 0x4 = 8
x 1 , x2 , x3 , x4 ≥ 0
Variables duales
y1
y2
Problema dual
Minimizar w
s.a y1 + 2y2
2y1 − y2
y1 + 3y2
y1 + 0y2
y1 , y2 sin restricción
= 10y1 + 8y2
≥
5
≥
12
≥
4
≥
0
Ejemplo 2
Primal
Minimizar z = 15x1 + 12x2
sujeta a
x1 + 2x2 ≥ 3
2x1 − 4x2 ≤ 5
x1 , x2 ≥ 0
Primal en forma de ecuación
Minimizar z = 5x1 + 12x2 + 0x3 + 0x4
sujeta a
x1 + 2x2 − x3 + 0x4 = 3
2x1 − 4x2 + 0x3 + x4 = 5
x 1 , x2 , x3 , x4 ≥ 0
Problema dual
3
Variables duales
y1
y2
Maximizar w
s.a y1 + 2y2
2y1 − 4y2
−y1
y2
y1 , y2 sin restricción
= 3y1 + 5y2
≤
15
≤
12
≤
0
≤
0
Ejemplo 3
Primal
Maximizar z = 5x1 + 6x2
sujeta a
x1 + 2x2 = 5
−x1 + 5x2 ≥ 3
4x1 + 7x2 ≤ 8
x1 no restringida, x2 ≥ 0
Problema dual
Primal en forma de ecuación
−
Sustituir x1 = x+
1 − x1
+
−
Maximizar z = 5x1 − 5x1 + 6x2 + 0x3 + 0x4
sujeta a
−
x+
−
x
+
2x
2 + 0x3 + 0x4 = 5
1
1
+ −
−x1 x1 + 5x2 − x3 + 0x4 = 3
−
4x+
1 − 4x1 + 7x2 + 0x3 + x4 = 8
−
x+
1 , x1 , x2 ≥ 0
Minimizar w
s.a y1 − y2 + 4y3
−y1 + y2 − 4y3
2y1 + 5y2 + 7y3
−y2
y3
y1 , y2 , y3 sin restricción
Variables duales
= 5y1 + 3y2 + 8y3
≥
5
≥
−5
≥
6
≥
0
≥
0
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 restricción dual de igualdad. A la inversa, una ecuación primal produce una variable dual
no restringida.
4
y1
y2
y3
Descargar