clase6

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 en la sección 2.3. En este
capítulo usaremos la teoría de la dualidad para presentar un tratamiento algebraico de este importante aspecto práctico.
4.1
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 minimización), tipos de restricciones (\lqe, \geq o =), y la orientación de las variables (no
negativa o no restringida). Este tipo de tratamiento puede confundir (véase el problema 7,
conjunto de problemas 4.1a). 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ó en la sección 3.1: 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 minimizar z =
sujeta a
n
^a^j = b¡, i = 1, 2, __ , m
* ,£ 0,; = 1 , 2 ..... «
Las variables x_j, j = 1, 2, ..., n, incluyen las variables excedentes, holguras y artificíales,
si las hay.
La tabla 4.1 muestra cómo se construye el problema dual a partir del primal. De hecho
se tiene que:
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 res
tricción primal.
Las reglas para determinar el sentido de la optimización (maximización o minimización), el tipo de restricción (\leq, \geq o =), y el signo de las variables duales (siempre no
restringido) se resumen en la tabla 4.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, \leq o \geq) en el dual es que si el objetivo del dual es minimización (es decir, "apunta
hacia abajo"), las restricciones son todas del tipo \geq (es decir, "apuntan hacia arriba").
Cuando el objetivo del dual es maximización lo contrario es válido.
TABLA 4.1 Construcción del dual a partir del primal
Variables primales
Variables duales
*2
x¡
xn
C\
C2
c,
cn
«21
«12
alt .
. .
a}l
■ ■ ■
«22
ym
«mi
aml
z
amn
t y'-ésima
restricción dual
T
Coeficientes
objetivo
duales
TABLA 4.2 Reglas para construir el problema dual
Problema dual
Objetivo del problema
primal"
Objetivo
Tipo de restricciones
No restringido
No restringido
Minimización
Maximización
Maximización
Minimización
Signo de variables
A
l
V
I
" Todas las restricciones primales son ecuaciones con lado derecho no negativo, y todas las variables son no negativas.
En los siguientes ejemplos se demuestra el uso de las reglas de la tabla 4.2, y también se
muestra que la definición comprende todas las formas del primal, en forma automática.
Ejemplo 4.1-1
Primal
Primal en forma de ecuación
Maximizar z = 5xx + 12*2 + 4*3
sujeta a
*! + 2*2 + * 3 s 10
2x x - * 2 + 3* 3 = 8
Maximizar z = 5*, + X2x 2 + 4x3 + 0x 4
sujeta a
x x + 2x 2 + x 3 + x 4 = 10
2 JC , - x 2 + 3x 3 + 0*4 = 8
x¡, x 2 , x 3 , x t > 0
*j, * 2 , * 3 S 0
Variables duales
Problema dual
Minimizar w = lQy l + 8y 2
sujeta a
y, +2y2>5
2 yi - y 2 > 12
y, + 3y 2 > 4
?! + 0^ 2 > 0 1 yh y2
sin restricción/
Ejemplo 4.1-2
Primal
Minimizar z = 15*i + 12* 2
sujeta a
x x + 2*2 > 3
2*! - 4*2 < 5
*!, *2 > 0
> 0, 3>2
sm
restricci
ón)
Primal en forma de ecuación
Minimizar z = 15*j + 12* 2 + 0*3
sujeta a
*! + 2*2 - *3 + 0*4 = 3
2*, - 4*2 + 0*3 + * 4 = 5
*!, * 2 , * 3 , * 4 S 0
Variables duales
0*4
Problema dual
Maximizar w = 3y t + 5y 2
sujeta a
i
+ 2y 2 < 15 , -
4 y 2 < 12
Ejemplo 4.1-3
Primal
Primal en forma de
ecuación
Variables
duales
Sustituir x\ = x\ - x\
Maximizar z = 5x^ — 5x¡ + 6x 2
sujeta a
x\ — x\ + 2x 2
=5
Maximizar z = 5xt + 6x2
sujeta a
x x + 2x 2 = 5
—X\ + 5x2 & 3
4x¡ + lx 2 s 8
xx no restringida, x 2 s 0
—x\ + x~{ + 5x 2 — x 3
= 3
y2
Ax\ - Ax\ + lx 2
+ x4 = 8
jcí", x\, x 2 a 0
Problema dual
Minimizar z = 5^! + 3y 2 +
sujeta a
y3 >
5l
y } + 5y z + 7^ > 6
-y2
>01
y3 > 0 >
yx sin restricción, y 2 < 0, y3 > 0)
y2, y3 sin restricción J
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.2
RELACIONES PRIMAL-DUAL
Los cambios que se hacen en el modelo original de programación lineal afectan a los elementos de la tabla óptima actual (el que se tenga en el momento), que a su vez puede afectar la optimalidad y/o la factibilidad de la solución actual. Por esta razón estudiaremos cómo se recalculan los elementos de la tabla símplex óptimo para reflejar los nuevos cambios..
Esta sección comienza con un breve repaso de matrices, que son adecuadas para efectuar los cálculos de la tabla símplex. A continuación se presentan las relaciones entre las soluciones óptimas primal y dual.
4.2.1
Repaso de operaciones matriciales sencillas
En los cálculos de la tabla símplex sólo se usan tres operaciones matriciales elementales:
(vector renglón) X (matriz); (matriz) X (vector columna), y (escalar) X (matriz). Por comodidad resumiremos aquí esas operaciones. Primero presentaremos algunas definiciones sobre
matrices:1
1. Una matriz A, de tamaño (m X n), es un arreglo rectangular de m renglones y n columnas.
2. Un vector renglón V, de tamaño m, es una matriz de (1 X m).
3. Un vector columna P, de tamaño n, es una matriz de (n X 1).
Estas definiciones se pueden representar en forma matemática como sigue:
«11
«12 «22
Pl
«21
= (v b v 2 , . . . , v m ) , A =
«m2
\
\P"I
1. (Vector renglón X matriz, VA.) La operación sólo se define si el tamaño del vector renglón V es igual a la cantidad de renglones de A. En ese caso,
VA =
'En el apéndice A se presenta un repaso de matrices más completo.
Por ejemplo,
¡1 2\
(11, 22, 33) 3
4
= (1 X 11 + 3 X 22 + 5 X 33, 2 X 11 + 4 X 22 + 6 X 33)
\S
6)
= (242, 308)
2. (Matriz X vector columna, AP.) La operación sólo se define si la cantidad de columnas de A es igual al tamaño del vector columna P. En ese caso,
'V
AP =
Para ilustrar, tenemos
1
2
3 5
4 6
'111
(2A2\
1 x 11 + 3 x 22 + 5 x 33
2 x 11 + 4 x 22 + 6 x 33
\308J
3. (Escalar X matriz, \alpha A.) Dada la cantidad escalar (o constante) a, la
operación de multiplicación \alpha A dará como resultado una matriz del mismo tamaño que
A, cuyo elemento (i,j)-ésimo es igual a \alpha a_ij Por ejemplo, si a = 10,
(10) 4
5
'l 2 3\
Í1Q
6 40 50 60
20
30 N
En general, \alpha A = A \alpha. La misma operación se amplía por igual a la multiplicación
de vectores por escalares. Por ejemplo, \alpha V = Va y \alpha P = Pa.
4.2.2
Planteamiento de la tabla símplex
En el capítulo 3 se siguió un formato específico para plantear la tabla símplex. Este formato
es la base de los desarrollos en este capítulo.
La figura 4.1 es una representación esquemática de las tablas símplex de inicio y general.
En la tabla de inicio, los coeficientes de las restricciones abajo de las variables de inicio forman una matriz identidad: todos los elementos de la diagonal principal iguales a 1 y fuera de
la diagonal principal iguales a cero. Con este arreglo, las demás iteraciones de la tabla símplex, generadas con las operaciones de renglón de Gauss-Jordan (véase el capítulo 3) modificarán los elementos de la matriz identidad para producir la llamada matriz inversa. Como
veremos en el resto de este capítulo, la matriz inversa es la clave del cálculo de todos los elementos de la tabla símplex asociada.
CONJUNTO DE PROBLEMAS 4.2B
1. Véase la tabla óptima del ejemplo 3.3-1.
a) Identifique la matriz inversa (óptima).
b) Demuestre que el lado derecho es igual a la inversa multiplicada por el vector del lado dere
cho de las restricciones originales.
2. Repita el problema 1 con la última tabla del ejemplo 3.4-1.
4.2.3
Solución dual óptima
Las soluciones primal y dual se relacionan en forma tan estrecha que la solución óptima del
problema primal produce en forma directa (con unos pocos de cálculos adicionales) la solución óptima del dual. En esta sección se describen dos métodos para calcular este resultado.
Método 1
Valores óptimos \ _
de las variables duales I
Vector renglón de los coeficientes \ /T
...
objetivos originales de las
. , , , , .
. ..
, I V óptima
/
variables básicas óptimas primales/ \
- . ,
A
,,
.
r
/
Los elementos del vector renglón de los coeficientes objetivos del primal original deben aparecer en el mismo orden que aparecen las variables básicas en la columna Básica de la tabla símplex. Esto se explica en el ejemplo 4.2-1. Método 2
La solución dual óptima se puede determinar resolviendo las siguientes ecuaciones:
/Coeficiente z-prímal óptimo (costo\ _ ( Lado izquierdo de la \_í Lado derecho de la
i \ reducido) de cualquier variable x¡ )
\;\ restricción dual I \ /-ésima restricción dual
ésima
I
Observe con cuidado que, como el dual del problema dual es en sí mismo el problema
primal (compruébelo), los métodos presentados se pueden aplicar en forma simétrica para determinar la solución óptima del primal a partir de la del dual. Esto podría implicar ventajas
de cómputo si la cantidad de variables en el primal fuera bastante menor que la cantidad de
restricciones. Ya que la cantidad de cálculos símplex depende mucho de la cantidad de restricciones, en este caso es más eficiente resolver el dual, a partir del cual se pueda determinar entonces la solución del primal (véase el problema 1, conjunto de problemas 4.2c).
Ejemplo 4.2-1
Se tiene la siguiente programación
lineal:
Maximizar
sujeta a
xx +
z = Cj + 12*2 +
5 J 4*3
2x2 + x3 < 10
*2 + 3*3 = 8
2*x
1, X 2 , >0
3
X
Para preparar el problema para su solución con método símplex se agrega una holgura
x_4 en la primera restricción, y una R artificial en la segunda. Los problemas primal y dual
asociado resultantes se definen así:
Primal
Dual
Maximizar z = 5x_1 + 12x_2 + 4x_3 — MR
Minimizar w = 10 y_1 +
8y_2
sujeta a
sujeta a
x_1 + 2x_2 + x_3 + x_4
= 10
y_1 + 2y_2 \geq 5
2*! - x2 + 3*3
+ R = 8
Xl , x 2 , x,, x 4 ,R>0
2y, - y 2 ^ \ 2
y¡ + 3y2 > 4
>0
yi
y2 > —M( =>■ y2 no restringida)
. / Inversa primal
\
X
, .r
TABLA
4.3
Básica
Tabla óptima del primal del ejemplo 4.2-1
*i
*z
*3
z
0
0
3
5
29 5
-\ + M
x2
0
1
10
1
57
5
1
\
_!
*1
*4
Solución
R
274 5
12 5
26 5
i
La tabla 4.3 muestra la tabla primal óptima. La matriz inversa óptima, que se señala bajo
las variables de inicio x_4 y R es
Inversa óptima = I'
2
V
5
Ahora indicaremos cómo se determinan los valores duales óptimos usando los dos métodos que se citaron al iniciar esta sección.
Método 1. Primero se observa que las variables primales óptimas aparecen en la tabla en orden
del renglón, primero x_2 y después x_1 Eso quiere decir que los elementos de los
coeficientes originales del objetivo para las dos variables deben aparecer en el mismo orden,
que es:
(Coeficientes objetivo originales) = (Coeficiente de x_2, coeficiente de x_1)
= (12, 5) Así,
los valores duales óptimos se calculan como sigue:
,
.
/'Coeficientes objetivo \ w ,T
(Vi, y2) = I
•• i j
\jnju
y originales de x 2 , x x )
1
_1
5
5
i
5
2
5,
, .
.
x
(Inversa óptima)
v
r
/
Método 2. Como el problema dual tiene dos variables se necesitan dos ecuaciones para llegar
a la solución. Tomaremos las restricciones duales asociadas con las variables primales de inicio,
x_4 y R. Como se ve en la definición de dual, las restricciones duales asociadas con las variables primales de inicio son:
Variable de inicio x_4: y_1
\geq 0 Variable de inicio R:
y_2 \geq -M
También, de acuerdo con la tabla óptima (tabla 4.3),
Coeficiente z de x_4 = \frac{29}{5}
Coeficiente z de R = -\ + M
Entonces, de acuerdo con el método 2,
i
Nótese que en cada ecuación interviene exactamente una variable, y por tanto la solución
dual está disponible de inmediato. Éste es siempre el caso de las restricciones duales asociadas con las variables de inicio.
En realidad, las restricciones duales asociadas con dos variables primales cualesquiera se
podrían usar exactamente igual, para obtener la solución dual. Por ejemplo, en la tabla óptima,
las variables primales x_1, y x_3 producirán las siguientes ecuaciones respectivas
(¡verifíquelo!):
y_1 + 2y2 - 5 = 0
Vi + 3y2 - 4 = f
_ 29
La solución de estas dos ecuaciones produce los mismos valores duales óptimos, y_1 =
\frac{29}{5} y y_2 = -\frac{2}{5}. Sin embargo, obsérvese que las ecuaciones que se
obtienen no son tan sencillas como las asociadas con x_4 y R (convénzase usted mismo: dos
variables cualesquiera de x_1, x_2, x_3, x_4 y R producirán la misma solución).
4.2.4
Cálculos con la tabla símplex
En esta sección se indica cómo se puede generar toda la tabla símplex en cualquier iteración,
a partir de los datos originales del problema y la inversa asociada con la iteración. Usando la
distribución de la tabla símplex de la figura 4.1 se puede dividir los cálculos en dos tipos:
1. Columnas de restricción (lados izquierdo y derecho).
2. Renglón objetivo z.
Cálculos de columnas de restricción. En cualquier iteración símplex, una columna del lado
izquierdo o derecho se calcula como sigue:
/Columna de restric-\
/Inversa en la\
/Columna original\
._,
, .,
...
• ' •
=
■.
•- •
X
J
. • ■>
{Formula 1)
x
\ cion en iteración i J
\ iteración i J
\ de restricción J
'
Cálculos de renglón objetivo z. En cualquier iteración símplex, el coeficiente de x¡ en la
función objetivo se calcula como sigue:
/Coeficiente de la variable /Lado izquierdo de\ / Lado derecho de \ = la
restricción dual I — la restricción dual {Fórmula 2) \
x¡ en la ecuación primal \
correspondiente J \ correspondiente j
de z (costo reducido)
Nótese que la fórmula 2 es igual a la que se usó en el método 2, sección 4.2.3, para determinar
la solución dual óptima.
Ejemplo 4.2-2
Se usará la programación lineal del ejemplo 4.2-1 para ilustrar la aplicación de las fórmulas 1
y 2. De acuerdo con la tabla óptima de la tabla 4.3,
Inversa óptima = Iíí\ -5\
\5
5
El uso de la fórmula 1 se ilustra calculando todas las columnas de lado izquierdo y lado derecho de la tabla óptima:
/Columna de jq en\ _ / Inversa en la \
l^ iteración óptima /
yiteración óptima/
/Columna de\
y x1 original /
¡ D»G)-(í
De manera parecida se calculan las siguientes columnas de restricción: /
Columna de x2 en \ _ / s ~~5
la iteración óptima/
|
l
| ll
Columna de x3 en \
la iteración óptima/
_ {s
ll
/ Columna de JC4 en \ _ (5
\ la iteración óptima/
ll
|
~s\
íí
|J
\0
Column de R en \ _ fl
~í
la iteración óptima/
/Columna de lado\
/ \
/I
derecho en la
=I 2j=I\
iteración óptima /
^ x'
\1
_1\
1X\
5/
s
2
A continuación se demostrará cómo se hacen los cálculos del renglón objetivo, con la fórmula 2. Los valores óptimos de las variables duales (yh y2) = (y, -f), se calcularon en el ejemplo
4.2-1, con dos métodos distintos. Estos valores se usan en la fórmula 2 para determinar los coeficientes asociados de z como sigue:
Coeficiente de xx en z = y x + 2y 2 ~ 5 = f + 2 X -\ - 5 = 0
Coeficiente de x2 en z = 2yx - y2 - 12 = 2 X f - (-|) - 12 = 0
Coeficiente de x3 en z = yi + 3>> 2 - 4 = f + 3 X -\ - 4 = |
Coeficiente de xt en z = yx - 0
= y - 0
=
y
Coeficiente de R en z = y2 - (-M)
= -| - (-AÍ)
= -§ + M
Es importante observar que los cálculos con las fórmulas 1 y 2 se pueden aplicar en cualquier iteración, sea de los problemas primales o duales. Todo lo que se necesita es la inversa
asociada con la iteración primal o dual, y los datos de la programación lineal original.
4.2.5
Valor objetivo primal y dual
En los problemas primal-dual, si uno es de maximización el otro debe ser de minimización.
Desde este punto de vista, los valores objetivo en los dos problemas se relacionan de la siguiente manera:
Para cualquier par de soluciones primales y duales factibles,
(
Valor objetivo en el
\ _, /
Valor objetivo en el
\\
problema de maximización ) ~ \ problema de minimización )
En el óptimo, la relación es válida estrictamente como ecuación.
Obsérvese que la relación no especifica cuál problema es primal y cuál es dual. En este
caso sólo importa el sentido de la optimización (maximización o minimización).
Ejemplo 4.2-3
En el ejemplo 4.2-1, {x_1 = 0, x_2 = 0, x_3 = \frac{8}{3}) y (y_1 = 6, y_2 = 0) son
soluciones factibles primal y dual. Los valores asociados de las funciones objetivo son z =
10$\frac{2}{3}$ y w = 60.Tam-bién, la solución óptima de los dos problemas, que
es (x_1 = \frac{26}{5}, x_2 = \frac{12}{5}, x_3 = 0) y (y_1 = \frac{29}{5}, y_2 =
-\frac{2}{5}) producen z = w = 54.8. Ambos cálculos demuestran la relación mencionada.
La relación indica que para todas las soluciones primales y duales factibles, el valor objetivo en el problema de minimización establece siempre una cota superior del valor objetivo en el
problema de maximización. Dado que las iteraciones sucesivas del problema de maximización
obtienen valores crecientes de z, y las del problema de minimización obtienen valores decrecientes de w, al final, en el curso de las iteraciones, se llegará a un punto de equilibrio donde
los valores objetivo de maximización y de minimización deben ser iguales; esto es, z = w.
Documentos relacionados
Descargar