Você está na página 1de 131

P ROGRAMACI ON

L INEAL
Noviembre 2012

Universidad Politecnica de Madrid

Alvaro Garca Sanchez


Miguel Ortega Mier
Indice general

Indice general 2

1. INTRODUCCION A LA PROGRAMACION LINEAL. TEOREMA FUN-


DAMENTAL 3
1.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.1. Caracterizacion de soluciones . . . . . . . . . . . . . . . 4
1.2. Teorema Fundamental . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1. Enunciado . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.2. Demostracion . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3. Implicaciones del Teorema Fundamental . . . . . . . . . . . . . 6
1.4. Ejempo de aplicacion . . . . . . . . . . . . . . . . . . . . . . . . . 7

2. FUNDAMENTOS DEL METODO DEL SIMPLEX 11


2.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2. Regla de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3. Regla de salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4. Criterio de optimalidad . . . . . . . . . . . . . . . . . . . . . . . . 14
2.5. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.5.1. Primera iteracion . . . . . . . . . . . . . . . . . . . . . . . 15
2.5.2. Segunda iteracion . . . . . . . . . . . . . . . . . . . . . . 18
2.5.3. Tercera iteracion . . . . . . . . . . . . . . . . . . . . . . . 20

3. METODO DEL SIMPLEX.VARIANTE DE LA MATRIZ COMPLETA 23


3.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2. Variante de la matriz completa . . . . . . . . . . . . . . . . . . . 24
3.3. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4. METODOS DE LA M GRANDE Y DE LAS DOS FASES 25


4.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2. Metodo de la M grande . . . . . . . . . . . . . . . . . . . . . . . . 26
4.3. Metodo de las 2 fases . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.4. Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.4.1. Metodo de la M grande . . . . . . . . . . . . . . . . . . . 30
4.4.2. Metodo de las dos fases . . . . . . . . . . . . . . . . . . 31
Indice general 3

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

7. METODO DEL LEMKE 57


7.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
7.2. Cuando es interesante el metodo de Lemke . . . . . . . . . . . 58
7.2.1. Problemas de mnimos con c 0 . . . . . . . . . . . . . 58
7.2.2. Al introducir un cambio en b, una vez obtenida la so-
lucion optima . . . . . . . . . . . . . . . . . . . . . . . . . 60
7.2.3. Al anadir una restriccion adicional a un programa, una
vez obtenida la solucion optima . . . . . . . . . . . . . 61
7.3. Reglas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
7.3.1. Criterio de factibilidad . . . . . . . . . . . . . . . . . . . 61
7.3.2. Regla de supresion . . . . . . . . . . . . . . . . . . . . . 61
7.3.3. Regla de introduccion . . . . . . . . . . . . . . . . . . . . 62
7.4. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

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

9.6. Cambio en aij . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76


9.6.1. Cambio en aij con xj no basica . . . . . . . . . . . . . 76
9.6.2. Cambio en aij con xj basica . . . . . . . . . . . . . . . 77
9.7. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
9.7.1. Cambio de b . . . . . . . . . . . . . . . . . . . . . . . . . 78
9.7.2. Cambio de c . . . . . . . . . . . . . . . . . . . . . . . . . . 78
9.7.3. Nueva actividad . . . . . . . . . . . . . . . . . . . . . . . 79
9.7.4. Nueva restriccion . . . . . . . . . . . . . . . . . . . . . . 80
9.7.5. Analisis de sensibilidad de b . . . . . . . . . . . . . . . 81
9.7.6. Analisis de sensibilidad de c . . . . . . . . . . . . . . . 82
9.8. La aparente paradoja de b . . . . . . . . . . . . . . . . . . . . . . 84

10. PROGRAMACION PARAMETRICA 85


10.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
10.2. Programacion con c() . . . . . . . . . . . . . . . . . . . . . . . . 85
10.2.1. Metodo general . . . . . . . . . . . . . . . . . . . . . . . . 85
10.2.2. Ejemplo c() . . . . . . . . . . . . . . . . . . . . . . . . . 85
10.3. Programacion con b() . . . . . . . . . . . . . . . . . . . . . . . . 89
10.3.1. Metodo general . . . . . . . . . . . . . . . . . . . . . . . . 89
10.3.2. Ejemplo c() . . . . . . . . . . . . . . . . . . . . . . . . . 89
10.4. Ejemplo c() y b() . . . . . . . . . . . . . . . . . . . . . . . . . . 91

11. TRANSPORTE Y ASIGNACION 96


11.1. Presentacion del problema de transporte . . . . . . . . . . . . . 96
11.1.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . 96
11.1.2. Formulacion . . . . . . . . . . . . . . . . . . . . . . . . . . 96
11.1.3. Presentacion matricial . . . . . . . . . . . . . . . . . . . 97
11.1.4. Representacion del problema . . . . . . . . . . . . . . . 98
11.1.5. Propiedades . . . . . . . . . . . . . . . . . . . . . . . . . . 98
11.2. Metodos de resolucion . . . . . . . . . . . . . . . . . . . . . . . . 99
11.2.1. Obtencion del solucion inicial de partida . . . . . . . . 100
11.2.2. Regla de entrada. Stepping-stone . . . . . . . . . . . . . 100
11.2.3. Regla de entrada. MODI . . . . . . . . . . . . . . . . . . . 100
11.2.4. Regla de salida . . . . . . . . . . . . . . . . . . . . . . . . 101
11.2.5. Criterio de optimalidad . . . . . . . . . . . . . . . . . . . 101
11.3. Problemas desequilibrados . . . . . . . . . . . . . . . . . . . . . 101
11.3.1. Oferta superior a demanda . . . . . . . . . . . . . . . . 101
11.3.2. Demanda superior a oferta . . . . . . . . . . . . . . . . 101
11.4. Soluciones degeneradas . . . . . . . . . . . . . . . . . . . . . . . 101
11.5. Transporte y dualidad . . . . . . . . . . . . . . . . . . . . . . . . 102
11.6. Para pensar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
11.7. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
11.8. El problema de asignacion . . . . . . . . . . . . . . . . . . . . . . 104
11.8.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . 104
11.8.2. Representacion . . . . . . . . . . . . . . . . . . . . . . . . 104
11.8.3. Propiedades . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Indice general 5

11.8.4. Metodo Hungaro . . . . . . . . . . . . . . . . . . . . . . . 106

12. PROGRAMACION ENTERA. FUNDAMENTOS 107


12.1. Divide y venceras . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
12.2. Enumeracion implcita . . . . . . . . . . . . . . . . . . . . . . . . 107
12.3. Branch and Bound: un ejemplo . . . . . . . . . . . . . . . . . . . 109

13. PROGRAMACION ENTERA. BRANCH AND BOUND 112


13.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
13.2. Optimalidad y relajacion . . . . . . . . . . . . . . . . . . . . . . . 113

14. DUALIDAD 116


14.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
14.2. Teora sobre dualidad . . . . . . . . . . . . . . . . . . . . . . . . . 119
14.2.1. El problema dual . . . . . . . . . . . . . . . . . . . . . . . 119
14.2.2. El dual del dual es el primal . . . . . . . . . . . . . . . . 119
14.2.3. Relaciones entre el problema primal y el problema
dual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
14.2.4. La funcion objetivo . . . . . . . . . . . . . . . . . . . . . 122
14.2.5. Teorema fundamental de la dualidad . . . . . . . . . . 123
14.2.6. Teorema de las holguras complementarias . . . . . . . 124
14.3. Interpretacion economica de las variables duales en el optimo 126
14.4. Algoritmo del simplex dual . . . . . . . . . . . . . . . . . . . . . 128
Captulo 1

INTRODUCCION A LA PROGRAMACION
LINEAL. TEOREMA FUNDAMENTAL

1.1. Introduccion

Un problema de Programacion Lineal tiene la siguiente forma. Forma general


de un problema
maz z =cx (funcion objetivo)
s.a:
(1.1)
Ax = b (restricciones funcionales)
x0 (restricciones de no negatividad)

Matriz de coecientes tecnicos: A Dimensiones de


matriz m n A, b, c y x
m las - restricciones
n columnas - variables
Vector de disponibilidad de recursos: b
matriz m 1
tantos elementos como restricciones
Vector de contribuciones unitarias al benecio: c
matriz 1 n
tantos elementos como variables
Solucion del problema x
matriz n 1

Podra haber tres casos para la relacion entre y m y n: Relacion entre


myn
1. m > n, tpicamente, solucion no factible. Sistema incompatible.
O el modelo esta mal (por ejemplo, si se trata de un modelo de un
sistema que existe y que esta en funcionamiento).
O no existe solucion factible.
2. m = n, tpicamente, solucion factible unica. Sistema compatible deter-
minado. Existe una unica solucion, con lo que no hay un problema de
decision.
Captulo 1. INTRODUCCION A LA PROGRAMACION LINEAL. TEOREMA FUNDAMENTAL 7

3. n > m, tpicamente, innitas soluciones factibles. Sistema compatible


indeterminado. Innitas soluciones, el problema consiste en obtener la
mejor.

1.1.1. Caracterizacion de soluciones

Un conjunto de valores x es una solucion del problema si cumple el sistema Solucion


de ecuaciones Ax = b

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.

Una solucion x es linealmente independiente si las columnas de la matriz A Solucion


correspondientes a las variables con valor no nulo son linealmente indepen- linealmente
dientes. independiente

Una solucion x es linealmente dependiente si las columnas de la matriz A co- Solucion


rrespondientes a las variables con valor no nulo son linealmente dependientes. linealmente
dependiente
Dado que en un problema de programacion lineal n > m, si el rango de la Caractersiticas
matriz A es m: de las soluciones
linealmente
el numero maximo de componentes no nulas de una solucion linealmen-
independientes
te independiente es, m y
el numero mnimo de componentes no nulas de una solucion linealmen-
te dependiente tpicamente es m + 1 1

1.2. Teorema Fundamental

1.2.1. Enunciado

Dado un problema de programacion lineal: Enunciado

Si existe una solucion factible, existe una solucion linealmente indepen-


diente factible y
si la solucion optima es unica, esta es una solucion linealmente indepen-
diente; si la solucion optima es multiple, al menos existe una solucion
linealmente independiente optima.
1 Esto es as siempre cuando el rango de todas las matrices de m columnas de A es m. Si exis-

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

Si se demuestra que dada una solucion linealmente dependiente x 0 de un pro-


blema de programacion lineal, basta con que el problema este acotado para
que exista una solucion linealmente independiente x tal que cx cx 0 , queda
demostrado el teorema, ya que:

1. se demostrara que existe una solucion linealmente independiente y


2. si para cualquier dependiente, siempre es posible encontrar otra lineal-
mente independiente no peor, de haber una unica optima es linealmente
independiente y, si hay varias, al menos una es linealmente independien-
te. En este segundo caso, si se conoce que alguna de las soluciones opti-
mas es linealmente independiente, quedara demostrado. Si no, alguna
de las soluciones optimas sera linealmente dependiente, por aplicacion
del enunciado, sera posible encontrar otra linealmente independiente no
peor, y como la solucion linealmente dependiente es optima existira al
menos una solucion linealmente independiente tambien optima.

En el primer enunciado del Teorema Fundamente, se entiende implcitamente,


que el problema considerado esta actado. En efecto, si el problema no esta aco-
tado, entonces no existe una solucion optima. Al contrario, si el problema
s esta acotado, existe al menos una solucion optima.

Se trata de una demostracion constructiva, partiendo de la solucion x 0 . Como Propiedades de


x 0 es una solucion linealmente dependiente se puede encontrar un vector y, x0
con las siguientes propiedades:

Ay = 0 y
yi = 0 si xi = 0
cy 0 (si no es as, basta con cambiar de signo a y).

A partir de x 0 se puede construir una nueva solucion x 1 : Una nueva


solucion x 1
x 1 = x 0 + ty (con t 0) (1.2)

Efectivamente, es solucion:

Ax 1 = A(x 0 + ty) = Ax 0 + tAy = b + t0 = b (1.3)

x 1 no es peor
z1 = cx 1 = c(x 0 + ty) = cx 0 + tcy = z0 + tcy (1.4) que x 0

Dado que cy 0, siempre se cupmle z1 z0 .


Captulo 1. INTRODUCCION A LA PROGRAMACION LINEAL. TEOREMA FUNDAMENTAL 9

Los valores de las variables de la nueva solucion son: Una


componente
nula mas
xi1 = xi0 + tyi (1.5)

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

Si cy = 0 siempre se puede encontrar t (, ) tal que x 1 tenga una


componente nula mas que x 0 . En este caso:
x 1 es factible
cx 1 = cx 0
x 1 tiene una componente nula mas
Si cy > 0
x1
Si yi < 0, con t = min{i/yi 0} yii se obtiene una solucion no peor
con una componente nula mas.
Si yi > 0 el problema no esta acotado, el valor de la funcion objeti-
vo pude ser tan grande como se desee.

En terminos de Ingeniera de Organizacion, los problemas no acotados no tie- Problemas no


nen sentido. acotados

Al llegar a una linealmente independiente, ya no se puede iterar, porque no Iterando


existe y que cumpla 1.2.2. Por supuesto, por otro lado, se habra encontrado
la solucion linealmente independiente deseada.

1.3. Implicaciones del Teorema Fundamental

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.

Una forma de resolver un problema de Programacion Lineal es la siguiente: Enumeracion


explcita
1. Resolver todos los sistemas de ecuaciones correspondientes a todas las
soluciones linealmente independientes.
2. Descartar las no factibles
3. Escoger la que tenga mayor valor de la funcion ojetivo
Captulo 1. INTRODUCCION A LA PROGRAMACION LINEAL. TEOREMA FUNDAMENTAL 10

Ecaz, pero poco eciente. El problema


 
n n!
Con m restricciones y n variables, existen = m!(nm)!
m

Tiempos de resolucion en anos supondiendo que cada sistema se resuelve en Ejemplo


106 segundos. numerico

N variables 10 100 1000


N restricciones 4 40 400
N sol. Basicas 210 1.37462E+28 4.9653E+290
Tiempo res. (anos) 4.3589E+14 1.5745E+277

1.4. Ejempo de aplicacion

maz z =4x1 + 4x2 + 6x3 + 8x4


