MCLecturas 2 Programación Lineal 20240824
MCLecturas 2 Programación Lineal 20240824
1.5.
Lecturas
© [email protected] +526461528229;65050 Cubículo 321
(414) 1.5.2. 2
1.5.2.
Programación Lineal
En este tema englobamos las técnicas y métodos usados para lograr la optimización de la función
objetivo, manteniéndose siempre dentro de la factibilidad que dictaminan restricciones y
condiciones.
Se limita a modelos matemáticos lineales constituidos por sistemas de relaciones de primer orden
y grado con dos o más variables.
Cuando hay el mismo número de relaciones linealmente independientes1 que, de variables, solo
existe una solución. Es imposible tener más relaciones linealmente independientes que el número
de variables. Si hay más relaciones linealmente independientes que el número de variables, la
solución es única descartando cualquiera de las ecuaciones que estén de más. Si hay un número
menor de relaciones que de variables, el número de soluciones es infinito, pero en ese caso se puede
buscar la mejor solución, mediante el arbitrio de una función de utilidades (costos) que permita
discernir cual es el valor de cada solución, y mediante esta valoración encontrar el óptimo.
1.5.2.1.
En una dimensión
El problema es trivial, sería segmento de la recta numérica, coloreado gradualmente de blanco
(máximo) a negro (mínimo).
Máximo Mínimo
1
Las relaciones linealmente independientes son aquellas que ninguna de ellas se puede generar de las otras por
operaciones de multiplicación por alguna variable y la suma de ellas. Su número es iguakl al número de bvariables.
1.5.2.4.
Caso Ejemplar3
Se tiene un taller en el que se producen Mesas y Sillas
(Variables independientes: Cantidad de Mesas y cantidad de Sillas)
Los Recursos, en una base de tiempos diaria, con que cuenta son:
• Mano de Obra dos empleados a tiempo completo y dos empleados a medio tiempo:
___ 2 * 8hh +2 * 4hh = 16hh +8hh = 24hh
• Materiales se cuenta diariamente con 24 hojas de triplay
• Equipo Hay 15 puestos de trabajo.
Las restricciones son:
Cada Mesa se lleva 1hh, 2 hojas de triplay y requiere de 1 banco de trabajo.
Cada Silla ocupa 2hh, 1 hoja de triplay y necesita de 1 banco de trabajo.
Recursos
Productos
Mano de Obra <=24 Materiales <=24 Equipo <=15
Mesas 1 hh 2 hoja 1 banco
Sillas 2 hh 1 hoja 1 banco
Restricción 1M + 2S <= 24 2M + 1S <= 24 1M + 1S <= 15
El costo al público es de $15por cada Mesa y de $9 por cada Silla
El costo de producción $12por cada Mesa y de $5 por cada Sillas
Mesas Sillas La Utilidad neta es de
Costo al Publico 15 $/Mesa 9 $/silla $3*Mesas + $4*Sillas
Costo de Producción 12 $/Mesa 5 $/silla
Utilidad neta 3 $/Mesa 4 $/silla
Formulemos: Función Objetivo:
maximizar 3*M + 4*S = Z4 [$]
Sujeto a las restricciones:
Ninguna de las variables puede tomar valores negativos: 1*M ≥ 0. [Mesas]
1*S ≥ 0. [Sillas]
Mano de obra 1*M + 2*S ≤ 24 [Horas Hombre]
Materiales 2*M + 1*S ≤ 24 [Hojas de Triplay]
Equipo 1*M + 1*S ≤ 15 [Bancos de Trabajo]
3
Siempre usaremos este ejemplo para poder ilustrar prácticamente la técnica usada para
implementar el método bajo discusión.
4
Z es una variable de la que desconcemos su valor. Debemos encontrar los valores de M y S de modo que se cumplan
las rerstricciones y Z sea máxima
∆Y→
4
β=∆Y/ΔX
ΔX→ β=1/2=0.5
3
0
-5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10
Otras Ecuaciones.
6 𝒙 𝒚
+ =𝟏 Ecuación 3
𝜻 𝜶
5
X/3 + Y/6 =1 Cuyos parámetros son:
4 • ,αLa intercepción con el eje vertical.
α 3 • ,ζ La intercepción con el eje
horizontal.
2 −𝜶
𝜷= Ecuación 4
1 𝜻
0
0 1 2 3 4
0
0 1 2 3 4
1.5.2.5.2.3.
Convexidad
En un espacio Euclideano, un objeto es convexo si para cualquier par de puntos dentro del objeto,
se pueden unir por un segmento de recta que contiene todos sus puntos dentro de dicho objeto.De
otra manera se dice que es concavo.
Las posibles soluciones se encuentran limitadas por rectas que señalan la máxima (o mínima)
utilización de algún recurso. Es por esto que también se denomina Espacio de Factibilidad.
20
15
M≥0 S≥0
10
5 Espacio de
Factibilidad
0
0 5 10 15 20 25
20
M≥0
15
S≥0
1*M + 2*S ≤ 24
10
5 Espacio de
Factibilidad
0
0 5 10 15 20 25
20 M≥0
S≥0
1*M + 2*S ≤ 24
15
2*M + 1*S ≤ 24
10
5 Espacio
de
0
Factibilidad
0 5 10 15 20 25
20
M≥0
S≥0
1*M + 2*S ≤ 24
15
2*M + 1*S ≤ 24
1*M + 1*S ≤ 15
10
5
Espacio
de
Factibilidad
0
0 5 10 15 20 25
0
0 5 10
Ilustración 5 Ilustración 1 Espacio de soluciones: Gradiente y diferentes utilidades
1.5.2.5.5.
Programa SCILAB para visualización de las
C=[1 2;2 1;1 1;-1 0;0 -1];R=[24;24;15;0;0];U=[3,4];
soluciones
X=[0,12,9,6,00,0,12,09,06,00,0,12,12,12,9,09,9,6,06,6,00,00,00];
Y=[0, 0,6,9,12,0,00,06,09,12,0,00,00,00,6,06,6,9,09,9,12,12,12];
Z=[0,00,0,0,00,0,36,51,54,48,0,00,36,00,0,51,0,0,54,0,00,48,00];
param3d(X,Y,Z);
d=.5;c=[1];x=[-d;d;d;-d];y=[-d,-d,d,d]';z=x;
fori=0:24;for j=0:24; p=[i;j]; if and(C*p <= R) then b=U*p;
c=[c,b,b];x=[x,[i-d;i+d;i+d;i-d],[i-d;i+d;i+d;i-d]];y=[y,[j-d;j-d;j+d;j+d],[j+d;j+d;j-d;j-d]];
z=[z,[b-.01;b-.01;b-.01;b-.01],[b+.01;b+.01;b+.01;b+.01]];
end;end;end;
plot3d(x,y,list(z,c))
f=gcf();f.color_map=rainbowcolormap(max(c));h=gce();h.color_mode=-2;h.color_flag=2;
a=gca(); a.grid=[1 1 1]; a.data_bounds=[0,0,0;12,12,55];
for j=0:.5:360;a.rotation_angles=[j,2*j];end;
15
10
0
0 5 10 15 20 25 30 35
Solucion:
X=6
Y=12
Z=60
1.5.2.5.5.2.
Ejercicios
Maximizar: Maximizar: Maximizar: Maximizar: Maximizar: Maximizar:
Z= 3x + 2y Z= 4x + 2y Z=5x + 2y Z= A + B Z= U + V Z=3M + 4N
Sujeto a: Sujeto a: Sujeto a: Sujeto a: Sujeto a: Sujeto a:
3x + y ≤ 24 2x + y ≤ 18 2x + y ≤ 12 A+ B≤9 2U + 3V ≤ 6 2M + N ≤ 12
x + y ≤ 16 x + y ≤ 13 3x + y ≤ 18 A +2B ≤ 8 2U+ V ≤ 8 3M +2N ≤ 18
x + 3y ≤ 24 3x + 2y ≤ 30 y≤4 3A + B ≤ 9 U ≤5 M+ N≤7
x ≥0 x ≥0 x ≥0 A ≥0 U ≥0 M ≥0
y ≥0 y ≥0 y≥0 B≥0 V ≥0 N≥0
x=6 y=6 z=30
Sillas→
Mesas→
$3
$6
$9
$12
$15
$18
$21
$24
Z= $36→
$27
$30
$33
Maximo $54→
Z= $51→
Z= $48→
Secuencia de
Construcción
𝑆𝑢𝑗𝑒𝑡𝑜 𝑎: X + 2Y ≤ 14
𝑋 + 𝑌 ≤ 11 5
𝑋 + 2𝑌 ≤ 14 X + 3Y ≥ 15
𝑋 + 3𝑌 ≥ 15 0 X→
2𝑋 + 𝑌 ≥ 10 0 5 10 15
𝑋 ≥ 0; 𝑌 ≥0 La última restricción delimita el polígono de
La primera restricción limita el espacio de soluciones a la derecha y por encima de la
soluciones por arriba y a la derecha hasta la línea morada
recta azul
Espacio de Soluciones
Espacio de Soluciones
Y
Y X + Y ≤ 11
↑
10
10 ↑ X + Y ≤ 11
X + 2Y ≤ 14
5 5
X + 3Y ≥ 15
0 X→ 2X + Y ≥ 10
0
0 5 10 15
0 5 10 15 X
X→
La segunda restricción delimita el espacio El gradiente apunta hacia (6,2) con una
de soluciones por debajo y a la derecha de la utilidad de $20
recta roja
Espacio de Soluciones
Espacio de Soluciones
Y
Y X + Y ≤ 11
↑
10 X + Y ≤ 11 10↑
Máximo X + 2Y ≤ 14
X + 2Y ≤ 14 5 X + 3Y ≥ 15
5
2X + Y ≥ 10
0
0 X→ 0 5 10 15 Gradiente
0 5 10 15 X→ Utilidad: $20
𝑆𝑢𝑗𝑒𝑡𝑜 𝑎: X + 2Y ≤ 14
𝑋 + 𝑌 ≤ 11 5
𝑋 + 2𝑌 ≤ 14 X + 3Y ≥ 15
𝑋 + 3𝑌 = 15 0 X→
2𝑋 + 𝑌 ≥ 10 0 5 10 15
𝑋 ≥ 0; 𝑌 ≥0 La última restricción delimita el polígono de
La primera restricción limita el espacio de soluciones a la línea morada
soluciones por arriba y a la derecha hasta la
Espacio de Soluciones
recta azul
Y
Espacio de Soluciones X + Y ≤ 11
↑
10
Y
10 ↑ X + Y ≤ 11 X + 2Y ≤ 14
5
X + 3Y ≥ 15
5
0 2X + Y ≥ 10
0 X→
0 5 10 15 X
X→
0 5 10 15
El gradiente apunta hacia (6,2) con una
La segunda restricción delimita el espacio utilidad de $20
de soluciones por debajo y a la derecha de la
recta roja Espacio de Soluciones
Espacio de Soluciones Y
Y 10↑
Máximo 2X + Y ≥ 10
↑
10 X + Y ≤ 11
5
X + 2Y ≤ 14
5 0
0 5 10 15 Gradiente
0 X→ X→
0 5 10 15
Y→
Se traza el gradiente, que es la dirección en
que crece más la utilidad. Es una dirección y Y>0
no un camino, por lo que se puede trazar en
cualquier parte de la figura, lo importante es
que se trace en una región en que no estorbe 5 X+3Y<9
la visualización de todo el espacio de
soluciones.
A partir de cualquier punto P, se cuenta a la
derecha la cantidad que en la función objetivo
acompañe a la primera variable, y hacia arriba
la cantidad indicada por la segunda variable. 0
Apoyando la regla en este punto y en el punto 0 5 10
P inicial, se traza una recta auxiliar del X→
tamaño del papel.
1.5.2.5.9.1.
Maximización 1.5.2.5.9.2.
Minimización.
Si deslizamos una escuadra, apoyada en la Si deslizamos una escuadra, apoyada en la
regla (ubicada sobre el gradiente en un lugar regla encontraremos la línea en que se
lejano al espacio de soluciones), encuentra el conjunto de soluciones que
encontraremos la línea en que se encuentra el tienen la misma utilidad, deslizándola hacia la
conjunto de soluciones que tienen la misma izquierda y hacia abajo, se ubica el punto
utilidad, deslizándola hacia la derecha y hacia mínimo, donde se toca apenas el espacio de
arriba, se ubica el punto máximo, donde se soluciones, que corresponde a un vértice y en
toca apenas el espacio de soluciones, que algunos casos raros en toda la arista.
corresponde a un vértice y en algunos casos 10
raros en toda la arista. Como ejemplo tenemos X>0
el primer ejercicio
Y→
Y>0
5
0
0 5 10
X→
Y≥ 0 B≥ 0 Q≥0 μ≥0 Φ ≥ 0 , Ξ ≥0
Φ=1; Ξ =5; H1=2;
X=0; Y=5; H1=0; H2=1; A=8; B=2; H1=1; H2=0; P=1; Q=3; H1=1; H2=0; λ =3; μ =2; H1=0; H2=0;
H2=0; H3=0; H4=1;
H3=7; Z=15. H3=0; U=22. H3=0; R=15. H3=1; Ω=13.
Λ=13.
1.5.2.5.10.1.
Ejercicios (≥)
Maximizar:
Z = X + 3Y U = 2A + 3B R = 3P + 4Q Ω = 3λ + 2μ Λ=Φ+Ξ
Sujeto a:
X + 2Y ≤ 12 A + 3B ≤ 15 2P + Q ≤ 6 λ≥3 Φ≤ 3
2X + Y ≤ 12 A + 2B ≤ 12 Q≤3 λ+ μ≥5 Ξ≤5
X+ Y≥ 4 A + B ≥ 12 P+ Q≥6 λ + 2μ ≥8 Φ+Ξ≥6
X≥ 0 X≥ 0 P≥0 λ≥0 2Φ+Ξ≥8
Y≥ 0 Y≥ 0 Q≥0 Φ ≥ 0, Ξ ≥0
μ≥0 Φ=3; Ξ =5; H1=0;
X=0; Y=6; H1=0; H2=6; A=12; B=0; H1=3; H2=0; ¡No es factible! Espacio de
¡NO ACOTADO! H2=0; H3=2; H4=3;
H3=2; Z=18. H3=0; U=24. soluciones vacío
Λ=8.
1.5.2.5.10.2.
Ejercicios (=)
Maximizar: IGUALDADES
Z = X + 3Y U = 2A + 3B R = 3C + 2D T = 2G + 4H S= 4K + 5L
Sujeto a:
X + 2Y ≤ 12 A + 3B ≤ 30 C + 2D ≥12 G + 3H ≤9 K+L≥4
2X + Y = 12 A + 2B ≥ 24 C + 3D ≤ 24 2G + H ≥ 8 K + 2L≤ 6
X+ Y≥ 7 A + B = 20 C + D=7 G =5 K + L =5
X≥ 0 A≥ 0 C≥0 λ≥0 K≥0
Y≥ 0 B≥ 0 D≥0 μ≥0 L ≥0
X=4; Y=4; H1=0; H3=1; Z=16. A=15; B=5; U=45. C=7;D=0;H1=5;H2=3;R=21. K=4 L=1 S=21
Minimizar:
Z = X + 3Y U = 2A + 3B R = 3*P + 4Q Ω = 3λ + 2μ Λ=Φ+Ξ
Sujeto a:
X + 2Y ≤ 12 A + 3B ≤ 15 2P + Q ≤ 6 λ ≤3 Φ ≤3
2X + Y ≤ 12 A + 2B ≤ 12 P+ Q≤4 λ+ μ≤5 Ξ≤5
3X + Y ≥ 7 A + B ≥ 10 Q≤3 λ + 2μ ≤ 8 Φ + Ξ ≥6
X≥ 0 X≥ 0 P≥0 λ≥0 2 Φ+ Ξ ≥8
Y≥ 0 Y≥ 0 Q≥0 μ≥0 Φ ≥ 0, Ξ ≥0
Minimizar:
Z = X + 3Y U = 2A + 3B R = 3*P + 4Q Ω = 3λ + 2μ Λ=Φ+Ξ
Sujeto a:
X + 2Y ≤ 12 A + 3B ≤ 15 2P + Q ≤ 6 λ ≤3 Φ ≤3
2X + Y ≤ 12 A + 2B ≤ 12 P+ Q≤4 λ+ μ≤5 Ξ≤5
3X + Y ≥ 7 A + B ≥ 10 Q≤3 λ + 2μ ≤ 8 Φ + Ξ ≥6
X≥ 0 X≥ 0 P≥0 λ≥0 2 Φ+ Ξ ≥8
Y≥ 0 Y≥ 0 Q≥0 μ≥0 Φ ≥ 0, Ξ ≥0
Minimizar: IGUALDADES
Z = X + 3Y U = 2A + 3B R = 3*P + 4Q Ω = 3λ + 2μ Λ=Φ+Ξ
Sujeto a:
X + 2Y ≤ 12 A + 3B ≤ 15 2P + Q ≤ 6 λ ≥3 Φ ≤3
2X + Y ≤ 12 A + 2B ≤ 12 P+ Q≥4 λ+ μ≤5 Ξ≤5
3X + Y ≥ 7 A + B ≥ 10 Q≤3 λ + 2μ ≤ 8 Φ + Ξ ≥6
X≥ 0 X≥ 0 P≥0 λ≥0 2 Φ+ Ξ ≥8
Y≥ 0 Y≥ 0 Q≥0 μ≥0 Φ ≥ 0, Ξ ≥0
Continúa en página 60
1 0 x1 − 1
4 − 4 5 − 0 = 6 + 4 ➔
x2
1 0 x1 − 1
0 5 = 10 ➔
x2
1 0 x1 − 1
0 1 5 1 = 10 1 ➔
5 5 x2 5
1 0 x1 − 1 x1 − 1
0 1 = 2 ➔ = 2
x2 x 2
Para
desigualdades
1) Holguras con el signo:
≤ Sume una holgura (sin utilidad)0
(2.5.2.3.2.1)
El subíndice de la variable H es el número de ecuación, pues todas pueden ser diferentes. Para la
primera desigualdad de las restricciones:
Maximizar Z = 3 M + 4 S + 0 H1 + 0 H2 + 0 H3
Z= 3 M+ 4 S 1 M + 2 S + 1 H1 + 0 H2 + 0 H3 = 24
Sujeto a: 1 M + 1 S + 0 H1 + 1 H2 + 0 H3 = 24
M + 2 S ≤ 24 1 M + 1 S + 0 H1 + 0 H2 + 1 H3 = 15
2 M + S ≤ 24 --- --- --- --- --- -- -- -- -- -- -- -- -- -- --- --- --- --- ---
M + S ≤ 15
Para la segunda desigualdad de las restricciones:
Maximizar Z = 3 M + 4 S + 0 H1 + 0 H2 + 0 H3
Z= 3 M+ 4 S 1 M + 2 S + 1 H1 + 0 H2 + 0 H3 = 24
Sujeto a: 1 M + 1 S + 0 H1 + 1 H2 + 0 H3 = 24
M + 2 S ≤ 24 1 M + 1 S + 0 H1 + 0 H2 + 1 H3 = 15
2 M + S ≤ 24 --- --- --- --- --- -- -- -- -- -- -- -- -- -- --- --- --- --- ---
M + S ≤ 15
Para la tercera desigualdad de las restricciones:
Maximizar Z = 3 M + 4 S + 0 H1 + 0 H2 + 0 H3
Z= 3 M+ 4 S 1 M + 2 S + 1 H1 + 0 H2 + 0 H3 = 24
Sujeto a: 1 M + 1 S + 0 H1 + 1 H2 + 0 H3 = 24
M + 2 S ≤ 24 1 M + 1 S + 0 H1 + 0 H2 + 1 H3 = 15
2 M + S ≤ 24 --- --- --- --- --- -- -- -- -- -- -- -- -- -- --- --- --- --- ---
M + S ≤ 15
Completamos con coeficientes 0
1.5.2.6.3.3.1.
Las variables
El primer TABLEAU, en el primer renglón contiene todas las variables, incluyendo artificiales u
holguras (hasta ahora no hemos estudiado las artificiales, que mas adelante estudiaremos)
1.5.2.6.3.3.2.
El contenido del Tableau
En la primera columna, se agregan las variables artificiales, y si en ese renglón no existieran, se colocan
las holguras.
El subíndice indica el número de relación de restricción, así H1 es la holgura de la primera restricción
(M+2S<24)
2 M + S ≤ 24 --- --- --- --- --- -- -- -- -- -- -- -- -- -- --- --- --- --- ---
M + S ≤ 15 ¿? M S H1 H2 H3
R
U 3 4 0 0 0
H1 0 1 2 1 0 0 24
H2 0 2 1 0 1 0 24 4/1=4
H3 0 1 1 0 0 1 15 5/1=5
Z 0 0 0 0 0 0
U-Z 3 4 0 0 0
Si hubiera varios con el mismo valor, se puede seleccionar cualquiera, se sugiere usar el de la derecha
(den ser posible no se seleccione ninguna variable artificial)
1.5.2.6.3.7.
6 Renglón Pivote
Para seleccionar el renglón pivote, se dividen los recursos entre el valor correspondiente de la columna
pivote y seleccione el menor positivo diferente de cero
Como hay valores mayores que cero, continuamos
X+ Y ≤ 15 ¿? M S H1 H2 H3
R
U 3 4 0 0 0
H1 0 1 2 1 0 0 24 24/2=12
H2 0 2 1 0 1 0 24 24/1=24
H3 0 1 1 0 0 1 15 15/1=15
Z 0 0 0 0 0 0
U-Z 3 4 0 0 0
m ¿? M S H2 H2 H3
R
U 3 4 0 -m 0
S 4
H2 0
H3 0
Z
U–Z
X+ Y ≤ 15 ¿? M S H1 H2 H3
R
U 3 4 0 0 0
H1 0 1 2 1 0 0 24 24/2=12
H2 0 2 1 0 1 0 24 24/1=24
H3 0 1 1 0 0 1 15 15/1=15
Z 0 0 0 0 0 0
U-Z 3 4 0 0 0
m ¿? M S H2 H2 H3
R
U 3 4 0 -m 0
S 4 1
H2 0 0
H3 0 0
4*1+0*0+0*0=
Z
4
4-4=
U–Z
0
Para que la suma de productos de los valores de la segunda columna por los de la columna pivote
resulten en la utilidad de dicha columna, y que para obtener la celda del renglón determinante en esta
columna resulte en 0
m ¿? M S H2 H2 H3
R
U 3 4 0 0 0
S 4 1 0 0
H2 0 0 1 0
H3 0 0 0 1
Z 4
U–Z 0
1.5.2.6.3.10.
9 Nuevo renglón pivote
Para lograr que el pivote sea 1: divida el renglón pivote entre el pivote.
X + Y ≤ 15 ¿? M S H1 H2 H3
R
U 3 4 0 0 0
H1 0 1 2 1 0 0 24 24/2=12
H2 0 2 1 0 1 0 24 24/1=24
H3 0 1 1 0 0 1 15 15/1=15
Z 0 0 0 0 0 0
U-Z 3 4 0 0 0
1 2 1 0 0 24 /2
.5 1 .5 0 0 12 ¿? M S H2 H2 H3
R
U 3 4 0 0 0
1/2= 2/2= 1/2= 0/2= 0/2= 24/2=
S 4
.5 1 .5 0 0 12
H2 0 0 1 0
H3 0 0 0 1
Z 4
U–Z 0
Los resultados ya escritos ratifican la corrección del procedimiento.
© [email protected] Lecturas 2 Programación lineal
UABC Ensenada B.C. México (414) 1.5.2. 42
1.5.2.6.3.11.
10 Cálculo de los demás Renglones
Para lograr que la celda correspondiente a la columna pivote sea 0, al renglón que vamos a trabajar le
restamos en nuevo renglón pivote multiplicado por el valor en la celda de la columna pivote
correspondiente a éste renglón.
X + Y ≤ 15 ¿? M S H1 H2 H3
R
U 3 4 0 0 0
H1 0 1 2 1 0 0 24 24/2=12
H2 0 2 1 0 1 0 24 24/1=24
H3 0 1 1 0 0 1 15 15/1=15
Z 0 0 0 0 0 0
U-Z 3 4 0 0 0
1 2 1 0 0 24 /2
.5 1 .5 0 0 12 ¿? M S H2 H2 H3
R
2 1 0 1 0 24 U 3 4 0 0 0
.5 1 .5 0 0 12 *1 S 4 .5 1 .5 0 0 12
2-.5(1)= 1-1(1)= 0-.5(1)= 1-0(1)= 0-0(1)= 24-12(1)=
1.5 0 -.5 1 0 12 H2 0
1.5 0 -.5 1 0 12
H3 0 0 0 1
Z 4
U-Z 0
1 2 1 0 0 24 /2
.5 1 .5 0 0 12 ¿? M S H2 H2 H3
R
2 1 0 1 0 24 U 3 4 0 0 0
.5 1 .5 0 0 12 *1 S 4 .5 1 .5 0 0 12
1.5 0 -.5 1 0 12 H2 0 1.5 0 -.5 1 0 12
1 1 0 0 1 15 H3 0 .5 0 -.5 0 1 3
4(.5)+0(1.5)+0(.5) 4(1)+0(0)+0(0) 4(.5)+0+0 0+0+0 0+0+0 4(12)+0(12)+0(3)
.5 1 .5 0 0 12 *1 Z
=2 =4 =2 =0 =0 =48
.5 0 -.5 0 1 3 U-Z 0
1 1 0 0 1 15 H3 0 .5 0 -.5 0 1 3
.5 1 .5 0 0 12 *1 Z 2 4 2 0 0 48
3-2= 4-4= 0-2= 0-0= 0-0=
.5 0 -.5 0 1 3 U-Z
1 0 -2 0 0
Como hay un valor positivo, no hemos terminado
1 1 0 0 1 15 H3 0 .5 0 -.5 0 1 3
.5 1 .5 0 0 12 *1 Z 2 4 2 0 0 48
.5 0 -.5 0 1 3 U-Z 1 0 -2 0 0
1.5.2.6.3.12.4.
6 Determina Renglón Pivote
1 2 1 0 0 24 /2
.5 1 .5 0 0 12 ¿? M S H2 H2 H3
R
2 1 0 1 0 24 U 3 4 0 0 0
.5 1 .5 0 0 12 *1 S 4 .5 1 .5 0 0 12 12/.5=24
1.5 0 -.5 1 0 12 H2 0 1.5 0 -.5 1 0 12 12/1.5=8
1 1 0 0 1 15 H3 0 .5 0 -.5 0 1 3 3/.5=6
.5 1 .5 0 0 12 *1 Z 2 4 2 0 0 48
.5 0 -.5 0 1 3 U-Z 1 0 -2 0 0
1.5.2.6.3.12.5.
7 Nuevo Tableau
1 2 1 0 0 24 /2
.5 1 .5 0 0 12 ¿? M S H2 H2 H3
R
2 1 0 1 0 24 U 3 4 0 0 0
.5 1 .5 0 0 12 *1 S 4 .5 1 .5 0 0 12 12/.5=24
1.5 0 -.5 1 0 12 H2 0 1.5 0 -.5 1 0 12 12/1.5=8
1 1 0 0 1 15 M 3 .5 0 -.5 0 1 3 3/.5=6
.5 1 .5 0 0 12 *1 Z 2 4 2 0 0 48
.5 0 -.5 0 1 3 U-Z 1 0 -2 0 0
1.5.2.6.3.12.7.
9 Nuevo Renglón Pivote
.5 0 -.5 0 1 3 /.5
1 0 -1 0 2 6 ¿? M S H2 H2 H3
R
2 1 0 1 0 24 U 3 4 0 0 0
.5 1 .5 0 0 12 *1 S 4 0 1 .5 0 0 12 12/.5=24
1.5 0 -.5 1 0 12 H2 0 0 0 -.5 1 0 12 12/1.5=8
1 1 0 0 1 15 M 3 1 0 -1 0 2 6 3/.5=6
.5 1 .5 0 0 12 *1 Z 2 4 2 0 0 48
U-Z 1 0 -2 0 0
1.5.2.6.3.12.8.
10 Calculo de otros renglones
.5 0 -.5 0 1 3 /.5
1 0 -1 0 2 6 ¿? M S H2 H2 H3
R
.5 1 .5 0 0 12 U 3 4 0 0 0
.5 0 -.5 0 1 3 *.5 S 4 0 1 1 0 -1 9
0 1 1 0 -1 9 H2 0
1 1 0 0 1 15 M 3 1 0 -1 0 2 6
.5 1 .5 0 0 12 *1 Z
U-Z
1.5 0 -.5 1 0 12 M 3 1 0 -1 0 2 6
1.5 0 -1.5 0 3 9 *1.5 Z
0 0 1 1 -3 3 U-Z
1.5.2.6.3.12.9.
3 Calculo Utilidades Parciales
.5 0 -.5 0 1 3 /.5
1 0 -1 0 2 6 ¿? M S H2 H2 H3
R
.5 1 .5 0 0 12 U 3 4 0 0 0
.5 0 -.5 0 1 3 *.5 S 4 0 1 1 0 -1 9
0 1 1 0 -1 9 H2 0 0 0 1 1 -3 3
1.5 0 -.5 1 0 12 M 3 1 0 -1 0 2 6
4-3= -4+6= 36+18=
1.5 0 -1.5 0 3 9 *1.5 Z 3 4 0
1 2 54
0 0 1 1 -3 3 U-Z
1.5.2.6.3.12.10.
3 Calculo Renglón Discriminante
.5 0 -.5 0 1 3 /.5
1 0 -1 0 2 6 ¿? M S H2 H2 H3
R
.5 1 .5 0 0 12 U 3 4 0 0 0
.5 0 -.5 0 1 3 *.5 S 4 0 1 1 0 -1 9
0 1 1 0 -1 9 H2 0 0 0 1 1 -3 3
1.5 0 -.5 1 0 12 M 3 1 0 -1 0 2 6
1.5 0 -1.5 0 3 9 *1.5 Z 3 4 1 0 2 54
0 0 1 1 -3 3 U-Z 0 0 -1 0 -2
¿? X Y H1 H2
R
U 4 3 0 0
H1 0 1 1 1 0 4 4/1=4
0
H2 0 2 1 0 1 6 6/2=3
Z 0 0 0 0 0
U-Z 4 3 0 0
2 1 0 1 6 / 2 ¿? X Y H1 H2
R
1 0.5 0 .5 3 NuevoPivote U 4 3 0 0
H1 0 0 .5 1 -.5 1 1/.5=2
1 1 1 0 4 X 4 1 .5 0 .5 3 3/.5=6
1 .5 0 .5 3 * 1 Z 4 2 0 2 12
0 .5 1 -.5 1 / .5 ¿? X Y H1 H2
R
0 1 2 -1 2 NuevoPivote U 4 3 0 0
Y 3 0 1 2 -1 2
1 .5 0 .5 3 X 4 1 0 -1 1 2
0 .5 1 -.5 1 * .5 Z 4 3 2 1 14
1 0 -1 1 2 OtroRenglón U-Z 0 0 -2 -1
X= 2 Y= 24 Z= 14 H1= 0 H2= 0
¿? X Y H1 H2
R
U 4 3 0 0
H1 0 1 1 1 0 4 4/1=4
0
H2 0 2 1 0 1 6 6/1=6
Z 0 0 0 0 0
U-Z 4 3 0 0
1 1 1 0 4 / 1 ¿? X Y H1 H2
R
1 1 1 0 4 NuevoPivote U 4 5 0 0
X 4 1 1 1 0 4
2 1 0 1 6 H2 0 1 0 -1 1 2
1 1 1 0 4 * 1 Z 5 5 5 0 20
1 0 -1 1 2 OtroRenglón U-Z -1 0 0 0
X= 1 Y= 4 Z= 16 H1= 0 H2= 0
1 2 1 0 0 12 /2
.5 1 .5 0 0 6 ¿? X Y H1 H2 H3
R
1 1 0 1 0 12 U 3 4 0 0 0
.5 1 .5 0 0 6 *1 Y 4 .5 1 .5 0 0 6 6/.5 = 12
.5 0 -.5 1 0 6 H2 0 .5 0 -.5 1 0 6 6/.5 = 12
1 1 0 0 1 7 H3 0 .5 0 -.5 0 1 1 1/.5 = 2
.5 1 .5 0 0 6 *1 Z 2 4 2 0 0 24
.5 0 -.5 0 1 1 U-Z 1 0 -2 0 0
.5 0 -.5 0 1 1 /.5
1 0 -1 0 2 2 ¿? X Y H1 H2 H3
R
.5 1 .5 0 0 6 U 3 4 0 0 0
.5 0 -.5 0 1 1 *.5 Y 4 0 1 1 0 -1 5
0 1 1 0 -1 5 H2 0 0 0 0 1 -1 5
.5 0 -.5 1 0 6 X 3 1 0 -1 0 2 2
.5 0 -.5 0 1 1 *.5 Z 3 4 1 0 2 26
0 0 0 1 -1 5 U-Z 0 0 -1 0 -2
X= 2 Y = 5 Z = 26 H1 = 0 H2 = 5 H3 = 0
Maximizar Z= 1 M + 4 S + 0 H1 + 0 H2 + 0 H3 - m A3
Z= M+4 S 1 M + 2 S + 1 H1 + 0 H2 + 0 H3 + 0 A3 = 24
Sujeto a: 1 M + 1 S + 0 H1 + 1 H2 + 0 H3 + 0 A3 = 15
M + 2 S ≤ 24 3 M + 4 S + 0 H1 + 0 H2 - 1 H3 + 1 A3 = 24
M+ S ≤ 15 --- --- --- --- --- -- -- -- -- -- -- -- -- -- -- --- --- --- --- --- --- ---
3 M + 4 S ≥ 24 ¿? X Y A1 H2 A2 H3 R
En este caso m significa un número suficientemente grande para que no pueda ser tomado en cuenta. Puede ser un número
5
mayor que cualquiera de los que aparezcan en el TABLEAU. Para facilitar las cosas imagínese que es un millón
© [email protected] Lecturas 2 Programación lineal
UABC Ensenada B.C. México (414) 1.5.2. 52
Maximizar por el método Simplex
Maximizar Z= 1 M + 4 S + 0 H1 + 0 H2 + 0 H3 - m A3
Z = M+ 4 S 1 M + 2S + 1 H1 + 0 H2 + 0 H3 + 0 A3 = 24
Sujeto a: 1 M + 1S + 0 H1 + 1 H2 + 0 H3 + 0 A3 = 15
M + 2 S ≤ 24 3 M + 4S + 0 H2 + 0 H2 - 1 H3 + 1 A3 = 24
M + S ≤ 15
3 M + 4 S ≥ 24 ¿? M S H1 H2 H3 A3
R
U 1 4 0 0 0 -m
H1 0 1 2 1 0 0 0 24 24/2=12
H2 0 1 1 0 1 0 0 15 15/1=15
A3 -m 3 4 0 0 -1 1 24 24/4=6
Z -3m -4m 0 0 m -m -24m
U-Z 1+3m 4+4m 0 0 -m 0
3 4 0 0 -1 24
.75 1 0 0 -.25 6 ¿? M S H1 H2 H3
R
1 2 1 0 0 24 U 1 4 0 0 0
1.5 2 0 0 -.5 12 H1 0 -.5 0 1 0 .5 12 12/.5=24
-.5 0 1 0 .5 12 H2 0 .25 0 0 1 .25 18 18/.25=72
1 1 0 1 0 24 S 4 .75 1 0 0 -.25 6 6/-.25=-24
.75 1 0 0 -.25 6 Z 3 4 0 0 -1 24
.25 0 0 1 .25 18 U-Z -2 0 0 0 1
-.5 0 1 0 .5 12
-1 0 2 0 1 24 ¿? M S H1 H2 H3
R
.25 0 0 1 .25 18 U 1 4 0 0 0
-.25 0 .5 0 .25 6 H3 0 -1 0 2 0 1 24
.5 0 -.5 1 0 12 H2 0 .5 0 -.5 1 0 12
.75 1 0 0 -.25 6 S 4 .5 1 .5 0 0 12
.25 0 -.5 0 -.25 -6 Z 2 4 2 0 0 48
.5 1 .5 0 0 12 U–Z -1 0 -2 0 0
4 H1 H2=12 H
M= 0 S = 12 Z= 0 = 24
8 = 3
Maximizar Z= 1 M + 4 S - m A1 + 0 H2 - m A2 + 0 H3
Z= M+4 S 1 M + 2 S + 1 A1 + 0 H2 + 0 A2 + 0 H3 = 24
Sujeto a: 1 M + 1 S + 0 A1 - 1 H2 + 1 A2 + 0 H3 = 15
M + 2 S = 24 3 M + 4 S + 0 A1 + 0 H2 + 0 A2 + 1 H3 = 54
M+ S ≥ 15 --- --- --- --- --- -- -- -- -- -- -- -- -- -- -- --- --- --- --- --- --- ---
3 M + 4 S ≤ 54 ¿? X Y A1 H2 A2 H3 R
1 2 0 0 0 24
.5 1 0 0 0 12 ¿? M S H2 A2 H3
R
1 1 -1 1 0 15 U 1 4 0 -m 0
.5 1 0 0 0 12 S 4 .5 1 0 0 0 12 12/.5 = 24
.5 0 -1 1 0 3 A2 -m .5 0 -1 1 0 3 3/.5 = 6
3 4 0 0 1 54 H3 0 1 0 0 0 1 6 6/1 = 6
2 4 0 0 0 48 Z 2-.5m 4 m -m 0 48-3m Podría elegirse
1 0 0 0 1 6 U-Z -1+.5m 0 -m 0 0 cualquier renglón,
pero preferimos la
.5 0 -1 0 3 artificial Siempre
1 0 -2 0 6 ¿? M S H2 H3
R
.5 1 0 0 12 U 1 4 0 0
.5 0 -1 0 3 S 4 0 1 1 0 9
0 1 1 0 9 M 1 1 0 -2 0 6
1 0 0 1 6 H3 0 0 0 2 1 0
1 0 -2 0 6 Z 1 4 2 0 42
0 0 2 1 0 U–Z 0 0 -2 0
M= 6 S = 9 Z = 42 H2 = 0 H3 = 0
Minimizar Z=2*X + 3 Y
Maximizar Z=-2*X - 3 Y
1X + Y≥ 4 ¿? X Y R
H1 0 1 1 1 0 0 0 0 7 7/1=7
A2 -m 2 1 0 -1 1 0 0 6 6/2=3
A3 -m 1 1 0 0 0 -1 1 4 4/1=4
Z -3m -2m 0 m -m m -m -39m
U-Z -2+3m -3+2m 0 -m 0 -m 0
2 1 0 -1 0 0 6 X
1 1/2 0 -1/2 0 0 3 ¿? X Y H1 H2 H3 A3
R
1 1 1 0 0 0 7 U -2 -3 0 0 0 -m
1 1 / 2 0 -1 / 2 0 0 3 H 1 0 0 1/2 1 1/2 0 0 4 4/½=8
0 ½ 1 ½ 0 0 4 X -2 1 ½ 0 -1 / 2 0 0 3 3 / 1/2 =6
0 1/2 0 1/2 -1 1
0 1 0 1 -2 2 ¿? X Y H1 H2 H3
R
0 1/2 1 1/2 0 4 U -2 -3 0 0 0
0 1/2 0 1/2 -1 1 H1 0 0 0 1 0 1 3
0 0 1 0 1 3 X -2 1 0 0 -1 1 2
1 ½ 0 -1 / 2 0 3 Y -3 0 1 0 1 -2 2
0 1/2 0 1/2 -1 1 Z -2 -3 0 1 4 -10
1 0 0 -1 1 2 U–Z 0 0 0 -1 -4
X = 2 Y = 2 Z = 10 H1= 3 H2=0 H3 = 0
¿? X Y H1 H2
R
1 4 1 0 8 / 4 U 3 9 0 0
.25 1 .25 0 2 Y 9 .25 1 .25 0 2 2/.25=8
1 2 0 1 4 H2 0 .5 0 -.5 1 0 0/.5=0
.5 2 .5 0 4 * 2 Z 2.25 9 2.25 0 18
.5 0 -.5 1 0 U-Z .75 0 -2.25 0
¿? X Y H1 H2
R
.25 1 .25 0 2 / .25 U 3 9 0 0
1 4 1 0 8 X 3 1 4 1 0 8
.5 0 -.5 1 0 H2 0 0 -2 -1 1 -4
.5 2 .5 0 4 3 12 3
0 24
0 -2 -1 1 -4 U–Z 0 -3 -3 0
X = 8 Y = 0 Z = 24 H2= -4
Maximizar Z= 3 X + 9 Y + 0 H1 + 0 H2
Z =3 X + 9 Y 1 X + 4 Y + 1 H1 + 0 H2 = 8
Sujeto a: 1 X + 2 Y + 0 H1 + 1 H2 = 4
1 X + 4 Y ≤ 8
1 X + 2 Y ≤ 4
¿? X Y H1 H2
R
U 3 9 0 0
H1 0 1 4 1 0 8 8/4=2
H2 0 1 2 0 1 4 4/2=2
Z 0 0 0 0 0
U-Z 3 9 0 0
¿? X Y H1 H2
R
U 3 9 0 0
Z
U-Z
¿? X Y H1 H2
R
U
U–Z
X = Y = Z = H1=
Método de
1.5.2.6.5.1.1.
Perturbación
1.5.2.6.5.1.2.
Método Léxico-
Gráfico.
6
Stefan Waner (http://www.zweigmedia.com/RealWorld/simplex.html) linear programminggrapher a UtilityforFinite
Mathematics and AppliedCalculus
© [email protected] Lecturas 2 Programación lineal
UABC Ensenada B.C. México (414) 1.5.2. 64
• Una desigualdad en cada renglón, como se muestra en el siguiente ejemplo:
Graph
2x - y <= 4
2x + 3y <= 12
y <= 3
Esto se puede hacer automáticamente si selecciona: GraphingExample
Estas notas se escriben en inglés si se oprime la tecla Show LP example
Una vez que haya definido el problema si selecciona Solve aparecerá en la pantalla de
respuestas:
Vértices LíneasQueSeCruzan ValorDelObjetivo
Vertex LinesThroughVertex ValueOfObjective
(3,2) 2x-y = 4; 2x+3y = 12 11 Maximum
(2,0) 2x-y = 4; y = 0 6
(1.5,3) 2x+3y = 12; y = 3 7.5
(0,3) y = 3; x = 0 3
(0,0) x = 0; y = 0 0
Seleccionando Graph explota una nueva ventana con la gráfica en ella, la región de factibilidad
aparece en blanco.
Erase Everithing borra todo para volver a comenzar.
Los siguientes cuadros permiten modificar la exhibición del polígono de factibilidad:
Xmin y Xmax determinan los límites horizontales donde empieza y termina la gráfica exhibida.
Mientras que Ymin y Ymax delimitan las dimensiones verticales.
X-Gridlinesevery y Y-Gridlinesevery indican cada cuantas unidades se ponen las rayitas de
la cuadrícula. Se indica que se dejen en blanco si no quiere cuadrícula.
Round answers para indicar el número de cifras decimales que se quieren.
FractionMode para indicar si se manejarán fracciones comunes.
En la página “Finite Mathematics&AppliedCalculusResource Page”
http://www.zweigmedia.com/RealWorld/index.html, y específicamente “Finite mathematics utility: linear
programming grapher“:en http://www.zweigmedia.com/utilities/lpg/index.html?lang=es, puede
encontrarse una
. ejemplo.html
1.5.2.7.1.2.
Método Simplex7
En esta aplicación, en el vinculo ofrecido en el pie de página, y que ahora describimos permite
obtener la solución de sistemas de hasta
Se ofrece un tutorial8, que facilita el aprendizaje por parte del alumno. El principal problema es
la diferencia en la elaboración de tableaus.
7
Stefan Waner (http://www.zweigmedia.com/RealWorld/simplex.html) Simplex Method Tool a Utilityfor Finite
Mathematics and Applied Calculus
8Stefan Waner(http://www.zweigmedia.com/RealWorld/tutorialsf4/frames4_3.html) 4.3:
The Simplex Method: Solving Standard Maximization Problems Finite Mathematics and Applied
Calculus
C=[1,2;2,1;1,1;-1,0;0,-1]
C =
1. 2.
2. 1.
1. 1.
-1. 0.
0. -1.
,R=[24;24;15;0;0]
R =
24.
24.
15.
0.
0.
X=SIMPLEX(U,C,R)
X =
6.
8.9998989
Z=U*X
Z = 53.999596
1.5.2.7.1.4.
EXCEL®
Una de las herramientas más ponderosas con que cuentan los profesionales de la
administración es esta Hoja de Datos comercial ofrecida por Microsoft. Ya que además
de ofrecer sus servicios como optimizador, permite el manejo de bases de datos,
tabulaciones, análisis estadísticos, y matemáticos en general, Graficación, presentación,
y programación. Su enorme valor agregado (algunos de los mejores programadores del
mundo, trabajando en equipo durante muchos años), ha logrado un paquete amigable y
que permite simplificar mucho el trabajo de usuarios y programadores. Además, ofrece:
Seguridad, liga a través de internet, una gran cantidad de programas accesorios, asesoría,
tutoría, documentación, compatibilidad, y finalmente, prácticamente todas las
computadoras PC lo tienen instalado.
Sus principales desventajas son: el precio, cierta dificultad en su programación sobre
todo en Visual y la enorme cantidad de recursos computacionales que requiere, haciendo
su trabajo dificultoso y lento.
En lo que a nosotros concierne, el uso de SOLVER, no se parece en nada a las técnicas
SIMPLEX recién estudiadas, pero sin embargo permite la solución de problemas no
lineales, que lo hacen aún más útil en el trabajo profesional
1.5.2.7.1.4.1.
SOLVER®
Este complemento permite optimizar una fórmula9 que debe depender directa o
indirectamente de ciertas celdas (variables de decisión), reservadas para que en ellas el
EXCEL ponga sus resultados, que deben estar sujetas a restricciones, en las que el lado
izquierdo es una fórmula (también dependiente directa o indirectamente de las variables
de decisión).
A diferencia de otros programas de computo, este no requiere del uso de sistemas
lineales de ecuaciones, pudiéndose usar cualquier función para su planteamiento, lo que
lo hace aún mas poderosa que los otros programas que solo dependen de sistemas lineales
de ecuaciones.
Inicialmente debe ser instaurado en el EXCEL, previamente a su uso. Una vez instalado
no se vuelve a requerir su instalación. Como las máquinas que se manejan pueden ser
públicas, y aún en las de uso propio en la primera vez, se requerirá dicha instalación, por
lo que a continuación se detalla esa secuencia de ejecuciones.
Las fases para su uso son:
• Instalación;
• Preparación y formulación;
• Argumentos;
• Afinaciones;
9
Conjunto de operaciones entre parámetros fijos y valores de otras celdas. Entre las operaciones cuenta
con muchas funciones preestablecidas (como tangente, o logaritmo) o definidas por el usuario.
En el que debe estar seleccionado el Solver con una palomita verde. Se selecciona el
Resultados 6 9 Z
Utilidades 3 4 54.00002346 Recursos
Coeficientes
Tecnologicos 1 2 24 ≤ 24
2 3 39.00001173 ≥ 24
1 1 15.00001173 = 15
{=SUMA($B$2:$F$2*B6:F6)}
1.5.2.7.1.4.1.3.
Variables de decisión
{=SUMA($B$2:$F$2*B3:F3)}
1.5.2.7.1.4.1.4.
Sentido de la optimización
Se indica si la función objetivo se quiere minimizar, maximizar o hacer igual a un valor
1.5.2.7.1.4.1.5.
Variables de decisión
Un rango de celdas para la solución; EXCEL intentará mover estos valores, optimizando
la celda objetivo
Resultados 12 0
1.5.2.7.1.4.1.6.
Restricciones
Dos rangos de celdas de las mismas dimensiones:
24 ≤ 24
39.00001173 ≥ 24
15.00001173 = 15
{=SUMA($B$2:$F$2*B6:F6)}
1.5.2.7.1.4.1.6.1.
Parte variable.
Variables cuyos valores dependen de las Variables de decisión y los coeficientes
tecnológicos correspondientes.
1.5.2.7.1.4.1.6.2.
Desigualdad
Si se trata de mayor, menor o igual.
1.5.2.7.1.4.1.6.3.
Valores límite.
Los valores que limitan las restricciones.
1.5.2.7.1.4.1.6.1.
Otras alternativas.
Las restricciones también pueden ser de un solo elemento en el que las partes variables
se limitan a ser positivas, enteras o booleanas (1 o 0)
for i=0:1:360;
for j=0:6:90;
a.rotation_angles=[i,j];
sleep(10);
end;
end;
Caso Magistral
Maximizar Sujeto a: 𝟏 𝟐 𝟐𝟒
𝑴
𝑴 𝟏 𝟎 𝑴 𝟎 [𝟐 𝟏] ∙ [ ] ≤ [𝟐𝟒]
[𝟑 𝟒] ∙ [ ] = 𝒁 [ ]∙[ ]≥[ ] 𝑺
𝑺 𝟎 𝟏 𝑺 𝟎 𝟏 𝟏 𝟏𝟓
No negatividad de las Matriz de Coeficientes
variables Tecnológicos * Vector de
Vector de Utilidades Variables menor igual a
por las variables Sujeto a: Vector de Recursos
igual a Utilidad 𝟏 𝟎 𝑴 𝟎 𝟏 𝟐 𝟐𝟒
−[ ]∙[ ]≤[ ]
(Función Objetivo) 𝟎 𝟏 𝑺 𝟎 𝟐 𝟏 𝟐𝟒
𝑴
[
−𝟏 𝟎 𝑴 𝟎
]∙[ ] ≤[ ] 𝟏 𝟏 ∙ [ 𝑺 ] ≤ 𝟏𝟓
𝟎 −𝟏 𝑺 𝟎 −𝟏 𝟎 𝟎
[ 𝟎 −𝟏] [𝟎]
o =
6.
8.9998989
-->
Pantalla en la consola del Scilab
1.5.2.7.1.4.2.1.
Ejemplo
Maximizar: Maximizar: Maximizar: Maximizar: Maximizar:
10
Paquete de programación Freeware (gratis) para manejo matemático.
ERROR
𝐙 = ∑ 𝐮𝐣 ∙ 𝐱 𝐣 𝐖 = ∑ 𝐫𝐢 𝐲𝐢
𝐣=𝟏 𝐢=𝟏
Sujeta a: Sujeta a:
𝐧 𝐦
∑ 𝐜𝐢𝐣 𝐱 𝐣 ≤ 𝐫𝐢 ∑ 𝐜𝐢𝐣 𝐲𝐣 ≥ 𝐮𝐣
𝐣=𝟏
𝐢=𝟏
Para i = 1, 2,…,my Para I = 1, 2, m y
𝐱𝐣 ≥ 𝟎 𝐱𝐣 ≥ 𝟎
Para j = 1, 2,…, m Para j = 1, 2,…, m
Maximizar Minimizar
Z = UX W=YR
Sujeto a Sujeto a
CX ≤ R YC≥U
X≥0 Y≥0
U y Y son vectores renglón y R y X son vectores columna
1.5.2.8.1.
Ejemplo
Maximizar:
Minimizar
Z=3X1+5X2
W=4Y1+12Y2+18Y3
Sujeto a:
Sujeto a:
Primal 1X1 + 2X2 ≤ 4 Dual 1Y1 +3Y2 +3Y3 ≥ 3
3X1 + 1X2 ≤ 12
2Y2 +1Y2 +2Y3 ≥ 3
3X1 + 2X2 ≤ 18
Y1 ≥ 0, Y2 ≥ 0, Y3 ≥ 0
X1 ≥ 0, X2 ≥ 0
s.t. a
j
ij Xj bi for all i
Xj 0 for all j
Dual
Min U b
i
i i
s.t. U a
i
i ij c j for all j
Ui 0 for all i
Primal Dual Pair and Their Units
Primal
Max c
j
j Xj
s.t. a
j
ij Xj bi for all i
Xj 0 for all j
s.t. U a
i
i ij c j for all j
Ui 0 for all i
U is the variable and equals per unit resource value
min sum (per unit res value) * (res on hand)
s.t. sum (per unit res value) * (per unit res use)
>per unit profits
So resource values – shadow prices are set up so per unit profits are exhausted.
Primal Dual Pair and Example
CX* U* b
* Z -1
u = CB B =
b
Complementary Slackness Zero Profits
At Optimal X*, u* Given Optimal
U (b - AX ) = 0
* *
( U A - C) X
* *
= 0. u' b = c x
U
*
We know ANB - CNB 0 because at optimality this is equivalent to the reduced cost
criteria,
CBB-1ANB - CNB 0.
Further, for basic variables reduced cost is
CBB-1AB - CB = CBB-1B - CB = CB - CB = 0,
So unifying these statements, we know when U* A> C
Primal Dual Interrelations
Constructing Dual Solutions
We can look at this by looking the implication of the nonnegative reduced costs over the
slacks (UA>C).
For the slacks, A contains an identity matrix and the associated entries in C are all 0's.
Thus, UA = UI = U C =0 or U > 0.
In this case the primal objective function Z equals CX* = CBXB* + CNBXNB* = CBB-1b +
CNB0 = CBB-1b.
Simultaneously, the dual objective equals Ub = CBB-1b which equals the primal objective.
Therefore, the primal and dual objectives are equal at optimality.
Furthermore, since for a feasible primal we have AX < b and for the dual UA > C then
multiplying both so term on left is UAX we see Ub>Cx or all feasible primal objectives
must be less than or equal to all feasible dual objectives.
This demonstration shows that given the solution from the primal the dual solution can
simply be computed without need to solve the dual problem.
In addition given the derivation in the last chapter we can establish the interpretation of
the dual variables. In particular, since the optimal dual variables equal CB B-1 (which are
called the primal shadow prices) then the dual variables are interpretable as the marginal
value product of the resources since we showed
Z
= CB B1 = U* .
b
Also
U (b − AX ) = 0
*' *
( U * A − C) X * = 0. U*'b = cx*
Objectivefunction Objectivefunction
Slacks Reducedcosts
Reducedcosts Slacks
The above interpretations for the dual variables depend upon whether the basis still exists
after the change occurs.
When a basic primal variable equals zero, dual has alternative optimal solutions. The
cause of this situation is generally primal constraints are redundant at the solution point
and the range of right hand sides is zero.
Max 3X1 + 2X 2
X1 + X2 100
X1 50
X2 50
X1 , X2 0
At the optimal solution, X1 = 50, X2 = 50, constraints are redundant.
If first slack variable is basic then X1 = 50, X2 = 50, S1 = 0 while S1 is basic. Shadow
prices are 0, 3, and 2.
Max 3X1 + 2X 2
X1 + X2 100
X1 50
X2 50
X1 , X2 0
u1 u2 u3 = [0 3 2] or [ 2 1 0 ]
The main difficulty with degeneracy is in interpreting the shadow prices as they take on
a direction.
If one were to increase the first right hand side from 100 to 101 this would lead to a zero
change in the objective function and X1 and X2 would remain at 50.
Decrease first constrainrhs from 100 to 99 then objective function which is two units
smaller because X2 would need to be reduced from 50 to 49.
Columns in the primal, form constraints on the dual shadow price information.
Thus, for example, when a column is entered into a model indicating as much of a
resource can be purchased at a fixed price as one wants, then this column forms an upper
bound on the shadow price of that resource.
Note that it would not be sensible to have a shadow price of that resource above the
purchase price since one could purchase more of that resource.
In general, the structure of the columns in a primal linear programming model should be
examined to see what constraints they place upon the dual information.