TEMA 4. TEORÍA DE LA DUALIDAD.

Anuncio
Investigación Operativa
TEMA 4. TEORÍA DE LA DUALIDAD.
TEMA 4. TEORÍA DE LA DUALIDAD. ..................................................................... 1
1. INTRODUCCIÓN ............................................................................................ 1
2
ALGORITMO DUAL DEL SIMPLEX ............................................................. 2
2.1
EJEMPLO 1 .............................................................................................. 2
2.2
EJEMPLO 2 .............................................................................................. 3
2.3
EJEMPLO 3 .............................................................................................. 3
3
TEORÍA DE LA DUALIDAD .......................................................................... 3
3.1
PROBLEMA PRIMAL Y PROBLEMA DUAL ........................................ 3
3.2
PROPIEDADES BÁSICAS....................................................................... 3
3.3
TEOREMA DE EXISTENCIA.................................................................. 3
3.4
EJEMPLO ................................................................................................. 3
4
INTERPRETACIÓN ECONÓMICA................................................................. 3
4.1
EJEMPLO ................................................................................................. 3
1. INTRODUCCIÓN
Dado un problema de programación lineal, denominado problema primal, existe otro
problema de programación lineal, denominado problema dual, íntimamente relacionado
con él. Se dice que ambos problemas son mutuamente duales.
Bajo ciertas hipótesis, los problemas primal y dual dan lugar al mismo valor óptimo de
la función objetivo, y por tanto se puede resolver indirectamente el problema primal
resolviendo el problema dual.
Además nos permite utilizando el algoritmo dual del simplex el resolver problemas que
por la forma estándar nos serían irresolubles. Además permite facilitar otros cálculos
como los de las variables artificiales.
Teoría de la Dualidad
Página 1 de 23
Investigación Operativa
2 ALGORITMO DUAL DEL SIMPLEX
El algoritmo dual del simplex será utilizado cuando se llegue mediante el método
clásico del simplex a la siguiente situación:
-
Alguna componente de la solución es menor que cero.
-
Para todas las variables no básicas el último renglón son mayores o iguales que
cero.
También es útil cuando la introducción de variables artificiales complica demasiado el
problema.
Con este algoritmo podemos encontrarnos varias circunstancias:
-
En el último renglón todos los valores son positivos (no varía conforme a la
situación inicial) y los valores negativos de la solución han desaparecido. Es
entonces cuando encontramos la solución óptima.
-
Si en el último renglón tiene valores negativos la solución no es óptima.
o Si la solución tiene valores negativos el problema no tiene solución.
o Si la solución no tiene valores negativos para obtener la solución óptima
se utilizará el método clásico del simplex.
-
Si además de tener una componente negativa tenemos que los elementos de su
fila asociada no son también negativos tenemos que no hay solución al
problema.
El método de resolución es muy similar al del simplex con las siguientes diferencias:
o La variable básica que sale es la que posee un valor negativo más alto.
o En este caso la prueba para encontrar la variable que entra es la
siguiente:
Z j −Cj
max −
yij
2.1
EJEMPLO 1
Calcular la solución optima, si existe, del siguiente problema. Realizar los cálculos
mediante el desarrollo tabular del método dual del Simplex.
Minimizar: z = 30 x1 + 8 x 2 + 6 x3
− 4 x1 + 3 x2 + 2 x3 ≤ 1
Restricciones: 1 3 x1 + 5 3 x2 − 4 3 x3 ≤ 1
− x1 + 2 x2 + 5 x3 ≤ −2
Teoría de la Dualidad
Con xi ≥ 0 ∀i
Página 2 de 23
Investigación Operativa
Para resolver este problema introduciremos variables de holgura, y
multiplicaremos la segunda restricción por 3 para que los cálculos nos sean más
sencillos, quedando las ecuaciones de la siguiente manera:
Minimizar: z = 30 x1 + 8 x 2 + 6 x3
Maximizar: z = −30 x1 − 8 x 2 − 6 x3
− 4 x1 + 3 x2 + 2 x3 + x4 = 1
x1 + 5 x2 − 4 x3 + x5 = 3
Restricciones:
− x1 + 2 x2 + 5 x3 + x6 = −2
Comenzaremos con el desarrollo tabular del método dual del Simplex, recordar
que partimos de una solución básica no factible.
Las variables que forman la base son: x4 , x5 , x6 .
y1
y2
y3
y4
y5
y6
B
-4
3
2
1
0
0
0
XB
x4 = 1
x5 = 3
1
5
-4
0
1
0
1
3
0
x 6 = −2
-1
2
5
0
0
1
-2
Zi
0
0
0
0
0
0
Z i − Ci
30
8
6
0
0
0
CB
0
Aunque Z i − C i ≥ 0 ∀ i la solución es básica no factible por lo cual tendremos
que hacer un cambio de variables en la tabla.
Escogemos de la columna X B la variable cuyo valor es el más negativo y ésta
será la que deje de formar parte de la base. En este caso es x6 , veamos por cual la
vamos a sustituir:
Z − Ci
30
max − i
∀ i tal que y i 3 < 0 max −
30
yi3
−1
Hemos comprobado que la variable x6 dejará de formar parte de la base
sustituida por x1 . Por lo tanto el pivote será el número que está en la casilla sombreada
de la tabla anterior. Ahora, a partir del pivote calcularemos la nueva tabla.
Teoría de la Dualidad
Página 3 de 23
Investigación Operativa
Las variables que forman la base son: x4 , x5 , x1 .
CB
0
0
XB
x4 = 9
x5 = 1
y1
y2
y3
y4
y5
y6
B
0
0
-5
7
-18
1
1
0
0
1
-4
1
9
1
-30
x1 = 2
1
-2
-5
0
0
-1
2
Zi
-30
60
150
0
0
30
Z i − Ci
0
68
156
0
0
30
Como Z i − Ci ≤ 0 ∀ i
2.2
(2,0,0,9,0,1,0) es la solución óptima del problema.
EJEMPLO 2
Calcular la solución optima, si existe, del siguiente problema. Realizar los cálculos
mediante el desarrollo tabular del método dual del Simplex.
Minimizar: z = 30 x1 + 8 x 2 + 6 x3
4 x1 + 3 x 2 + 2 x3 ≤ 1
Restricciones: 1 3 x1 + 5 3 x 2 − 4 3 x3 ≤ −1
− x1 + 2 x 2 + 5 x3 ≤ −2
Con xi ≥ 0 ∀i
Para resolver este problema introduciremos variables de holgura y sin modificar
las restricciones quedando las ecuaciones de la siguiente manera:
Minimizar: z = 30 x1 + 8 x 2 + 6 x3
Maximizar: z = −30 x1 − 8 x 2 − 6 x3
4 x1 + 3 x 2 + 2 x3 + x 4 = 1
Restricciones: 1 3 x1 + 5 3 x 2 − 4 3 x3 + x5 = −1 Con xi ≥ 0 ∀i
− x1 + 2 x 2 + 5 x3 + x 6 = −2
Comenzaremos con el desarrollo tabular del método dual del Simplex, recordar
que partimos de una solución básica no factible.
Teoría de la Dualidad
Página 4 de 23
Investigación Operativa
Las variables que forman la base son: x1 , x 2 , x3 .
CB
0
0
XB
x4 = 1
x5 = −1
y1
y2
y3
y4
y5
y6
B
4
13
3
53
2
−4 3
1
0
0
1
0
0
1
-1
0
x 6 = −2
-1
2
5
0
0
1
-2
Zi
0
0
0
0
0
0
Z i − Ci
30
8
6
0
0
0
Aunque Z
i
− C
i
≥ 0 ∀ i la solución es básica no factible por lo cual
tendremos que hacer un cambio de variables en la tabla. Escogemos de la columna X B
la variable cuyo valor es el más negativo y ésta será la que deje de formar parte de la
base. En este caso es x6 , veamos por cual la vamos a sustituir:
max −
Z i − Ci
∀ i tal que y i 3 < 0
yi3
max −
30 8 6
,− ,−
−1 2 5
30
Hemos comprobado que la variable x6 dejará de formar parte de la base
sustituida por x1 . Por lo tanto el pivote será el número que está en la casilla sombreada
de la tabla anterior. Ahora, a partir del pivote calcularemos la nueva tabla.
Las variables que forman la base son: x1 , x 2 , x3 .
y1
y2
y3
y4
y5
y6
B
0
1
0
0
11
73
22
0
XB
x 4 = −7
x5 = − 5 3
3
0
1
4
13
-7
-5/3
-30
x1 = 2
1
-2
-5
0
0
-1
2
Zi
-30
60
150
0
0
30
Z i − Ci
0
68
156
0
0
30
CB
0
Aunque Z i − C i ≥ 0 ∀ i la solución es básica no factible por lo cual tendremos
que hacer un cambio de variables en la tabla.
Escogemos de la columna X B la variable cuyo valor es el más negativo y ésta
será la que deje de formar parte de la base. En este caso es x 4 , veamos por cual la vas a
sustituir:
Z − Ci
max − i
∀ i tal que y i1 < 0 max{∅} ∃/
y i1
Como y i1 ≥ 0 ∀ i
Teoría de la Dualidad
El problema no tiene solución óptima.
Página 5 de 23
Investigación Operativa
2.3
EJEMPLO 3
Calcular la solución óptima, si existe, del siguiente problema. Realizar los cálculos
mediante el desarrollo tabular del método dual del Simplex.
Minimizar: Z = 2 x1 + x 2 + 3 x3
(Maximizar Z = -2x1 –x2 – 3x3)
Restricciones:
− 3 x1 + 5 x 2 + 6 x3 ≤ 2
5 x1 − 2 x 2 − 4 x3 ≥ 1
Con xi ≥ 0 ∀i
Introducimos variables de holgura para poder solucionar el problema mediante el
método del simplex.
− 3 x1 + 5 x 2 + 6 x3 + x 4 = 2
5 x1 − 2 x 2 − 4 x3 − x5 = 1
No podemos utilizar aún el algoritmo del simplex ya que no tenemos las suficientes
variables básicas, por lo que habría que introducir variables artificiales.
También existe otra alternativa, cambiar de signo la segunda restricción y partir de una
tabla simplex no factible y encontrar la solución óptima mediante el algoritmo dual del
simplex. Las restricciones quedarían como sigue:
− 3 x1 + 5 x 2 + 6 x3 + x 4 = 2
− 5 x1 + 2 x 2 + 4 x3 + x5 = −1
Las variables que forman la base son: x 4 , x5 .
CB
0
0
XB
x4 = 2
x5 = −1
y1
y2
y3
y4
y5
B
-3
-5
5
2
6
4
1
0
0
1
2
-1
Zi
0
0
0
0
0
Z i − Ci
2
1
3
0
0
Aunque Z i − C i ≥ 0 ∀ i la solución es básica no factible por lo cual tendremos
que aplicar el algoritmo dual y hacer un cambio de variables en la tabla.
Teoría de la Dualidad
Página 6 de 23
Investigación Operativa
Escogemos de la columna X B la variable cuyo valor es el más negativo y ésta
será la que deje de formar parte de la base. En este caso es x5 , veamos por cual vamos a
sustituir:
Z − Ci
2
2
∀ i tal que y i 2 < 0 max −
max − i
yi 2
−5
5
Hemos comprobado que la variable x5 dejará de formar parte de la base sustituida por
x1 . Por lo tanto el pivote será el número que está en la casilla sombreada de la tabla
anterior. Ahora, a partir del pivote calcularemos la nueva tabla.
CB
0
-2
y1
y2
y3
y4
0
1
19/5
-2/5
18/5
-4/5
1
0
-3/5 13/5
-1/5 1/5
Zi
-2
4/5
8/5
0
2/5
Z i − Ci
0
9/5
23/5
0
0
Como Z i − C i ≤ 0 ∀ i
y5
B
XB
x 4 = 13 5
x1 = 1 5
1
13
,0,0, ,0 es la solución óptima del problema.
5
5
Ahora intentamos resolver el siguiente problema:
Minimizar: Z = −2 x1 − x 2 − 3 x3
(Maximizar Z = 2x1+x2+ 3x3)
3 x1 − 5 x 2 − 6 x3 ≤ 2
Restricciones:
− 5 x1 + 2 x 2 + 4 x3 ≥ 1
Introducimos variables de holgura y cambiamos de signo la segunda restricción para
evitar tener que utilizar variables artificiales. Con esto queda el siguiente problema a
resolver:
Minimizar: Z = −2 x1 − x 2 − 3 x3
Restricciones:
3 x1 − 5 x 2 − 6 x3 + x 4 = 2
5 x1 − 2 x 2 − 4 x3 + x5 = −1
Las variables que forman la base son: x 4 , x5 .
CB
0
0
XB
x4 = 2
x5 = −1
y1
y2
y3
y4
y5
B
-3
5
-5
-2
-6
-4
1
0
0
1
2
-1
Zi
0
0
0
0
0
Z i − Ci
-2
-1
-3
0
0
NOTA: El 5 no puede ser pivote porque es positivo.
Teoría de la Dualidad
Página 7 de 23
Investigación Operativa
Como Z i − C i ≤ 0 ∀ i y la solución es básica no factible no podemos solucionar
el problema mediante el algoritmo dual del simplex y tendremos que recurrir a utilizar
variables artificiales.
Minimizar: Z = −2 x1 − x 2 − 3 x3 + Mx6
Restricciones:
3 x1 − 5 x 2 − 6 x3 + x 4 = 2
− 5 x1 + 2 x 2 + 4 x3 − x5 + x6 = 1
Las variables que forman la base son: x 4 , x6 .
CB
0
-M
XB
x4 = 2
x6 = 1
y1
y2
y3
y4
y5
y6
B
-3
-5
-5
2
-6
4
1
0
0
-1
0
1
2
1
Zi
5M
-2M
-4M
0
M
-M
Z i − Ci
5M+2
-2M+1
-4M+3
0
M
0
Como Z 3 − C 3 < 0 ∧ ∃ y 3 j > 0 es mejorable. La variable de la base que va a
entrar a la base es x3 , veamos por cual lo hacemos mediante la prueba del cociente
mínimo obviando los valores negativos:
x x
2 1
1
1
min 4 , 6
min
,
min
y 34 y 36
−6 4
4
4
Hemos comprobado que la variable x1 pasará a formar parte de la base en lugar
de x6 . Por lo tanto el pivote será el número que está en la casilla sombreada de la tabla
anterior. Ahora, a partir del pivote calcularemos la nueva tabla. Las variables que
forman la base son: x 4 , x3 .
CB
0
3
XB
x4 = 7 2
x3 = 1 4
y1
y2
y3
y4
y5
y6
B
-21/2
-5/4
-2
1/2
0
1
1
0
-3/2
-1/4
3/2
1/4
7/2
1/4
Zi
-15/4
3/2
3
0
-3/4
¾
Z i − Ci
-7/4
1/2
0
0
-3/4
(3/4)+M
Como Z 1 − C1 > 0
la solución no es óptima, pero al tener que
Z i − Ci > 0 ∧ y i < 0 el problema no tiene solución.
Teoría de la Dualidad
Página 8 de 23
Investigación Operativa
3 TEORÍA DE LA DUALIDAD
3.1
PROBLEMA PRIMAL Y PROBLEMA DUAL
Cada problema de programación lineal lleva asociado un problema “dual” con el que
prácticamente está muy relacionado.
Para calcular el problema dual, partimos del problema de programación lineal expresado
de la forma siguiente (habitual en todos nuestros problemas):
-
Maximizar la función objetivo: Z = c1x1 + c2x2 + …+ cnxn
Poner las restricciones en la forma siguiente:
a11x1 + a12x2 + … + a1nxn <= b1
a21x1 + a22x2 + … + a2nxn <= b2
…
am1x1 + am2x2 + … + amnxn <= bm
El problema dual va a definirse de la siguiente forma:
-
Minimizar una función Z’ con unas variables distintas a Z y con los
coeficientes derechos de las restricciones como coeficientes. Quedaría como
sigue:
Z = b1y1 + b2y2 + …+ bnyn
o El problema dual tiene tantas variables como inecuaciones el sistema de
restricciones del problema primal.
o Los coeficientes de la función objetivo del dual son los términos
independientes de las restricciones del primal.
-
Las restricciones quedarían de la forma siguiente:
a11y1 + a21y2 + … + am1yn >= c1
a22y1 + a22y2 + … + am2yn >= c2
…
a1my1 + a2my2 + … + amnyn >= cn
o El sistema de restricciones del dual tiene tantas inecuaciones ligadas por
el signo “>=” como variables tiene el primal.
o Los coeficientes de las inecuaciones del sistema de restricciones del
problema dual son los mismos que los del sistema de restricciones del
problema primal cambiando filas por columnas.
o Los términos independientes de las inecuaciones del sistema de
restricciones del dual son los términos de la función objetivo del primal.
Teoría de la Dualidad
Página 9 de 23
Investigación Operativa
PROBLEMA PRIMAL
n
Max( Z ) =
j =1
cjxj
Min( yo ) =
restricciones : (i = 1,2.., m)
n
j =1
j =1
i =1
bi y j
aij yi ≤ c j
yi ≥ 0
j = 1,..., n
m
restricciones : ( j = 1,2.., n)
n
aij xi ≤ bi
xj ≥ 0
PROBLEMA DUAL
i = 1,..., m
Un ejemplo de transformación primal/dual sería el que sigue:
PROBLEMA PRIMAL
Max( Z ) = 3 x1 + 5 x2
PROBLEMA DUAL
Min( y0 ) = 4 y1 + 12 y2 + 18 y3
restricciones :
x1 + 0 x2 ≤ 4
restricciones :
y1 + 0 y2 + 3 y3 ≤ 3
0 x1 + 2 x2 ≤ 12
0 y1 + 2 y2 + 2 y3 ≤ 5
y1 , y2 , y3 ≥ 0
3x1 + 2 x2 ≤ 18
x1 , x2 ≥ 0
>=
>=
>=
Term.
ind.
c1
c2
…
cm
Coeficientes
F.O. min
y1
y2
…
ym
PROBLEMA PRIMAL
x1 x2 … xn Term. Ind.
a11 a21 … a1n
≤ b1
a21 a22 … a3n
≤ b2
… … … …
…
am1 am2 … amn
≤ bm
>=
PROBLEMA DUAL
Para hallar la correspondencia entre ambos problemas se suele utilizar la tabla primaldual o de Tucker. En ella se puede observar el problema primal por filas, es decir
verticalmente. Por columnas, es decir horizontalmente, se observa el problema dual.
Coeficientes F.O. max.
Teoría de la Dualidad
Página 10 de 23
Investigación Operativa
Para el ejemplo anterior tendríamos lo siguiente:
Term.
ind.
3
5
Term. Ind.
≤4
≤ 12
≤ 18
Coef.
F.O.
min
x2
0
2
2
>=
y1
y2
y3
x1
1
0
3
>=
PROBLEMA
DUAL
PROBLEMA PRIMAL
Coef.
F.O.max.
Como conclusión la transformación del problema primal en el dual (y viceversa) sería
como sigue:
Teoría de la Dualidad
Página 11 de 23
Investigación Operativa
3.2
PROPIEDADES BÁSICAS
Dada la relación existente entre el problema dual y el primal se pueden enumerar las
siguientes propiedades que nos permitirán el uso de esta dualidad para resolver
diferentes aspectos de los problemas de optimización.
-
Propiedad de la dualidad débil: Cualquier solución factible en el primal tiene
un valor menor o igual que una solución factible en el dual. Matemáticamente:
cX <= Yb. Siempre se cumple porque el valor máximo factible de Z es igual al
valor mínimo factible de Z’.
-
Propiedad de la dualidad fuerte: Si X e Y son respectivamente soluciones
factibles del problema primal y del dual y se cumple que cX=Yb entonces X e Y
son soluciones a ambos problemas. En conclusión, en el óptimo ambas
soluciones son iguales.
-
Propiedad de las soluciones complementarias: En cada iteración, el simplex
determina una solución FEV X del primal, y una solución complementaria Y del
dual. En cada paso se obtienen variables básicas para el primal, y los valores de
las variables de holgura son las soluciones del dual complementarias
óptimas. Éstas se forman con los elementos correspondientes situados en la
última fila y en las columnas que están asociadas a las variables de holgura.
Cuando se está resolviendo el problema primal, el problema dual es no factible.
Sólo se vuelve factible cuando se halla la solución óptima.
-
Propiedad de las soluciones complementarias óptimas: En la tabla simplex
final, se obtiene la solución óptima x* del primal, y se obtiene la solución
óptima complementaria y* del dual, y en este punto ambas son factibles.
c x* = y*b
Los valores de yi* se denominan precios sombra para el problema primal.
-
Propiedad de la simetría: Para cualquier problema, el dual del dual es el
primal.
La solución del problema dual corresponderá a los valores del último renglón de las
variables de holgura
Teoría de la Dualidad
Página 12 de 23
Investigación Operativa
3.3
TEOREMA DE EXISTENCIA
Las relaciones entre el primal y el dual se pueden establecer en tres puntos:
1. Si un problema tiene soluciones factibles y función objetivo acotada, entonces el
otro también y los valores de la función objetivo en el óptimo son iguales.
2. Si uno de los problemas tiene soluciones factibles y función objetivo no acotada,
entonces el otro es no factible.
3. Si un problema no tiene soluciones factibles, entonces el otro no tiene soluciones
factibles o tiene la función objetivo no acotada.
El Teorema de Existencia se enunciaría como sigue: Dados un par de problemas
duales, una y sólo una de las siguientes afirmaciones es verdadera:
- Ninguno de los dos problemas posee soluciones factibles.
- Uno de los problemas no tiene solución factible y el otro sí, pero no
posee solución óptima.
- Los dos problemas poseen solución óptima.
Esto puede resumirse diciendo que entre dos problemas duales únicamente se pueden
dar las siguientes alternativas:
1. Ambos poseen soluciones factibles, entonces los valores de las funciones
objetivo Z y Z’ son 2 conjuntos de números. El punto P la solución simultánea
de los problemas dual y primal.
Z = cx
P
Y’ = yb
2. La función Z no alcanza un máximo, por lo tanto no existe una solución óptima
para el problema dual (no hay punto P).
3. La función objetivo dual Y no está acotada inferiormente y por esto no hay
punto P. El problema primal no tendrá solución óptima.
4. No hay conjunto de soluciones factibles para Z ni para Y, entonces ninguno de
esos dos problemas tiene soluciones factibles.
A partir de las cuatro alternativas podemos establecer dos reglas prácticas:
1. Todo problema de programación lineal puede resolverse aplicando el algoritmo
del simplex a su problema dual asociado.
2. Los lemas de la dualidad son claves en la resolución de algunos problemas (Ej.
Si X e Y son soluciones de un problema dual y primal correspondiente y cX =
Yb, X e Y serán óptimos).
Teoría de la Dualidad
Página 13 de 23
Investigación Operativa
3.4
EJEMPLO
Sea el problema de programación lineal expresado en forma primal:
Max( Z ) = −7 x1 + 8 x 2 − 5 x3
Re stricciones
4 x1 − 3 x1 + 6 x3 ≤ 25
− x1 + x 2 + 7 x3 ≤ 12
xi ≥ 0
1) Expresar el problema dual asociado a éste.
2) Resolver el problema primal aplicando el algoritmo del simplex y calcular
las soluciones del problema dual.
3) Calcular aplicando el algoritmo del simplex el problema dual antes
expresado y resolver también el problema primal.
1) Expresión del problema dual:
Min(Y ) = 25 y1 + 12 y 2
4 y1 − y 2 ≥ −7
Re stricciones − 3 y1 + y 2 ≥ 8
6 y1 + 7 y 2 ≥ −5
yi ≥ 0
2) Resolución del problema primal.
Introducimos las variables de Holgura
Max( Z ) = −7 x1 + 8 x 2 − 5 x3
Re stricciones
4 x1 − 3 x 2 + 6 x3 + x 4 = 25
− x1 + x 2 + 7 x3 + x5 = 12
xi ≥ 0
Construimos la tabla simplex inicial. Las variables básicas son x4, x5
CB
0
0
XB
x4 = 25
x5 = 12
y1
y2
y3
y4
y5
B
4
-1
-3
1
6
7
1
0
0
1
25
12
Zi
0
0
0
0
0
Z i − Ci
7
-8
5
0
0
Como Z 2 − C 2 < 0 ∧ ∃ y 2 j > 0
Teoría de la Dualidad
(0,0,0,25,12) es mejorable.
Página 14 de 23
Investigación Operativa
La variable de la base que va a entrar a la base es x 2 , veamos por cual lo
hacemos mediante la prueba del cociente mínimo obviando los valores negativos:
min
x 4 x5
,
y 22 y 23
min
25 12
,
−3 1
min{12}
12
Hemos comprobado que la variable x 2 pasará a formar parte de la base en lugar
de x5 . Por lo tanto el pivote será el número que está en la casilla sombreada de la tabla
anterior. Ahora, a partir del pivote calcularemos la nueva tabla.
Las variables que forman la base son: x4 , x2 .
CB
0
8
XB
x4 = 61
x2 = 12
y1
y2
y3
y4
y5
B
1
-1
0
1
27
7
1
0
3
1
61
12
Zi
-8
8
56
0
8
Z i − Ci
-1
0
61
0
8
Como Z 1 − C1 < 0 ∧ ∃ y1 j > 0
(0,12,0,61,0) es mejorable.
La variable de la base que va a entrar a la base es x1 , veamos por cual lo
hacemos mediante la prueba del cociente mínimo obviando los valores negativos:
x x
61 12
min 4 , 2
min
,
min{61} 61
y14 y12
1 −1
Hemos comprobado que la variable x1 pasará a formar parte de la base en lugar
de x4 . Por lo tanto el pivote será el número que está en la casilla sombreada de la tabla
anterior. Ahora, a partir del pivote calcularemos la nueva tabla.
Las variables que forman la base son: x1 , x2 .
CB
-7
8
XB
x1 = 61
x 2 = 73
y1
y2
y3
y4
y5
B
1
0
0
1
27
34
1
1
3
4
61
73
Zi
-7
8
83
1
11
Z i + Ci
0
0
88
1
11
Como Z i − Ci ≤ 0 ∀ i (61,73,0,0,0 ) es la solución óptima del problema
primal, quedándose reflejando únicamente las tres variables principales en (61,73,0).
La solución del problema dual corresponderá a los valores del último renglón de
las variables de holgura por lo tanto ( y1 , y 2 ) (1,11)
Teoría de la Dualidad
Página 15 de 23
Investigación Operativa
2) Resolución del problema dual.
Minimizar: z = 25 y1 + 12 y 2
4 y1 − y 2 ≥ −7
Restricciones: − 3 y1 + y 2 ≥ 8
6 y1 + 7 y 2 ≥ −5
Para resolver este problema introduciremos variables de holgura, y cambiamos
de signo las inecuaciones con el fin de que podamos aplicar el algoritmo dual del
simples sin tener que introducir variables artificiales. Al final las ecuaciones quedan de
la siguiente manera:
Minimizar: z = 25 y1 + 12 y 2
(Max z = −25 y1 − 12 y 2 )
− 4 y1 + y 2 + y3 = 7
Restricciones: 3 y1 − y 2 + y 4 = −8
− 6 y1 − 7 y 2 + y5 = 5
Construimos la tabla simplex inicial. Las variables básicas son y3,y4, y5
y1
y2
y3
y4
y5
B
0
YB
y3 = 7
-4
1
1
0
0
7
0
0
y 4 = −8
y5 = 5
3
-6
-1
-7
0
0
1
0
0
1
-8
5
Zi
0
0
0
0
0
Z i − Ci
25
12
0
0
0
CB
Aunque Z i − C i ≥ 0 ∀ i la solución es básica no factible por lo cual tendremos
que aplicar el algoritmo dual del simplex.
Escogemos de la columna Y B la variable cuyo valor es el más negativo y ésta
será la salga de la base. En este caso es y 4 , veamos por cual la vamos a sustituir:
max −
Z i − Ci
∀ i tal que y i 3 < 0
yi 4
max −
25 12
,−
3 −1
12
Hemos comprobado que la variable y 2 pasará a formar parte de la base en lugar
de y 4 . Por lo tanto el pivote será el número que está en la casilla sombreada de la tabla
anterior. Ahora, a partir del pivote calcularemos la nueva tabla.
Teoría de la Dualidad
Página 16 de 23
Investigación Operativa
Las variables que forman la base son: y3 , y 2 , y5 .
CB
0
-12
0
y1
y2
y3
y4
y5
B
0
1
1
0
1
-1
0
0
-1
y2 = 8
y5 = 61
-1
-3
-27
0
0
-7
1
Zi
36
-12
0
12
0
Z i − Ci
61
0
0
12
0
YB
y3 = −1
8
61
Aunque Z i − C i ≤ 0 ∀ i la solución es básica no factible por lo cual tendremos
que aplicar el algoritmo dual del simplex.
Escogemos de la columna Y B la variable cuyo valor es el más negativo y ésta
será la salga de la base. En este caso es y3, veamos por cual la vamos a sustituir:
Z − Ci
61 12
max − i
∀ i tal que y i 3 < 0 max −
,−
61
yi3
−1 1
Hemos comprobado que la variable y1 pasará a formar parte de la base en lugar
de y . Por lo tanto el pivote será el número que está en la casilla sombreada de la tabla
anterior. Ahora, a partir del pivote calcularemos la nueva tabla.
3
CB
-25
-12
0
YB
y1 = 1
y 2 = 11
y 5 = 88
y1
y2
y3
y4
y5
B
1
0
0
1
-1
-3
-1
-4
0
0
0
0
-27
-34
1
1
11
88
Zi
-25
-12
61
73
0
Z i − Ci
0
0
61
73
0
Como Z i − Ci ≤ 0 ∀ i (1,11,0,0,34 ) es la solución óptima del problema dual,
quedándose únicamente con sus dos variables en (1,11) y tomando los valores del
último renglón para las variables de holgura este quedaría (61,73,0)
Teoría de la Dualidad
Página 17 de 23
Investigación Operativa
4 INTERPRETACIÓN ECONÓMICA
Un problema de programación líneal está destinado a la optimización de determinados
recursos económicos. Los problemas “primales” consisten en maximizar una función
objetivo sometida a un conjunto de restricciones representadas por inecuaciones. La
interpretación económica de estos valores es la siguiente:
-
Las variables xi pueden interpretarse como los términos desconocidos de
los productos que fabricaremos.
Los bi son las cantidades disponibles de recursos para elaborar los
productos.
Los términos aij son las cantidades necesarias del recurso i para producir
una unidad del producto j.
Las restricciones representarán la limitación de los recursos disponibles
para fabricar los productos.
El objetivo del fabricante será obtener un beneficio máximo, o sea,
maximizar los beneficios, con lo cual cj serán los beneficios por cada
unidad producida del producto j.
A partir de las relaciones primal-dual interpretaremos económicamente los términos del
anterior:
-
yi: Contribución a la ganancia por cada unidad del recurso i. Estas variables del
problema dual reciben el nombre de precios de sombra.
yi>=0: La ganancia por cada unidad del recurso i, debe ser no negativa, de lo
contrario sería mejor no utilizar este recurso en absoluto.
F.Objetivo: Es la minimización total del valor implícito de los recursos
consumidos por las actividades.
En general el precio sombra de una restricción proporciona el cambio en el valor de la
función objetivo como resultado de un cambio unitario en el término independiente de
la restricción, suponiendo que el resto de parámetros del problema permanecen
inalterados.
En muchos problemas de programación lineal los precios sombra son tan importantes
como la solución del problema, ya que proporcionan información sobre el efecto en la
función objetivo de cambios en los recursos disponibles.
Teoría de la Dualidad
Página 18 de 23
Investigación Operativa
4.1
EJEMPLO
(Procedente Escuela Técnica Superior de Ingeniería Industrial de Ciudad Real)
Un carpintero modesto fabrica dos tipos de mesas de madera. Cada mesa del tipo 1
necesita 4 horas de mecanizado primario (preparación de piezas) y 4 horas de
mecanizado secundario (ensamblado y barnizado). Análogamente, cada mesa del tipo 2
necesita 3 horas de mecanizado primario y 7 horas de mecanizado secundario.
Las disponibilidades diarias de mecanizados primario y secundario son respectivamente
de 40 y 56 horas-máquina. La venta de una mesa del tipo 1 reporta un beneficio de 70
euros, mientras que la venta de una mesa del tipo 2 de 90 euros.
Siendo x1 y x2 son las cantidades diarias de mesas a fabricar de los tipos 1 y 2
respectivamente el problema de programación lineal quedaría como sigue:
Maximizar: z = 70 x1 + 90 x 2
Restricciones:
4 x1 + 3 x 2 ≤ 40
∀xi ≥ 0
4 x1 + 7 x 2 ≤ 56
Introducimos las variables de Holgura
Max( Z ) = 70 x1 + 90 x 2
Re stricciones
4 x1 + 3 x 2 + x3 = 40
4 x1 + 7 x 2 + x 4 = 56
xi ≥ 0
Construimos la tabla simplex inicial. Las variables básicas son x4, x5
CB
0
0
y1
y2
y3
y4
B
3
7
1
0
0
1
40
x 4 = 56
4
4
Zi
0
0
0
0
Z i − Ci
-70
-90
0
0
XB
x3 = 40
56
Como Z 2 − C 2 < 0 ∧ ∃ y 2 j > 0 (0,0,40,56 ) es mejorable. La variable x2 es la
variable que entrará a la base, la variable que saldrá será la correspondiente a la prueba
del cociente mínimo.
40 56
,
min{10,8} 8
3 7
saldrá de la base por lo que el elemento pivote es el 7.
min
La variable x4
Teoría de la Dualidad
Página 19 de 23
Investigación Operativa
CB
0
90
y1
y2
y3
y4
B
0
1
1
0
-3/7
1/7
16
x2 = 8
16/7
4/7
Zi
360/7
90
0
90/7
Z i − Ci
-130/7
0
0
90/7
XB
x3 = 16
8
Como Z 1 − C1 < 0 ∧ ∃ y1 j > 0 (0,8,16,0 ) es mejorable. La variable x1 es la
variable que entrará a la base, la variable que saldrá será la correspondiente a la prueba
del cociente mínimo.
16
8
,
min{7,14} 7
16 / 7 4 / 7
La variable x3 saldrá de la base por lo que el elemento pivote es el 16/7.
min
CB
70
90
XB
x1 = 7
x2 = 4
y1
y2
y3
y4
B
1
0
0
1
7/16
-1/4
-3/16
¼
7
4
Zi
70
90
65/8
75/8
Z i − Ci
0
0
65/8
75/8
Como Z i − C i ≥ 0 (70,90,0,0 ) es mejorable. La variable x1 es la variable que
entrará a la base, la variable que saldrá será la correspondiente a la prueba del cociente
mínimo.
La solución óptima (obtenida por el método gráfico o el algoritmo del simplex)
establece que han de producirse diariamente 7 y 4 sillas de los tipos 1 y 2
respectivamente, lo que da lugar a un beneficio de 850 euros.
Este resultado indica que ambos recursos de mecanizado (primario y secundario) están
plenamente utilizados porque las restricciones relacionadas con ellos están ambas
activas, es decir, las dos son restricciones obligatorias.
Por otra parte, considérese que quiere aumentarse el beneficio diario. Para ello es
necesario aumentar la capacidad productiva. Considérese que la capacidad de
mecanizado secundario puede aumentarse cada día de 56 a 72 horas de máquina. ¿Cómo
afecta esta ampliación de capacidad a los beneficios diarios?
Teoría de la Dualidad
Página 20 de 23
Investigación Operativa
La solución puede obtenerse mediante Análisis de Sensibilidad utilizando los
mecanismos vistos en el tema anterior y el algoritmo dual del simplex si procede.
7 / 16
− 3 / 16
− 1/ 4
1/ 4
*
40
72
=
4
8
En este caso la solución óptima es x1 = 4 y x2 = 8 con un beneficio máximo diario de
1000 euro.
Este solución indica que el beneficio diario crece en 150 euros y la capacidad de
mecanizado secundario crece en 72 - 56 = 16 horas máquina.
El ratio 1000-850/16=150/16=75/8 euros, al que la función objetivo crece al crecer la
capacidad de mecanizado secundario 1 hora, se denomina sensibilidad o precio sombra
(también precio dual) de la capacidad de mecanizado secundario.
En general el precio sombra de una restricción proporciona el cambio en el valor de la
función objetivo como resultado de un cambio unitario en el término independiente de
la restricción, suponiendo que el resto de parámetros del problema permanecen
inalterados. En muchos problemas de programación lineal los precios sombra son tan
importantes como la solución del problema, ya que proporcionan información sobre el
efecto en la función objetivo de cambios en los recursos disponibles. Los precios
sombra pueden obtenerse resolviendo el problema dual.
El problema dual del problema del carpintero se formula a continuación.
Minimizar: z = 40 y1 + 56 y 2
Restricciones:
4 y1 + 4 y 2 ≥ 70
∀y i ≥ 0
3 y1 + 7 y 2 ≥ 90
Introducimos variables de holgura cambiando de signo las restricciones:
Minimizar: z = 40 y1 + 56 y 2
Maximizar: z = −40 y1 − 56 y2
Restricciones:
Teoría de la Dualidad
− 4 y1 − 4 y 2 + y 3 = −70
∀y i ≥ 0
− 3 y1 − 7 y 2 + y 4 = −90
Página 21 de 23
Investigación Operativa
La tabla simplex inicial quedaría
CB
0
0
YB
y 3 = −70
y1
y2
y3
y4
B
-4
-3
1
0
0
1
-70
y 4 = −90
-4
-7
Zi
0
0
0
0
Z i − Ci
40
56
0
0
-90
Aunque Z i − C i ≤ 0 ∀ i la solución es básica no factible por lo cual tendremos
que aplicar el algoritmo dual del simplex.
Escogemos de la columna Y B la variable cuyo valor es el más negativo y ésta
será la salga de la base. En este caso es y4, veamos por cual la vamos a sustituir:
Z − Ci
40 56
max − i
∀ i tal que y i 3 < 0 max −
,−
40 / 3
yi 3
−3 −7
Hemos comprobado que la variable y1 pasará a formar parte de la base en lugar
de y4. Por lo tanto el pivote será el número que está en la casilla subrayada de la tabla
anterior. Ahora, a partir del pivote calcularemos la nueva tabla.
y1
y2
y3
y4
B
0
YB
y 3 = 50
0
1
-4/3
50
-40
y1 = 30
1
16/3
7/3
0
-1/3
30
Zi
40
-280/3
0
40/3
Z i − Ci
0
-112/3
0
40/3
CB
Como Z 2 − C 2 < 0 ∧ ∃ y 2 j > 0 (30,0,50,0 ) es mejorable. La variable y2 es la
variable que entrará a la base, la variable que saldrá será la correspondiente a la prueba
del cociente mínimo.
50 30
150 90
150
,
min
,
16 / 3 7 / 3
16 7
16
La variable y3 saldrá de la base por lo que el elemento pivote es el 16/3.
min
CB
-56
-40
YB
y 2 = 150 / 16
y1 = 130 / 16
y1
y2
y3
y4
B
0
1
1
0
3/16
-7/16
-1/4
1/4
150/16
130/16
Zi
-40
-56
7
4
Z i − Ci
0
0
7
4
Teoría de la Dualidad
Página 22 de 23
Investigación Operativa
La solución óptima de este problema es y1 = 65/8, y2 = 75/8, y el valor óptimo de la
función objetivo es 850. Obsérvese que y1 y y2 son los precios sombra de las
capacidades de mecanizado primario y secundario, respectivamente, y que los valores
óptimos de la función objetivo de los problemas primal y dual coinciden.
El problema dual puede interpretarse de la siguiente manera. Considérese que el
objetivo es vender tiempo de mecanizado primario y secundario y supóngase que de
esta forma se obtienen al menos el mismo nivel de beneficios que haciendo mesas. En
esta situación vender tiempo de mecanizado y hacer mesas han de ser actividades
igualmente lucrativas. Las variables y1 y y2 variables representan los precios de venta de
una hora de mecanizados primario y secundario respectivamente. Para preservar la
competitividad del negocio, el beneficio diario ha de minimizarse, esto es minimizar la
función 40y1 + 56y2, donde 40 y 56 representan respectivamente la disponibilidad diaria
en horas de mecanizado primario y secundario respectivamente. Las restricciones del
problema dual establecen que el coste de las horas de mecanizado primario y secundario
para producir una mesa de cada tipo no debe superar el beneficio que se obtiene por
venta de la misma; y que los precios son cantidades no negativas.
Teoría de la Dualidad
Página 23 de 23
Descargar