2x1 + 3x2 + 3x3 + 6x4 + x5 = 400
(1.7)
1x1 + 2x2 + 6x3 + 3x4 + x6 = 200
5x1 + 5x2 + 5x3 + 5x4 + x7 = 10000

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

Como las columnas correspondientes a componentes no negativas de x son


linealmente dependientes, se pueden encontrar varlores de y2 , y3 , y4 , y5 y y7
no todos ellos nulos que cumplan:

3 3 6 1 0

y2 2 + y3 6 + y4 3 + y5 0 + y7 0 =
5 5 5 0 1
(1.9)
0

= 0
0

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)

Es decir, es posible encontrar y que cumple Ay = 0, con yi = 0 si xi = 0

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

Se puede comprobar que AX 1 = b. En efecto: x 1 es solucion



0

4

2 3 3 6 1 0 0 14

1 0
Ax = A(x + ty) = 1 2 6 3 0 1 0 36

5 5 5 5 0 0 1 130


0
9370

0

0,1

2 3 3 6 1 0 0 0,567
400 0 400

+t 1 2 6 3 0 1 0 1,067 = 200 + 0 = 200

5 5 5 5 0 0 1 5
1000 0 1000

0
3
(1.12)

Se puede comprobar que cy 0 x 1 no peor que


x0
Captulo 1. INTRODUCCION A LA PROGRAMACION LINEAL. TEOREMA FUNDAMENTAL 12


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

La nueva solucion es:



0 0 0

4 0,1 6,47

14 0,567 0

1
x = 36 + 24,56 1,067 = 62,35 (1.16)

130 5 6,55


0 0 0
9370) 3 9655,93
Captulo 1. INTRODUCCION A LA PROGRAMACION LINEAL. TEOREMA FUNDAMENTAL 13

z1 = 524,68

y = (0, 4,2, 0, 2,8, 4,2, 0, 7)T Segunda


iteracion
t = min{ 6,47
4,2 ,
6,54
4,2 = 1,54

x 2 = (0, 0, 0, 66,66, 0,07, 0, 9666,71)T

z2 = 533,38
Captulo 2

FUNDAMENTOS DEL METODO DEL SIMPLEX

2.1. Introduccion

Dado un problema de Programacion Lineal Solucion basica

maz z =cx
s.a:
(2.1)
Ax = b
x0

donde A es una matriz m n, con n > m y rang(A) = m:


Se dene:

Base B como un conjunto de m columnas de A linealmente independien-


tes.
Solucion basica correspondiente a la base B, valores de x resultantes de
resolver el sistema de ecuaciones Ax = b anulando todas las variables
correspondientes a columnas diferentes de las de B. Una solucion basica:
es linealmente independiente y
como maximo, tiene m componentes no nulas, tantas como res-
tricciones.

En lo que sigue identicaremos:

solucion basica con solucion linealmente independiente. 1


solucion no basica con solucion linealmente dependiente.

Ademas:

una solucion basica tiene como maximo m componentes no nulas y


1 En efecto. Por la propia denicion, una solucion basica es linealmente independiente. Por
otro lado, cualquier solucion linealmente independiente con m componentes no nulas es basi-
ca. Y cualquier solucion linealmente independiente con menos de p < m componenetes nulas
tambien es basica por la siguiente razon. Si tomamos la matriz con las p columnas de las varia-
bles no nulas, siempre podemos anadir otras m p columnas de variables para que formen una
base (el rango de A es m y esto siempre es posible. Haciendo eso obtendramos una solucion
basica con p varuables basicas no nulas y m p variables basicas nulas, lo que se conoce como
solucion degenerada.
Captulo 2. FUNDAMENTOS DEL METODO DEL SIMPLEX 15

una solucion no basica tiene, tpicamente, al menos m + 1 componentes


no nulas2 .

Dada una solucion basica, con base B, hay dos tipos de variables:

Variable basica: cada una de las variables correspondientes a las colum-


nas de B, que son pontencialmenete no nulas.
Variable no basica: cada una de las variables correspondientes a las co-
lumnas de A no incluidas en B, que son siempre nulas.

Podemos expresar las restricciones Ax = b como: Nivel de


realizacion
BuB + A(B) x (B) = b (2.2)

Donde

uB es el nivel de realizacion de las actividades basicas (valor de las varia-


bles basicas).
x (B) representa las variables no basicas, que son nulas por denicion.
A(B) es el conjunto de columnas de las actividades no basicas.

c B es un vector la con los elmentos de c correspondientes a las variables Vector c B


basicas

z = cx = c B uB + c (B) x (B) (2.3)

Donde c (B) es el vector la de las contribuciones unitarias al benecio de las


variables no basicas.

El vector de multiplicadores del simplex o precios sombra: Precios sombra


B
B = c B B 1 (2.4)

El vector de criterios del Simplex: Criterio del


Simplex, V B
V B = c c B B 1 A (2.5)

V B es un vector la de n 1. El criterio del simplex de la variable xk es VkB =


ck c B B 1 Ak , y es un escalar.

El vector de tasas de sustitucion de las variables basicas: Tasas de


sustitucion, p B
p B = B 1 A (2.6)
2 Podra ocurrir que m columnas de A sean linealmente dependientes, de forma que el sistema

de ecuaciones corrrespondiente fuera compatible indeterminado. Podran existir soluciones no


basicas con m componentes no nulas
Captulo 2. FUNDAMENTOS DEL METODO DEL SIMPLEX 16

p es una matriz m n. Las tasas de sustitucion de las variables basicas con


respecto a la variable xk es p B = B 1 Ak , que es un vector columna m 1.

Figura 2.1: Logica del metodo del Simplex

1. Una solucion basica factible de partida; Lo que


2. Un criterio de optimalidad; necesitamos
3. Una regla de entrada; y
4. Una regla de salida.

2.2. Regla de entrada

Dada una solucion basica B, si la variable xk es no basica, interesa introducirla Enunciado


en la base si se cumple:

VkB = ck c B B 1 Ak > 0 (2.7)

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)

Es decir, como xk = t 0, los valores originales de las variables basicas (uB )


cambian en funcion del valor de la variable xk = t, y por esto la notacion uB (t).
Despejando:

uB (t) = B 1 b tB 1 Ak = uB tpkB (2.9)


Captulo 2. FUNDAMENTOS DEL METODO DEL SIMPLEX 17

El valor de z al introducir la nueva variable es: Si entra xk


cambia el valor
z = cx(t) = c B uB (t) + tck = c B (B 1 b tB 1 Ak ) + tck =
(2.10) de z
c B B 1 b + t(ck c B B 1 Ak ) = z + tVkB

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

VkB = zxk =1 (2.11)

2.3. Regla de salida

Si a partir de una solucion basica de base B entra la variable xk en la base, Enunciado


la variable que debe salir de la base es aquella variable es la i-esima, y que
cumple:

uBi uB
j
= min pB >0 (2.12)
pB jk pB
ik jk

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

Si pjB k > 0, la j-esima variable basica disminuye al introducir xk


Si pjB k < 0, la j-esima variable basica aumenta al introducir xk
Si pjB k = 0, la j-esima variable basica no se modica al introducir xk

2.4. Criterio de optimalidad

Una solucion es optima si V B 0, es decir, VjB 0 j Enunciado

En efecto, si VjB 0j, la introduccion de una variable no basica en la base


dara lugar a un incremento negativo de la funcion objetivo. Con lo que no hay
posiblidad de mejora; la solucion es optima.
Captulo 2. FUNDAMENTOS DEL METODO DEL SIMPLEX 18

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)

Dada cualquier solucion x, se pueden multiplicar por la derecha los terminos


de la expresion anterior y operar:

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

2.5.1. Primera iteracion

No hacer nada. Variables basicas: variables de holgura. Solucion inicial

Las columnas de las variables basicas. La base


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

La funcion objetivo se puede calcular de la siguiente manera: La funcion


objetivo


16

zB1 = cx 1 = c B1 uB1 = 0 0 0 26 = 0 (2.20)
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

Las componentes de c B1 son las componentes de c de las variables basicas. c B1



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

Como sabemos que t = 12


16 1 4

uB1 (12) = 26 12 2 = 2 (2.27)
24 2 0

Es decir, al introducir x3 en la base, los niveles de realizacion de las tres varia-


bles basicas disminuyen y la primera que se anula es x6 cuando x3 = 12

A partir de la primera base, que no es optima: Resumen


B
interesa introducir x3 , cuyo criterio del simplex es V3 1 = 3 y
y que entre con valor x3 = 12
para que salga de la base x6
B
y que la funcion objetivo se incremente en tV3 1 = 12 3 = 36
Captulo 2. FUNDAMENTOS DEL METODO DEL SIMPLEX 21

2.5.2. Segunda iteracion

Hacer solo 12 unidades de producto P3 y nada del resto. Variables basicas: x4 , Solucion inicial
x5 y x3 .

Las columnas de las variables basicas. La base


1 0 1

B2 = 0 1 2 (2.28)
0 0 2

En este caso, la inversa de la base ya no es la identidad. La inversa de la


base

1 0 12

B21 =
0 1 1 (2.29)
1
0 0 2

En este caso, el nivel de realizacion no coincide con b. El nivel de


realizacion de
las variables
1 0 12 16 4
basicas
uB2 = B21 b =
0 1 1 26 = 2 (2.30)
1
0 0 2
24 12

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

Las componentes de c B2 son las componentes de c de las variables basicas. c B2



c B2 = 0 0 3 (2.33)

El criterio del Simplex es el siguiente. El criterio del


Simplex


V B2 = c c B2 B21 A = 1 2 3 0 0 0

1

1 0 2 1 2 01 1 0
3
0 0 0 1 1 3 2 0 =
2 0 1
1
0 0 2
1 0 12 0 0


1 2 3 0 0 0 (2.34)

1

2 0 1 0 21
2
0 0 3 2 2 0 0 1 1

1 1
2 0 1 0 0 2


= 21 2 0 0 0 32

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

Como sabemos que t = 2


4 2 0

uB2 (2) = 2 2 2 = 6 (2.38)
12 0 12

Es decir, al introducir x2 en la base, los niveles de realizacion solo x4 disminu-


ye y, en particular, se hace cero cuando x2 = 2

A partir de la segunda base, que no es optima: Resumen


B
interesa introducir x2 , cuyo criterio del simplex es V2 2 = 2 y
y que entre con valor x3 = 2
para que salga de la base x4
B
y que la funcion objetivo se incremente en tV2 2 = 2 2 = 4

2.5.3. Tercera iteracion

Hacer solo 12 unidades de producto P3 y cuatro de P2 . Variables basicas: x2 , Solucion inicial


x5 y x3 .

Las columnas de las variables basicas. La base


2 0 1

B3 = 2 1 2 (2.39)
0 0 2

En este caso, la inversa de la base ya no es la identidad. La inversa de la


base

1
0 14
2
B31 =
1 1 32
(2.40)
1
0 0 2
Captulo 2. FUNDAMENTOS DEL METODO DEL SIMPLEX 24

En este caso, el nivel de realizacion no coincide con b. El nivel de


realizacion de
las variables
1
0 14 16 2 basicas
2
uB3 = B31 b =
1 1 32
26 = 6 (2.41)
1
0 0 2
24 12

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

Las componentes de c B3 son las componentes de c de las variables basicas. c B3



c B3 = 2 0 3 (2.44)

El criterio del Simplex es el siguiente. El criterio del


Simplex


V B3 = c c B3 B 1 A = 1 2 3 0 0 0

1 1

2 0 4 1 2 1 1 0 0
3
0 0 3
1 1 2 3 2 2 0 1 0 = (2.45)
1
0 0 2
1 0 2 0 0 1


= 1 0 0 1 0 1
Captulo 2. FUNDAMENTOS DEL METODO DEL SIMPLEX 25

La solucion de la base B3 es optima, ya que V B3 0 La solucion es


optima
Captulo 3

METODO DEL SIMPLEX.VARIANTE DE LA


MATRIZ COMPLETA

3.1. Introduccion

oper andopor f ilas




(B|A) I|B 1 (3.2)

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

Es posible encontrar una matriz M, tal que MA = B



2 0 0

M = 2 1 0 (3.4)
0 0 1

En 3.2, la matriz por la que estamos multiplicando tanto B como A es B 1


Podemos ampliar el conjunto de matrices con el que operamos por las
oper andopor f ilas


(b|A|B|I) uB |p B |I|B 1 | (3.5)

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.2. Variante de la matriz completa

Figura 3.1: Logica del metodo del Simplex

3.3. Ejemplo

El siguiente problema es el mismo que el del ejemplo disponible en 2.5, resuel-


to mediante el metodo del simplex, en su variante de la matriz completa.

maz z =1x1 + 2x2 + 3x3 El problema


1x1 + 2x2 + 1x3 + x4 = 16
3x1 2x2 + 2x3 + x5 = 26 (3.7)
1x1 + 0x2 + 2x3 + x6 = 24
xi 0, i = 1 6

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

METODOS DE LA M GRANDE Y DE LAS DOS


FASES

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

todas se pueden expresar como:


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

La base es igual a la matriz identidad, B = I.


uB = b, es decir el valor de cada variables basicas, correspondiente a
una variable de holgura es igual al valor de la disponibilidad del recurso
correspondiente.
z = 0.
V B = c.
pB = A
cB = 0
B = 0
Captulo 4. METODOS DE LA M GRANDE Y DE LAS DOS FASES 29

Si existe alguna restriccion de tipo , se puede convertir en una igualdad Restricciones


anadiendo una variable de holgura con coeciente 1:


aij xj bi bi 0
j
 (4.3)
aij xj hi = bi bi 0
j

Si existe alguna restriccion de tipo =, no es necesario introducir ninguna va- Restricciones =


riable de holgura:


aij xj = bi
(4.4)
j

Si existen restricciones de tipo o =, al convertirlas en restricciones en termi-


nos de igualdad, no es tan sencillo obtener una solucion de partida trivial.

4.2. Metodo de la M grande

Dado un problema de Programacion Lineal P : Problema


original, P y

aij xj bi problema
j auxiliar P


ai
j xj bi

j (4.5)

ai

j xj = bi

xj 0

Es posible convertirlo en un problema en donde las restricciones respondan a


la forma de Ax = b:

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

Se puede denir un problema P


de la forma:
 
max. z
= cx M ai
M ai

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

Donde M es un numero sucientemente grande y las variables ai


y ai

se
denominan variables articiales.

