Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PL Teoria PDF
PL Teoria PDF
L INEAL
Noviembre 2012
Indice general 2
5. INTERPRETACION TECNICO-ECONOMICA 33
5.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.1.1. Ejemplo de aplicacion . . . . . . . . . . . . . . . . . . . . 34
5.2. Tasas de sustitucion . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.2.1. Discusion teorica . . . . . . . . . . . . . . . . . . . . . . . 36
5.2.2. Ejemplo de aplicacion . . . . . . . . . . . . . . . . . . . . 36
5.3. Multiplicadores del simplex . . . . . . . . . . . . . . . . . . . . . 37
5.3.1. Discusion teorica . . . . . . . . . . . . . . . . . . . . . . . 37
5.3.2. Ejemplo de aplicacion . . . . . . . . . . . . . . . . . . . . 39
5.4. Criterios del simplex . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.4.1. Discusion teorica . . . . . . . . . . . . . . . . . . . . . . . 39
5.4.2. Ejemplo de aplicacion . . . . . . . . . . . . . . . . . . . . 41
6. INTERPRETACION GRAFICA 44
6.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.2. Conceptos generales . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.3. Metodo del Simplex . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.4. Metodo de las dos fases y de la M grande . . . . . . . . . . . . 55
6.5. Metodo de Lemke . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
8. CASOS ESPECIALES 64
8.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
8.2. Optimo multiple . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
8.3. Solucion degenerada . . . . . . . . . . . . . . . . . . . . . . . . . 66
8.4. Problema no factible . . . . . . . . . . . . . . . . . . . . . . . . . 67
8.5. Region de factibilidad no acotada . . . . . . . . . . . . . . . . . 69
9. POSTOPTIMIZACION 73
9.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
9.2. Cambio en b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
9.3. Cambio en c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
9.4. Nueva actividad . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
9.5. Nueva restriccion . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Indice general 4
INTRODUCCION A LA PROGRAMACION
LINEAL. TEOREMA FUNDAMENTAL
1.1. Introduccion
Un conjunto de valores x es una solucion factible del problema si cumple el Solucion factible
sistema de ecuaciones Ax = b (es solucion) y cumple que x 0, es decir todos
los valores son no negativos.
1.2.1. Enunciado
tiera una submatriz dentro de A con menos de m columnas linealmente dependientes, podra
existir una solucion linealmente dependiente con menos de m componentes.
Captulo 1. INTRODUCCION A LA PROGRAMACION LINEAL. TEOREMA FUNDAMENTAL 8
1.2.2. Demostracion
Ay = 0 y
yi = 0 si xi = 0
cy 0 (si no es as, basta con cambiar de signo a y).
Efectivamente, es solucion:
x 1 no es peor
z1 = cx 1 = c(x 0 + ty) = cx 0 + tcy = z0 + tcy (1.4) que x 0
Se puede dar un valor a t de manera que ninguna variable tenga valor negativo x 1 no es peor
y que tenga una componente nula mas que x 0 . que x 0
xi0
t = min{i/yi 0} (1.6)
yi
Examinando de forma exhaustiva los casos que se pueden dar, la discusion Discusion
completa es la siguiente. completa
De acuerdo con lo que se sigue del teorema fundamental, siempre existe una Donde buscar
solucion optima dentro del conjunto de todas las soluciones linealmente inde-
pendientes.
Solucion inicial: x 0 = (0, 4, 14, 36, 130, 0, 9370)T , z0 = 388. Se trata de una
solucion porque se cumple Ax = b. Efectivamente, se puede comprobar que:
0
4
2 3 3 6 1 0 0 14
400
Ax 0 = 1 2 6 3 0 1 0 36 = 200 (1.8)
5 5 5 5 0 0 1 130
1000
0
9370
O lo que es equivalente:
Captulo 1. INTRODUCCION A LA PROGRAMACION LINEAL. TEOREMA FUNDAMENTAL 11
2 3 3 6 1 0 0
0 1 + y2 2 + y3 6 + y4 3 + y5 0 + 0 1 + y7 0 =
5 5 5 5 0 0 1
0
= 0
0
(1.10)
Un posible vector y es y = (0, 0,1, 0,567, 1,067, 5, 0, 3)T , con el que es Primera
posible construir una nueva solucion x 1 iteracion
La nueva
0 0
solucion
4 0,1
14 0,567
1 0
x = x + ty = 36 +t 1,067 (1.11)
130 5
0 0
9370 3
0
0,1
0,567
cy = 4 4 6 8 0 0 0 1,067 = 5,534 (1.13)
5
0
3
De no ser as, bastara con cambiar el signo a y y todo lo anterior sera cierto. x 1 no peor que
1
Dado que cy > 0, el valor de la funcion de objetivo de x es mayor que la de x0
0
x en una cantidad igual a cy
cx 1 = c x 0 + tcy) =
0 0
4 0,1
14 0,567
4 4 6 8 0 0 0 36 + t 4 4 6 8 0 0 0 1,067 =
130 5
0 0
9370 3
388 + 24,56 5,534
(1.14)
Dado que solo y3 , y5 e y7 son negativas, solo es posible que las componentes
x3 , x5 y x7 se hagan nulas con t > 0. En particular, los valores que hacen
14
respectivamente 0 cada una de esas componentes de x 1 son 0,57 , 130
5 y
9730
3 .
En menor valor de los anteriores hace que una componente, x3 , se haga nula y
no se haga negativa ninguna de las otras dos.
14 130 9730
t = min , , = 24,56 (1.15)
0,57 5 3
z1 = 524,68
z2 = 533,38
Captulo 2
2.1. Introduccion
maz z =cx
s.a:
(2.1)
Ax = b
x0
Ademas:
Dada una solucion basica, con base B, hay dos tipos de variables:
Donde
Dada una base B, se cumple Ax = b o, lo que es lo mismo, dado que todas Si entra xk
las variables no basicas son nulas: BuB = b. Si introducimos la variable xk con cambia el valor
nivel de realizacion t, la expresion se convierte en: de las variables
basicas
BuB (t) + tAk = b (2.8)
Por lo tanto, si VkB es positivo, la nueva funcion objetivo es mayor. En concreto, Intepretacion de
V B representa el incremento unitario de la funcion objetivo al introducir xk . VB
uBk
uB (t) = uB tpkB uBk (t) = uB t B (2.13)
pjk
B
pjk representa cuanto disminuye el valor de la j-esima variable basica cuando Interpretacion
se introduce la variable no basica k con valor igual a 1. de p B
Otra forma de justicarlo es la siguiente. Dada una solucion basica con base B:
V B 0 c c B B 1 A 0 (2.14)
cx c B B 1 Ax = z c B B 1 b = z c B uB = z zB 0 zB z (2.15)
2.5. Ejemplo
El problema
max. z =1x1 + 2x2 + 3x3
1x1 + 2x2 + 1x3 + x4 = 16
3x1 2x2 + 2x3 + x5 = 26 (2.16)
1x1 + 0x2 + 2x3 + x6 = 24
xi 0, i = 1 6
1 0 0
B1 = (A5 A6 A7 ) = 0 1 0 (2.17)
0 0 1
En este caso, la inversa de la base es la identidad tambien, pero solo en este La inversa de la
caso. base
1 0 0
B11 = 0 1 0 (2.18)
0 0 1
Captulo 2. FUNDAMENTOS DEL METODO DEL SIMPLEX 19
En este caso, el nivel de realizacion coincide con b, pero solo en este caso. El nivel de
realizacion de
las variables
1 0 0 16 16 basicas
uB1 = B11 b = 0 1 0 26 = 26 (2.19)
0 0 1 24 24
En este caso, las tasas de sustitucion coinciden con la matriz de coecientes Las tasas de
tecnicos, pero solo en este caso. sustitucion
1 0 0 1 2 1 1 0 0
1
p B1 = B1 A = 0 1 0 3 2 2 0 1 0 =
0 0 1 1 0 2 0 0 1
(2.21)
1 2 1 1 0 0
3 2 2 0 1 0
1 0 2 0 0 1
c B1 = 0 0 0 (2.22)
El criterio del Simplex es igual a c, pero solo en este caso. El criterio del
Simplex
V B1 = c c B1 B 1 A = 1 2 3 0 0 0
1 0 0 1 2 1 1 0 0
0 0 0 0 1 0 3 2 2 0 1 0 = (2.23)
0 0 1 1 0 2 0 0 1
= 1 2 3 0 0 0
Captulo 2. FUNDAMENTOS DEL METODO DEL SIMPLEX 20
Aquella de las no basicas con criterio del Simplex positivo y, de entre ellas, la Variable de
mayor. En este caso, la variable de entrada es x3 . entrada
Las tasas de sustitucion de la variable x3 con respecto a las variables basicas Variable de
B
son p3 1 salida
1 0 0 1 1
= B 1 A3 = 0
B
p3 1 1 0 2 = 2 (2.24)
0 0 1 2 2
Las variables candidatas a salir de la base son aquellas que tienen tasa de
sutitucion postiva con respecto a x3 , que son las tres variables basicas. Aquella
uBi
que sale es aquella correspondiente al menor cociente de B , que sera el valor
p3i1
t de la variable de entrada:
16 26 24
t = min , , = 12 (2.25)
1 2 2
Los valores de las variables basicas de la primera base cambian al introducir Nuevos valores
x3 de las variables
basicas
16 1
B
uB1 (t) = uB1 tp3 1 = 26 t 2 (2.26)
24 2
16 1 4
uB1 (12) = 26 12 2 = 2 (2.27)
24 2 0
Hacer solo 12 unidades de producto P3 y nada del resto. Variables basicas: x4 , Solucion inicial
x5 y x3 .
1 0 1
B2 = 0 1 2 (2.28)
0 0 2
La funcion
4
B2 2 B2 B2 objetivo
z = cx = c u = 0 0 3 2 = 36 (2.31)
12
B
En efecto, como esperabamos z2 = z1 + x3 V3 1 = 0 + 36 = 36
En este caso, las tasas de sustitucion no coinciden con la matriz de coecientes Las tasas de
tecnicos. sustitucion
1 0 12 1 2 1 1 0 0
p B2 = B21 A =
0 1 1 3 2 2 0 1 0 =
1
0 0 2
1 0 2 0 0 1
(2.32)
1
2 0 1 0 12
2
2 2 0 0 1 1
1 1
2 0 1 0 0 2
Captulo 2. FUNDAMENTOS DEL METODO DEL SIMPLEX 22
c B2 = 0 0 3 (2.33)
Aquella de las no basicas con criterio del Simplex positivo y, de entre ellas, la Variable de
mayor. En este caso, la variable de entrada es x2 . entrada
Las tasas de sustitucion de la variable x2 con respecto a las variables basicas Variable de
B
son p2 2 salida
1 0 12 2 2
= B21 A2 = 1
B
p2 2 0 1 2 = 2 (2.35)
1
0 0 2
0 0
Las variables candidatas a salir de la base son aquellas que tienen tasa de
sutitucion postiva con respecto a x2 , que son la variables basica x4 . Aquela
uBi
que sale es aquella correspondiente al menor cociente de B , que sera el valor
p2i2
t de la variable de entrada:
4
t= =2 (2.36)
2
Captulo 2. FUNDAMENTOS DEL METODO DEL SIMPLEX 23
Los valores de las variables basicas de la primera base cambian al introducir Nuevos valores
x3 de las variables
basicas
4 2
B
uB2 (t) = uB2 tp2 2 = 2 t 2 (2.37)
12 0
4 2 0
uB2 (2) = 2 2 2 = 6 (2.38)
12 0 12
2 0 1
B3 = 2 1 2 (2.39)
0 0 2
La funcion
2
objetivo
zB3 = cx 3 = c B3 uB3 = 2 0 3 6 = 40 (2.42)
12
B
En efecto, como esperabamos z3 = z2 + x2 V2 2 = 36 + 2 2 = 40
En este caso, las tasas de sustitucion son las siguientes. Las tasas de
sustitucion
1
0 14 1 2 1 1 0 0
2
p B3 = B31 A =
1 1 32
3 2 2 0 1 0 =
1
0 0 2
1 0 2 0 0 1
(2.43)
1 1
1 0 0 14
4 2
5
0 0 1 1 32
2
1 1
2 0 1 0 0 2
c B3 = 2 0 3 (2.44)
3.1. Introduccion
Operar por las una matriz es identico a premultipilcar por una matriz
En 3.3, la matriz A
se puede obtener a patir de la matriz A de la siguiente
manera.
F 1
= 2 F 1
F 2
= F 2 + F 1
= F 2 + 2 F 1
F 3
= F 3
1 1 3 2 2 6
A= 2 1 0 A = 4 1 6 (3.3)
0 4 1 0 4 1
Finalmente:
0 c cB 0 z VB 0 B
-
b A B I uB pB I B 1
(3.6)
Captulo 3. METODO DEL SIMPLEX.VARIANTE DE LA MATRIZ COMPLETA 27
3.3. Ejemplo
x1 x2 x3 x4 x5 x6
0 1 2 3 0 0 0 F0
16 1 1 1 1 0 0 F1
26 3 -2 2 0 1 0 F2
24 1 0 2 0 0 1 F3
0 1 2 3 0 0 0 F0
= F0
x4 16 1 1 1 1 0 0 F1
= F1
x5 26 3 -2 2 0 1 0 F2
= F2
x6 24 1 0 2 0 0 1 F3
= F3
-36 21 2 0 0 0 32 F0
= F0
3F3
x4 4 1
2 2 0 1 0 12 F1
= F1
F3
x5 2 2 -2 0 0 1 -1 F2
= F2
2F3
x3 12 1
2 0 1 0 0 1
2 F3
= F3
/2
-40 -1 0 0 -1 0 -1 F0
= F0
2F1
x2 2 1
4 1 0 1
2 0 14 F1
= F1
/2
x5 6 5
2 0 0 1 1 32 F2
= F2
+ 2F1
x3 12 1
2 0 1 0 0 1
2 F3
= F3
Captulo 4
4.1. Introduccion
Para aplicar el metodo del Simplex es necesario disponer de una solucion Por que estos
basica factible de partida del sistema Ax = b a partir de la cual iterar. metodos
Cuando todas las restricciones son con termino independiente no negativo, Solucion inicial
es decir, de la forma: sencilla
aij xj bi bi 0 (4.1)
j
aij xj + hi = bi bi 0 (4.2)
j
En este caso existe una solucion de partida basica factible inicial trivial, con las Solucion inicial
variables de holgura como variables basicas. Para esta solucion: trivial
aij xj bi bi 0
j
(4.3)
aij xj hi = bi bi 0
j
aij xj = bi
(4.4)
j
ai
j xj bi
j (4.5)
ai
j xj = bi
xj 0
max. z = cx
aij xj + hi = bi
j
ai
j xj hi
= bi
(4.6)
j
ai
j xj = bi
xj , hi , hi
0
Captulo 4. METODOS DE LA M GRANDE Y DE LAS DOS FASES 30
i
i
aij xj + hi = bi
j
ai
j xj hi
+ ai
= bi
(4.7)
j
ai
j xj + ai
= bi
xj , hi , hi
, ai
, ai
se
denominan variables articiales.
1. Dado P construir P
Metodo de
2. Resolver P
: resolucion
a) Si al resolver P
mediante el metodo del simplex se obtiene una
solucion basica factible de P
en la que todas la variables articiales
son nulas, esa es una solucio basica de partida del problema P ,
que puede servir de solucion de partida para aplicar el metodo del
Simplex en la resolucion de P .
b) Si para cualquier solucion optima de P
, siempre al menos una va-
riable articial toma un valor no nulo, P no tiene solucion factible.
P y P
solo se diferencian en que P
tiene un conjunto de actividades adiciona- Relacion entre P
les (las cticias), lo cual es traduce en y P
B = B
, c B = c B , uB = uB , por lo que:
VB = VB
pB = pB
uB = uB
zB = zB
Las columnas auxiliares de las variables correspondientes a las variables arti- Las columnas
ciales permiten disponer, en todo momento, de parte de las columnas de la de las variables
inversa de la base. articiales
i
i
aij xj + hi = bi
j
ai
j xj hi
+ ai
= bi
(4.8)
j
ai
j xj + ai
= bi
xj , hi , hi
, ai
, ai
1. Dado P construir P
Metodo de
2. Resolver P
: resolucion
a) Si al resolver P
mediante el metodo del simplex se obtiene una
solucion basica factible de P
en la que todas la variables articiales
son nulas, esa es una solucion basica de partida del problema P ,
que puede servir de solucion de partida para aplicar el metodo del
Simplex en la resolucion de P .
b) Si para cualquier solucion optima de P
, siempre al menos una va-
riable articial toma un valor no nulo, P no tiene solucion factible.
Los problemas P y P
se diferencian en lo siguiente: Diferencias
entre P y P
que P
tiene un conjunto de actividades adicionales (las cticias) y
que las contribuciones unitarias al benecio, c y c
son diferentes.
Los problemas P y P
comparten: Analogas entre
P y P
B = B
B 1 = B
1
uB = u
B (ya que B 1 b = B
1 b
)
p B = p
B
c B cB
zB z
B
B
V V
B
Las columnas auxiliares de las variables correspondientes a las variables arti- Las columnas
ciales permiten disponer, en todo momento, de parte de las columnas de la de las variables
inversa de la base. articiales
Captulo 4. METODOS DE LA M GRANDE Y DE LAS DOS FASES 33
4.4. Ejemplos
max. z
= x1 + 2x2 + 3x3 Ma2 Ma3 Problema P
x1 + x2 + x3 + h1 = 16
3x1 + 2x2 + 2x3 + a2 = 26 (4.11)
x1 + x3 h3 + a3 = 10
x1 , x2 , x3 , h1 , h3 , a2 , a3 0
Captulo 4. METODOS DE LA M GRANDE Y DE LAS DOS FASES 34
x1 x2 x3 h3 h1 a2 a3
0 1 2 3 0 0 -M -M F0
16 1 1 1 0 1 0 0 F1
26 3 2 2 0 0 1 0 F2
10 1 0 1 -1 0 0 1 F3
= F 0
(1 + 4M)F 2
22 1 1 1
h1 3 0 3 3 0 1 3 0 F 1
= F 1
F 2
26 2 2 1
x1 3 1 3 3 0 0 3 0 F 2
= F 2
/3
4 2 1 1
a3 3 0 3 3 -1 0 3 1 F 3
= F 3
F 2
= F 0
7+M
3 F3
h1 6 0 1 0 1 1 0 -1 F 1
= F 1 1/3F 3
x1 6 1 2 0 2 0 1 -2 F 2
= F 2
2/3F 3
x3 4 0 -2 1 -3 0 -1 3 F 3
= 3F 3
x1 x2 x3 h3 h1 a2 a3
-18 0 6 0 7 0 2 -7
h1 6 0 1 0 1 1 0 -1
x1 6 1 2 0 2 0 1 -2
x3 4 0 -2 1 -3 0 -1 3
-39 27 -1 0 0 0 32 -0
h1 3 21 0 0 0 1 12 -0
1 1
h3 3 2 1 0 1 0 2 -1
3 1
x3 13 2 1 1 0 0 2 0
max. z
= a2 a3 Problema P
x1 + x2 + x3 + h1 = 16
3x1 + 2x2 + 2x3 + a2 = 26 (4.14)
x1 + x3 h3 + a3 = 10
x1 , x2 , x3 , h1 , h3 , a2 , a3 0
x1 x2 x3 h3 h1 a2 a3
fase 1 0 0 0 0 0 0 -1 -1 F 01
fase 2 0 1 2 3 0 0 0 0 F 02
16 1 1 1 0 1 0 0 F1
26 3 2 2 0 0 1 0 F2
10 1 0 1 -1 0 0 1 F3
fase 1 36 4 2 3 -1 0 0 0 F 0
1 = F 01 + F 2
+ F 3
fase 2 0 1 2 3 0 0 0 0 F 0
2 = F 02
h1 16 1 1 1 0 1 0 0 F 1
= F 1
a2 26 3 2 2 0 0 1 0 F 2
= F 2
a3 10 1 0 1 -1 0 0 1 F 3
= F 3
fase 1 4
3 0 23 1
3 -1 0 43 0 F 0
1 = F 01 4F 2
fase 2 26
3 0 4
3
7
3 0 0 13 0 F 02 = F 01 F 2
22 1 1
h1 3 0 3 3 0 1 13 0 F 1
= F 1
F 2
26 2 2 1
x1 3 1 3 3 0 0 3 0 F 2
= F 2
/3
4
a3 3 0 23 1
3 -1 0 13 1 F 3
= F 3
F 2
fase 1 0 0 0 0 0 0 -1 -1 F 0
1 = F 0
1
1 3F3
F 0
7
fase 2 -18 0 6 0 7 0 2 -7 2 = F 01 3 F 3
h1 6 0 1 0 1 1 0 -1 F 1
= F 1
1/3F 3
x1 6 1 2 0 2 0 1 -2 F 2
= F 2
2/3F 3
x3 4 0 -2 1 -3 0 -1 3 F 3
= 3F 3
Captulo 5
INTERPRETACION TECNICO-ECONOMICA
5.1. Introduccion
c
b
A
Para un problema y una base B (que caracteriza a la solucion basica corres- Elementos
pondiente), existen varios elementos caractersticos de esa solucion para ese caractersticos
problema de una solucion
uB
cB
pB
B
En otro contexto, el valor que tiene un vaso de agua cuando alguien lleva varios Un ejemplo mas
das sin suministro en el desierto es muy diferente del valor que tiene ese vaso domestico
de agua en el domicilio de una ciudad con un buen suministro de agua potable
corriente. El vaso de agua es el mismo pero el valor depende de la situacion.
Aqu diremos que los recursos tienen diferente valor segun la solucion, es
decir, segun la base elegida.
Captulo 5. INTERPRETACION TECNICO-ECONOMICA 37
Para ilustrar la interpretacion, en lo que sigue del captulo emplearemos el Presentacion del
siguiente ejemplo. Una empresa monta dos tipos de pales. Los pales de tipo problema
1 contienen un producto P1 y los pales de tipo 2 contienen, a su vez, dos
productos P2 .
Con la venta de cada pale de tipo 1, la empresa tiene un benecio neto de 2 El benecio
unidades monetarias (u.m.) Igualmente, la empresa tiene un benecio neto de
1 u.m. con cada pale de tipo 2.
Los pales deben ser preparados en dos talleres, T1 y T2 , de los que se dispone Los talleres
de un total de 30 y 16 horas semanales, respectivamente, para realizar las
operaciones correspondientes a cada uno de ellos. Cada pale 1 requiere 3 horas
de preparacion en T1 y 4 horas de preparacion en T2 . Cada pale 2 requiere 1
hora de preparacion en T1 y 3 horas de preparacion en T2 .
Por ultimo, existe un colectivo al respecto del cual la empresa tiene un compro-
miso consistente en emplear un numero mnimo de horas de dicho colectivo.
Con cada pale de tipo 1 se emplea una hora de este colectivo y con cada pale 2
se ocupan 3 horas del mismo. La empresa debe ocupar al menos 5 horas de
mano de obra del colectivo citado.
h1 = 167/9, es decir, el taller T1 no esta ocupado todo el tiempo. De las Uso de los
30 horas, esta ocioso un total de 18.56 horas. recursos
h2 = 0, es decir, el taller T2 esta ocupado las 16 horas en las que esta dis-
ponible cada semana.
h3 = 5/9, es decir, se producen 0.56 pales mas del mnimo comprometi-
do. Es decir, se entregan 4.56 por termino medio cada semana.
h4 = 0, es decir, el nivel de ocupacion del colectivo al que se reere el
compromiso esta ocupado un numero de horas igual al mnimo.
Captulo 5. INTERPRETACION TECNICO-ECONOMICA 39
B
El elemento pij relaciona la variable basica que ocupa la posicion i-esima y la
B
variable j-esima del problema. En particular, pij representa en que medida dis-
minuye el nivel de realizacion de la actividad basica i-esima cuando se realiza
la actividad j-esima con valor unitario. De otra manera:
B
pij = uBi |xj =1 (5.4)
Por ejemplo, las tasas de sutitucion de la variable h2 con respecto a las varia-
bles basicas se discuten a continuacion.
Cuando h2 = 1, h3 = 1/9
Es decir, al desocupar una hora de taller T2 , el numero de productos
que se entregan por encima del compromisio comercial disminuye
en 1/9.
B
p34 = 1/3
Cuando h2 = 1, x1 = 1/3
Es decir, al desocupar una hora de taller T2 , se produce 1/3 de pales
de tipo 1 menos.
B
p44 = 1/9
Cuando h2 = 1, x2 = 1/9
Es decir, al desocupar una hora de taller T2 , se produce 1/9 de pales
de tipo 2 mas.
B = c B B 1 (5.6)
z = c B uB = c B B 1 b = B b (5.7)
La relacion que existe entre los multiplicadores del simplex y los valores de los
criterios del simplex es la siguiente.
5 2
B = 1B , 2B , 3B , 4B = 0, , 0, (5.11)
9 9
V B = c c B B 1 A (5.12)
Captulo 5. INTERPRETACION TECNICO-ECONOMICA 43
VkB = ck c B B 1 Ak (5.13)
VkB = ck c B pkB
VkB = ck B Ak
x1 x2 h1 h2 h3 h4 Otra solucion
-2 3/2 0 0 0 1/2 0
h1 28 5/2 0 1 1 1/2 0
h2 10 5/2 0 0 0 3/2 0
h4 1 1/2 0 0 0 -3/2 1
x2 2 1/2 1 0 0 -1/2 0
c B = (0, 0, 0, 1) c B p1B
(5.15)
5 5 1 1 T
pB = , , ,
2 2 2 2
1
Es decir, dejamos de ganar 2
B = (0, 0, 1, 0)
T (5.16)
1
A1 = 3, 4, , 0
2
1
Es decir, dejamos de ganar 2
Netamente: V1B = c1 B A1
INTERPRETACION GRAFICA
6.1. Introduccion
Existe una forma de abordar lo que aqu se presenta de forma muy somera Teora de
conocida como teora de poliedros, s resulta util para el tratamiento y la reso- poliedros
lucion de problemas de Programacion Lineal, pero que queda fuera del alcance
de este texto.
maz z =cx
s.a:
(6.1)
Ax = b
x0
x R+
21 Dimensiones
A Rm2
c R12
b Rm1
max z = x1 + 2x2
sujeto a:
2x1 + x2 2 Restriccion R1
(6.2)
x1 + x2 6 Restriccion R2
2x1 + x2 10 Restriccion R3
x1 , x2 0
En la gura 6.1, aparecen representadas las tres restricciones. Cada restriccion Restricciones
de tipo o divide al plano en dos semiplanos, de tal manera que uno de
ellos corresponde a soluciones factibles con respecto a dicha restriccion y el
otro semiplano a soluciones con factibles con respecto a la misma restriccion.
max z = x1 + 2x2
sujeto a:
2x1 + x2 + h1 = 2
(6.3)
x1 + x2 + h2 = 6
2x1 + x2 + h3 = 10
x1 , x2 h1 h2 h3 0
Por ejemplo:
El punto (4, 2)
Esta a la derecha de la recta R1 , el su semiplano factible, con lo que
h1 > 0
Esta sobre la recta R2 , con lo que h2 = 0
Esta sobre la recta R3 , con lo que h3 = 0
El punto (1, 6)
Esta a la izquierda de la recta R1 , el su semiplano no factible, con
lo que h1 < 0
Captulo 6. INTERPRETACION GRAFICA 49
Las restricciones funcionales junto con las restricciones de no negatividad de- Region de
nen la region de factiblidad (sombreada en la gura 6.2). Cualquier punto soluciones
perteneciente a la region de soluciones factibles cumple con todas las restric- factibles
ciones, incluidas las de no negatividad.
La funcion objetivo se puede entender como un haz de rectas paralelas c1 x1 + Haz de rectas
c2 x2 = k.
Captulo 6. INTERPRETACION GRAFICA 51
En el ejemplo del problema, la recta x1 + 2x2 = 14 es el conjunto de todas las Funcion objetivo
soluciones que proporcionan un valor de la funcion objetivo de 14. Ninguno
de los puntos de dicha recta estan en la region de soluciones factibles, por lo
que no existe ninguna solucion factible que proporcione un valor de z = 14.
Lo mismo ocurre con z = 12.
m variables basicas y
2 variables no basicas.
Captulo 6. INTERPRETACION GRAFICA 52
Es decir en una solucion basica, como mnimo, debe haber dos variables nulas:
el eje de coordenadas,
cada una de las intersecciones de una restriccion con cada uno de los
ejes y
cada una de las intersecciones de los difernetes pares de restricciones.
Por otro lado, en el caso de que todas las retricciones tengan variables
de
hol- Numero de
m+2 soluciones
gura, el problema tiene un numero de soluciones basicas igual =
m basicas
2m2 + 2m 4
Captulo 6. INTERPRETACION GRAFICA 53
De las soluciones basicas anteriores, algunas son factibles (en azul) y otras son
no factibles (en rojo). Y de las factibles, aquella que tiene una funcion objetivo
mayor es la solucion optima del problema.
Captulo 6. INTERPRETACION GRAFICA 54
x NB , no esta sobre ninguna restriccion, ni sobre ningun eje, con lo que tiene
cinco componentes no nulas (es decir, todas). Siguiendo el camino verde, nos
desplazamos primero a una solucion no basica sobre el eje x1 (con una com-
ponente nula adicional: x2 ). Y, desde ella es posible llegar a x 3 , en la que hay
dos componentes nulas: x2 y h3 y tres no nulas: es una solucion basica y mejor
que la de partida.
El metodo del Simplex, al cual se dedicaron los captulos 2 y 3, opera transi- Logica general
tando de solucion basica factible en solucion basica factible hasta llegar a una
que es optima. En la gura 6.8, en particular, se muestran dos posibles transi-
ciones, la primera entre las soluciones x 1 y x 5 y la segunda entre x 5 y x 7 , que
es la solucion optima. Como se ha comentado antes, las solucion basicas son
los vertices del polgono de la region de factiblidad.
Captulo 6. INTERPRETACION GRAFICA 56
El cada iteracion del metodo del simplex, se introduce una variable nueva en Regla de
la base con un valor que hace que una de las que era basica, se haga cero. supresion p B
Por ejemplo, si a partir de x 1 , decidimos que la variable x2 deje de ser cero,
podemos acceder a tres nuevas soluciones basicas:
En el ejemplo anterior, las tres soluciones a las que se puede acceder desde
x1 son basicas, pero solo una es factible. La regla de supresion del metodo del
simplex garantiza que al introducir una nueva variable, el valor con el que esta
entra no hace ninguna de las variables negativas, por lo que siempre se accede
a una nueva solucion basica factible.
Captulo 6. INTERPRETACION GRAFICA 58
Pendiente Problema
auxiliar
Pendiente Regiones de
factibilidad de P
Pendiente y de P
Iteraciones del
problema P
Pendiente Regla de
supresion V B
Pendiente Regla de
introduccion p B
Pendiente Criterio de
factiblidad
Captulo 7
7.1. Introduction
Logica del
metodo del
Simplex
En este captulo se va a presentar el metodo de Lemke, o dual del Simplex, que Logica del
tambien permite resolver problemas de Programacion Lineal. En este metodo metodo de
consista en, a partir de una solucion basica que cumple el criterio de optimali- Lemke
dad (V B 0) de partida, de forma iterativa, se transita por diferentes solucion
basicas que tambien cumplen el criterio de optimalidad hasta alcanzar una que
tambien es factible.
Para aplicar el metodo de Lemke, de acuerdo con la logica anterior, es necesa- Que necesita-
rio: mos
En efecto:
Es decir, la solucion en la que las variables basicas son las variables de holgura
es una solucion que cumple el criterio de optimalidad y es basica, con lo cual
es una solucion a partir de la cual se puede aplicar el metodo del ejemplo.
La tabla inicial a partir de la cual se podra comenzar a iterar, tal y como se La tabla inicial
describe mas adelante sera la siguiente.
x1 x2 x3 h1 h2 h3 La tabla inicial
0 -1 -2 -3 0 0 0
-10 -1 -2 -1 1 0 0
-20 -4 -2 -3 0 1 0
40 1 1 1 0 0 1
uB = B 1 b
zB = c B uB
Y no se modicara:
VB
pB
Si el cambio de b hace que algun uBi sea negativo, la solucion que era optima
y factible deja de ser factible y sigue siendo cumpliendo V B 0, por lo que es
una solucion a partir de la cual se puede aplicar el metodo de Lemke.
x1 x2 x3 x4 x5 x6
-40 -1 0 0 -1 0 -1
1 1
x2 2 4 1 0 2 0 14
5
x5 6 2 0 0 1 1 32
1 1
x3 12 2 0 1 0 0 2
Captulo 7. METODO DEL LEMKE 64
T
Si el nuevo vector fuera b
= 10 26 24 , el nuevo valor de uB sera el
siguiente.
1
0 14 10 1
2
uB = B 1 b
=
1 1 32
26 = 0 (7.4)
1
0 0 2
24 12
T
El nuevo valor de z sera c B uB = 2 0 3 1 0 12 = 34
x1 x2 x3 x4 x5 x6
-34 -1 0 0 -1 0 -1
1 1
x2 -1 4 1 0 2 0 14
5
x5 0 2 0 0 1 1 32
1 1
x3 12 2 0 1 0 0 2
A partir de esa tabla se podra iterar aplicando el metodo de Lemke, tal y como
se comenta mas adelante en el captulo.
Pendiente
7.3. Reglas
uBi = maxuB <0 uBk (7.5)
k
VjB VkB
= minpB >0 B (7.6)
pij ik pik
Si, en general, entra la variable j-esima del problema, los nuevos criterios del
Simplex son:
= pik B
VkB VkB B Vj (7.7)
pij
Para garantizar que con la nueva base, se sigue cumpliendo el criterio de opti-
malidad se debe cumplir 7.6.
=
B
pik B
pik VkB VjB
VkB VkB B VjB 0 VkB B VjB B B
B
dado que pik 0 (7.8)
pij pij pik pij
7.4. Ejemplo
Problema equivalente
max. (z) = 300x1 400x2 100x3 50x4
4x1 5x2 2x3 x4 800
2x1 4x2 x3 600 (7.10)
1x1 + x2 + 4x4 2000
xi , hi 0
Captulo 7. METODO DEL LEMKE 66
Problema equivalente
max. (z) = 300x1 400x2 100x3 50x4
4x1 5x2 2x3 x4 + h1 = 800
2x1 4x2 x3 + h2 = 600 (7.11)
1x1 + x2 + 4x4 + h3 = 2000
xi , hi 0
x1 x2 x3 x4 h1 h2 h3
0 -300 -400 -100 -50 0 0 0 F0
h1 -800 -4 -5 -2 -1 1 0 0 F1
h2 -600 -2 -4 -1 0 0 1 0 F2
h3 2000 1 1 0 4 0 0 1 F3
40000 -100 -150 0 0 -50 0 0 F0
= F0 + 100F1
x3 400 2 5
2 1 1
2 12 0 0 F1
= F1
/2
h2 -200 0 32 0 1
2 12 1 0 F2 = F2 + F1
h3 2000 1 1 0 0 0 0 1 F3
= F3
60000 -100 0 0 -50 0 -100 0 F0
= F0
+ 150F2
x3 200
3 2 0 1 4
3 43 5
3 0 F1
= F1
5/2F2
x2 400
3 0 1 0 13 13 23 0 F2
= 2/3F2
h3 5600
3 1 0 0 13
3 13 2
3 1 F3
= F3
F2
Captulo 8
CASOS ESPECIALES
8.1. Introduccion
Pendiente
Ademas, todas las soluciones del tipo x = x B + (1 )x B con (0, 1) son Soluciones no
soluciones no basicas y optimas del problema. basicas optimas
Soluciones
1 Esto es as siempre. Si existen variables basicas con tasas de sustitucion positiva con respecto optima basicas
a xk , una de ellas sera la que abandone la base. Si todas las tasas de sustitucion son negativas
se trata de un caso que se describe en la seccion 8.5
Captulo 8. CASOS ESPECIALES 69
x1 x2 h1 h2 h3
-12 0 0 -1 0 0
x1 4/3 1 0 1/3 -4/3 0
x2 2 0 1 0 1 0
h3 7/6 0 0 -1/3 7/3 1
-12 0 0 -1 0 0
x1 16/7 1 0 1/7 0 4/7
x2 9/7 0 1 1/7 0 -3/7
h2 5/7 0 0 -1/7 1 3/7
Se dice que una solucion basica es degenerada si alguna de las variables basicas Caracterizacion
toma valor 0, es decir, algun uBi = 0 analtica
x1 x2 h1 h2 Solucion del
-8 -5/3 0 -4/3 0 problema
x2 2 2/3 1 1/3 0
h2 0 -1/3 0 -2/3 1
-8 -1 0 0 -2
x2 2 1/2 1 0 1/2
h1 0 1/2 0 1 -3/2
-8 0 0 2 -5
x2 2 0 1 -1 2
x1 0 1 0 2 -3
Captulo 8. CASOS ESPECIALES 70
Cuando se aplica el metodo del Simplex para resolver el problema auxiliar Caracterizacion
correspondiente al metodo de las dos fases o de la M grande, el problema analtica.
original no tiene solucion factible si para todas las soluciones optimas del Simplex
problema auxiliar existe al menos una variable articial diferente de 0.
Esta sera la tabla a la que se llegara aplicando el metodo de las dos fases. Aplicando las
dos fases
x1 x2 h2 h1 a2
2 0 -1 -1 -1 0
x1 1 1 2 0 1 0
a2 2 0 -1 -1 -1 1
x1 x2 h1 h2
0 -2 -3 0 0
h1 1 1 2 1 0
h2 -3 -1 -1 0 1
0 0 -1 0 -2
h1 -2 0 1 1 1
x1 3 1 1 0 -1
B
Si en la solucion optima existe una variable, xk , no basica, y pik 0 para Caracterizacion
todas las variables basicas (i = 1...m), entonces si al aumentar el valor de analtica
xk aumenta el valor de todas las variables basicas, con lo que la region de
soluciones factibles no esta acotada.
Si el VkB 0, a pesar de que es posible introducir esta variable, con el con- Solucion optima
siguiente incremento de todas las variables basicas, la introduccion de xk no unica
resulta interesante, con lo que la solucion optima es unica.
max. z = x1 + x2 Ejemplo
x1 + 2x2 6
(8.4)
2x1 + 2x2 0
x1 , x2 0
x1 x2 h1 h2 Solucion del
-2/3 0 0 -1/3 -1/3 problema
x1 2/3 1 0 1/3 -2/3
x2 4/3 0 1 2/3 -1/3
x1 x2 h1 h2 Solucion del
-4 0 0 -2 0 problema
x1 2/3 1 0 1/3 -2/3
x2 4/3 0 1 2/3 -1/3
x1 x2 h1 h2 Solucion del
-21/3 0 0 -8/3 10/3 problema
x1 2/3 1 0 1/3 -2/3
x2 4/3 0 1 2/3 -1/3
Captulo 9
POSTOPTIMIZACION
9.1. Introduction
max z = cx
Ax = b (9.1)
x0
1. b
2. c
3. Aparicion de una nueva actividad (una nueva columna en A y una nueva
componente en c)
4. Aparicion de una nueva restriccion (una nueva la en A y una nueva
componente en b)
5. Cambio en aij
9.2. Cambio en b
1. u
B = B 1 b
2. z
= c B u
B
No cambia
1. B
2. B 1
3. p B = B 1 A
4. V B = c c B B 1 A. En particular, al tratarse de la solucion optima V B 0
Captulo 9. POSTOPTIMIZACION 77
1. Si u
B
i 0 i la solucion sigue siendo factible y, como V 0, las varia-
B
2. Si u
B
i < 0 la solucion deja de ser factible pero cumple el criterio de op-
timalidad, V B 0. Se debe aplicar el metodo de Lemke hasta obtener una
solucion que ademas de cumplir el crierio de optimalidad sea factible, la
nueva solucion optima, que tendra un conjunto de variables basicas de
las de la solucion original.
9.3. Cambio en c
1. z
= c
B uB
2. V B = c
c
B B 1 A
No cambia:
1. B
2. B 1
3. p B = B 1 A
4. uB = B 1 b. En particular, como la solucion era factible uB 0
1. Si Vj
B 0 j la solucion sigue siendo optima y, como uB 0, las varia-
bles basicas son las mismas, con el mismo nivel de realizacion uB y un
nuevo valor de la funcion objetivo z
2. Si Vj
B > 0 la solucion deja de ser optima pero sigue siendo factible,
uB 0: se debe aplicar el metodo de Simplex hasta obtener una solucion
que ademas de ser factible cumpla el crierio de optimalidad, la nueva
solucion optima, que tendra un conjunto de variables basicas de las de
la solucion original.
Con la aparicion de una nueva actividad, la solucion optima del problema pue-
de ser la misma o puede ser otra mejor.
alj xj bl alj xj + hl = bl
j j
(9.2)
alj xj bl alj xj hl = bl
j j
a x
alj xj = bl equivalente a j lj j alj xj l (9.3)
j alj xj
j j
Se pueden dar dos situaciones, que la variable xj sea basica o que no.
1. Vj
B = cj c B B 1 Aj
2. pj
B = B 1 Aj
No cambia:
1. B
2. B 1
3. z = c B uB
4. VkB , k j (no cambia el criterio del simplex del resto de variables basicas)
5. pk
B = B
1 A
k k j
6. u
B = B
1 b
Captulo 9. POSTOPTIMIZACION 80
si VjB > 0 interesa realizar dicha actividad , en cuyo caso habra que apli-
car el metodo del Simplex y xj entrara en la base en la primera iteracion.
Se debera iterar hasta alcanzar la nueva solucion optima;
si VjB 0 no interesa introducir la variable xj en la base y la solucion
optima no vara.
1. B
2. B
1
3. u
B = B
1 b
4. z
= c
B u
B
5. V
B = c c
B B
1 A
6. p
B = B
1 A
VB 0 V B 0
uB 0 Solucion optima Simplex
uB 0 Lemke -
9.7. Ejemplo
x1 x2 x3 h3 h1 a2 a3
-39 -7/2 -1 0 0 0 -3/2 0
h1 3 -1/2 0 0 0 1 -1/2 0
h3 3 1/2 1 0 1 0 1/2 -1
x3 13 3/2 1 1 0 0 1/2 0
Captulo 9. POSTOPTIMIZACION 81
9.7.1. Cambio de b
T
Supongamos que b
= 14 22 11 . El nuevo valor de las variables basi-
B
cas, u sera:
1 1/2 0 14 3
u
B = B 1 b
= 0 1/2 1 22 = 0 (9.5)
0 1/2 0 11 11
T
Supongamos que b
= 12 26 11 . El nuevo valor de las variables basi-
B
cas, u sera:
1 1/2 0 12 1
u
B = B 1 b
= 0 1/2 1 26 = 2 (9.6)
0 1/2 0 11 13
x1 x2 x3 h3 h1 a2 a3
-39 -7/2 -1 0 0 0 -3/2 0
h1 -1 -1/2 0 0 0 1 -1/2 0
h3 2 1/2 1 0 1 0 1/2 -1
x3 13 3/2 1 1 0 0 1/2 0
-32 0 -1 0 0 -7 2 0
x1 2 1 0 0 0 -2 1 0
h3 1 0 1 0 1 1 0 -1
x3 10 0 1 1 0 3 -1 0
9.7.2. Cambio de c
Supongamos que c
= 2 2 4 0 0
V B = c
c
B B 1 A =
1/2 0 0 0 1
2 2 4 0 0 0 0 4 1/2 1 0 1 0 = 4 2 0 0 0
3/2 1 1 0 0
(9.7)
Supongamos que c
= 6 1 3 0 0
V B = c
c
B B 1 A =
1/2 0 0 0 1
6 1 3 0 0 0 0 3 1/2 1 0 1 0 = 3/2 2 0 0 0
3/2 1 1 0 0
(9.8)
x1 x2 x3 h3 h1 a2 a3
-39 3/2 -2 0 0 0 -3/2 0
h1 3 -1/2 0 0 0 1 -1/2 0
h3 3 1/2 1 0 1 0 1/2 -1
x3 13 3/2 1 1 0 0 1/2 0
-48 0 -5 0 -3 0 -3 3
h1 6 0 1 0 1 1 0 -1
x1 6 1 2 0 2 0 1 -2
x3 4 0 -2 1 -3 0 -1 3
c4 = 5
T
A4 = 1 1 1
Captulo 9. POSTOPTIMIZACION 83
V4B = c4
c B B 1 A4 = c4
B A4
1 (9.9)
5 0 3/2 0 1 = 7/2
1
p4B = B 1 A4 =
1 1/2 0 1 1/2
(9.10)
0 1/2 1 1 = 1/2
0 1/2 0 1 1/2
x1 x2 x3 x4 h3 h1 a2 a3
-39 3/2 -2 0 7/2 0 0 -3/2 0
h1 3 -1/2 0 0 1/2 0 1 -1/2 0
h3 3 1/2 1 0 -1/2 1 0 1/2 -1
x3 13 3/2 1 1 1/2 0 0 1/2 0
-60 0 -1 0 0 0 -7 2 0
x4 6 -1 0 0 1 0 2 -1 0
h3 6 0 1 0 0 1 1 0 -1
x3 10 2 1 1 0 0 -1 1 0
x1 + x3 15 (9.11)
x2 + x3 10 (9.12)
Captulo 9. POSTOPTIMIZACION 84
x1 x2 x3 h3 h1 h4 a2 a3
-39 -7/2 -1 0 0 0 0 -3/2 0
h1 3 -1/2 0 0 0 1 0 -1/2 0
h3 3 1/2 1 0 1 0 0 1/2 -1
x3 13 3/2 1 1 0 0 0 1/2 0
10 0 1 1 0 0 1 1/2 0
h4 -3 -3/2 0 0 0 0 1 -1/2 0
-32 0 -1 0 0 0 7/3 2 0
h1 4 0 0 0 0 1 -1/3 1 0
h3 2 0 1 0 1 0 1/3 0 -1
x3 10 0 1 1 0 0 1 -1 0
x1 2 1 0 0 0 0 -2/3 1/3 0
1 1/2 0 b1
uB = B 1 b = 0 1/2 1 26 =
0 1/2 0 10
(9.14)
b1 13
3 0 b1 13
13
T
Si b = 16 b2 10 , el nuevo valor de las variables basicas, u
B sera: Analisis b2
1 1/2 0 16
uB = B 1 b = 0 1/2 1 b2 =
0 1/2 0 10
16 b2 /2
b2 /2 10 0 20 b2 32
b2 /2
(9.15)
Captulo 9. POSTOPTIMIZACION 85
T
Si b = 16 26 b3 , el nuevo valor de las variables basicas, u
B sera: Analisis b3
1 1/2 0 16
uB = B 1 b = 0 1/2 1 26 =
0 1/2 0 b3
3
13 b3 0 b3 13
13
(9.16)
Resumen
13 b1 <
20 b2 32 (9.17)
< b3 13
1
V1B = c1 B a2 = c1 0 3/2 0 3 = c1 9/2 0 c1 9/2
1
(9.18)
1
V2B = c2 B a3 = c2 0 3/2 0 2 = c2 3 0 c2 3 (9.19)
0
V B = c c B B 1 A =
1/2 0 0 0 1
1 2 c3 0 0 0 0 c3 1/2 1 0 1 0 = (9.20)
3/2 1 1 0 0
1 3/2c2 2 c3 0 0 0 0 c3 2
Captulo 9. POSTOPTIMIZACION 86
Resumen
< c1 4,5
< c2 3 (9.21)
2 c3 <
Captulo 9. POSTOPTIMIZACION 87
Dado el problema
max z = x1 + 3x2
x1 + 2x2 20
(9.22)
2x1 + x2 20
x1, x2 0
x1 x2 h1 h2
-80/3 0 0 -5/3 -1/3
x2 20/3 0 1 2/3 1/3
x1 20/3 1 0 -1/3 -2/3
PROGRAMACION PARAMETRICA
10.1. Introduccion
1. Calculo de uB (0 )
2. Calculo del 1 y 2 , tal que uB 0 si 1 2
3. Para 1 (dem para 2 )
a) si 1 es (si 2 es ), no hay valores menores (mayores) de
que analizar.
b) en caso contrario: obtener la degenerada para = 1 :
1) Si es posible aplicar el metodo del Lemke, iterar para obtener
otra base de la misma solucion degenerada y volver al punto 1.
2) Si no es posible aplicar el metodo del Lemke, es que no hay
solucion factible fuera del valor de extremo estudiado.
x1 x2 x3 h1 a
-111/2 0 -1/2 0 -19/10 -2/5
x3 7/2 0 1/2 1 3/10 -1/5
x1 11/2 1 1/2 0 -1/10 2/5
A continuacion vamos a realizar el analisis para c() = 6 8 , , con
0
0 1/2 1 3/10
B B 1 B
V () = c c B A=cc p = 6 8 0 8 =
1 1/2 0 1/10
4 24
0 2 0 10
(10.2)
40
4 24 (10.3)
24 0
T0 () x1 x2 x3 h1
28 11
2 0 4
2 0 24
10
x3 7/2 0 1/2 1 3/10
x1 11/2 1 1/2 0 -1/10
T1 x1 x2 x3 h1
-50 0 0 0 -2
x3 7/2 0 1/2 1 3/10
x1 11/2 1 1/2 0 -1/10
T2 x1 x2 x3 h1
-50 0 0 0 -2
x2 7 0 1 2 3/5
x1 2 1 0 -1 -2/5
0 1 2 3/5
V B () = c c B B 1 A = c c B p = 6 8 0 6 =
1 0 1 2/5
218
0 0 4 5
(10.4)
El criterio del Simplex de la tabla T2 nunca se anula para valores de tales que
4.
Es decir, para cualquier valor de menor que 4, las variables basicas con x1
y x2 . Existe aqu una aparente contradiccion por el hecho de que si c1 es muy
grande en valor absoluto y negativo, parece sensato pensar que x1 debera
no ser una variable basica porque deteriora notablemente la funcion objetivo.
Por ejemplo, parace razonable pensar que si c1 = 1000, si z representa el
benecio de un sistema real, estaramos perdiendo 1000 unidades monetarias,
con lo que parece intuitivo pensar que esta variable no debera estar en la
solucion nal.
Es decir, el criterio del simplex nos dice como se modica la z al introducir una
variable no basica con valor 1. Dada la estructura de las restricciones, hacer
que cualquier de las variables no basicas crezca hace que x1 crezca tambien,
Captulo 10. PROGRAMACION PARAMETRICA 91
T3 x1 x2 x3 h1
160 0 -10 0 0
x3 7/2 0 1/2 1 3/10
x1 11/2 1 1/2 0 -1/10
T4 x1 x2 x3 h1
160 0 -10 0 0
h3 35/3 0 5/3 10/3 1
x1 20/3 1 2/3 1/3 0
0 5/3 10/3 1
B B 1 B
V () = c c B A=cc p = 6 8 0 0 =
1 2/3 1/3 0
62 24
0 3 3 0)
(10.5)
El criterio del Sipmlex no se hace positivo para ningun valor de tal que > 24
En resumen:
Procedimiento general:
T0 x1 x2 x3 x4 h1 h2
-15 -2 -1 -1 0 0 -1/10
h1 45 5 -15 -5 0 1 -1/2
x4 5 5/3 5/3 1 1 0 1/30
T
b() = 120 150 +
B 1 1 1/2 120 45 3/2
u () = B b() = = (10.7)
0 1/30 150 + 5 + /30
Captulo 10. PROGRAMACION PARAMETRICA 93
T0 () x1 x2 x3 x4 h1 h2
-15 -2 -1 -1 0 0 -1/10
h1 45-3/2 5 -15 -5 0 1 -1/2
x4 5-/30 5/3 5/3 1 1 0 -1/30
Si = 30
T0 ( = 30) x1 x2 x3 x4 h1 h2
-18 -2 -1 -1 0 0 -1/10
h1 0 5 -15 -5 0 1 -1/2
x4 6 5/3 5/3 1 1 0 -1/30
B 1 1/60 1/30 120 (30 + )/10
u () = B b() = =
1/9 2/90 150 + (900 12)/90
(10.8)
T1 () x1 x2 x3 x4 h1 h2
-18 -7/3 0 -2/3 0 -1/60 -1/60
x2 (-30+)/10 -1/3 1 1/3 0 -2/30 1/30
x4 (900-12)/90 20/9 0 4/9 1 1/9 -2/90
Si = 75
T1 ( = 75) x1 x2 x3 x4 h1 h2
-18 -7/3 0 -2/3 0 -1/60 -1/60
x2 9/2 -1/3 1 1/3 0 -2/30 1/30
x4 0 20/9 0 4/9 1 1/9 -2/90
B 1 1/10 0 120 (120 + )/10
u () = B b() = =
5 1 150 + 6 450
(10.9)
T2 () -18 -9 0 -2 -3 -2/5 0
x2 (-120+)/10 3 1 1 3/2 1/10 0
h2 6 450 -100 0 20 -45 -5 1
En resumen:
T
b() = 40 24 3 y
c() = 2 4+ 1 0 0 , co 0
x1 x2 x3 h1 h2
-40 0 -1 0 -1 0
x1 56/3 1 2 0 2/3 -1/3
x3 8/3 0 1 1 -1/3 2/3
Captulo 10. PROGRAMACION PARAMETRICA 95
V B () = c c B B 1 A = c c B p B =
1 2 0 2/3 1/3
2 4+ 1 0 0 2 1 = (10.11)
0 1 1 1/3 2/3
0 1 0 1 0
2/3 1/3 40 1 56 + 3
uB () = B 1 b() = = (10.12)
1/3 2/3 24 3 3 8 6
VB 0 1 (10.13)
4
uB 0 (10.14)
3
x1 x2 x3 h1 h2
0 1 0 -1 0
x1 (56 + 3)/3 1 2 0 2/3 -1/3
x3 (8 6)/3 0 1 1 -1/3 2/3
-40 0 0 0 -1 0
x1 59/3 1 2 0 2/3 -1/3
x3 2/3 0 1 1 -1/3 2/3
-40 0 0 0 -1 0
x1 55/3 1 0 -2 4/3 -5/3
x2 2/3 0 1 1 -1/3 2/3
V B () = c c B B 1 A = c c B p B =
1 0 2 4/3 5/3
2 4+ 1 0 0 2 4+ =
0 1 1 1/3 2/3
0 0 1 ( 4)/3 (2 2)/3)
(10.15)
Captulo 10. PROGRAMACION PARAMETRICA 96
B 1 4/3 5/3 40 1 40 + 15
u () = B b() = =
1/3 2/3 24 3 3 8 6
(10.16)
VB 0 1 4 (10.17)
4
uB 0 3/8 (10.18)
3
Por lo tanto, para que las variables basicas x1 y x2 conduzcan a una solucion
optima y factible 1 43 . El extremo inferior de este intervalo coincide, na-
turalmente, con el extremo superior del intervalo obtenido para las soluciones
basicas con x1 y x3 .
4 4
Con = 3 se obtiene una solucion degenerada. Con > 3 se obtiene una solu-
cion basica no factible, por lo que deja de ser la solucion optima y factible del
problema. A continuacion guran las siguientes tres tablas: la correspondiente
a x1 y x2 como variables basicas, en funcion de , la anterior con = 43 y la
solucion obtenida al aplicar Lemke a patir de la anterior.
x1 x2 x3 h1 h2
0 0 1 ( 4)/3 (2-2)/3
x1 (40 + 15)/3 1 0 -2 4/3 -5/3
x2 (8 6)/3 0 1 1 -1/3 2/3
0 -8/3 -3 0 -2
x1 40 1 4 2 0 1
h1 0 0 -3 -3 1 -2
V B () = c c B B 1 A = c c B p B =
1 4 2 0 1
2 4+ 1 0 0 2 0 = (10.19)
0 3 3 1 2
0 4 + 3 0 2
Captulo 10. PROGRAMACION PARAMETRICA 97
B 1 0 1 40 24 3
u () = B b() = = (10.20)
1 2 24 3 8 + 6
VB 0 4 (10.21)
4
uB 0 8 (10.22)
3
Por lo tanto, para que las variables basicas x1 y h2 conduzcan a una solucion
4
optima y factible 3 4. El extremo inferior de este intervalo coincide, na-
turalmente, con el extremo superior del intervalo obtenido para las soluciones
basicas con x1 y x2 .
Con = 4 se obtiene una solucion degenerada. Con > 4 se obtiene una solu-
cion basica no optima, por lo que deja de ser la solucion optima y factible del
problema. A continuacion guran las siguientes tres tablas: la correspondiente
a x1 y h1 como variables basicas, en funcion de , la anterior con = 4 y la
solucion obtenida al aplicar el metodo del Simplex a patir de la anterior.
x1 x2 x3 h1 h2
0 4 + -3 0 -2
x1 24 3 1 4 2 0 1
h1 8 + 6 0 -3 -3 1 -2
0 0 -3 0 -2
x1 12 1 4 2 0 1
h1 16 0 -3 -3 1 -2
0 0 -3 0 -2
x2 3 1/4 1 1/2 0 1/4
h1 25 3/4 0 -3/2 1 -5/4
V B () = c c B B 1 A = c c B p B =
1/4 1 1/2 0 1/4
2 4+ 1 0 0 4+ 0 =
3/4 0 3/2 1 5/4
1 4 0 1 2 0 1 4
(10.23)
Captulo 10. PROGRAMACION PARAMETRICA 98
B 1 0 1/4 40 1 24 3
u () = B b() = = (10.24)
1 5/4 24 3 4 40 + 15
V B 0 4 (10.25)
uB 0 8 (10.26)
Por lo tanto, para que las variables basicas x2 y h1 conduzcan a una solucion
optima y factible 4 8. El extremo inferior de este intervalo coincide, na-
turalmente, con el extremo superior del intervalo obtenido para las soluciones
basicas con x1 y x2 .
Con = 8 se obtiene una solucion degenerada. Con > 8 se obtiene una solu-
cion basica no optima, por lo que deja de ser la solucion optima y factible del
problema. A continuacion guran las siguientes dos tablas: la correspondiente
a x2 y h1 como variables basicas, en funcion de , la anterior con = 8. Se
observa que para la variable x2 no existen tasas de sustitucion negativas, con
lo que si > 4 no existe solucion factible, porque no es posible que x2 salga
de la base.
x1 x2 x3 h1 h2
1 4 0 1 2 0 1 4
x2 (24 3)/4 1/4 1 1/2 0 1/4
h1 (40 + 15/4 3/4 0 -3/2 1 -5/4
-1 0 -5 0 -3
x2 0 1/4 1 1/2 0 1/4
h1 40 3/4 0 -3/2 1 -5/4
En resumen:
TRANSPORTE Y ASIGNACION
11.1.1. Introduccion
11.1.2. Formulacion
Dados
un conjunto de orgenes (O), cada uno de los cuales tiene asociada una
capacidad Oi (unidades de producto)
un conjunto de destinos (D), cada uno de los cuales tiene una demanda
asociada Dj (unidades de producto) y
el coste Cij asociado a transportar una unidad de producto del origen
i O al destino j D
s.a.
xij Oi i O (11.1)
jD
xij Dj j D
iO
xij 0 j D, i O
Problemas equilibrados: iD Oi = jD Dj
Captulo 11. TRANSPORTE Y ASIGNACION 100
s.a.
xij = Oi i O (11.2)
jD
xij = Dj j D
i
xij 0 j D, i O
max z = s.a.
x11 +x12 ... +x1J ... = O1
+x21 x22 ... +x2J ... = O2
... +xI1 +xI2 ... +xIJ = OI
x11 +x21 ... +xI1 +xIJ = D1
x12 x22 ... +xI2 = D2
... ... ... ... =
+x1J +x2J ... +xIJ = DJ
xij 0 j D, i O
(11.3)
De acuerdo con
max z = cx
s.a.
(11.4)
Ax = b
x0
O1
...
OI
b=
(11.6)
D1
...
DJ
c= C11 ... CI1 ... Cij c1J ...CIJ (11.7)
donde cij es el coste reducido asociado al a variable xij , que se presentara mas
adelante.
11.1.5. Propiedades
Las propiedades..
max z = Cij xij
ij
s.a.
Oi Dj jD Dj (11.8)
xij = = Oi = Oi i O
jD jD
D
jD j jD Dj
Oi Dj Oi
xij = = Dj iO = Dj j D
iO iO iO O i iO Oi
1. Stepping-stone
2. MODI
Procedimiento:
Metodos
Rincon NO
Mnimo coste
Voguel
Otros
Por lo tanto, la funcion ojetivo se puede expresar como la suma de dos termi-
B
nos, uno constante y otro que depende de xij . Si se denota con xij a las va-
B
riables basicas y xij a las no basicas, el termino variable se puede reformular
como:
B B
xij (cij ui vj ) = xij (cij ui vj ) + xij (cij ui vj )
(11.11)
ij ij ij
Sean como sean calculados, el coste reducido cij representa la reduccion uni-
taria de la funcion objetiva al introducir con valor 1 la variable no basica xij ,
s.a.
(11.13)
ui + vj cij i O, j D
ui libre de signo i O
vj libre de signo j D
s.a.
+ + (11.14)
(u u ) + (v v ) cij i O, j D
u+
i , ui libre de signo i O
vi+ , vi libre de signo j D
s.a.
xij Oi i O
jD
xij Oi i O (11.15)
jD
xij Dj j D
i
xij Dj j D
i
xij 0 j D, i O
h
ij = Vij
B B
= Vij
max min
B
(11.16)
cij ui vj = Vij
min
Captulo 11. TRANSPORTE Y ASIGNACION 106
11.7. Ejemplo
Captulo 11. TRANSPORTE Y ASIGNACION 107
11.8.1. Introduccion
s.a.
xij 1 i O (11.17)
jD
xij 1 j D
iO
xij 0 j D, i O
11.8.2. Representacion
D1 D2 Dj DJ
O1 C11 C12 C1j C1J
O2 C21 C22 C2j C2J
C
Oi Ci1 Ci2 Cij CiJ
OI CI1 CI2 CIj CIJ
D1 D2 D3 D4
O1 4 2 3 1
O2 5 2 6 3
O3 1 8 9 2
O4 10 1 6 4
D1 D2 D3 D4
O1
O2
O3
O4
11.8.3. Propiedades
z
= Cij xij = Cij xi,j + (Ci
j + k)xi,j = Ci,j xij + Ci
j xij + kxij =
i,j ii ,j j ii ,j i=i ,j i=i ,j
Ci,j xij + k xij = z + k
ii,j i=i ,j
(11.18)
D1 D2 D3 D4
O1 2 0 1 3
O2 0 2 1 1
O3 2 5 7 0
O4 3 1 0 3
Captulo 11. TRANSPORTE Y ASIGNACION 109
D1 D2 D3 D4
O1 1 4 3 1
O2 2 1 6 7
O3 3 2 6 6
O4 1 2 3 7
D1 D2 D3 D4
O1 0 3 2 0
O2 1 0 5 6
O3 1 0 4 4
O4 0 1 2 6
-1 -1 -1
D1 D2 D3 D4
O1 0 3 0 0
O2 1 0 3 6
O3 1 0 2 4
O4 0 1 0 6
D1 D2 D3 D4
O1 0 4 0 0
O2 0 0 2 5
O3 0 0 1 3
O4 0 2 0 6
Captulo 12
Considera el problema
z = max{cx : x S}
Sera posible dividir este problema en un conjunto de problemas de menor
tamano y mas faciles de resolver, resolverlos y luego juntar toda la informacion
para hallar la solucion del porblema original?
Se dice que S = S1 Sk es una descomposicion de S en un conjunto
mas pequeno de problemas y que si zk = max{cx : x Sk } para k = 1 . . . K,
entonces z = maxk zk .
Una forma tpica de representar el enfoque divide y venceras es mediante los
arboles de enumeracion. Por ejemplo si S {0, 1}3 , se puede construir el arbol
que se presenta en la gura [?].
En este caso se divide el conjunto S en dos: S0 = {x S : x1 = 0} y S1 =
{x S : x1 = 1}. Despues estos dos subconjuntos se dividen en dos cada
uno: S00 = {x S0 : x2 = 0} = {x S : x1 = x2 = 0}, S01 = {x S0 : x2 = 1}
y as sucesivamente. Si nos jamos, cualquier hoja nal del arbol Si1,i2,i3 es no
vaca si y solo si s = (i1, i2, i3) esta en S. Es decir, las hojas nales (nodos) del
arbol corresponden precisamente a los puntos del conjunto B 3 que habramos
examinado mediante la enumeracion completa.
Vamos a ver ahora tres casos hipoteticos para ver como podemos utilizar con
sentido la informacion relativa a las cotas de un problema. Que se puede decir
sobre la solucion optima con la infomacion relativa a las cotas y que conjun-
tos (suproblemas) neceistan seguir examinandose para encontrar la solucion
optima?
. En la gura 12.1 se pude ver una descomposicion del conjunto S en dos sub- Ejemplo 1
conjuntos S1 y S2 y las cotas superiores e inferiores de los distintos problemas.
max z = 4x1 x2
s.a.
(12.1)
7x1 2x2 14
2
x2 32x1 2x2 3x Z+
Acotamiento. Para obtener una primera cota superior, anadimos las holguras
correspondientes (h1 , h2 y h3 ) y resolvemos la relajacion lineal de este proble-
ma (quitando las restricciones de integrabilidad). La tabla optima a la que se
llega es:
x1 x2 h1 h2 h3
RL
z 50/7 0 0 -4/7 -1/7 0
x1 20/7 1 0 1/7 2/7 0
x2 3 0 1 0 1 0
h3 23/7 0 0 -2/7 10/7 1
Captulo 12. PROGRAMACION ENTERA. FUNDAMENTOS 113
59
De aqu obtenemos una cota superior z = 7 , y una solucion que no es entera
( 20
7 , 3). Hay alguna forma de encontrar una solucion factible? Pues aparente-
mente, no. Luego no tenemos ninguna cota inferior aun, z = .
Ramicacion. Como z z tenemos que dividir o ramicar. Como podemos di-
vidir la region factible? Una idea muy sencilla es elegir una variable que este en
la base y que debiera de ser entera pero no lo es, y dividir el problema en dos
subproblemas en funcion del valor del valor que tiene la variable. Veamos, si
xj = x j Z 1 , se puede
dividir el problema en:
S1 = S {x : xj x j }
!
S2 = S {x : xj x j }
Esta claro que S = S1 S2 y que S1 S2 = . Otra razon por la que se eligen
estos subproblemas es que la solucion de la relajacion lineal no es factible en
las relajaciones lineales de S1 ni S2 . Esto es muy importante pues evita degene-
raciones de la solucion (o multiples soluciones); con lo cual max{z1 , z2 } z
y la cota superior tendra siempre menor valor.
Siguiendo esta idea, como x 1 = 20 7 Z , los subproblemas seran S1 = S {x :
1
x1 x2 h1 h2 h3 h4
z1RL 50/7 0 0 -4/7 -1/7 0 0
x1 20/7 1 0 1/7 2/7 0 0
x2 3 0 1 0 1 0 0
h3 23/7 0 0 -2/7 10/7 1 0
h4 -6/7 0 0 -1/7 -2/7 0 1
x1 x2 h1 h2 h3 h4
z1RL 15/2 0 0 0 0 -1/2 -3
x1 20/7 1 0 0 0 0 1
x2 3 0 1 0 0 -1/2 1
h1 23/7 0 0 1 0 -1 -5
h2 -6/7 0 0 0 1 1/2 6
con z1RL = 15 1 1 1
2 y (x 1 , x 2 ) = (2, 2 ).
Ramicacion.
Captulo 13
13.1. Introduccion
Existe una gran varedad de problemas que se pueden formular y resolver uti-
lizando variables enteras, por ejemplo: programacion de horarios de trenes
o de tripulaciones en una compana aerea, problemas de programacion de la
produccion, de calculo de rutas, etc.
En ocasiones, las variables enteras aparecen por la propia naturaleza de la
decision.
En otras ocasiones, se debe
Supongamos que tenemos un problema de programacion lineal:
max{cx cx : Ax b, x 0 }
donde A es una matriz m por n, c es un vector la de dimension n, b es un
vector columna de dimension m y x es un vector columna de dimension n.
A este problema le anadimos la restriccion de que ciertas variables tienen que
ser enteras.
Si solo alguna (no todas) las variables tienen que ser enteras, entonces tenemos
un problema de programacion lineal entera mixto (Mixed Integer Problem, MIP).
Si todas las variables tienen que ser enteras, entonces tenemos un problema
de programacion lineal puro (Integer Programming, IP).
Y, si todas la variables estan restringidas a los valores 0 1, entonces tenemos
un problema de programacion entera binaria (Binary Integer Problem, BIP).
Dado que los problemas enteros se parecen bastante a los lineales, no sorpren-
de que tanto la teora como la practica de la programacion lineal es fundamen-
tal para comprender y resolver problemas enteros.
Una de las primeras ideas que nos viene a la mente es la del redondeo: resolver
el problema como si fuera lineal y luego redondear el valor de las variables.
ANADIR No tiene sentido en muchos problemas: 3.5 aviones son 3 o 4, ...
Ejemplo: (apuntes Miguel)
Captulo 13. PROGRAMACION ENTERA. BRANCH AND BOUND 116
z = max{c(x) : x X Z n }
como se puede probar que una solucion x es optima? O dicho de otra forma,
sera muy interesante encontrar algunas condiciones que nos garanticen la
optimalidad y as dejar de buscar la solucion optima en un problema entero.
Para ello es importante darse cuenta de que se necesita encontrar una cota
inferior (lower bound) z z y una cota superior (upper bound) z z tal que
z = z = z. Practicamente esto signica que cualquier algoritmo que encuentre
una secuencia decreciente
z 1 z 2 zs z
z 1 z 2 zt z
zs zt
Todas las soluciones factibles x X son una cota inferior z = c(x ) z . Cotas prima-
Esta es la unica forma de encontrar cotas inferiores: encontrando soluciones les/inferiores
factibles. Para algunos problemas PLE encontrar una solucion factible es senci-
llo y lo complicado es encontrar buenas cotas inferiores (cercanas al optimo);
esto ocurre por ejemplo en el problema del TSP (cualquier ciclo que contenga
todas las ciudades es una solucion factible que ofrece una cota inferior). Pero
para otros problemas, encontrar una solucion factible es tan complicado como
resolver el problema entero.
Para algunos problemas no es difcil utilizar algoritmos greedy (algoritmo avi-
dos) que permiten encontrar soluciones factibles buenas (cotas inferiores).
Captulo 13. PROGRAMACION ENTERA. BRANCH AND BOUND 117
La tarea de encontrar cotas superiores muy distinta de la anterior. Una de las Cotas dua-
formas de hallar las cotas superiores es mediante relajaciones. La idea que les/superiores
hay detras de las relajaciones es reemplazar un problema entero difcil de
maximizar (como normalmente formulamos los problemas) por otro problema
mas sencillo cuya funcion objetivo es mayor o igual que la z del problema
original.
Para que el problema relajado cumpla esta propiedad hay dos posibilidades:
x T, y
f (x) c(x)para todo x X
max z = 4x1 x2
s.a.
7x1 2x2 14
(13.1)
x2 3
2x1 2x2 3
2
x Z+
El punto (2, 1) es una solucion factible luego tenemos una cota inferior z
7. Para obtener una cota superior podemos recurrir a la relajacion lineal. La
20 59
solucion optima es x = ( 7 , 3) con funcion objetivo zLP = 7 . Como el valor
de la funcion objetivo del problema entero tiene que ser entero (en este caso),
podemos redondear y obtener z 8.
Las relajaciones no solo permiten obtener cotas superiores, sino que tambien
sirven paara probar la optimalidad. Si la relajacion (RP) es no factible, el pro-
blema original entero (IP)tambien. Si al resolver la relajacion lineal (RP) resulta
Captulo 13. PROGRAMACION ENTERA. BRANCH AND BOUND 118
que cumple las condiciones de integralidad del problema entero (IP) resulta
que tambien es su solucion optima.
Por ejemplo, la relajacion lineal del problema entero
Existen mas tipos de relajaciones que perimten hallar cotas superiores. Entre Otras
ellas, por ejemplo, las relajaciones combinatorias que son especcas para de- relajaciones
terminados problemas (TSP, Knapsack, etc.); y las relajaciones lagrangianas, lineales
mucho mas generales y que se basan en relajar restricciones (quitarlas) pero
su cumplimiento afecta a la funcion objetivo con un coste.
Captulo 14
DUALIDAD
14.1. Introduccion
Existen dos problemas de optimizacion lineal asociados que cada uno de ellos
proporciona informacion sobre el otro, de tal manera que la solucion optima de
uno de los problemas nos permite conocer la solucion del problema asociado.
A los dos problemas asociados se les denomina problemas duales y su relacion
se va a tratar en este captulo.
La dualidad es una parte clave en la programacion lineal que muchas veces Por que?
pasa como desapercibida pero que es lo que permite que tenga sentido toda la
teora correspondiente. Por que estudiar la dualidad? Hay varias razones:
Por una lado aporta elementos clave que van a ayudar a comprender la
programacion lineal
Es una herramienta util para resolver problemas de programacion lineal;
cuando hay mucha diferencia entre las y columnas (hay distinto coste
computacional) puede ser interesante resolver el dual en lugar del pro-
blema primal
El problema dual ayuda a conocer la factibilidad o no acotacion del pro-
blema primal
Fundamental para el desarrollo de tecnicas mas avanzadas (descomposi-
cion de Benders, etc.)
La dualidad ofrece otra forma de ver el signicado de los precios sombra
La dualidad ofrece otra vision del metodo de Lemke (o dual del simplex)
Una empresa internacional produce y vende estos dos tipos de supercompu- Ejemplo de
tadores: el modelo 1 y el modelo 2. En la elaboracion de ambos tipos de equi- problema dual
pos hay que destacar dos procesos, el de ensamblado nal y el de empaque-
tado (procesos P1 y P2). Esta empresa dispone mensualmente de 2000 horas
dedicadas al proceso de ensamblado y 1000 horas dedicadas al proceso de
empaquetado, ademas se sabe que los tiempos requeridos para realizar dichas
Captulo 14. DUALIDAD 120
operaciones para cada uno de los tipos de supercomputadores son los que se
muestran en la tabla siguiente:
Horas requeridas
Proceso Modelo 1 Modelo 2 Horas disponibles
Montaje 6 4 2000
Embalaje 2 4 1000
x2
2
x (250, 125)
1
0
0 1 2 3 4 5 x1
Max z = cx
Ax b (14.3)
x0
Min s = yb
yAT c (14.4)
y 0
Max z = cx
Ax b (14.5)
x0
Min s = yb
yAT c (14.6)
y 0
max (s) = bT y T
Ay T c T (14.7)
y 0
min u = t(c T )
t(AT ) bT (14.8)
t0
Captulo 14. DUALIDAD 123
max (u) = ct T
At T b (14.9)
T
t 0
que es equivalente a :
y3 = y3+ y3
1. si y3+ 0 y y3 = 0 y 3 = y3+ 0
2. si y3 0 y y3+ = 0 y 3 = y3 0
El valor de la funcion objetivo para cualquier solucion factible del problema pri-
mal es una cota inferior del valor de la funcion objetivo para cualquier solucion
factible del problema dual.
Es decir: z0 s 0
En efecto, se parte de las dos soluciones factibles de los dos problemas aso-
ciados primal y dual x 0 e y 0 para las cuales el valor de cada funcion objetivo
es
z0 = cx 0 s 0 = y 0 b
y 0 Ax 0 y 0 b
Por otra parte, al ser y 0 solucion del problema dual se cumple que y 0 AT c
al postmultiplicar por x 0 la expresion anterior, como x 0 es factible, se cumple
que:
y 0 Ax 0 cx 0
cx 0 y 0 Ax 0 y 0 b
es decir:
z0 = cx 0 y 0 b = s 0
luego:
z0 s 0
Captulo 14. DUALIDAD 126
s 0 dual
z0 s 0
z0 primal
VxB = c cB B 1 A 0
por lo que:
c cB B 1 A 0
ch cB B 1 I 0
cx = y b
cx y Ax = y by Ax
o lo que es lo mismo:
(cy A)x = y (bAx )
1. (c y A) x = 0
- como x es la solucion optima del problema primal x 0
- como y es la solucion optima del problema dual
y A c cy A 0
Ax b bAx 0
1. (cy A) x = 0
2. y (bAx ) = 0
transformado en igualdad,
cj y Aj + yhj = 0
luego
yhj = (cj y Aj ) = (cj B Aj ) = VxB
j
que es mayor que cero ya que el criterio del simplex de una variable no
basica en la solucion optima del problema es negativo.
Si xj > 0, es decir xj pertenece a la solucion optima del problema primal,
entonces cj y Aj = 0, es decir la restriccion que genera la variable xj en
el problema dual se cumple como una igualdad y, por lo tanto, la variable
de holgura correspondiente no forma parte de la solucion optima del
problema, ya que:
cj y Aj 0 cj y Aj + yhj = 0
y como:
cj y Aj = 0 yhj = 0
(2) y (bAx ) = 0.
Se puede obtener el mismo resultado anterior con las variables del dual y las
restricciones (por lo tanto las variables de holgura ) del primal.
Como conclusion, la aplicacion del teorema de las holguras complementarias
a dos problemas duales asociados permite saber que:
z(x) = c1 x 1 + c2 x 2 + + cn x n = y 1 b1 + y 2 + + y m bm = s(y)
Vamos a supoer ahora que se modica un recurso, por ejemplo b1 , en una can-
tidad pequena b1 , de manera que la solucion optima del problema primal
siga siendo factible, y en consecuencia optima (c cB B 1 A no vara). Es decir,
de manera tal que
b1
0
1
B (b + ) 0
...
0
Consideremos ahora los problemas [P1] y [D1], donde [P1] es el problema
primal en el que se ha cambiado b por b + (b1 , 0, . . . , 0)T y [D1] es su
dual. La solucion optima de [P1], x, tiene la mismas variables basicas que x
(por la eleccion de b1 ) y el valor que toma la parte basica de dicha solu-
cion es uB = B 1 [b + (b1, 0, , 0)T ], por otro lado la solucion de [D1] es
y = B = c B B 1 , las variables basicas de x no han cambiado entonces B sigue
siendo la misma que antes y y = y, teniendo en cuenta estos hechos tenemos
que:
z(x) = c1 x1 + c2 x2 + + cn xn = y1 (b1 + b1 ) + y2 + + ym bm =
c c B B 1 A 0
Se puede apreciar que dicha denicion es equivalente a decir que una base
es factible dual si c B B 1 constituye una solucion factible para el problema
dual. Por ejemplo, si llamamos y = c B B 1 (Teorema fundamental) tenemos
que c c B B 1 A = c yA 0 que es equivalente a la expresion que dene las
restricciones funcionales del problema dual.
Alternativamente, la denicion de base factible dual solo implica que la co-
rrespondiente base primal verica las condiciones de optimalidad. Si diera la
casualidad que ademas fuera factible entonces dicha solucion sera una solu-
cion optima.
El algoritmo simplex dual trabaja con soluciones basicas factibles duales que
por medio de operaciones apropiadas nalizaran (si es posible) en una solu-
cion que ademas sera factible primal. Mientras el simplex trabaja con solu-
ciones que no cumplen el criterio de optimalidad y poco a poco se mejoraban
hasta conseguir la optimalidad, en el simplex dual se trabaja con soluciones
primales no factibles en las que poco a poco se mejorara la factibilidad has-
ta alcanzarla (realmente lo que se ira mejorando sera las soluciones del dual
y = c B B 1 ).
El algoritmo del simplex dual va a utilizar herramientas analogas a las utiliza-
das en el simplex. Los pasos son los siguientes:
1. Construccion de una solucion basica primal que sea basica factible dual
(optimo del primal).
2. Si una solucion es factible primal entonces dicha solucion sera optima.
3. En caso de que la solucion no sea factible primal, entonces habra que
construir una solucion basica primal que sea basica factible dual y que
sea adyacente a la anterior, para lo cual deberemos determinar que varia-
ble sale de la base actual, que variable entra en la nueva base y deberemos
realizar la operacion de cambio de base.