2. El termino dualidad señala la existencia de dos
fenómenos o caracteres diferentes en un mismo estado.
En este sentido, las nociones del bien y el mal son un
ejemplo de dualidad; la filosofía china también cuenta
con los conceptos del yin y el yang para resumir la
dualidad de todo lo que existe en el universo.
Dentro de la investigación de operaciones, el concepto
de dualidad desempeña un papel importante tanto en la
teoría como en la practica. Todo modelo de
programación lineal esta asociado a otro modelo
llamado modelo dual; al modelo de programación inicial
también se le conoce como modelo primal.
3. Entre otras cosas, las estructuras duales permiten:
• Resolver problemas lineales que tienen mas
restricciones que actividades. Por ejemplo, el grado de
dificultad para resolver un programa lineal por medio
de una computadora que esta en función del numero
de filas de la matriz A y no en el numero de columnas,
al aplicar la dualidad a un problema primario donde m
> n, se obtiene otro problema lineal donde el numero
de columnas m < n. Una vez que se resuelve el
problema primario, de manera automática se
soluciona su correspondiente dual o viceversa.
• Hacer interpretaciones económicas de las soluciones
optimas de los problemas de programación lineal.
4. • Concebir nuevos algoritmos para solucionar problemas de
redes de optimización.
• Generar métodos como el dual simplex para realizar análisis
de sensibilidad de los programas de programación lineal.
Para poder entender el concepto de dualidad debemos
referirnos al tema de matriz transpuesta.
Podemos decir que la matriz A transpuesta, que se conoce con
la simbología 𝐴𝑇 , es aquella en donde las columnas se
transforman en filas o viceversa.
Ejemplo: Si tenemos la siguiente matriz:
5. Cuestiones importantes que se deben tomar en cuenta:
• Cuestión 1. Si el primal es un problema de
maximización, su dual será un problema de
minimización o viceversa.
• Cuestión 2. Los coeficientes de la función objetivo del
problema primal se convierten en los coeficientes del
vector de disponibilidad del problema dual.
• Cuestión 3. Los coeficientes del vector de disponibilidad
del problema original se convierten en los coeficientes
de la función objetivo (vector de costo o precio) del
problema dual.
6. • Cuestión 4. Los coeficientes de las restricciones del
problema primal serán la matriz de coeficientes del
dual.
• Cuestión 5. Los signos de desigualdad del
problema dual son contrarios a los del primal.
• Cuestión 6. Si el primal tiene m restricciones y n
variables, el dual tendrá n restricciones y m
variables. Así, las variables 𝑋𝑛 del primal se
convierten en nuevas variables 𝑌𝑚 del dual.
7. En la figura siguiente se ilustra quien es A; B; C para,
posteriormente, convertirse en su dual.
Estructura de un
problema dual.
Donde:
C = constante
x = variable
Cx = función objetivo
8. Primal
Min Z = 15x1 + 12x2
Sujeto a: x1 + 2x2 ≥
3 2x1 – 4x2 ≤ 5
xi ≥
0
Note que xi = x1, x2, …, xn
según las variables utilizadas
Dual
Max G = 3y1 +
5y2
Sujeto a: y1 + 2y2 ≤ 15
2y1 – 4y2 ≥ 12
yi ≥ 0
Primal
Min Z = x1 + 3x2 +
2x3
Sujeto a: 3x1 – x2 + 2x3
≤ 7
2x1 – 4x2 ≥ 12
–2x1 + 3/2 x2 + 4x3
≤ 5 xi ≥
0
Dual
Max J = 7y1 + 12y2 +
5y3
Sujeto a: 3y1 + 2y2 – 2y3 ≥
1
–y1 – 4y2 + 3/2y3 ≤
3 2y1 + 4y3 ≥ 2
yi ≥ 0
10. Transformando el modelo de la forma primal a dual
𝑭. 𝑶. 𝒁 𝒎𝒊𝒏 = 𝟐𝑿𝟏 + 𝑿𝟐
𝟑𝑿𝟏+ 𝑿𝟐 ≥ 3
𝑿𝟏 + 𝟐𝑿𝟐 ≥ 2
𝟒𝑿𝟏 + 𝟑𝑿𝟐 ≥ 6
Dual
Restricción 1 Restricción 2 F.O
𝑭. 𝑶. 𝒁 𝒎𝒂𝒙 = 𝟑𝑿𝟏 + 𝟔𝑿𝟐 + 𝟐𝑿𝟑
3𝑿𝟏 + 𝟒𝑿𝟐 + 𝑿𝟑 ≤ 𝟐
𝑿𝟏 + 𝟑𝑿𝟐 + 𝟐𝑿𝟑 ≤ 1
Transformando el modelo de la forma general a forma estándar
𝒁 − 𝟑𝑿𝟏 − 𝟔𝑿𝟐 − 𝟐𝑿𝟑 = 𝟎
3𝑿𝟏 + 𝟒𝑿𝟐 + 𝑿𝟑 + 𝑺𝟏 = 𝟐
𝑿𝟏 + 𝟑𝑿𝟐 + 𝟐𝑿𝟑 + 𝑺𝟐 = 1
11. Introducir los valores del modelo de la forma estándar a la tabla simplex.
Z R
Z F1
R1 F2
R2 F3
𝑿𝟏 𝑿𝟐 𝑿𝟑 𝑺𝟏 𝑺𝟐
𝒁 − 𝟑𝑿𝟏 − 𝟔𝑿𝟐 − 𝟐𝑿𝟑 = 𝟎
3𝑿𝟏 + 𝟒𝑿𝟐 + 𝑿𝟑 + 𝑺𝟏 = 𝟐
𝑿𝟏 + 𝟑𝑿𝟐 + 𝟐𝑿𝟑 + 𝑺𝟐 = 1
F1 1 -3 -6 -2 0 0 0
F2 0 3 4 1 1 0 2
F3 0 1 3 2 0 1 1
El valor de Z que se elija indicara la columna que se debe y se
llamara columna pivote o columna de entrada.
En la tabla se puede observarse que 𝑋2 es la variable de entrada.
-6
4
3
𝑿𝟐
12. Se determina la variable de salida mediante la división de la columna
solución de las restricciones entre la columna pivote o de entrada.
2 ÷ 4 = 1/2
1 3
÷ = 1/3
Observe que los resultados son 1/2 y 1/3, por lo que se elige el
valor positivo mas pequeño sin tomar en cuenta valores negativos
o ceros.
Z R
Z F1 1 -3 -6 -2 0 0 0
R1 F2 0 3 4 1 1 0 2
R2 F3 0 1 3 2 0 1 1
𝑿𝟏 𝑿𝟐 𝑿𝟑 𝑺𝟏 𝑺𝟐
Z R
Z F1 1 -3 -6 -2 0 0 0
R1 F2 0 3 4 1 1 0 2
R2 F3 0 1 3 2 0 1 1
𝑿𝟏 𝑿𝟐 𝑿𝟑 𝑺𝟏 𝑺𝟐
3
13. Es muy importante que el pivote tome el valor 1; si este no
tiene dicho valor, conviértalo a 1 dividiendo todo el renglón
entre el valor que hace 1 el pivote, en este caso vamos a
dividir a F3/3
0/3=0 1/3=
𝟏
𝟑
3/3=1 2/3=2/3
0/3=0 1/3=
𝟏
𝟑 1/3=1/3
Después de hacer uno al pivote, dividiendo la F3 entre 3 sustituimos
los valores nuevos en F3.
Z R
Z F1 1 -3 -6 -2 0 0 0
R1 F2 0 3 4 1 1 0 2
R2 F3 0 1 3 2 0 1 1
𝑿𝟏 𝑿𝟐 𝑿𝟑 𝑺𝟏 𝑺𝟐
F 3= F3/3
F3 0 1 0
𝟏
𝟑
𝟐
𝟑
𝟏
𝟑
𝟏
𝟑
14. Haciendo 0 a -6 que se encuentra en F1
* 1 +6(0) = 1
* -3 + 6(
𝟏
𝟑
) = -1
* -6 + 6(1) = 0
* -2 + 6(
𝟐
𝟑
) = 2
* 0 + 6(0) = 0
* 0 + 6(
𝟏
𝟑
) = 𝟐
* 0 + 6(
𝟏
𝟑
) = 2
Sustituyendo los datos encontrados en la nueva F1
Haciendo 0 a 4 que se encuentra en F2
* 0 - 4(0) = 0
* 3 - 4 (
𝟏
𝟑
) =
𝟓
𝟑
* 4 - 4(1) = 0
* 1 - 4(
𝟐
𝟑
) = -
𝟓
𝟑
* 0 - 4(
𝟏
𝟑
) = -
𝟒
𝟑
* 2 - 4(
𝟏
𝟑
) =
𝟐
𝟑
Sustituyendo los datos encontrados en la nueva F2
* 1 - 4(0) = 1
Z R
Z F1 1 -3 -6 -2 0 0 0
R1 F2 0 3 4 1 1 0 2
R2 F3 0 1 0
𝑿𝟏 𝑿𝟐 𝑿𝟑 𝑺𝟏 𝑺𝟐
𝟏
𝟑
𝟐
𝟑
𝟏
𝟑
𝟏
𝟑
F1= F1 + 6F3
F1 1 -1 0 2 0 2 2
Z R
Z F1 1 -1 0 2 0 2 2
R1 F2 0 3 4 1 1 0 2
R2 F3 0 1 0
𝑿𝟏 𝑿𝟐 𝑿𝟑 𝑺𝟏 𝑺𝟐
𝟏
𝟑
𝟐
𝟑
𝟏
𝟑
𝟏
𝟑
F2 = F2 - 4F3
F2 0 0 1 −
𝟒
𝟑
𝟐
𝟑
𝟓
𝟑
-
𝟓
𝟑
15. Z R
Z F1 1 -1 0 2 0 2 2
R1 F2 0 0 1
R2 F3 0 1 0
𝑿𝟏 𝑿𝟐 𝑿𝟑 𝑺𝟏 𝑺𝟐
𝟏
𝟑
𝟐
𝟑
𝟏
𝟑
𝟏
𝟑
𝟓
𝟑
−
𝟓
𝟑
𝟒
𝟑
𝟐
𝟑
−
𝟒
𝟑
Se vuelve elegir columna Z, y se determina la variable de salida
mediante la división de la columna solución de las restricciones entre la
columna pivote o de entrada.
2/3÷ 5/3 = 2/5
1/3 1/3
÷ = 1
Observe que los resultados son 2/5 y 1, por lo que se elige el
valor positivo mas pequeño sin tomar en cuenta valores negativos
o ceros.
𝟓
𝟑
Z R
Z F1 1 -1 0 2 0 2 2
R1 F2 0 0 1
R2 F3 0 1 0
𝑿𝟏 𝑿𝟐 𝑿𝟑 𝑺𝟏 𝑺𝟐
𝟏
𝟑
𝟐
𝟑
𝟏
𝟑
𝟏
𝟑
𝟓
𝟑
−
𝟓
𝟑
𝟒
𝟑
𝟐
𝟑
F2 0 0 1 −
𝟒
𝟑
𝟐
𝟑
𝟓
𝟑
-
𝟓
𝟑
-1
𝑿𝟏
𝟏
𝟑
𝟓
𝟑
16. Es muy importante que el pivote tome el valor 1; si este no
tiene dicho valor, conviértalo a 1 multiplicando todo el renglón
entre el valor que hace 1 el pivote, en este caso vamos a
multiplicar a F2 por
𝟑
𝟓
.
0 x 3/5=0
𝟓
𝟑
x
𝟑
𝟓
= 1 0 x
𝟏
𝟑
= 0 -
𝟓
𝟑
𝒙
𝟑
𝟓
= -1
1 x
𝟑
𝟓
=
𝟑
𝟓
-
𝟒
𝟑
x
𝟑
𝟓
= -
𝟒
𝟓
𝟐
𝟑
𝒙
𝟑
𝟓
=
𝟐
𝟓
Después de hacer uno al pivote, multiplicando F2 por
𝟑
𝟓
sustituimos
los valores nuevos en F2.
F2 = F2 x 3/5
Z R
Z F1 1 -1 0 2 0 2 2
R1 F2 0 0 1
R2 F3 0 1 0
𝑿𝟏 𝑿𝟐 𝑿𝟑 𝑺𝟏 𝑺𝟐
𝟏
𝟑
𝟐
𝟑
𝟏
𝟑
𝟏
𝟑
𝟓
𝟑
−
𝟓
𝟑
𝟒
𝟑
𝟐
𝟑
−
𝟒
𝟑
F2 0 1 0 -1
𝟒
𝟓
𝟐
𝟓
𝟑
𝟓
−
𝟒
𝟓
17. Haciendo 0 a -1 que se encuentra en F1
* 1 - (0) = 1
* -1 + (𝟏) = 0
* 0 + (0) = 0
* 2 + (−𝟏) = 1
* 0 + (
𝟑
𝟓
) ) =
𝟑
𝟓
* 2 + (-
𝟒
𝟓
) =
𝟔
𝟓
* 2 + (
𝟐
𝟓
) =
𝟏𝟐
𝟓
Sustituyendo los datos encontrados en la nueva F1
Haciendo 0 a
𝟏
𝟑
que se encuentra en F3
* 0 -
𝟏
𝟑
(0) = 0
*
𝟏
𝟑
-
𝟏
𝟑
(𝟏) = 𝟎
* 1 -
𝟏
𝟑
(0) = 1
*
𝟐
𝟑
-
𝟏
𝟑
(−𝟏) = 1
*
𝟏
𝟑
-
𝟏
𝟑
(-
𝟒
𝟓
) =
𝟑
𝟓
*
𝟏
𝟑
-
𝟏
𝟑
(
𝟐
𝟓
) =
𝟏
𝟓
Sustituyendo los datos encontrados en la nueva F3
* 0 -
𝟏
𝟑
(
𝟑
𝟓
) = -
𝟏
𝟓
F1 = F1 + F2
F3 = F3 - 𝟏/𝟑F2
Z R
Z F1 1 -1 0 2 0 2 2
R1 F2 0 1 0 -1
R2 F3 0 1 0
𝑿𝟏 𝑿𝟐 𝑿𝟑 𝑺𝟏 𝑺𝟐
𝟏
𝟑
𝟐
𝟑
𝟏
𝟑
𝟏
𝟑
𝟒
𝟓
𝟐
𝟓
𝟑
𝟓
−
𝟒
𝟓
F1 1 0 0 1
𝟑
𝟓
𝟏𝟒
𝟓
𝟏𝟐
𝟓
𝟔
𝟓
Z R
Z F1 1 0 0 1
R1 F2 0 1 0 -1
R2 F3 0 1 0
𝑿𝟏 𝑿𝟐 𝑿𝟑 𝑺𝟏 𝑺𝟐
𝟏
𝟑
𝟐
𝟑
𝟏
𝟑
𝟏
𝟑
𝟒
𝟓
𝟐
𝟓
𝟑
𝟓
𝟑
𝟓
𝟏𝟒
𝟓
𝟏𝟐
𝟓
−
𝟒
𝟓
𝟔
𝟓
F3 0 0 1 1
𝟏
𝟏𝟓
𝟏
𝟓
𝟒
𝟏𝟓
𝟑
𝟓
𝟏
𝟓
18. Z R
Z F1 1 0 0 1
R1 F2 0 1 0 -1
R2 F3 0 0 1 1
𝑿𝟏 𝑿𝟐 𝑿𝟑 𝑺𝟏 𝑺𝟐
𝟑
𝟓
𝟏
𝟓
−
𝟒
𝟓
𝟐
𝟓
𝟑
𝟓
𝟔
𝟓
𝟏𝟐
𝟓
𝟏
𝟓
𝟑
𝟓
Resumiendo la información se obtiene la tabla siguiente:
Note que ya
son ceros
Z =
𝟏𝟐
𝟓
Z(max) = 𝟏𝟐/𝟓
𝑿𝟏 =
𝟐
𝟓
𝑿𝟐 =
𝟏
𝟓
𝑿𝟑 = 0
Comprobando respuesta
𝑭. 𝑶. 𝒁 𝒎𝒂𝒙 = 𝟑
𝟐
𝟓
+ 𝟔
𝟏
𝟓
+ 𝟐(𝟎)