Cualquier solucion factible de P es solucion factible de P


. propiedades de
Una solucion factible de P
lo es tambien de P si todas las variables arti- P

ciales son simultaneamente cero.


Si no existe ninguna solucion factible de P
con todas las variables arti-
ciales simultaneamente nulas, no existe solucion factible de P .
Si para cualquier solucion optima de P
, siempre una variable articial
toma un valor no nulo, P no tiene solucion factible.
Siempre es posible encontrar una solucion basica factible de partida de
P

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

tantas componentes de c adicionales como variables articiales (con va-


lor nulo) y
tantas columnas en A adicionales como variables articiales (columnas
de la matriz identidad).
Salvo por esas columnas c, A, b y x son identicos para los dos problemas
Captulo 4. METODOS DE LA M GRANDE Y DE LAS DOS FASES 31

Cuando se obtiene una solucion basica de P


en la que las variables articiales
no estan en la base:

B = B
, c B = c B , uB = uB , por lo que:

VB = VB

pB = pB

uB = uB

zB = zB

Es decir, la tabla obtenida en la resolucion de P


es completamente identica a la
correspondiente a P , salvo por las columnas correspondientes a las variables
articiales.

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

4.3. Metodo de las 2 fases

El metodo de las dos fases se apoya, igualmente, en un problema auxiliar P


,
igual que el de la M salvo en la funcion objetivo. Esta funcion es la suma de las
variables articiales con coeciente 1. Es decir, P
tiene la forma:
 
max. z
= ai
ai

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

Las propiedades del problema P


son las siguientes: propiedades de
P

Cualquier solucion factible de P es solucion factible de P


.
Una solucion factible de P
lo es tambien de P si todas las variables arti-
ciales son simultaneamente cero.
Si no existe ninguna solucion factible de P
con todas las variables arti-
ciales simultaneamente nulas, no existe solucion factible de P .
Si para cualquier solucion optima de P
, siempre una variable articial
toma un valor no nulo, P no tiene solucion factible.
Siempre es posible encontrar una solucion basica factible de partida de
P

Captulo 4. METODOS DE LA M GRANDE Y DE LAS DOS FASES 32

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

el vector de disponibilidad de los recursos b = b


y
la matriz de coecientes tecnicos de las variables no articiales Ai = A
i
si xi no es una variable articial.

Dada una solucion basica factible de P


en la ninguna variables basica es arti- Relacion entre
cial las bases de dicha solucion es comun para P y P
bases

Cuando se obtiene una solucion basica de P


en la que las variables articiales
no estan en la base, los siguientes elementos son coincidentes:

B = B

B 1 = B
1

uB = u
B (ya que B 1 b = B
1 b
)

p B = p
B

Pero los siguientes elementos son diferentes


c B cB

zB z
B

B

V V
B

Es decir, de la tabla obtenida en la resolucion de P


de pueden reutilizar todas
las las menos la que contienen z y V B , que hay que recalcular.

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

4.4.1. Metodo de la M grande

max. z = x1 + 2x2 + 3x3 Problema P


x1 + x2 + x3 16
3x1 + 2x2 + 2x3 = 26 (4.9)
x1 + x3 10
x1 , x2 , x3 0

max. z = x1 + 2x2 + 3x3 Problema P


x1 + x2 + x3 + h1 = 16 reformulado
3x1 + 2x2 + 2x3 = 26 (4.10)
x1 + x3 h3 = 10
x1 , x2 , x3 , h1 , h3 0

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

36M 1+4M 2+2M 3+3M -M 0 0 0 F 0


= F 0 + MF 2 + MF 3
h1 16 1 1 1 0 1 0 0 F 1
= F1
a2 26 3 2 2 0 0 1 0 F 2
= F2
a3 10 1 0 1 -1 0 0 1 F 3
= F3

4M26 42M 7+M 14M


3 0 3 3 -M 0 3 0 F 0

= 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

-18 0 6 0 7 0 2-M -7-M F 0

= 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

La solucion anterior es una solucion basica factible de P y tambien una solu-


cion basica factible de P
(ya que las actividades articiales son simultanea-
mente nulas).

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

4.4.2. Metodo de las dos fases

max. z = x1 + 2x2 + 3x3 Problema P


x1 + x2 + x3 16
3x1 + 2x2 + 2x3 = 26 (4.12)
x1 + x3 10
x1 , x2 , x3 0
Captulo 4. METODOS DE LA M GRANDE Y DE LAS DOS FASES 35

max. z = x1 + 2x2 + 3x3 Problema P


x1 + x2 + x3 + h1 = 16 reformulado
3x1 + 2x2 + 2x3 = 26 (4.13)
x1 + x3 h3 = 10
x1 , x2 , x3 , h1 , h3 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

Dado un problema de Programacion Lineal, {P : max. z = cx, s.a Ax = b, x Elementos


0}, existen varios elementos caractersticos del problema y que no dependen caractersticos
de la solucion: de un problema

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

Este captulo se ocupa de la interpretacion de estos elementos que dependen Un ejemplo


de la base. Por ejemplo, mas adelante, se habla sobre el valor de los recursos en
un problema y para una solucion (una base). Pues bien, el valor de los recursos
depende de dicha solucion. Por ejemplo, el valor que tiene para un centro
de calculo depende de la forma en la que operar de dicho centro. Un servidor
adicional no tiene ningun valor si en dicho centro de calculo existen servidores
desocupados. Esto no signica que el servidor adicional no tenga valor, no
tiene valor para dicha forma de operar del centro de calculo.

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

Tpicamente, la interpretacion economica se realiza para la solucion optima,


porque es la solucion mas interesante pero se podra realizar el mismo analsis
para cada cualquier solucion del problema considerado.

5.1.1. Ejemplo de aplicacion

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 .

Ademas, existe un compromiso comercial de entregar al menos 4 productos Compromiso


semanales, donde estos cuatro productos pueden ser cualquier combinacion comercial
de productos P1 y P2 .

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.

Si xi representa el numero de unidades de pales de tipo Pi , i = 1, 2, se puede


construir el siguiente modelo de Programacion Lineal para obtener la produc-
cion que reporte un mayor benecio.

max z = 2x1 + x2 Formulacion


sujeto a:
3x1 + 1x2 30
(5.1)
4x1 + 3x2 16
x1 + 2x2 4
x1 + 3x2 5
Captulo 5. INTERPRETACION TECNICO-ECONOMICA 38

Este problema se puede reformular introduciendo variables de holgura, h1 , h2 ,


h3 y h4 que representan, respectivamente:

h1 : el numero de horas del taller T1 que no se llegan a utilizar.


h2 : el numero de horas del taller T2 que no se llegan a utilizar
h3 : el numero de productos entregados a los clientes por encima de la
cantidad mnima pactada.
h4 : el numero de horas en la que el colectivo citado trabaja por encima
del mnimo pactado con la admisnistracion.

max z = 2x1 + x2 Formulacion


sujeto a: equivalente
3x1 + x2 + h1 = 30
(5.2)
4x1 + 3x2 + h2 = 16
x1 + 2x2 h3 = 4
x1 + 3x2 h4 = 5

La solucion optima de este problema queda descrita en la siguiente tabla La solucion


optima
x1 x2 h1 h2 h3 h4
-70/9 0 0 0 -5/9 0 -2/9
h1 167/9 0 0 1 -8/9 0 -5/9
h3 5/9 0 0 0 1/9 1 -5/9
x1 11/3 1 0 0 1/3 0 1/3
x2 4/9 0 1 0 -1/9 0 -4/9

El plan optimo consiste en lo siguiente. Interpretacion

Se montan, por termino medio, 11 pales de tipo 1 cada tres semanas


(x1 = 11/3) y
se montan, por termino medio un 4 pales de tipo 2 cada nueve semanas
(x2 = 4/9)

con lo que se obtiene un benecio semanal de 7.78 u.m.

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

La solucion optima se alcanza cuando las variables basicas son h1 , h3 x1 y x2 . Caracterizacion


Es decir la base, B es la siguiente:
1 0 3 1

  0 0 4 3
B = Ah1 Ah3 Ax1 Ax2 = 0 1 1 2
(5.3)

0 0 1 3

5.2. Tasas de sustitucion

5.2.1. Discusion teorica

Las tasas de sustitucion se denen como p B = B 1 A Denicion

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)

5.2.2. Ejemplo de aplicacion

En el ejemplo de aplicacion, para la solucion optima, p B es la siguiente matriz:



0 0 1 8/9 0 5/9

0 0 0 1/9 1 5/9
pB =


(5.5)
1 0 0 1/3 0 1/3
0 1 0 1/9 0 4/9

Por ejemplo, las tasas de sutitucion de la variable h2 con respecto a las varia-
bles basicas se discuten a continuacion.

Antes, conviene notar que h2 es una variable no basica. Hacer que h2 = 1


signica que el taller T2 , que en la solucion optima esta ocupado al completo,
tuviera una hora desocupada. En este caso, los valores de las variables basicas
se modicaran de la siguiente manera.
B
p14 = 8/9
Cuando h2 = 1, h1 = 8/9.
Es decir, al desocupar una hora de taller T2 , de dejan de utilizar 8/9
de hora mas con respecto a la cantidad que no se estaba utilizando
de T1 .
B
p24 = 1/9
Captulo 5. INTERPRETACION TECNICO-ECONOMICA 40

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.

5.3. Multiplicadores del simplex

5.3.1. Discusion teorica

El vector de multiplicadores del simplex (o precios sombra), B se dene como: Denicion

B = c B B 1 (5.6)

El vector de multiplicadores del simplex representa, para una solucion deter-


minada (es decir, para una base B determinada), el valor de los recursos. De
otra manera: iB representa el valor que tiene una unidad adicional de recurso
Ri (es decir, un incremento unitario de b1 ). En efecto, como se cumple que:

z = c B uB = c B B 1 b = B b (5.7)

Si bi = 1, es decir, si se incrementa la disponibilidad del recurso Ri en una


unidad:
0
0


...
z
= c B uB = c B B 1 b
= B
b +
1 =


...
0
(5.8)
0
0


B

B ...
B B
= b+ = z + i z = i
1

...
0
Captulo 5. INTERPRETACION TECNICO-ECONOMICA 41

La relacion que existe entre los multiplicadores del simplex y los valores de los
criterios del simplex es la siguiente.

El criterio del simplex de una variable de holgura, hi , correspondiente a


una restriccion de tipo es:
VhBi = chi c B B 1 Ahi = chi B Ahi =

0
0



...

(5.9)
B B B B B
= 0 1 , 2 , ..., i , ..., m 1 = i


...
0

El criterio del simplex de una variable de holgura, hi , correspondiente a


una restriccion de tipo es:
VhBi = chi c B B 1 Ahi = chi B Ahi =

0
0



...

(5.10)
B
= 0 1B , 2B , ..., iB , ..., m B
1 = i


...
0

En el caso de la solucion optima, V B 0 y, en particular, VhBi 0

En el caso de los recursos correspondientes a las restricciones de tipo :


Si hi no es una variable basica, la restriccion se cumple en terminos
de igualdad: hi = 0 iB = VhBi 0.
En este caso, un aumento de unitario positivo de b1 (relajar la res-
triccion) reporta un incremento del benecio postivo z = B y un
incremento unitario negativo de b1 (hacer mas restrictiva la restric-
cion) reporta un incremento del benecio negativo z = B .
Si hi es una variable basica (salvo en casos especiales) la restriccion
no se cumple en terminos de igualdad: hi 0 iB = VhBi = 0
En este caso, el incremento unitario positivo o negativo de la dis-
ponibilidad del recurso Ri no afecta a la funcion objetivo (z = 0)
En el caso de los recursos correspondientes a las restricciones de tipo :
Si hi no es una variable basica, la restriccion se cumple en terminos
de igualdad: hi = 0 iB = VhBi 0.
En este caso, un aumento de unitario negativo de b1 (hacer me-
nos restrictiva la restriccion) reporta un incremento del benecio
postivo z = B y un incremento unitario positivo de b1 (hacer
mas restrictiva la restriccion) reporta un incremento del benecio
negativo z = B .
Si hi es una variable basica (salvo en casos especiales) la restriccion
no se cumple en terminos de igualdad: hi 0 iB = VhBi = 0
Captulo 5. INTERPRETACION TECNICO-ECONOMICA 42

En este caso, el incremento unitario positivo o negativo de la dis-


ponibilidad del recurso Ri no afecta a la funcion objetivo (z = 0)

5.3.2. Ejemplo de aplicacion

El vector de multiplicadores del simplex (precios sombra) correspondiente a


esta solucion es:


 5 2

B = 1B , 2B , 3B , 4B = 0, , 0, (5.11)
9 9

Restriccion 1. El recurso R1 no se esta utilizando completamente. Como


sobran horas de taller T1 , no estamos dispuestos a pagar nada por dispo-
ner de una hora adicional del mismo y cederamos una hora del mismo
si nos dieran cualquier cantidad (positiva) por esa hora.
Restriccion 2. El taller T2 se esta utilizando completamente. Estamos
dispuestos a pagar un maximo de 5/9 unidades monetarias por disponer
de una hora adicional del mismo y cederamos una hora del mismo si
nos dieran cualquier cantidad mayor que 5/9.
Restriccion 3. Estamos cumpliendo el compromiso comercial por encima
del mnimo pactado. No estamos dispuestos a pagar nada por tener que
cumplir un compromiso menos exigente (y pasar de b3 = 4 a b3 = 3).
Con cualquier cantidad que recbieramos estaramos dispuestos hacer
mas exigente el compromiso comercial.
Restriccion 4. Estamos cumpliendo el compromiso de la ocupacion de la
mano de obra de un colectivo con el menor valor posible. Estamos dis-
puestos a pagar 29 por tener que cumplir un compromiso menos exigente
(y pasar de b4 = 5 a b4 = 4). Tambien estamos dispuestos a recibir una
cantidad de dinero mayor 29 que para hacer mas exigente el compromiso
comercial (y pasar de b4 = 5 a b4 = 6).

5.4. Criterios del simplex

5.4.1. Discusion teorica

El criterio del Simplex se dene como Denicion

V B = c c B B 1 A (5.12)
Captulo 5. INTERPRETACION TECNICO-ECONOMICA 43

En particular, el criterio del simplex de la variable xk es:

VkB = ck c B B 1 Ak (5.13)

El criterio del Simplex, ya se vio en el captulo 2, representa el incremento de Primera


la funcion objetivo cuando xk = 1. Es decir: aproximacion

VkB = z|xk =1 (5.14)

El primer termino ck representa el benecio unitario que reporta la actividad ck


xk . Existen dos formas de interpretar VkB :

VkB = ck c B pkB
VkB = ck B Ak

En ambos casos, se obtiene con la diferencia entre ck (benecio unitario) y un


temino que puede interpretarse de dos maneras.

El termino c B pkB es el producto de: VkB = ck c B pkB

c B : que es el benecio unitario correspondiente a las variables basicas y


p B : el incremento de los valores de dichas variables basicas.

De forma que c B pkB representa lo que se deja de ganar por la cantidad en la


que se modican las variables basicas.

As que VkB es el resultado de:

aumentar el valor de la funcion objetivo por el benecio derivado de


hacer una unidad de la actividad k (xk = 1), es decir, por ingresar ck y
disminuir la funcion objetivo por la modicacion del ingreso debido a la
modicacion del valor de las variables basicas c B pkB .

Por lo tanto, se puede concluir lo siguiente.

Si V B > 0, el aumento de la funcion objetivo debido a la realizacion de


la nueva actividad supera a la reduccion de la funcion objetivo debida a
la disminucion de benecios debida a la modicacion del nivel de reali-
zacion de las variables basicas. La realizacion de la actividad k mejora
netamente el valor de la funcion objetivo.
Si V B < 0, el aumento de la funcion objetivo debido a la realizacion
de la nueva actividad no compensa la reduccion de la funcion objetivo
debida a a la disminucion de benecios debida a la modicacion del nivel
de realizacion de las variables basicas. La realizacion de la actividad k
empeora netamente el valor de la funcion objetivo.
Captulo 5. INTERPRETACION TECNICO-ECONOMICA 44

Si V B = 0, la realizacion de la actividad k no modica el valor de la


funcion objetivo.

El termino B Ak es el producto de: VkB = ck B Ak


B : que es valor de cada uno de los recursos y
Ak : que es el consumo de cada uno de esos recursos en los que se incurre
al realizar la actividad k, xk = 1.

De forma que B Ak es el valor de los recursos correspondientes a la realiza-


cion de una unidad de la actividad k. Es decir, hacer una unidad de la actividad
k, signica consumir recursos que estan dedicados a otra actividades. El valor
de esos recursos empleados en esas actividades es B Ak , con lo que si se em-
plean en la actividad k y no en las correspondientes a las variables basicas, la
funcion objetivo se reducira en ese valor.

As que VkB es el resultado de:


aumentar el la funcion objetivo por el benecio ck , dervidado de hacer
una unidad de la actividad k (xk = 1) y
disminuir la funcion objetivo por el hecho de que se detraen recursos
que antes estaban dedicados a realizar las actividades basicas y cuyo
valor es B Ak .

Por lo tanto, se puede concluir lo siguiente.


Si V B > 0, el aumento de la funcion objetivo debido a la realizacion de la
nueva actividad supera a la reduccion del benecio debida la detraccion
de recursos que ya no se destinan a las actividades basicas y que se
destinan a realizar la actividad k. La realizacion de la actividad k mejora
netamente el valor de la funcion objetivo.
Si V B < 0, el aumento de la funcion objetivo debido a la realizacion
de la nueva actividad no compensa la reducciondel benecio debida la
detraccion de recursos que ya no se destinan a las actividades basicas y
que se destinan a realizar la actividad k. La realizacion de la actividad k
empeora netamente el valor de la funcion objetivo.
Si V B = 0, la realizacion de la actividad k no modica el valor de la
funcion objetivo.

5.4.2. Ejemplo de aplicacion

Como se ha dicho al principio del captulo, la interpretacion de los elementos Presentacion


que se han comentado es valido y, en particular, en cualquier solucion. A titulo
de ilustracion, a continuacion se discute la interpretacion del criterio del sim-
plex de una variable para una solucion diferente de la optima. La discusion,
insistimos, podra realizarse igualmente para la solucion optima.
Captulo 5. INTERPRETACION TECNICO-ECONOMICA 45

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

El criterio del simplex de la variable x1 se puede entender como la difencia V1B


entre el benecio unitario por realizar la actividad correspondiente y c B p1B =
B A1 .

Con cualquiera de las dos posibles interpretaciones, c1 = 2, representa el be- c1


necio unitario por realizar una unidad de la actividad 1, es decir por montar
y vender un pale de tipo 1.

c B = (0, 0, 0, 1) c B p1B
  (5.15)
5 5 1 1 T
pB = , , ,
2 2 2 2

Al hacer una unidad de x1 :

h1 disminuye en 52 unidades, cada una de las cuales reportaba un bene-


cio de ch2 = 0, con lo que dejamos de ganar 52 0.
h2 disminuye en 52 unidades, cada una de las cuales reportaba un bene-
cio de ch2 = 0, con lo que dejamos de ganar 52 0.
h4 disminuye en 12 unidades, cada una de las cuales reportaba un bene-
cio de ch2 = 0, con lo que dejamos de ganar 12 0.
x2 disminuye en 12 unidades, cada una de las cuales reportaba un bene-
cio de ch2 = 1, con lo que dejamos de ganar 12 1.

1
Es decir, dejamos de ganar 2

Netamente: V1B = c1 c B p1B

El benecio aumenta, por un lado en 2 y


disminuye, por otro, en 12 ,

por lo que, globalmente, si hacemos un pale de tipo 1, aumentamos el benecio


en V1B = 2 12 = 32

Se puede interpretar el valor de V2B en terminos de B B A1


Captulo 5. INTERPRETACION TECNICO-ECONOMICA 46

B = (0, 0, 1, 0)
 T (5.16)
1
A1 = 3, 4, , 0
2

Al hacer una unidad de x1 :

Se consumen 3 unidades del recurso 1, es decir, se emplean 3 horas de


taller T1 , cuyo valor es 1 = 0 (sobran horas).
Se consumen 4 unidades del recurso 2, es decir, se emplean 4 horas de
taller T2 , cuyo valor es 2 = 0 (sobran horas).
Se consume 1 unidad del recurso 3. En este caso, esto signica contri-
buir con 1 unidad adicional al cumplimiento del compromiso comercial.
Cada unidad en la que el cumplimiento comercial se hace mas restrici-
tivo, esto deteriora la funcion objetivo en 12 (esta solucion se cumple
exactamente al lmite (h3 = 0)). Fabricar un pale de tipo 1 provoca supe-
rar el compromiso comercial y eso deteriora la funcion objetivo en 12
El razonamiento es analogo para la cuarta restriccion, pero en este caso,
ya se esta 4 = 0.

1
Es decir, dejamos de ganar 2

Netamente: V1B = c1 B A1

El benecio aumenta, por un lado en 2 y


disminuye, por otro, en 12 ,

por lo que, globalmente, si hacemos un pale de tipo 1, aumentamos el benecio


en V1B = 12
Captulo 6

INTERPRETACION GRAFICA

6.1. Introduccion

En este captulo se presenta la interpretacion graca en el plano de muchos Dos


de los conceptos presentados hasta ahora. Este captulo no pretende ser un dimensiones
tratado exhaustivo de la geometra de los problemas de Programacion Lineal.

El objetivo es ilustrar dichos conceptos pero no ofrecer herramientas para el Objetivo


tratamiento de problemas de Programacion Lineal.

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.

6.2. Conceptos generales

Dado un problema de Programacion lineal en el plano

maz z =cx
s.a:
(6.1)
Ax = b
x0

x R+
21 Dimensiones
A Rm2
c R12
b Rm1

donde m es el numero de restricciones


Captulo 6. INTERPRETACION GRAFICA 48

En el ejemplo que sigue m = 2 Ejemplo

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.

El problema del ejemplo anterior se puede formular en terminos de igualdad


anadiendo las variables de holgura necesarias.

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

Dado un punto cualquiera en el plano, P (x1 , x2 ) y una restriccion Ri :

Si este punto esta situado en el semimplano de soluciones factibles con


respecto a Ri , entonces el P cumple la restriccion Ri y hi 0.
En particular, puede estar sobre la propia recta, en cuyo caso, se cumple
la restriccion con hi = 0
Si este punto esta situado en el semimplano de soluciones no factibles
con respecto a Ri , entonces el P no cumple la restriccion Ri y hi < 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

Esta a la derecha de la recta R2 , el su semiplano no factible, con lo


que h2 < 0
Esta a la izquierda de la recta R3 , el su semiplano factible, con lo
que h3 > 0

Figura 6.1: Restricciones de un problema de Programacion Lineal

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 region de soluciones factibles siempre es un polgono y es una region conve-


xa; es decir, para cualesquiera dos puntos de la solucion de regiones factibles,
todos los puntos pertenecientes al segmento que uno aquellos dos puntos
tambien esta dentro de la region de soluciones factibles.
Captulo 6. INTERPRETACION GRAFICA 50

Figura 6.2: Region de soluciones factibles de un problema de Programacion


Lineal

La funcion objetivo de un problema de Programacion lineal en el plano tiene la Funcion objetivo


forma de z = c1 x1 + c2 x2 . Para cada valor de z tenemos una recta en particu-
lar, donde todos los puntos de dicha recta proporcionan el mismo valor de la
funcion objetivo.

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

Figura 6.3: Region de soluciones factibles de un problema de Programacion


Lineal

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.

Sin embargo, la recta x1 + 2x2 = 6 s tiene un segmento dentro de la region de


factiblidad. Existe un conjunto de soluciones factibles que reportan un valor
de z = 6, correspondiente a todos los puntos del segmento en el que la recta
anterior intersecta con la region de soluciones factibles.

Un problema en el plano tiene n variables (x1 , x2 y todas las variables de Soluciones


holgura correspondiente a restriciones leq o geq) y una solucion basica tiene basicas
m variables basicas. En particular, en el caso de que todas las retricciones
tengan variables de holgura, una solucion basica tiene:

m variables basicas y
2 variables no basicas.
Captulo 6. INTERPRETACION GRAFICA 52

Figura 6.4: Region de soluciones factibles de un problema de Programacion


Lineal

Es decir en una solucion basica, como mnimo, debe haber dos variables nulas:

x1 y x2 (la solucion es el origen de coordenadas);


x1 o x2 y una variable de holgura (la solucio es la interseccion la restric-
cion correspondiente con uno de los ejes);
dos variables de holgura (la solucion es la iterseccion de dos restriccio-
nes).

Es decir, las soluciones basicas de un problema de programacion lineal son:

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

En el ejemplo, existen tres restricciones (m = 3), por lo que el numero de


5
soluciones basicas es = 10, que aparecen indicadas en 6.4
2

Figura 6.5: Region de soluciones factibles de un problema de Programacion


Lineal

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

Figura 6.6: Region de soluciones factibles de un problema de Programacion


Lineal

La interpretacion graca del Teorema Fundamental es la siguiente. Dada cual- Teorema


quier solucion no basica (un punto interior del polgono de soluciones facti- fundamental
bles), es posible desplazarse hacia una solucion en una restriccion (con una
componente con un cero mas que la de partida) y, desde ella, a una solucion
basica (con dos componentes nulas adicionales), siendo esta solucion no peor
que la de partida.

En la gura 6.7 se muestra una solucion no basica x NB . Desde ella es posible


desplazarse por multiples caminos hasta llegar a una solucion basica no pero
que x NB .

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.

Igualmente, siguiendo el camino naranja, nos desplazamos primero a una so-


lucion no basica sobre la restriccion R1 (con una componente nula adicional:
h1 ). Y, desde ella es posible llegar a x 7 , en la que hay dos componentes nulas:
h1 y h2 y tres no nulas: es una solucion basica y mejor que la de partida.
Captulo 6. INTERPRETACION GRAFICA 55

Figura 6.7: Region de soluciones factibles de un problema de Programacion


Lineal

6.3. Metodo del Simplex

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

Figura 6.8: Logica general del metodo del Simplex

El criterio del simplex de la variable basica xi , ViB representa el incremento Regla de


unitario de la funcion objetivo si x1 . En la gura 6.9, considerando la solucion introduccion V B
basica x 1 , las variables no basicas de esa solucion son x1 y x2 .

Si partiendo de x 1 , hacemos que x1 = 1, sera equivalente a desplazarse por el


eje de abscisas, hasta llegar al punto (1, 0). La funcion objetivo de este punto
es z = 1. Igualemente, si partiendo de x 1 ahora hacemos que x2 = 1, sera
equivalente a desplazarse por el eje de abscisas, hasta llegar al punto (0, 1). La
funcion objetivo de este punto es z = 2. Es decir, V1B = 1 y V2B = 2.

En efecto, tanto la introduccion de x1 como la de x2 en la base, a partir de x 1 ,


dan lugar a un incremento de la funcion objetivo, por lo que, segun la regla de
entrada, ambas son potenciales candidatas para obtener una nueva solucion
basica factible, mejor que x 1
Captulo 6. INTERPRETACION GRAFICA 57

Figura 6.9: Region de soluciones factibles de un problema de Programacion


Lineal

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:

si x1 = 2, las variables basicas son: x2 , h2 y h3 (solucion basica x 5 )


si x1 = 6, las variables basicas son: x2 , h1 y h3 (solucion basica x 9 )
si x1 = 10, las variables basicas son: x2 , h1 y h2 (solucion basica x 10 )

Lo anterior es lo esperado. Para el ejemplo anterior, en cada solucion basica


existen tres variables basicas y dos no basicas, con lo que desde cada solu-
cion basica, una vez decidida la variable de entrada, podemos acceder a otras
tres soluciones basicas suprimiendo de la base alguna de las tres las variables
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

Sabemos que una solucion basica es optima si V B 0, es decir, si introducien- Criterio de


do cualquier variable no basica la funcion objetivo disminuye. En el ejemplo, optimalidad
podemos apreciar en la gura 6.10 que la solucion x 7 es optima.

Figura 6.10: Criterio de optimalidad

En efecto, las variables no basicas de x 7 son h1 y h2 . La introduccion de cada


una de ellas supone seguir desplazarse por las restricciones R2 y R1 , respecti-
vamente, tal y como aparece en la imagen segun las fechas rojas. Los valores
de z para esas soluciones son peores que la de x 7 .

6.4. Metodo de las dos fases y de la M grande

Pendiente Problema
auxiliar
Pendiente Regiones de
factibilidad de P
Pendiente y de P

Iteraciones del
problema P

Pendiente Iteraciones del


problema P
Captulo 6. INTERPRETACION GRAFICA 59

6.5. Metodo de Lemke

Pendiente Logica general

Pendiente Regla de
supresion V B
Pendiente Regla de
introduccion p B
Pendiente Criterio de
factiblidad
Captulo 7

METODO DEL LEMKE

7.1. Introduction

En el captulo 2 se presento el metodo del Simplex para resolver problemas de Introduccion


Programacion Lineal. Este metodo consista en, a partir de una solucion basica
factible de partida, de forma iterativa, transitar por diferentes solucion basicas
factibles hasta alcanzar una que tambien fuera optima.

Logica del
metodo del
Simplex

Figura 7.1: 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.

Al respecto de las diferencias y las analogas entre los dos metodos:

El ambos metodos siempre se transita de solucion basica en solucion


basica.
Las soluciones por las que transita el metodo del Simplex siempre son
factibles.
Las soluciones por las que transita el metodo del Lemke siempre cum-
plen el criterio de optimalidad.
Captulo 7. METODO DEL LEMKE 61

En el metodo del Simplex, con las diferentes iteraciones, se mejora el


criterio de optimalidad hasta alcanzar una solucion optima (que tambien
es factible).
En el metodo del Simplex, con las diferentes iteraciones, se mejora el
criterio de factiblidad hasta alcanzar una solucion factible (que tambien
es optima).

Figura 7.2: Logica del metodo de Lemke

Para aplicar el metodo de Lemke, de acuerdo con la logica anterior, es necesa- Que necesita-
rio: mos

1. una solucion basica que cumpla el criterio de optimalidad de partida,


2. un criterio de factiblidad,
3. una regla de supresion y
4. una regla de introduccion.

7.2. Cuando es interesante el metodo de Lemke

El metodo de Lemke es potencialmente interesante cuando existe una solu-


cion basica que cumple el criterio de optimalidad, pero que no es factible. A
continuacion se discuten tres casos habituales.

7.2.1. Problemas de mnimos con c 0

Los problemas que cumplen con las siguientes caractersticas:

La funcion objetivo es de la forma min. z = cx con c 0.


Todas las restricciones son de tipo o .
Captulo 7. METODO DEL LEMKE 62

Por ejemplo, un problema como el siguiente. Ejemplo

min. z =1x1 + 2x2 + 3x3


1x1 + 2x2 + 1x3 10
4x1 + 2x2 + 3x3 20 (7.1)
1x1 + x2 + x3 40
xi 0

En efecto:

Si un problema es del tipo min. z = cx con c 0, se puede transfomar


en uno equivalente del tipo max. (z) = cx con c 0.
Al anadir las variables de holgura a todas y cada una de las restricciones
(ninguna es originalmente de tipo =), existe una solucion basica en la que
hi = bi .

Para dicha solucion c B = 0 0 ... 0 y, por lo tanto: V B = c


c B B 1 A = c 0 0 ... 0 B 1 A = c 0

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.

El problema de 7.1 se puede formular como: Ejemplo

max. z = 1x1 2x2 3x3


1x1 2x2 1x3 + h1 = 10
4x1 2x2 3x3 + h2 = 20 (7.2)
1x1 + x2 + x3 + h3 = 40
xi , hi 0

Si las variables basicas son h1 , h2 y h3 :




cB = 0 0 0 .



V B = c c B B 1 A = 1 2 3 0 0 0 0 0 0 B 1 A =


1 2 3 0 0 0 . Es decir, V B 0.
Por lo tanto, esta solucion es basica, cumple el criterio de optimalidad y
no es factible: es una solucion de partida validad para aplicar el metodo
de Lemke.
Captulo 7. METODO DEL LEMKE 63

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

7.2.2. Al introducir un cambio en b, una vez obtenida la solucion


optima

Dado un problema P del que se ha obtenido la solucion optima, si cambia el


vector de disponibilidad de recursos b, se modicaran:

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.

Para el problema de ejemplo del captulo 3, en el epgrafe 3.3 Ejemplo


maz z =1x1 + 2x2 + 3x3
1x1 + 2x2 + 1x3 + x4 = 16
3x1 2x2 + 2x3 + x5 = 26 (7.3)
1x1 + 0x2 + 2x3 + x6 = 24
xi 0, i = 1 6

Se conoce la solucion optima

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

La nueva tabla cuando las variables basicas son x2 , x5 y x3 es la siguiente:

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.

7.2.3. Al anadir una restriccion adicional a un programa, una vez


obtenida la solucion optima

Pendiente

7.3. Reglas

7.3.1. Criterio de factibilidad

Una solucion basica (base B) es factible si uB 0

7.3.2. Regla de supresion

Dada una solucion basica no factible interesa eliminar de la base cualquier


variable con valor negativo. En particular, eliminaremos la variable i-esima que
cumple.
Captulo 7. METODO DEL LEMKE 65

 
 
uBi = maxuB <0 uBk  (7.5)
k

7.3.3. Regla de introduccion

Dado que la variable i-esima de la base es la que se debe suprimir, la varia-


ble que entra en su lugar es la variable j-esima del problema que cumple lo
siguiente.

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

min. z =300x1 + 400x2 + 100x3 + 50x4 El problema


4x1 + 5x2 + 2x3 + x4 800
2x1 + 4x2 + x3 600 (7.9)
1x1 + x2 + 4x4 2000
xi 0

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

8.2. Optimo multiple

Dado un problema de programacion lineal, P , se conoce una solucion optima Caracterizacion


basica y factible, x B , asociada a una base B. Si una variable no basica, xk , es tal analtica
que VkB = 0, existe la posiblidad de introducir dicha variable en la base1 y:

se obtiene una solucion basica, x B diferente de la anterior (con otra base


B
y
con el mismo valor de la funcion objetivo.

Las dos soluciones basicas anteriores x B y x B son soluciones basicas y opti-


mas del problema P

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

En general, pueden existir r soluciones basicas factibles (x B1 , x B2 ...x Br ) y opti- Generalizacion


r r
mas y todas las soluciones de la forma s=1 s x Bs , con s=1 s = 1

En el plano, existen soluciones optimas multiples cuando la funcion objeti- Interpretacion


vo es paralela a la restriccion que contiene dos soluciones basicas factibles y graca
optimas.
Captulo 8. CASOS ESPECIALES 68

Figura 8.1: Soluciones optimas multiples

max. z = 3x1 + 4x2 Ejemplo


3x1 + 4x2 12
x2 2 (8.1)
x1 x2 1
x1 , x2 0

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

Existen dos soluciones optimas que son basicas: Soluciones


T optimas
x = (4/3, 2, 0, 0, 0, 7/6)
1

x 2 = (16/7, 9/7, 0, 5/7, 0)T


Y todas las siguientes que son no basicas: x NB = (4/3, 2, 0, 0, 0, 7/6)T +
(1 ) (16/7, 9/7, 0, 5/7, 0)T , con (0, 1)

Para todas ellas, z = 12

8.3. Solucion degenerada

Se dice que una solucion basica es degenerada si alguna de las variables basicas Caracterizacion
toma valor 0, es decir, algun uBi = 0 analtica

max. z = x1 + 4x2 Ejemplo


Interpretacion
2x1 + 3x2 6 graca
(8.2)
x1 + 2x2 4
x1 , x2 0

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

Figura 8.2: Solucion degenerada

Las tres soluciones basicas son la misma, todas corresponden a x =


(0, 2, 0, 0)T . Se trata de tres bases que conducen a la misma solucion.

8.4. Problema no factible

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.

Cuando se aplica el metodo de Lemke, se puede concluir que el problema no Caracterizacion


tiene solucion factible si para se llega a una solucion en la que para todas las analtica. Lemke
variables basicas negativas, todas las tasas de sustituciones de las variables no
basicas con respecto a dichas variables basicas son positivas.
Captulo 8. CASOS ESPECIALES 71

Figura 8.3: Problema sin solucion factible

min. z = 2x1 + 3x2 = max. (z) = 2x1 3x2 Ejemplo


x1 + 2x2 1
(8.3)
x1 + x2 3
x1 , x2 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

Al aplicar Lemke se iterara de la siguiente manera Aplicando


Lemke
Captulo 8. CASOS ESPECIALES 72

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

8.5. Region de factibilidad no acotada

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

Si el VkB = 0, es posible introducir esta variable, con el consiguiente incremento Soluciones


de todas las variables basicas, la introduccion de xk no altera el valor de la optimas
funcion objetivo con lo que existen soluciones optimas multiples. multiples

max. z = 2x1 + 4x2 Ejemplo


x1 + 2x2 6
(8.5)
2x1 + 2x2 0
x1 , x2 0
Captulo 8. CASOS ESPECIALES 73

Figura 8.4: Region de factibilidad no actodada con solucion optima y unica

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

Si el VkB 0, es posible introducir esta variable, con el consiguiente incremento z no acotada


de todas las variables basicas y el incremento de z, con lo que el problema no
esta acotado y no se puede hablar de solucion optima.
Captulo 8. CASOS ESPECIALES 74

Figura 8.5: Region de factibilidad no actodada con solucion optimas multiples

Figura 8.6: Region de factibilidad no actodada con funcion objetivo no actoda-


da
Captulo 8. CASOS ESPECIALES 75

max. z = 3x1 + x2 Ejemplo


x1 + 2x2 6
(8.6)
2x1 + 2x2 0
x1 , x2 0

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

Dado un problema de PL:

max z = cx
Ax = b (9.1)
x0

Una vez otenida la solucion optima x , podran producirse cambios en el pro-


blema, que pueden hacer que la x deje de ser la solucion optima. En particu-
lar, puede cambiar:

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

Si el vector de disponibilidad de recursos cambia, b


, cambia:

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

La solucion puede dejar de ser factible, si algun u


i < 0. En analisis consiste en
recalcular u
B :

1. Si u
B
i 0 i la solucion sigue siendo factible y, como V 0, las varia-
B

bles basicas son las mismas, con un nuevo nivel de realizacion u


B y un
nuevo valor de la funcion objetivo z

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

Si el vector de contribuciones unitarias al benecio, c


, cambia:

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

La solucion puede dejar de ser optima, si algun Vi


B > 0. En analisis consiste
en recalcular V
B :

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.

Si solo cambia una componente de c, se pueden dar dos situaciones:

1. Cambia ck y xk no es variable basica. Solo cambia VkB , con lo que esta


actividad, que no era basica, al cambiar VkB pordra ocurrir que VkB 0,
en cuyo caso la solucion original no sera optima.
2. Cambia ck y xk es variable basica, con lo que cambiara todo V B .
Captulo 9. POSTOPTIMIZACION 78

9.4. Nueva actividad

Una actividad k queda caracterizada por:

1. ck la contribucion unitaria al benecio de dicha actividad y


2. Ak el consumo que hace dicha actividad de cada uno de los recursos.

Con la aparicion de una nueva actividad, la solucion optima del problema pue-
de ser la misma o puede ser otra mejor.

Es decir, si interesa realizar dicha actividad, sera porque la solucion a la que


se llegara sera mejor. Si no interesa realizar dicha actividad, la mejor solucion
sera la obtenida para el problema antes de introducir dicha actividad.

En efecto, con la introduccion de una nueva actividad, se debe calcular el cri-


terio del simples VkB la variable correspondiente xk .

Si VkB 0 la solucion sigue siendo optima y no interesa realizar dicha


actividad.
Si VkB > 0, la solucion deja de ser optima porque la introduccion de la
nueva actividad representa una oportunidad de mejora. Se debe aplicar
el metodo del Simplex hasta alcanzar la solucion optima

9.5. Nueva restriccion

Una restriccion l queda caracterizada por:

1. bl la contribucion unitaria al benecio de dicha actividad y


2. alj el consumo que hacen todas las actividades del nuevo recurso y
3. el signo de la desigualdad

En el caso de una restriccion de igualdad o de desigualdad se convierte en una


de igualdad con la variable de holgura correspondiente

 
alj xj bl alj xj + hl = bl
j j
  (9.2)
alj xj bl alj xj hl = bl
j j

En el caso de una restriccion de tipo igual, es equivalente a dos: una de con


y otra con lgeq:
Captulo 9. POSTOPTIMIZACION 79


 a x 
alj xj = bl equivalente a j lj j alj xj l (9.3)
j alj xj
j j

Con la aparicion de una nueva restriccion, la solucion optima del problema


puede ser la misma o puede ser otra peor. Es decir:

si la solucion optima original cumple la nueva restriccion, la solucion


optima seguira siendo factible y tambien optima, es decir, la solucion
optima no cambiara;
si la solucion optima obtenida no cumple con la nueva restriccion, la
solucion seguira dejara de ser factible y habra que obtener una nueva
solucion factible y optima, peor que la original.

Cuando aparece una nueva restriccion, la forma de obtener la nueva solucion


factible sin resolver el problema desde el principio consiste en:

1. Introducir en la tabla de la solucion optima nal la nueva restriccion tal


y como habra aparecido en la primera tabla y
2. operar con las las para conseguir ceros en la matriz p B donde debera
haberlos (esto se explica en el ejemplo nal, 9.7.4).

9.6. Cambio en aij

Se pueden dar dos situaciones, que la variable xj sea basica o que no.

9.6.1. Cambio en aij con xj no basica

Si cambia aij y xj es una variable no basica, cambia:

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

Solo cambia VjB , con lo que:

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.

9.6.2. Cambio en aij con xj basica

Si cambia aij y xj es una variable basica, cambia:

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

Se pueden dar cuatro situaciones, ligadas a la perdida o no de las condiciones


de solucion factible y de solucion optima. La tabla siguiente resume los casos
que se pueden dar:

VB 0 V B 0
uB 0 Solucion optima Simplex
uB 0 Lemke -

9.7. Ejemplo

max z = x1 + 2x2 + 3x3


sujeto a:
x1 + x2 + x3 16 (9.4)
3x1 + 2x2 + 2x3 = 26
x1 + x3 10

Tabla correspondiente a la solucion optima.

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

La solucion sigue siendo factible y optima.


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

La solucion ya no es factible y es necesario aplicar Lemke.

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

El nuevo valor del vector de criterios del Simplex, V


B sera:
Captulo 9. POSTOPTIMIZACION 82

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)

La solucion sigue siendo factible y optima.



Supongamos que c
= 6 1 3 0 0

El nuevo valor del vector de criterios del Simplex, V


B sera:

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)

La solucion ya no es optima y es necesario aplicar el metodo del Simplex.

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

9.7.3. Nueva actividad

Existe la posiblidad de realizar una nueva actividad, x4 y se sabe que:

c4 = 5

T
A4 = 1 1 1
Captulo 9. POSTOPTIMIZACION 83

El criterio del simplex de la nueva actividad es:

V4B = c4
c B B 1 A4 = c4
B A4


1 (9.9)

5 0 3/2 0 1 = 7/2
1

La solucion ya no es optima y es necesario aplicar el metodo del Simplex. Para


reutilizar la tabla, es necesario calcular p4B

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

9.7.4. Nueva restriccion

Supongamos que aparece la siguiente nueva restriccion

x1 + x3 15 (9.11)

Como x2 + x3 = 0 + 13 15, la solucion sigue siendo factible y optima.

Supongamos que aparece la siguiente nueva restriccion

x2 + x3 10 (9.12)
Captulo 9. POSTOPTIMIZACION 84

Como x2 + x3 = 0 + 13  10, la solucion optima ya no cumple esta nueva


restriccion, con lo que ya no es solucion factible del nuevo problema.

La restriccion se puede formular como:


x2 + x3 h4 = 10 (9.13)

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

9.7.5. Analisis de sensibilidad de b



T
Si b = b1 26 10 , el nuevo valor de las variables basicas, u
B sera: Analisis b1


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

9.7.6. Analisis de sensibilidad de c

Variable x1 . Variable no basica Analisis c1



1

V1B = c1 B a2 = c1 0 3/2 0 3 = c1 9/2 0 c1 9/2
1
(9.18)

Variable x2 . Variable no basica Analisis c2



1

V2B = c2 B a3 = c2 0 3/2 0 2 = c2 3 0 c2 3 (9.19)
0

Variable x3 . Variable basica Analisis c3

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

9.8. La aparente paradoja de b

Dado el problema

max z = x1 + 3x2
x1 + 2x2 20
(9.22)
2x1 + x2 20
x1, x2 0

La tabla del simplex correspondiente a la solucion optima es:

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

Si realizamos en analisis de sensibilidad con respecto a b1 , el resultado es el


siguiente:
    
2/3 1/3 b1 1 2b1 20
uB = B 1 b = = 0 10 b1 40
1/3 2/3 20 3 b2 + 40
(9.23)

Es decir, si la disponibilidad el recurso R1 (b1 ) es superior a 40, la solucion


no es factible. Como puede ser que si aumentamos la disponibilidad de un
recurso de una restriccion de tipo la solucion se haga no factible?
Captulo 10

PROGRAMACION PARAMETRICA

10.1. Introduccion

10.2. Programacion con c()

10.2.1. Metodo general

Procedimiento general: Tras la resolucion para un valor de 0

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.

10.2.2. Ejemplo c()

max z = 5x1 + 6x2 + 8x3


s.a.
2x1 + 3x2 + 4x3 25 (10.1)
3x1 + 2x2 + 1x3 = 20
x1 , x2 , x3 0
Captulo 10. PROGRAMACION PARAMETRICA 89

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

Sea c1 = , si = 5, T0 es la tabla correspondiente a la solucion optima.



A continuacion vamos a realizar el analisis para c() = 6 8 , , con
0

Si modica su valor, se modicara el vector de criterios del Simplex V B ().


Siempre y cuando V B () 0 las actividades basicas seran x1 y x3 , con los
niveles de realizacion de la tabla T0 . El criterio del Simplex V B () es:

 


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)

Las variables basicas son x1 y x3 siempre y cuando V B (). Es decir:

40
4 24 (10.3)
24 0

Si 4 24, la tabla corresondiente a la solucion optima es T0 ():

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

Si = 4, la tabla se convierte en T1 , correspondiente a un optimo multiple.


Introduciendo x2 y sacando x3 se obtiene una nueva solucion a la que le co-
rresponde la tabla T2
Captulo 10. PROGRAMACION PARAMETRICA 90

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

Si modica su valor, se modicara el vector de criterios del Simplex V B ().


Siempre y cuando V B () 0 las actividades basicas seran x1 y x2 , con los
niveles de realizacion de la tabla T2 . El criterio del Simplex V B () es:

 


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.

La explicacion es la siguiente. Si las variables basicas con x1 y x2 (aun cuando


c1 = << 0), podemos tratar de introducir:

x3 . Para cualquier valor positivo de x3 , x1 aumenta, con la que la solucion


es aun peor en terminos de la funcion objetivo (por eso, el criterio del
simplex de x3 siempre es negativo).
h1 . Para cualquier valor positivo de h3 , x1 aumenta, con la que la solu-
cion es aun peor en terminos de la funcion objetivo (por eso, el criterio
del simplex de h3 siempre es negativo).

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

con lo que la solucion a la que se llega es peor, as que para cualquier 4,


las variables basicas de la solucion optima son x1 y x2

Alternativamente, se puede explicar la aparente paradoja por el hecho de que


cualquier solucion para la cual x1 = 0, la solucion correspondiente es no facti-
ble.

Volviendo a la tabla T0 (), si = 24, la tabla se convierte en la tabla T3 , co-


rrespondiente a un optimo multiple. Introduciendo h1 sacando x3 se obtiene
la tabla T4 correspondiente a la solucion optima alternativa:

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

De nuevo, Si modica su valor, se modicara el vector de criterios del Simplex


V B (). Siempre y cuando V B () 0 las actividades basicas seran x1 y h1 , con
los niveles de realizacion de la tabla T4 . El criterio del Simplex V B () es:

 


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:

Variables basicas: x1 = 2 y x2 = 7 si 4 con z = 42 + 2


Variables basicas: x1 = 11/2 y x3 = 7/2 si 4 24 con z = 28 + 11/2
Variables basicas: x1 = 20/3 y h1 = 35/3 si 24 con z = 20/3
Captulo 10. PROGRAMACION PARAMETRICA 92

10.3. Programacion con b()

10.3.1. Metodo general

Procedimiento general:

1. Resolucion para un valor de 0


2. Calculo de V B (0 )
3. Calculo del 1 y 2 , tal que V B 0 si 1 2
4. 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 solucion optima multiple para = 1 :
1) Si es posible aplicar el metodo del Simplex, obtener una solu-
cion optima basica alternativa y volver al punto 1.
2) Si no es posible aplicar el metodo del Simplex, es que no hay
solucion factible fuera del valor de extremo estudiado.

10.3.2. Ejemplo c()

max z = 3x1 + 4x2 + 2x3 + 3x4


s.a.
30x1 + 10x2 + 10x3 + 15x4 120 (10.6)
50x1 + 50x2 + 30x3 + 30x4 150
x1 , x2 , x3 , x3 0

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

La siguiente tabla es valida si uB 0. Es decir, si 150 30

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

T1 ( = 30) -18 -7/3 0 -2/3 0 -1/60 -1/60


x2 0 -1/3 1 1/3 0 -2/30 1/30
x4 6 20/9 0 4/9 1 1/9 -2/90

    
B 1 1/60 1/30 120 (30 + )/10
u () = B b() = =
1/9 2/90 150 + (900 12)/90
(10.8)

La siguiente tabla es valida si uB 0. Es decir, si 30 75

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

T2 ( = 75) -18 -9 0 -2 -3 -2/5 0


x2 9/2 3 1 1 3/2 1/10 0
h2 0 -100 0 20 -45 -5 1
Captulo 10. PROGRAMACION PARAMETRICA 94

    
B 1 1/10 0 120 (120 + )/10
u () = B b() = =
5 1 150 + 6 450
(10.9)

La siguiente tabla es valida si uB 0. Es decir, si 75 120

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

Para > 120 no existe solucion factible del problema.

En resumen:

No existe solucion factible para < 150


Variables basicas: h1 = 45 3
2 y x4 = 5 +

30 si 150 30
30+ 90012
Variables basicas: x2 = 10 y x4 = 90 si 30 75
120+
Variables basicas: x2 = y h2 =
6 450 si 75 120
10
No existe solucion factible para > 120

10.4. Ejemplo c() y b()

max z = 2x1 + 4x2 + x3


s.a.
2x1 + 5x2 + 1x3 40 (10.10)
x1 + 4x2 + 2x3 24
x1 , x2 , x3 0


T
b() = 40 24 3 y


c() = 2 4+ 1 0 0 , co 0

Solucion optima para = 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

La condicion mas restricitiva es 1, ya que cuando esto ocurre, el problema


tiene dos soluciones basicas optimas factibles. Con > 1, las soluciones en las
que x1 y x3 son variables basicas son no factibles. A continuacion guran tres
tablas, correspondientes, respectivamente a la solucion basica con x1 y x3 en
funcion de , la tabla para = 1 y la solucion basica optima alternativa para
ese valor de .

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 0 -1/3 -8/9 -2/9


x1 40 1 0 -2 4/3 -5/3
x2 0 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:

Variables basicas: x1 = (56 + 3)/3 y x3 = (8 6)/3 si 0 1


Variables basicas: x1 = (45 + 15)/3 y x2 = (8 6)/3 si 1 4/3
Variables basicas: x1 = 24 3 y h1 = 8 + 6 si 4/3 4
Variables basicas: x1 = (24 3)/4 y h2 = (40 + 15)/4 si 4 8
No existe solucion factible para > 8
Captulo 11

TRANSPORTE Y ASIGNACION

11.1. Presentacion del problema de transporte

11.1.1. Introduccion

Se trata de un caso particular de PL

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

el problema consiste en determinar las cantidades transportadas desde el ori-


gen i O al destino j D con el mnimo coste, xij .

max z = Cij xij
ij

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

Formulacion equivalente, si el problema esta equilibrado



max z = Cij xij
ij

s.a.

xij = Oi i O (11.2)
jD

xij = Dj j D
i

xij 0 j D, i O

11.1.3. Presentacion matricial

La formulacion extendida de 11.2

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

Las matrices son:



1 0 0 ... 0

0 1 0 ... 0

0 0 1 ... 0
A=


(11.5)
... ... ... ... ...

0 0 0 ... 1
I I I ... I

donde 1 representa un vector la con tantos elementos como destinos, todos


ellos con valor 1 y 0 representa un vector la con tantos elementos como
destinos, todos ellos con valor 0.
Captulo 11. TRANSPORTE Y ASIGNACION 101


O1

...

OI
b=


(11.6)
D1

...
DJ


c= C11 ... CI1 ... Cij c1J ...CIJ (11.7)

11.1.4. Representacion del problema

Representacion tabular especca, diferente, por ejemplo, de la matriz comple-


ta del metodo del simplex

destino 1 ... destino j ... destino J


c11 c1j cIJ
origen 1 x11 ... x1j ... x1J O1


c11 c1j c1J


... ... ... ... ...
ci1 cij ciJ
origen i xi1 ... xij ... x1jJ Oj


cij cij cij


... ... ... ... ...
cI1 cIj cIJ
origen J xI1 ... xIj ... x1J OJ


cI1 cIj cIj

donde cij es el coste reducido asociado al a variable xij , que se presentara mas
adelante.

11.1.5. Propiedades

Las propiedades..

1. Si el problema es equilibrado, existe al menos una solucion factible: xij =


OD OD
 i j =  i j En efecto, cumple las restricciones:
iO Oi jD Dj
Captulo 11. TRANSPORTE Y ASIGNACION 102


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

2. La base de cualquier solucion, B es una matriz unimodular y los elemen-


tos de B 1 son 0, 1 o -1.
3. El numero de restricciones linealmente independientes es car d(O) +
car d(D) 1

11.1.5.1. Propiedades de las soluciones basicas

El numero de variables basicas es igual al numero de restricciones lineal-


mente independientes es car d(O) + car d(D) 1
Dada una solucion existe un unico ciclo (pasarela) Existe al menos uno:
cualquier actividad no basica se puede obtener como combinacion linea
de las basicas Existe solo uno: solo hay una forma de combinar lineal-
mente actividades basicas
Las celdas de una solucion basica no permiten formar ciclos: no se pue-
den combinar linealmente
Las tasas de sustitucion son 1, 1 o 0

11.2. Metodos de resolucion

Si el problema se formula como PE, el caracter unimodular de la base garantiza


que el la solucion de la relajacion lineal siempre es entera.
Ademas de cualquier metodo general de PL, dos atlernativas:

1. Stepping-stone
2. MODI

Procedimiento:

1. Solucion inicial de partida. Para esto existen diferentes metodos


2. Criterio de optimalidad. En este paso es donde se diferencian los meto-
dos de Stepping-stone y MODI
3. Regla de entrada
4. Regla de salida
Captulo 11. TRANSPORTE Y ASIGNACION 103

11.2.1. Obtencion del solucion inicial de partida

Metodos

Rincon NO
Mnimo coste
Voguel
Otros

Diferente esfuerzo y diferente calidad de la solucion de partida

11.2.2. Regla de entrada. Stepping-stone

11.2.3. Regla de entrada. MODI

Las restricciones convenientemente modicadas se pueden exprear como:



Oi xij = 0 i O
jD
 (11.9)
Dj xij = 0 j D
i

Se denen ui y vi A su vez, a la funcion objetivo se le pueden sumar los termi-


nos nulos, que son los primeros miembros de las dos expresiones anteriors y,
posteriormente, se puede operar:

     
z= Cij xij = Cij xij ui Oi xij vj Dj xij =
ij ij i j j i
 
= Oi Dj + xij (cij ui vj )
ij ij
(11.10)

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

Se pueden elegir los valores de ui y vi de tal manera que cij ui vj = 0 si


la variable xij es basica. De esta manera, la expresion 11.11 es estrictamente
B
nula. El primer termino lo es por que cij ui vj = 0 y el segundo porque xij
al tratarse de variables basicas.
Captulo 11. TRANSPORTE Y ASIGNACION 104

Por lo tanto, si una variable no basica entra a formar parte de la solucion, el


incremento de la funcion objetivo es, precisamente, el valor de cij = cij ui


vj . Es decir

z|x B =1 = cij ui vj (11.12)


ij

11.2.4. Regla de salida

11.2.5. Criterio de optimalidad

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 ,

por lo que la solucion es optima si cij 0, j D, i O

11.3. Problemas desequilibrados

11.3.1. Oferta superior a demanda

Es necesario introducir un destino cticio d . El problema se redene sobre


un conjunto D = D {d }.
La variable xid representa la capacidad no utilizada del origen i O.
En la representacion tabular, de incorpora una la mas.
Los costes de las nuevas variables son...

11.3.2. Demanda superior a oferta

Es necesario introducir un destino cticio o . El problema se redene sobre un


conjunto O = O {o }.
La variable xo j representa la demanda no atendida del destino j D.
En la representacion tabular, de incorpora una columna mas.
Los costes de las nuevas variables son...

11.4. Soluciones degeneradas


Captulo 11. TRANSPORTE Y ASIGNACION 105

11.5. Transporte y dualidad

El dual del problema de transporte es


 
max z = = Oi ui + Dj vj
i j

s.a.
(11.13)
ui + vj cij i O, j D
ui libre de signo i O
vj libre de signo j D

Justicacion. El problema 11.13 es equivalente a


 
max z = = Oi (u+
i ui ) + Dj (vi+ vi )
i j

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

El dual de este problema es



min z = Cij xij
ij

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

Que es equivalente a 11.2


Por otro lado, V B de un problema P y de es ese mismo problema, formulado
en terminos de maximo son iguales, pero cambiados de signo.
Del teorema de las holguras complementarias:

h
ij = Vij
B B
= Vij
max min
B
(11.16)
cij ui vj = Vij
min
Captulo 11. TRANSPORTE Y ASIGNACION 106

11.6. Para pensar

11.7. Ejemplo
Captulo 11. TRANSPORTE Y ASIGNACION 107

11.8. El problema de asignacion

11.8.1. Introduccion

Se trata de un caso particular del problema de transporte, en el que:

m = car d(O) = car d(D) = n


Oi = 1 i O y
Dj = 1 j D

Es decir, el numero de orgenes y de destinos es el mismo y la capacidad de los


primeros y la demanda de los segundos es igual a 1.
Ejemplos...
El problema se puede formular como:

max z = Cij xij
ij

s.a.

xij 1 i O (11.17)
jD

xij 1 j D
iO

xij 0 j D, i O

De las m + n restricciones, en este caso existen I = J linealmente independien-


tes, con lo que una solucion basica contendra m = n variables basicas.

11.8.2. Representacion

Dada la estructura particular de este problema, se puede represetnar con una


tabla cuadrada con tantas las y columnas como el numero de origenes o de
destinos.

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

Donde Cij es el coste de asignar el origen i al destino j


Por ejemplo,...
Captulo 11. TRANSPORTE Y ASIGNACION 108

D1 D2 D3 D4
O1 4 2 3 1
O2 5 2 6 3
O3 1 8 9 2
O4 10 1 6 4

Una posible asignacion podra ser

D1 D2 D3 D4
O1
O2
O3
O4

11.8.3. Propiedades

En una solucion del problema, para cada la i, solo un valor xij = 1


En una solucion del problema, para cada columna j, solo un valor xij = 1
Si se suma una constante k a todos los costes de una la o de una co-
lumna, el problema resultante alcanza la solucion optima para la misma
asignacion que el problema original. En efecto, por ejemplo, si cambian
todos los costes del origen i Ci
j = Ci j + k j, la nueva funcion obje-
tivo es:
     

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)

Se puede justicar, igualmente para una columna. En particular, k puede


ser el opuesto del menor valor de la la o la lnea corerspondiente.
En un problema en el que todos los costes son no negativos y hay un
conjunto de ceros, de tal manera que se puede encontrar un conjunto de
dichos ceros, de manera que hay un 0 y solo uno cada cada la y un 0
y solo un en cada columna, la solucion consiste en asignar los orignes y
destinos correspondientes a dichos ceros, con un coste total igual a 0.

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

11.8.4. Metodo Hungaro

1. Restar a cada la el menor coste de dicha la


2. Restar a cada columna el menor coste de dicha columna
3. Si existe un conjunto de costes iguales a cero que permiten realizar una
asignacion con coste global igual a cero, se ha obtenido la solucio optima,
si no, hay que continuar.
4. Tachar todos los ceros con el mnimo numero posible de lneas (siempre
habra que utilizar menos que el numero de orignes o destinos, porque si
no, existira una asignacion con coste cero).
5. Identicar k igual al coste mnimo de todos los costes no tachados y
obtener un problema equivalente:
Restar k a los elementos sin tachar, sumar k
Sumar k a los elementos tachados
Dejar igual los elementos tachados una sola vez

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

PROGRAMACION ENTERA. FUNDAMENTOS

12.1. Divide y venceras

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.

12.2. Enumeracion implcita

Como ya hemos visto anteriormente, la enumeracion completa (o explcita) es


imposible de hacer para muchos problemas cuando el numero de variables
enteras crece. Luego a parte de dividir indenidamente el problema tenemos
que hacer algo mas. Como podemos usar de forma inteligente algunas cotas
de los valores de {zk }? Vamos a ello.
Si S = S1 Sk es una descomposicion de S en un conjunto mas pequeno de
problemas, zk = max{cx : x Sk } para k = 1 . . . K, zk es una cota superior de
zk y zk es una cota inferior de zk ; entonces z = maxk zk es una cota superior
de z y z = maxk zk es una cota inferior de z.
Captulo 12. PROGRAMACION ENTERA. FUNDAMENTOS 111

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.

Figura 12.1: Poda por acotamiento

Podemos ver que z = maxk zk = max{20, 25} = 25 y que z = maxk zk =


max{20, 15} = 20. Ademas las cotas inferiores y superiores de z1 con iguales
y no hace falta seguir examinando el conjunto S1 . Entonces la rama correspo-
niente al conjunto S1 del arbol puede ser podada por optimalidad.

. En la gura 12.2 vemos de nuevo la descomposicion del conjunto S en dos Ejemplo 2


subconjuntos S1 y S2 y las cotas superiores e inferiores de los distintos pro-
blemas.

Figura 12.2: No poda posible

Podemos ver que z = maxk zk = max{20, 26} = 26 y que z = maxk zk =


max{18, 21} = 21. A parte, la funcion objetivo del problema tiene un valor
como poco de 21 y la cota superior z1 = 20, luego la solucion optima no puede
estar en el subconjunto S1 . En este caso la rama correspondiente a S1 se poda
por acotamiento.

. En la gura 12.3 esta descompuesto de nuevo el conjunto S en dos subcon- Ejemplo 3


juntos S1 y S2 con diferenctes cotas superiores e inferiores.
Podemos ver que z = maxk zk = max{24, 37} = 37 y que z = maxk zk =
max{13, } = 13. En este caso no podemos decir nada y hay que seguir explo-
rando los subconjuntos S1 y S2 .
Basados en estos tres ejemplos se pueden enumerar las tres razones que per-
miten podar alguna rama del arbol y con ello enumerar de forma implcita un
gran numero de soluciones:

1. Poda por optimalidad: zt = {max cx : x St } se ha resuelto.


2. Poda por acotamiento: zt z.
3. Poda por infactibilidad: St =

Si nos preguntamos como se pueden obtener las cotas, la respuesta es la mis-


ma que lo que vimos en el captulo anterior. Las cotas inferiores se calculan al
obtener soluciones factibles y las cotas superiores mediante relajaciones.
Captulo 12. PROGRAMACION ENTERA. FUNDAMENTOS 112

Figura 12.3: Poda por optimalidad

Construir un algoritmo de enumeracion implcita basado en los visto anterior-


mente es ya una tarea sencilla, aunque quedan aun muchas preguntas por re-
solver para poder tener bien denido el algoritmo. Algunas de estas pregunta
puede ser:

Que relajacion vamos a utilizar para hallar las cotas superiores?Como


elegir entre una sencilla cota debil facil de obtener y una cota fuerte
cuyos calculos llevan mas tiempo?
Como generamos los distintos subconjuntos del problema principal
S = S1 SK ?Cada conjunto se tiene que dividir en dos o mas
subconjuntos?Tenemos que tener una regla a priori para subdividir los
problemas o es mejor que esas divisiones dependan de como evoluciona
el problema?
En que orden vamos a examinar los problemas? Normalmente tendre-
mos un conjunto de nodos activos (ramas sin podar). Tenemos que es-
tudiar el primer nodo al que hayamos llegado (FIFO), el que tenga mejor
cota superior u otro criterio?

Estas y otras cuestiones se discuten en el siguiente apartado.

12.3. Branch and Bound: un ejemplo

La forma mas comun de resolver problemas con numeros enteros es usando


la enumeracion implcita o branch & bound, en donde las relajaciones lineales
se utilizan para calcular las cotas superiores.
Por ejemplo, dado este problema:

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

xj 2} y S2 = S {x : xj 3}. Se puede ver en la gura ??. A los dos


subproblemas (nodos del arbol) que deben ser examinados se les llama nodos
activos.
Eleccion de un nodo. La lista de nodos activos que deben ser examinados con-
tiene a S1 y S2 . Arbitrariamente elegimos S1 .
Reoptimizacion. Como podemos resolver las relajaciones lineales de los nue-
vos subproblemas sin necesidad de partir de cero? Como simplemente hemos
anadido una restriccion que sabemos que no se cumple, al anadir la la la co-
rrespondiente a la tabla del simplex expresada en la base actual tendremos una
solucion no factible. Utilizando el metodo de Lemke en varios pivotes (tablas)
podemos llegar a la nueva solucion optima.
Al resolver la relajacion lineal de S1 anadimos la restriccion x1 2 o x1 + h4 =
2, h4 0. Y tendramos la siguiente tabla que sera igual que la anterior pero
con una la mas en la parte inferior:

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

Despues de pasar por dos soluciones intermedias se llega la la siguiente solu-


cion optima
Captulo 12. PROGRAMACION ENTERA. FUNDAMENTOS 114

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

PROGRAMACION ENTERA. BRANCH AND


BOUND

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

Figura 13.1: Cotas de un problema entero

13.2. Optimalidad y relajacion

Dado un problema entero de la forma:

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

de cotas superiores, y una secuencia creciente

z 1 z 2 zt z

de cotas inferiores sera muy interesante y se podra parar cuando

zs zt 

donde  es un valor positivo elegido.


Luego lo que nos interesa es encontrar formas de obtener cotas superiores e
inferiores.

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 idea centra de estos heursticos es, a partir de no tneer una solucion, ir


construyendola paso a paso (dando valor una a una a cada variable) y en cada
paso tomar la decision que suponga una mayor mejora de la funcion objetivo.

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:

hacer mayor el conjunto de soluciones factibles de forma que el proble-


ma se resuelve sobre un conjunto mayor, o
reemplazar la funcion objetivo (max) por una funcion que tiene el mismo
o mayor valor que la original siempre.

Se dice que el problema (RP) {zR = max{f (x) : x T R n } es una relajacion


del problema (IP) {z = max{c(x) : x X R n } si:

x T, y
f (x) c(x)para todo x X

Si RP es una relajacion de IP, entonces zR z.


La cuestion entonces esta en como encontrar relajaciones interesantes. Una de
las mas naturales y mas utilizadas es la relajacion lineal.

Dado un problema entero max{c(x) : x P Z n } siendo P = x R+ n


: Ax Relajaciones
b}, la relajacion lineal es el problema lineal zLP = mboxmax{cx : x P }. lineales
Como P Z n P y la funcion objetivo no cambia, es claramente una relajacion.
Por ejemplo, si consideramos el problema entero:

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

max z = 7x1 + 4x2 + 5x3 + 2x4


s.a.
(13.2)
3x1 + 3x2 + 4x3 + 2x4 6
x {0, 1}

tiene como solucion optima x = (1, 1, 0, 0). Como x es entera, es tambien


solucion optima 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)

Para introducir el tema vamos a ver un ejemplo sencillo en el se puede observar


de forma rapida las relaciones entre un problema y un dual (aunque aun no se
haya descrito como construir el problema dual de uno dado).

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

El benecio neto obtenido tras la venta de un supercomputador 1 es de 400


u.m. y tras la venta de una unidad tipo 2 es de 600 u.m. Con esta informa-
cion se plantea y resuelve inicialmente un problema que permita determinar
el numero de unidades de cada tipo de ordenador con objeto de maximizar el
benecio total. Se denen las variables x1 y x2 como el numero de ordenado-
res elaborados de tipo 1 y 2 respectivamente, con estas variables el problema
queda:

max z = 400x1 + 600x2


s.a:
6x1 + 4x2 2000 (14.1)
2x1 + 4x2 1000
x1 0, x2 0

La solucion optima de dicho problema es elaborar 250 unidades del tipo 1 y y


125 unidades del modelo 2 con un benecio de 175000 u.m. En la gura 14.1
se puede ver las soluciones por las que se pasa hasta x = (250, 125). La tabla
correspondiene a la solucion optima es la siguiente:

-175000 0 0 -25 -125


x1 250 1 0 1/4 -1/4
x2 125 0 1 -1/8 3/8

Ahora podemos cambiar el enfoque sobre el problema planteado, nuestro


proposito va a ser determinar los precios a los cuales esta empresa debera
valorar sus recursos (horas de trabajo de los dos procesos) de tal manera que
puedan determinar el mnimo valor total al cual estara dispuesta a arrendar o
vender los recursos.
Sean y1 e y2 , la renta percibida por hora de los procesos P1 y P2 res-
pectivamente (precios de los recursos). La renta total obtenida sera pues,
2000y1 + 1000y2 . Se desea como objetivo encontrar el mnimo valor de
2000y1 + 1000y2 de modo que la empresa pueda, de una manera inteligen-
te, analizar algunas propuestas de alquiler o compra de todos los recursos
como un paquete total.
Se consideran las condiciones siguientes, los precios pagados por el alquiler
seran no negativos, es decir y1 0, y2 0. Ademas los precios y1 e y2
deben ser competitivos con las alternativas disponibles, es decir, el benecio
que la empresa debe obtener por los recursos necesarios para elaborar un
Captulo 14. DUALIDAD 121

x2

2
x (250, 125)
1

0
0 1 2 3 4 5 x1

Figura 14.1: Solucion graca del problema inicial

supercomputador al menos deben ser iguales a los que obtendra al utilizar


dichos recursos en la elaboracion del computador, es decir, para el modelo
1 tendremos 6y1 + 2y2 400 y para el modelo 2 queda 4y1 + 4y2 600.
Con esto se garantiza la obtencion de precios con los que al menos iguala el
benecio obtenido al producir el mismo los equipos. El problema planteado
queda:

min z = 2000y1 + 1000y2


s.a:
6y1 + 2y2 400 (14.2)
2y1 + 4x2 600
y1 0, y2 0

La resolucion de este problema proporciona un valor de 25 para cada unidad


del primer recurso (montaje) y un valor de 125 para cada unidad del segundo
(embalaje), con un benecio de 175000, igual al obtenido en el planteamiento
del primer problema. Este nuevo problema es problema dual del problema
planteado originalmente.
En la siguiente tabla se puede ver la tabla correspondiente a la solucion optima
de est segundo subproblema:

175000 0 0 -250 -125


x1 25 1 0 -1/4 1/8
x2 125 0 1 1/4 -3/8
Captulo 14. DUALIDAD 122

14.2. Teora sobre dualidad

14.2.1. El problema dual

Dado el problema de programacion lineal:

Max z = cx
Ax b (14.3)
x0

se le asocia otro problema:

Min s = yb
yAT c (14.4)
y 0

Al problema (14.3) se le denomina primal y a (14.4) se le denomina dual.

14.2.2. El dual del dual es el primal

En efecto, dado el problema primal

Max z = cx
Ax b (14.5)
x0

tiene como problema dual asociado:

Min s = yb
yAT c (14.6)
y 0

El problema dual puede expresarse como:

max (s) = bT y T
Ay T c T (14.7)
y 0

El problema (14.7) considerado como un problema primal, tiene como proble-


ma dual asociado el siguiente problema de programacion lineal:

min u = t(c T )
t(AT ) bT (14.8)
t0
Captulo 14. DUALIDAD 123

El problema dual (14.8) puede expresarse como:

max (u) = ct T
At T b (14.9)
T
t 0

Al comparar el problema (14.5) y el problema (14.9) se observa que:

el vector c es el mismo en los dos problemas,


la matriz A es la misma en los dos problemas,
el vector b es el mismo en los dos problemas,

por lo cual, los vectores x y t T y los valores de z y u son iguales, es decir


se comprueba que en efecto el problema dual asociado a un problema dual
coincide con el problema primal inicial.

14.2.3. Relaciones entre el problema primal y el problema dual

teorema De la propia denicion de problema primal y problema dual asociado


se deducen unas primeras relaciones entre ambos problemas:

una variable del problema primal genera una restriccion en el problema


dual;
una restriccion del problema primal genera una variable en el problema
dual,
una restriccion de desigualdad en el problema primal genera una variable
no negativa en el problema dual.

Existen otras relaciones no evidentes entre ambos problemas:

una restriccion de igualdad en el problema primal genera una variable


libre de signo en el problema dual;
una variable libre de signo en el problema primal genera una restriccion
de igualdad en el problema dual.

En efecto, la restriccion del problema primal

a31 x1 + a32 x2 + a33 x3 + a34 x4 = b3

que es equivalente a :

a31 x1 + a32 x2 + a33 x3 + a34 x4 b3


a31 x1 + a32 x2 + a33 x3 + a34 x4 b3
La segunda restriccion se puede expresarse como:

a31 x1 a32 x2 a33 x3 a34 x4 = b3


La inecuacion primera, corresponde a una restriccion en el problema primal y
genera en el problema dual un variable que se denominara y3+ y, por lo tanto,
se obtiene en dicho problema:
Captulo 14. DUALIDAD 124

un termino en la funcion objetivo: b3 y3+


una columna en el sistema de restricciones tecnicas:
+a31 y3+
+a32 y3+
+a33 y3+
+a34 y3+

La otra inecuacion, vista de una forma u otra, genera a su vez en e problema


dual la variable y3 y, por lo tanto:

un termino en la funcion objetivo: b3 y3


una columna en el sistema de restricciones tecnicas:
a31 y3
a32 y3
a33 y3
a34 y3

Por lo que, la resriccion a nivel de igualdad del problema primal genera en el


problema dual:

dos terminos en la funcion objetivo: b3 (y3+ + y3 )


dos columnaa en el sistema de restricciones tecnicas:
+a31 y3+ + a31 y3
+a32 y3+ + a32 y3
+a33 y3+ + a33 y3
+a34 y3+ + a34 y3

Efectuando un cambio de variable:

y3 = y3+ y3

y3 sera libre se signo siempre que y3+ y y3 sean no negativas y, ademas, no


puedan estar ambas en la solucion del problema. En dicho caso:

1. si y3+ 0 y y3 = 0 y 3 = y3+ 0
2. si y3 0 y y3+ = 0 y 3 = y3 0

Las dos condiciones anteriores se cumplen ya que:

se parte de un problema primal con restricciones tecnicas de desigual-


dad, lo que genera en el problema dual variables no negativas, es decir
y3+ 0 y y3 0.
el criterio del simplex de la variable y+3 respecto a cualquier solucion
basica es

V B y3+ = b3 cBB1 (a31 , a32 , a33 , a34 )T


el criterio del simplex de la variable y-3 respecto a cualquier solucion
basica es
V B y3 = b3 cBB1 (a31 , a32 , a33 , a34 )T
Captulo 14. DUALIDAD 125

es decir V B y3+ = V B y3 lo que implica que: si V B y3+ > 0  V B y3 < 0 y


que si V B y3+ < 0  V B y3 > 0
por lo cual, si interesa introducir en la solucion y3+ no interesa introducir
y3 , y si no interesa introducir y3+ en la solucion s interesa introducir y3 .

Cuando una de las variables pertenece a la solucion, por ejemplo y3 , el crite-


rio del simplex de ambas variables tiene un valor de V B y3+ = 0 y V B y3 = 0
pero al analizar el vector de tasas de sustitucion se comprueba que Py3+ =
(0, ..., 1, ..., 0)T y P y3 = (0, ..., 1, ..., 0)T por lo cual no es posible sustituir
y3+ por y3 sin que la solucion deje de ser factible. Con lo que se comprueba
que una restriccion de igualdad en el problema primal genera en el problema
dual una variable libre de signo. En el epgrafe anterior se comprobaba que el
problema dual de un problema dual es el problema primal, por lo cual ya se
puede armar que una variable libre de signo en el problema primal genera
una restriccion de igualdad en el problema dual.

14.2.4. La funcion objetivo

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

ademas, al ser x 0 solucion del problema primal se cumple que Ax 0 b al


premultiplicar por y 0 la expresion anterior, como y 0 se factible, se cumple
que:

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

De ambas expresiones se obtiene que:

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

Corolario 1. El valor de la funcion objetivo del problema primal de maximo


para cualquier solucion factible es una cota inferior del mnimo valor de la
funcion objetivo del dual, y reciprocamente, el valor de la funcion objetivo del
problema dual de mnimo para cualquier solucion factible dual es una cota
superior del maximo valor de la funcion objetivo del primal.
Corolario 2. Si el problema primal es factible y su solucion es no acotada,
(z ), entonces el problema dual no tiene solucion. Analogamente, si el
problema dual es factible pero con solucion no acotada, (s ), entonces el
problema primal no tiene solucion factible.

14.2.5. Teorema fundamental de la dualidad

Dada una solucion basica factible optima, x , de un problema primal a la que le


corresponde una base B y un vector de multiplicadores del simplex B = cB B 1 ,
la solucion basica factible optima del problema dual es y = B .
En efecto:

1. y* es la solucion del problema dual.


Como x* es solucion optima del problema primal se cumple:

VxB = c cB B 1 A 0

identicando los terminos correspondientes a las variables iniciales del


problema primal, c y A, y los terminos correspondientes a las variables
de holgura del problema primal, ch e I, la expresion anterior se transfor-
ma en:
VxB = [(c, ch ) cB B 1 (A, I)] 0

por lo que:
c cB B 1 A 0

ch cB B 1 I 0

En la expresion primera al sustituir cB B 1 = y se obtiene c


y A 0 es decir y A c luego y = B cumple las restricciones
tecnicas del problema dual.
Al sustituir y por su valor en la segunda expresion y ch por su
valor se obtiene 0y I 0 es decir y 0 luego el vector y es una
solucion factible del problema dual.
Captulo 14. DUALIDAD 127

2. y = B es solucion optima del problema dual.


En el epgrafe anterior se comprobaba que el valor de la funcion objeti-
vo para una solucion factible del problema primal es siempre una cota
inferior del valor de la funcion objetivo para una solucion factible del
problema dual, es decir z0 s 0
Por otra parte,
z es el valor de la funcion objetivo correspondiente a la solucion
optima del problema primal, se cumple que z0 z = cx
s es el valor de la funcion objetivo correspondiente a la solucion
optima del problema dual, luego y b = s s 0
Ademas, z = cx = cB B 1 b = B b = y b = s Por lo cual podemos
armar que z no puede tener un valor mayor y s no puede tener un valor
menor y ambos coinciden.

Corolario 3. Si el problema primal tiene solucion optima nita entonces el


problema dual tambien, y recprocamente, si el problema dual tiene solucion
optima nita entonces el primal tambien.
Corolario 4. Si el problema primal es no factible entonces su dual o no tiene
solucion o tiene solucion no acotada, y recprocamente, si el dual es no factible
entonces el primal o es no factible o tiene solucion no acotada.
Dado un problema primal y su dual solo una de las siguientes armaciones es
cierta:

El primal tiene solucion optima (nita)  el dual tiene solucion optima


(nita).
Si el primal es no factible el dual es no factible o tiene solucion no
acotada.
Si el dual es no factible el primal es no factible o tiene solucion no
acotada.
Si el primal tiene solucion no acotada el dual es no factible.
Si el dual tiene solucion no acotada el primal es no factible.

14.2.6. Teorema de las holguras complementarias

El teorema fundamental de la dualidad permite, cuando se conoce la solucion


optima de uno de los problemas asociados, conocer cual es el valor de las
variables iniciales de su problema dual que son componentes de la solucion
optima de dicho problema. El teorema de las holguras complementarias per-
mite conocer el valor del resto de las componentes de la solucion del problema
dual.
La demostracion del teorema de las holguras complementarias se realizara pa-
ra las soluciones optimas de los problemas duales asociados aunque se cumple
para todas las soluciones intermedias. Se parte del conocimiento de las dos so-
luciones optimas de los problemas duales correspondientes, x e y .
Captulo 14. DUALIDAD 128

El teorema fundamental de la dualidad dice que:

cx = y b

a la expresion anterior le restamos a ambos miembros y Ax ,

cx y Ax = y by Ax

o lo que es lo mismo:
(cy A)x = y (bAx )

En la igualdad anterior el primer miembro es un numero negativo y el segundo


miembro es un numero positivo, por lo cual, solo es posible cuando ambos
terminos son iguales a cero.
En efecto:

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

y el producto de un numero positivo por un numero negativo es un


numero negativo.
2. y (bAx )
- como y es la solucion optima del problema primal y 0
- como x es la solucion optima del problema dual

Ax b  bAx 0

y el producto de un numero positivo por un numero positivo es un numero


positivo.
Por lo cual:

1. (cy A) x = 0
2. y (bAx ) = 0

Veamos ambas expresiones.


(1) (cy A) x = 0 . Para analizar esta expresion vectorial se identica uno de
sus terminos:
(cj y Aj )xj = 0

Si cj y Aj < 0, la restriccion del dual no se cumple como igualdad y,


por lo tanto, la holgura , yhj , de la restriccion forma parte de la solucion
optima; es necesario que xj = 0, lo que genera que dicha restriccion no
forma parte de la solucion optima del primal.
Ademas ,
cj y Aj 0
Captulo 14. DUALIDAD 129

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

Ademas, como yhj = VxB se comprueba que yhj = 0 ya que el criterio


j
del simplex de una variable basica, xj , es cero.

(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:

si una variable inicial de un problema pertenece a la solucion optima,


la restriccion que genera dicha variable en el problema dual se cumple
como igualdad, es decir la variable de holgura de dicha restriccion no
pertenece a la solucion optima,
si una restriccion de un problema de optimizacion lineal se cumple como
desigualdad, es decir, la variable de holgura correspondiente pertenece a
la solucion optima, la variable que genera dicha restriccion es el proble-
ma dual no forma parte de la solucion optima de dicho problema dual,
nalmente, el valor del criterio del simplex cambiado de signo de una
variable inicial del problema primal es el valor de la variable de holgura
de la restriccion que genera dicha variable en el problema dual.

14.3. Interpretacion economica de las variables duales en el


optimo

Por el teorema fundamental de la dualidad los valores optimos de las funcio-


nes objetivo de un problema primal [P] y su dual [D] son iguales, si x es una
Captulo 14. DUALIDAD 130

solucion basica factible y optima no degenerada de [P] e y (calculada como


y = B = cB B 1 ) podemos escribir:

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 =

= (y 1 b1 + y 2 + + y m bm ) + yb1 = S(y) + yb1 = Z((x)) + yb1

De esta expresion se desprende que el valor optimo de la variable dual y 1


asociada a la primera restriccion del problema primal representa la cantidad
en la que se modica el valor de la funcion objetivo de [P] por cada unidad
adicional de recurso 1 (siempre que la modicacion mantenga la base optima).
Esto puede hacerse en general para cualquier recurso bi del problema primal.
Teniendo en cuenta esto, si nos situamos, por ejemplo, en un problema primal
de maximo con restricciones de tipo , lo resolvemos y calculamos la solucion
del problema dual, entonces los valores optimos de las variables duales (que
son 0) representan la variacion unitaria de la funcion objetivo del primal por
cada unidad adicional del recurso correspondiente que pudieramos conseguir.
Esto nos permite tambien interpretar dichos valores como la mayor cantidad
que estaramos dispuestos a pagar por una unidad adicional de recurso.
Captulo 14. DUALIDAD 131

14.4. Algoritmo del simplex dual

Vamos a pensar en este apartado en un algoritmo analogo al del simplex,


pero pensando en el problema dual en lugar de en el primal.
Dado un primal (de maximos) diremos que una base del problema primal (no
necesariamente factible) si y solo si

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.

Ese algoritmo lo hemos estudiado como Metodo de Lemke (desarrollado por


por C. E. Lemke en 1954).

El dual de un problema grande Corolarios del Tma fundamental Ejercicios

Você também pode gostar