Está en la página 1de 131

N P ROGRAMACI O L INEAL

Noviembre 2012

Universidad Polit ecnica de Madrid


Alvaro Garc a S anchez Miguel Ortega Mier

Indice general

Indice general 1. A LA PROGRAMACION LINEAL. TEOREMA INTRODUCCION DAMENTAL 1.1. Introducci on . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.1. Caracterizaci on de soluciones . . . . . . . . . . . . 1.2. Teorema Fundamental . . . . . . . . . . . . . . . . . . . . . 1.2.1. Enunciado . . . . . . . . . . . . . . . . . . . . . . . . 1.2.2. Demostraci on . . . . . . . . . . . . . . . . . . . . . . 1.3. Implicaciones del Teorema Fundamental . . . . . . . . . . 1.4. Ejempo de aplicaci on . . . . . . . . . . . . . . . . . . . . . . FUNDAMENTOS DEL M ETODO DEL SIMPLEX 2.1. Introducci on . . . . . . . . . . . . . . . . 2.2. Regla de entrada . . . . . . . . . . . . . . 2.3. Regla de salida . . . . . . . . . . . . . . . 2.4. Criterio de optimalidad . . . . . . . . . . 2.5. Ejemplo . . . . . . . . . . . . . . . . . . . 2.5.1. Primera iteraci on . . . . . . . . . 2.5.2. Segunda iteraci on . . . . . . . . 2.5.3. Tercera iteraci on . . . . . . . . . M ETODO DEL SIMPLEX.VARIANTE DE LA 3.1. Introducci on . . . . . . . . . . . . . . 3.2. Variante de la matriz completa . . . 3.3. Ejemplo . . . . . . . . . . . . . . . . . FUN. . . . . . . . . . . . . . . . . . . . .

3 3 4 4 4 5 6 7 11 11 13 14 14 15 15 18 20 23 23 24 24 25 25 26 28 30 30 31

2.

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

3.

MATRIZ COMPLETA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.

M ETODOS DE LA M GRANDE Y DE LAS DOS FASES 4.1. Introducci on . . . . . . . . . . . . . . . . . . . . 4.2. M etodo de la M grande . . . . . . . . . . . . . . 4.3. M etodo de las 2 fases . . . . . . . . . . . . . . . 4.4. Ejemplos . . . . . . . . . . . . . . . . . . . . . . . 4.4.1. M etodo de la M grande . . . . . . . . . 4.4.2. M etodo de las dos fases . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

Indice general

5.

T INTERPRETACION ECNICO-ECONOMICA 5.1. Introducci on . . . . . . . . . . . . . . . 5.1.1. Ejemplo de aplicaci on . . . . . 5.2. Tasas de sustituci on . . . . . . . . . . 5.2.1. Discusi on te orica . . . . . . . . 5.2.2. Ejemplo de aplicaci on . . . . . 5.3. Multiplicadores del simplex . . . . . . 5.3.1. Discusi on te orica . . . . . . . . 5.3.2. Ejemplo de aplicaci on . . . . . 5.4. Criterios del simplex . . . . . . . . . . 5.4.1. Discusi on te orica . . . . . . . . 5.4.2. Ejemplo de aplicaci on . . . . . GRA FICA INTERPRETACION 6.1. Introducci on . . . . . . . . . . . 6.2. Conceptos generales . . . . . . 6.3. M etodo del Simplex . . . . . . . 6.4. M etodo de las dos fases y de la 6.5. M etodo de Lemke . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

33 33 34 36 36 36 37 37 39 39 39 41 44 44 44 52 55 56 57 57 58 58 60 61 61 61 61 62 62 64 64 64 66 67 69 73 73 73 74 75 75

6.

. . . . . . . . . . . . . . . . . . . . . M grande . . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

7.

M ETODO DEL LEMKE 7.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2. Cu ando es interesante el m etodo de Lemke . . . . . . . . . . . 7.2.1. Problemas de m nimos con c 0 . . . . . . . . . . . . . 7.2.2. Al introducir un cambio en b, una vez obtenida la soluci on optima . . . . . . . . . . . . . . . . . . . . . . . . . 7.2.3. Al a nadir una restricci on adicional a un programa, una vez obtenida la soluci on optima . . . . . . . . . . . . . 7.3. Reglas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.1. Criterio de factibilidad . . . . . . . . . . . . . . . . . . . 7.3.2. Regla de supresi on . . . . . . . . . . . . . . . . . . . . . 7.3.3. Regla de introducci on . . . . . . . . . . . . . . . . . . . . 7.4. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CASOS ESPECIALES 8.1. Introducci on . . . . . . . . . . . . . 8.2. Optimo m ultiple . . . . . . . . . . . 8.3. Soluci on degenerada . . . . . . . . 8.4. Problema no factible . . . . . . . . 8.5. Regi on de factibilidad no acotada POSTOPTIMIZACION 9.1. Introduction . . . 9.2. Cambio en b . . . 9.3. Cambio en c . . . . 9.4. Nueva actividad . 9.5. Nueva restricci on

8.

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

9.

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

Indice general

9.6.

9.7.

9.8.

Cambio en aij . . . . . . . . . . . . . . . . 9.6.1. Cambio en aij con xj no b asica 9.6.2. Cambio en aij con xj b asica . . Ejemplo . . . . . . . . . . . . . . . . . . . . 9.7.1. Cambio de b . . . . . . . . . . . . 9.7.2. Cambio de c . . . . . . . . . . . . . 9.7.3. Nueva actividad . . . . . . . . . . 9.7.4. Nueva restricci on . . . . . . . . . 9.7.5. An alisis de sensibilidad de b . . 9.7.6. An alisis de sensibilidad de c . . La aparente paradoja de b . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

76 76 77 77 78 78 79 80 81 82 84 85 85 85 85 85 89 89 89 91 96 96 96 96 97 98 98 99 100 100 100 101 101 101 101 101 101 102 103 103 104 104 104 105

PARAM 10. PROGRAMACION ETRICA 10.1. Introducci on . . . . . . . . . 10.2. Programaci on con c() . . . 10.2.1. M etodo general . . . 10.2.2. Ejemplo c() . . . . 10.3. Programaci on con b() . . . 10.3.1. M etodo general . . . 10.3.2. Ejemplo c() . . . . 10.4. Ejemplo c() y b() . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

11. TRANSPORTE Y ASIGNACION 11.1. Presentaci on del problema de transporte . . . . . 11.1.1. Introducci on . . . . . . . . . . . . . . . . . 11.1.2. Formulaci on . . . . . . . . . . . . . . . . . . 11.1.3. Presentaci on matricial . . . . . . . . . . . 11.1.4. Representaci on del problema . . . . . . . 11.1.5. Propiedades . . . . . . . . . . . . . . . . . . 11.2. M etodos de resoluci on . . . . . . . . . . . . . . . . 11.2.1. Obtenci on del soluci on inicial de partida 11.2.2. Regla de entrada. Stepping-stone . . . . . 11.2.3. Regla de entrada. MODI . . . . . . . . . . . 11.2.4. Regla de salida . . . . . . . . . . . . . . . . 11.2.5. Criterio de optimalidad . . . . . . . . . . . 11.3. Problemas desequilibrados . . . . . . . . . . . . . 11.3.1. Oferta superior a demanda . . . . . . . . 11.3.2. Demanda superior a oferta . . . . . . . . 11.4. Soluciones degeneradas . . . . . . . . . . . . . . . 11.5. Transporte y dualidad . . . . . . . . . . . . . . . . 11.6. Para pensar . . . . . . . . . . . . . . . . . . . . . . . 11.7. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . 11.8. El problema de asignaci on . . . . . . . . . . . . . . 11.8.1. Introducci on . . . . . . . . . . . . . . . . . 11.8.2. Representaci on . . . . . . . . . . . . . . . . 11.8.3. Propiedades . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . .

Indice general

11.8.4. M etodo H ungaro . . . . . . . . . . . . . . . . . . . . . . . ENTERA. FUNDAMENTOS 12. PROGRAMACION 12.1. Divide y vencer as . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.2. Enumeraci on impl cita . . . . . . . . . . . . . . . . . . . . . . . . 12.3. Branch and Bound: un ejemplo . . . . . . . . . . . . . . . . . . . ENTERA. BRANCH AND BOUND 13. PROGRAMACION 13.1. Introducci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.2. Optimalidad y relajaci on . . . . . . . . . . . . . . . . . . . . . . . 14. DUALIDAD 14.1. Introducci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.2. Teor a sobre dualidad . . . . . . . . . . . . . . . . . . . . . . . . . 14.2.1. El problema dual . . . . . . . . . . . . . . . . . . . . . . . 14.2.2. El dual del dual es el primal . . . . . . . . . . . . . . . . 14.2.3. Relaciones entre el problema primal y el problema dual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.2.4. La funci on objetivo . . . . . . . . . . . . . . . . . . . . . 14.2.5. Teorema fundamental de la dualidad . . . . . . . . . . 14.2.6. Teorema de las holguras complementarias . . . . . . . 14.3. Interpretaci on econ omica de las variables duales en el optimo 14.4. Algoritmo del simplex dual . . . . . . . . . . . . . . . . . . . . .

106 107 107 107 109 112 112 113 116 116 119 119 119 120 122 123 124 126 128

Cap tulo 1 A LA PROGRAMACION INTRODUCCION LINEAL. TEOREMA FUNDAMENTAL

1.1.

Introducci on
Forma general de un problema

Un problema de Programaci on Lineal tiene la siguiente forma. maz z =cx s.a: Ax = b x0 (restricciones funcionales) (restricciones de no negatividad) (funci on objetivo) (1.1)

Matriz de coecientes t ecnicos: A matriz m n 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 Soluci on del problema x matriz n 1 Podr a haber tres casos para la relaci on entre y m y n: 1. m > n, t picamente, soluci on no factible. Sistema incompatible. O el modelo est a mal (por ejemplo, si se trata de un modelo de un sistema que existe y que est a en funcionamiento). O no existe soluci on factible. nica. Sistema compatible deter2. m = n, t picamente, soluci on factible u nica soluci minado. Existe una u on, con lo que no hay un problema de decisi on.

Dimensiones de A, b , c y x

Relaci on entre myn

A LA PROGRAMACION LINEAL. TEOREMA FUNDAMENTAL Cap tulo 1. INTRODUCCION

3. n > m, t picamente, innitas soluciones factibles. Sistema compatible indeterminado. Innitas soluciones, el problema consiste en obtener la mejor.

1.1.1.

Caracterizaci on de soluciones
Soluci on

Un conjunto de valores x es una soluci on del problema si cumple el sistema de ecuaciones Ax = b Un conjunto de valores x es una soluci on factible del problema si cumple el sistema de ecuaciones Ax = b (es soluci on) y cumple que x 0, es decir todos los valores son no negativos. Una soluci on x es linealmente independiente si las columnas de la matriz A correspondientes a las variables con valor no nulo son linealmente independientes. Una soluci on x es linealmente dependiente si las columnas de la matriz A correspondientes a las variables con valor no nulo son linealmente dependientes. Dado que en un problema de programaci on lineal n > m, si el rango de la matriz A es m: el n umero m aximo de componentes no nulas de una soluci on linealmente independiente es, m y el n umero m nimo de componentes no nulas de una soluci on linealmente dependiente t picamente es m + 1 1

Soluci on factible

Soluci on linealmente independiente Soluci on linealmente dependiente Caracter siticas de las soluciones linealmente independientes

1.2.

Teorema Fundamental

1.2.1.

Enunciado
Enunciado

Dado un problema de programaci on lineal: Si existe una soluci on factible, existe una soluci on linealmente independiente factible y nica, esta es una soluci si la soluci on optima es u on linealmente independiente; si la soluci on optima es m ultiple, al menos existe una soluci on linealmente independiente optima.
1 Esto es as siempre cuando el rango de todas las matrices de m columnas de A es m. Si existiera una submatriz dentro de A con menos de m columnas linealmente dependientes, podr a existir una soluci on linealmente dependiente con menos de m componentes.

A LA PROGRAMACION LINEAL. TEOREMA FUNDAMENTAL Cap tulo 1. INTRODUCCION

1.2.2.

Demostraci on

Si se demuestra que dada una soluci on linealmente dependiente x 0 de un problema de programaci on lineal, basta con que el problema est e acotado para que exista una soluci on linealmente independiente x tal que cx cx 0 , queda demostrado el teorema, ya que: 1. se demostrar a que existe una soluci on linealmente independiente y 2. si para cualquier dependiente, siempre es posible encontrar otra linealnica mente independiente no peor, de haber una u optima es linealmente independiente y, si hay varias, al menos una es linealmente independiente. En este segundo caso, si se conoce que alguna de las soluciones optimas es linealmente independiente, quedar a demostrado. Si no, alguna de las soluciones optimas ser a linealmente dependiente, por aplicaci on del enunciado, ser a posible encontrar otra linealmente independiente no peor, y como la soluci on linealmente dependiente es optima existir a al menos una soluci on linealmente independiente tambi en optima. En el primer enunciado del Teorema Fundamente, se entiende impl citamente, que el problema considerado est a actado. En efecto, si el problema no est a acotado, entonces no existe una soluci on optima. Al contrario, si el problema s est a acotado, existe al menos una soluci on optima. Se trata de una demostraci on constructiva, partiendo de la soluci on x 0 . Como 0 x es una soluci on linealmente dependiente se puede encontrar un vector y , 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 soluci on x 1 : x 1 = x 0 + ty Efectivamente, es soluci on: Ax 1 = A(x 0 + ty) = Ax 0 + tAy = b + t 0 = b (1.3) x 1 no es peor que x 0 (con t 0) (1.2) Una nueva soluci on x 1 Propiedades de x0

z1 = cx 1 = c(x 0 + ty) = cx 0 + tcy = z0 + tcy Dado que cy 0, siempre se cupmle z1 z0 .

(1.4)

A LA PROGRAMACION LINEAL. TEOREMA FUNDAMENTAL Cap tulo 1. INTRODUCCION

Los valores de las variables de la nueva soluci on son:

0 1 xi = xi + tyi

Una componente nula m as (1.5) x 1 no es peor que x 0

Se puede dar un valor a t de manera que ninguna variable tenga valor negativo y que tenga una componente nula m as que x 0 . t = min{i/yi 0}
0 xi yi

(1.6)

Examinando de forma exhaustiva los casos que se pueden dar, la discusi on completa es la siguiente. Si cy = 0 siempre se puede encontrar t (, ) tal que x 1 tenga una componente nula m as que x 0 . En este caso: 1 x es factible cx 1 = cx 0 x 1 tiene una componente nula m as Si cy > 0 on no peor Si yi < 0, con t = min{i/yi 0} yii se obtiene una soluci con una componente nula m as. Si yi > 0 el problema no est a acotado, el valor de la funci on objetivo pude ser tan grande como se desee. En t erminos de Ingenier a de Organizaci on, los problemas no acotados no tienen sentido. Al llegar a una linealmente independiente, ya no se puede iterar, porque no existe y que cumpla 1.2.2. Por supuesto, por otro lado, se habr a encontrado la soluci on linealmente independiente deseada.
x1

Discusi on completa

Problemas no acotados Iterando

1.3.

Implicaciones del Teorema Fundamental


D onde buscar

De acuerdo con lo que se sigue del teorema fundamental, siempre existe una soluci on optima dentro del conjunto de todas las soluciones linealmente independientes. Una forma de resolver un problema de Programaci on Lineal es la siguiente: 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 funci on ojetivo

Enumeraci on expl cita

A LA PROGRAMACION LINEAL. TEOREMA FUNDAMENTAL Cap tulo 1. INTRODUCCION

10

Ecaz, pero poco eciente. n m =


n! m!(nm)!

El problema

Con m restricciones y n variables, existen

Tiempos de resoluci on en a nos supondiendo que cada sistema se resuelve en 106 segundos. N variables N restricciones N sol. B asicas Tiempo res. (a nos) 10 4 210 100 40 1.37462E+28 4.3589E+14 1000 400 4.9653E+290 1.5745E+277

Ejemplo num erico

1.4.

Ejempo de aplicaci on
maz z =4x1 + 4x2 + 6x3 + 8x4 2x1 + 3x2 + 3x3 + 6x4 + x5 = 400 1x1 + 2x2 + 6x3 + 3x4 + x6 = 200 5x1 + 5x2 + 5x3 + 5x4 + x7 = 10000 (1.7)

Soluci on inicial: x 0 = (0, 4, 14, 36, 130, 0, 9370)T , z0 = 388. Se trata de una soluci on porque se cumple Ax = b. Efectivamente, se puede comprobar que: 0 4 400 2 3 3 6 1 0 0 14 (1.8) Ax 0 = 1 2 6 3 0 1 0 36 = 200 1000 5 5 5 5 0 0 1 130 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:

A LA PROGRAMACION LINEAL. TEOREMA FUNDAMENTAL Cap tulo 1. INTRODUCCION 0 3 3 6 1 0 2 0 1 + y2 2 + y3 6 + y4 3 + y5 0 + 0 1 + y7 0 = 0 5 5 5 0 1 5 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 posible construir una nueva soluci on x 1 1 0 x = x + ty = Primera iteraci on La nueva soluci on

11

0 4 14 36 130 0 9370

+t

0 0,1 0,567 1,067 5 0 3

(1.11)

Se puede comprobar que AX 1 = b. En efecto: 2 Ax = A(x + ty) = 1 5


1 0

x 1 es soluci on 0 0 1 0 4 14 36 130 0 9370

3 2 5

3 6 5

6 3 5

1 0 0

0 1 0

2 +t 1 5 3 2 5 3 6 5 6 3 5 1 0 0 0 1 0 0 0 1

0 0 ,1 0,567 1,067 5 0 3

400 0 400 = 200 + 0 = 200 1000 0 1000 (1.12)

Se puede comprobar que cy 0

x 1 no peor que x0

A LA PROGRAMACION LINEAL. TEOREMA FUNDAMENTAL Cap tulo 1. INTRODUCCION = 5,534

12

cy =

0 0,1 0,567 1,067 5 0 3

(1.13)

De no ser as , bastar a con cambiar el signo a y y todo lo anterior ser a cierto. Dado que cy > 0, el valor de la funci on de objetivo de x 1 es mayor que la de x 0 en una cantidad igual a cy

x 1 no peor que x0

0 4 14 36 + t 130 0 9370

cx 1 = c x 0 + tcy) = 0 0 ,1 0,567 0 0 1,067 = 5 0 3 388 + 24,56 5,534 (1.14)

Dado que s olo 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 130 9730 respectivamente 0 cada una de esas componentes de x 1 son 014 ,57 , 5 y 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. t = min 14 130 9730 , , 0,57 5 3 = 24,56 (1.15)

La nueva soluci on es: 1 x =

0 4 14 36 130 0 9370)

0 0 ,1 0,567 + 24,56 1,067 5 0 3

0 6,47 0 62,35 6,55 0 9655,93

(1.16)

A LA PROGRAMACION LINEAL. TEOREMA FUNDAMENTAL Cap tulo 1. INTRODUCCION

13

z1 = 524,68 y = (0, 4,2, 0, 2,8, 4,2, 0, 7)T


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

Segunda iteraci on

= 1,54

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

Cap tulo 2 FUNDAMENTOS DEL M ETODO DEL SIMPLEX

2.1.

Introducci on
Soluci on b asica

Dado un problema de Programaci on Lineal maz z =cx s.a: 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 independientes. Soluci on b asica 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 soluci on b asica: es linealmente independiente y como m aximo, tiene m componentes no nulas, tantas como restricciones. En lo que sigue identicaremos: soluci on b asica con soluci on linealmente independiente. 1 soluci on no b asica con soluci on linealmente dependiente. Adem as: una soluci on b asica tiene como m aximo m componentes no nulas y
efecto. Por la propia denici on, una soluci on b asica es linealmente independiente. Por otro lado, cualquier soluci on linealmente independiente con m componentes no nulas es b asica. Y cualquier soluci on linealmente independiente con menos de p < m componenetes nulas tambi en es b asica por la siguiente raz on. Si tomamos la matriz con las p columnas de las variables no nulas, siempre podemos a nadir otras m p columnas de variables para que formen una base (el rango de A es m y esto siempre es posible. Haciendo eso obtendr amos una soluci on b asica con p varuables b asicas no nulas y m p variables b asicas nulas, lo que se conoce como soluci on degenerada.
1 En

(2.1)

TODO DEL SIMPLEX Cap tulo 2. FUNDAMENTOS DEL ME

15

una soluci on no b asica tiene, t picamente, al menos m + 1 componentes no nulas2 . Dada una soluci on b asica, con base B , hay dos tipos de variables: Variable b asica: cada una de las variables correspondientes a las columnas de B , que son pontencialmenete no nulas. Variable no b asica: cada una de las variables correspondientes a las columnas de A no incluidas en B , que son siempre nulas. Podemos expresar las restricciones Ax = b como: BuB + A(B) x (B) = b Donde uB es el nivel de realizaci on de las actividades b asicas (valor de las variables b asicas). x (B) representa las variables no b asicas, que son nulas por denici on. A(B) es el conjunto de columnas de las actividades no b asicas. c B es un vector la con los elmentos de c correspondientes a las variables b asicas z = cx = c B uB + c (B) x (B) (2.3) Vector c B (2.2) Nivel de realizaci on

Donde c (B) es el vector la de las contribuciones unitarias al benecio de las variables no b asicas. El vector de multiplicadores del simplex o precios sombra: B = c B B 1 El vector de criterios del Simplex: V B = c c B B 1 A (2.5) (2.4) Criterio del Simplex, V B Precios sombra B

B V B es un vector la de n 1. El criterio del simplex de la variable xk es Vk = B 1 ck c B Ak , y es un escalar.

El vector de tasas de sustituci on de las variables b asicas: p B = B 1 A (2.6)

Tasas de sustituci on, p B

2 Podr a ocurrir que m columnas de A sean linealmente dependientes, de forma que el sistema de ecuaciones corrrespondiente fuera compatible indeterminado. Podr an existir soluciones no b asicas con m componentes no nulas

TODO DEL SIMPLEX Cap tulo 2. FUNDAMENTOS DEL ME

16

p es una matriz m n. Las tasas de sustituci on de las variables b asicas con respecto a la variable xk es p B = B 1 Ak , que es un vector columna m 1.

Figura 2.1: L ogica del m etodo del Simplex

1. 2. 3. 4.

Una soluci on b asica factible de partida; Un criterio de optimalidad; Una regla de entrada; y Una regla de salida.

Lo que necesitamos

2.2.

Regla de entrada
Enunciado

Dada una soluci on b asica B , si la variable xk es no b asica, interesa introducirla en la base si se cumple:
B Vk = ck c B B 1 Ak > 0

(2.7) Si entra xk cambia el valor de las variables b asicas

Dada una base B , se cumple Ax = b o, lo que es lo mismo, dado que todas las variables no b asicas son nulas: BuB = b. Si introducimos la variable xk con nivel de realizaci on t , la expresi on se convierte en: BuB (t) + tAk = b (2.8)

Es decir, como xk = t 0, los valores originales de las variables b asicas (uB ) cambian en funci on del valor de la variable xk = t , y por esto la notaci on uB (t). Despejando:
B uB (t) = B 1 b tB 1 Ak = uB tpk

(2.9)

TODO DEL SIMPLEX Cap tulo 2. FUNDAMENTOS DEL ME

17

El valor de z al introducir la nueva variable es: z = cx(t) = c B uB (t) + tck = c B (B 1 b tB 1 Ak ) + tck =


B c B B 1 b + t(ck c B B 1 Ak ) = z + tVk

(2.10)

Si entra xk cambia el valor de z

B Por lo tanto, si Vk es positivo, la nueva funci on objetivo es mayor. En concreto, B V representa el incremento unitario de la funci on objetivo al introducir xk .

Intepretaci on de VB

B = zxk =1 Vk

(2.11)

2.3.

Regla de salida
Enunciado

Si a partir de una soluci on b asica de base B entra la variable xk en la base, la variable que debe salir de la base es aquella variable es la i- esima, y que cumple: uB uB j i = min pB >0 (2.12) pB jk pB
ik jk

B B uB uB (t) = uB tpk k (t) = u t

uB k
B pjk

(2.13)

B pjk representa cu anto disminuye el valor de la j - esima variable b asica cuando se introduce la variable no b asica k con valor igual a 1. B Si pj k > 0, la j - esima variable b asica disminuye al introducir xk B Si pj k < 0, la j - esima variable b asica aumenta al introducir xk B Si pj k = 0, la j - esima variable b asica no se modica al introducir xk

Interpretaci on de p B

2.4.

Criterio de optimalidad
Enunciado

B Una soluci on es optima si V B 0, es decir, Vj 0 j

B En efecto, si Vj 0j , la introducci on de una variable no b asica en la base dar a lugar a un incremento negativo de la funci on objetivo. Con lo que no hay posiblidad de mejora; la soluci on es optima.

TODO DEL SIMPLEX Cap tulo 2. FUNDAMENTOS DEL ME

18

Otra forma de justicarlo es la siguiente. Dada una soluci on b asica con base B :

V B 0 c c B B 1 A 0

(2.14)

Dada cualquier soluci on x , se pueden multiplicar por la derecha los t erminos de la expresi on 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
max. z =1x1 + 2x2 + 3x3 1x1 + 2x2 + 1x3 + x4 = 16 3x1 2x2 + 2x3 + x5 = 26 1x1 + 0x2 + 2x3 + x6 = 24 xi 0, i = 1 6 (2.16) El problema

2.5.1.

Primera iteraci on
Soluci on inicial La base 0 0 1

No hacer nada. Variables b asicas: variables de holgura. Las columnas de las variables b asicas.

1 B1 = (A5 A6 A7 ) = 0 0

0 1 0

(2.17)

En este caso, la inversa de la base es la identidad tambi en, pero solo en este caso. 0 0 1

La inversa de la base

1 B1

1 = 0 0

0 1 0

(2.18)

TODO DEL SIMPLEX Cap tulo 2. FUNDAMENTOS DEL ME

19

En este caso, el nivel de realizaci on coincide con b, pero solo en este caso. 0 16 16 0 26 = 26 1 24 24

uB1

1 1 = B1 b= 0 0

0 1 0

El nivel de realizaci on de las variables b asicas

(2.19)

La funci on objetivo se puede calcular de la siguiente manera: zB1 = cx 1 = c B1 uB1 = 0 0 0 16 26 = 0 24

La funci on objetivo

(2.20)

En este caso, las tasas de sustituci on coinciden con la matriz de coecientes t ecnicos, pero solo en este caso. 0 1 0 3 1 1 0 0 = 1 0 0 1 0 0 1

Las tasas de sustituci on

p B1

1 1 = B1 A = 0 0

0 1 0

2 2 0 2 2 0

1 2 2 1 2 2

1 0 0 1 0 0

0 1 0

1 3 1

(2.21)

Las componentes de c B1 son las componentes de c de las variables b asicas.

c B1

c B1 =

(2.22)

El criterio del Simplex es igual a c , pero s olo en este caso.

El criterio del Simplex 0 0

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

1 2 2 0 1

2 1 2 2 2

3 1 0 0 3

0 0 1 0 0

0 0 = 1 0 0

(2.23)

TODO DEL SIMPLEX Cap tulo 2. FUNDAMENTOS DEL ME

20

Aquella de las no b asicas con criterio del Simplex positivo y, de entre ellas, la mayor. En este caso, la variable de entrada es x3 . Las tasas de sustituci on de la variable x3 con respecto a las variables b asicas B son p3 1 0 1 1 0 2 = 2 1 2 2

Variable de entrada Variable de salida

p3 1

1 = B 1 A3 = 0 0

0 1 0

(2.24)

Las variables candidatas a salir de la base son aquellas que tienen tasa de asicas. Aquella sutituci on postiva con respecto a x3 , que son las tres variables b que sale es aquella correspondiente al menor cociente de t de la variable de entrada:
uB i
B 1 p3i

, que ser a el valor

t = min

16 26 24 , , 1 2 2

= 12

(2.25)

Los valores de las variables b asicas de la primera base cambian al introducir x3 16 1 = 26 t 2 24 2

Nuevos valores de las variables b asicas

uB1 (t) = uB1 tp3 1

(2.26)

Como sabemos que t = 12 16 1 4 uB1 (12) = 26 12 2 = 2 24 2 0

(2.27)

on de las tres variaEs decir, al introducir x3 en la base, los niveles de realizaci bles b asicas disminuyen y la primera que se anula es x6 cuando x3 = 12 A partir de la primera base, que no es optima: 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 funci on objetivo se incremente en tV3 1 = 12 3 = 36
B

Resumen

TODO DEL SIMPLEX Cap tulo 2. FUNDAMENTOS DEL ME

21

2.5.2.

Segunda iteraci on
Soluci on inicial

Hacer solo 12 unidades de producto P3 y nada del resto. Variables b asicas: x4 , x5 y x3 . Las columnas de las variables b asicas. 1 B2 = 0 0 0 1 0 1 2 2

La base

(2.28)

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


1 2

La inversa de la base

1 B2

1 = 0 0

0 1 0

(2.29)

En este caso, el nivel de realizaci on no coincide con b. 1 16 4 2 1 26 = 2 1 24 12 2 z


B2

uB2

1 1 0 = B2 b= 0

0 1 0

(2.30)

El nivel de realizaci on de las variables b asicas

= cx = c u

B2

B2

4 2 = 36 12

(2.31)

La funci on objetivo

En efecto, como esper abamos z2 = z1 + x3 V3 1 = 0 + 36 = 36 En este caso, las tasas de sustituci on no coinciden con la matriz de coecientes t ecnicos. 1 1 2 1 3 1 1 2 0 0 = 1 0 1 2 1 1 1 0 2 Las tasas de sustituci on

p B2

1 1 0 = B2 A= 0

0 1 0

2 2 0 2 2 0

1 2 2 0 0 1

1 0 0 1 0 0

0 1 0

2 2
1 2

(2.32)

TODO DEL SIMPLEX Cap tulo 2. FUNDAMENTOS DEL ME

22

Las componentes de c B2 son las componentes de c de las variables b asicas.

c B2

c B2 = El criterio del Simplex es el siguiente.

(2.33)

El criterio del Simplex 1 2 2 0 1


1

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

2 1 2 2 2 0 0 1 0

3 1 0 0 3 1 0 0 0

0 0 1 0 0 0 1 0 0

0 0 = 1 0 0 (2.34)

0 0 3

2 2
1 2

2 2 0 2

1 2 1 1 2

1 2

3 2 Variable de entrada Variable de salida

Aquella de las no b asicas con criterio del Simplex positivo y, de entre ellas, la mayor. En este caso, la variable de entrada es x2 . Las tasas de sustituci on de la variable x2 con respecto a las variables b asicas B son p2 2 1 2 2 2 1 2 = 2 1 0 0 2

p2 2

1 1 0 = B2 A2 = 0

0 1 0

(2.35)

Las variables candidatas a salir de la base son aquellas que tienen tasa de sutituci on postiva con respecto a x2 , que son la variables b asica x4 . Aquela que sale es aquella correspondiente al menor cociente de t de la variable de entrada:
uB i
B 2 p2i

, que ser a el valor

t=

4 =2 2

(2.36)

TODO DEL SIMPLEX Cap tulo 2. FUNDAMENTOS DEL ME

23

Los valores de las variables b asicas de la primera base cambian al introducir x3 4 2 = 2 t 2 12 0

Nuevos valores de las variables b asicas

uB2 (t) = uB2

B tp2 2

(2.37)

Como sabemos que t = 2 4 2 0 uB2 (2) = 2 2 2 = 6 12 0 12

(2.38)

on solo x4 disminuEs decir, al introducir x2 en la base, los niveles de realizaci ye y, en particular, se hace cero cuando x2 = 2 A partir de la segunda base, que no es optima: 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 funci on objetivo se incremente en tV2 2 = 2 2 = 4
B

Resumen

2.5.3.

Tercera iteraci on
Soluci on inicial

Hacer solo 12 unidades de producto P3 y cuatro de P2 . Variables b asicas: x2 , x5 y x3 . Las columnas de las variables b asicas. 1 2 2

La base

2 B3 = 2 0

0 1 0

(2.39)

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


1 B3

La inversa de la base

2 = 1 0

0 1 0

1 4 3 2
1 2

(2.40)

TODO DEL SIMPLEX Cap tulo 2. FUNDAMENTOS DEL ME

24

En este caso, el nivel de realizaci on no coincide con b. 1 16 2 4 26 3 = 6 2 1 24 12 2 zB3 = cx 3 = c B3 uB3 = 2 0 3 2 6 = 40 12

1 uB3 = B3 b= 1 0

1 2

0 1 0

El nivel de realizaci on de las variables b asicas (2.41)

(2.42)

La funci on objetivo

En efecto, como esper abamos z3 = z2 + x2 V2 2 = 36 + 2 2 = 40 En este caso, las tasas de sustituci on son las siguientes. p B3 1 1 4 3 3 2 1 1 2 0 0 = 1 0 1 4 1 3 2 1 0 2 Las tasas de sustituci on 0 1 0

2 1 = B3 A= 1 0

0 1 0

2 2 0
1 4 5 2 1 2

1 2 2 0 0 1

1 0 0
1 2

1 0 0

(2.43)

1 0

Las componentes de c B3 son las componentes de c de las variables b asicas.

c B3

c B3 = El criterio del Simplex es el siguiente.

(2.44)

El criterio del Simplex 1 2 2 0 0 2 1 2 2 0 3 1 0 0 1 0 0 1 0 0 0 0

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

0 0 = 1 1

(2.45)

TODO DEL SIMPLEX Cap tulo 2. FUNDAMENTOS DEL ME

25

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

La soluci on es ptima o

Cap tulo 3 M ETODO DEL SIMPLEX.VARIANTE DE LA MATRIZ COMPLETA

3.1.

Introducci on

(B |A)

oper andopor f ilas

I |B 1

(3.2)

Operar por las una matriz es id entico a premultipilcar por una matriz En 3.3, la matriz A se puede obtener a patir de la matriz A de la siguiente manera. F1 = 2 F1 F2 = F2 + F1 = F2 + 2 F1 F3 = F3 1 1 3 1 0 A= 2 0 4 1 Es posible encontrar una matriz M , tal que 2 0 M = 2 1 0 0

2 A = 4 0 MA = B 0 0 1

2 1 4

6 6 1

(3.3)

(3.4)

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 (b|A|B |I) Finalmente: 0 b (3.6) c A cB B
oper andopor f ilas

uB |p B |I |B 1 | VB pB 0 I B B 1

(3.5)

0 I

z uB

TODO DEL SIMPLEX.VARIANTE DE LA MATRIZ COMPLETA Cap tulo 3. ME

27

3.2.

Variante de la matriz completa

Figura 3.1: L ogica del m etodo del Simplex

3.3.

Ejemplo

El siguiente problema es el mismo que el del ejemplo disponible en 2.5, resuelto mediante el m etodo del simplex, en su variante de la matriz completa. maz z =1x1 + 2x2 + 3x3 1x1 + 2x2 + 1x3 + x4 = 16 3x1 2x2 + 2x3 + x5 = 26 1x1 + 0x2 + 2x3 + x6 = 24 xi 0, i = 1 6 0 16 26 24 0 16 26 24 -36 4 2 12 -40 2 6 12 x1 1 1 3 1 1 1 3 1
1 2 1 2 1 2

El problema (3.7)

x2 2 1 -2 0 2 1 -2 0 2 2 -2 0 0 1 0 0

x3 3 1 2 2 3 1 2 2 0 0 0 1 0 0 0 1

x4 0 1 0 0 0 1 0 0 0 1 0 0 -1
1 2

x5 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0

x6 0 0 0 1 0 0 0 1 3 2 1 2 -1
1 2

F0 F1 F2 F3 F0 F1 F2 F3 F0 F1 F2 F3 F0 F1 F2 F3 = F0 = F1 = F2 = F3 = F0 3 F3 = F1 F3 = F2 2 F3 = F3 /2 = F0 2 F1 = F1 /2 = F2 + 2 F1 = F3

x4 x5 x6

x4 x5 x3

-1
1 4 5 2 1 2

x2 x5 x3

1 0

-1 1 4 3 2
1 2

Cap tulo 4 M ETODOS DE LA M GRANDE Y DE LAS DOS FASES

4.1.

Introducci on
Por qu e estos m etodos Soluci on inicial sencilla

Para aplicar el m etodo del Simplex es necesario disponer de una soluci on b asica factible de partida del sistema Ax = b a partir de la cual iterar. Cuando todas las restricciones son con t ermino independiente no negativo, es decir, de la forma: aij xj bi
j

bi 0

(4.1)

todas se pueden expresar como: aij xj + hi = bi


j

bi 0

(4.2)

En este caso existe una soluci on de partida b asica factible inicial trivial, con las variables de holgura como variables b asicas. Para esta soluci on: La base es igual a la matriz identidad, B = I . uB = b, es decir el valor de cada variables b asicas, 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

Soluci on inicial trivial

TODOS DE LA M GRANDE Y DE LAS DOS FASES Cap tulo 4. ME

29

Si existe alguna restricci on de tipo , se puede convertir en una igualdad a nadiendo una variable de holgura con coeciente 1: aij xj bi
j

Restricciones

bi 0 bi 0 (4.3)

aij xj hi = bi
j

Si existe alguna restricci on de tipo =, no es necesario introducir ninguna variable de holgura: aij xj = bi
j

Restricciones =

(4.4)

Si existen restricciones de tipo o =, al convertirlas en restricciones en t erminos de igualdad, no es tan sencillo obtener una soluci on de partida trivial.

4.2.

M etodo de la M grande
Problema original, P y problema auxiliar P (4.5) ai j xj = bi
j

Dado un problema de Programaci on Lineal P : aij xj bi


j

ai j xj bi
j

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
j

(4.6)

ai j xj = bi
j

xj , hi , hi 0

TODOS DE LA M GRANDE Y DE LAS DOS FASES Cap tulo 4. ME

30

Se puede denir un problema P de la forma: max. z = cx M


i

ai M
i

ai

aij xj + hi = bi
j

ai j xj hi + ai = bi
j

(4.7)

ai j xj + ai = bi
j

xj , hi , hi , ai , ai 0 Donde M es un n umero sucientemente grande y las variables ai y ai se denominan variables articiales. Cualquier soluci on factible de P es soluci on factible de P . Una soluci on factible de P lo es tambi en de P si todas las variables articiales son simult aneamente cero. Si no existe ninguna soluci on factible de P con todas las variables articiales simult aneamente nulas, no existe soluci on factible de P . Si para cualquier soluci on optima de P , siempre una variable articial toma un valor no nulo, P no tiene soluci on factible. Siempre es posible encontrar una soluci on b asica factible de partida de P 1. Dado P construir P 2. Resolver P : a) Si al resolver P mediante el m etodo del simplex se obtiene una soluci on b asica factible de P en la que todas la variables articiales son nulas, esa es una soluci o b asica de partida del problema P , que puede servir de soluci on de partida para aplicar el m etodo del Simplex en la resoluci on de P . b ) Si para cualquier soluci on optima de P , siempre al menos una variable articial toma un valor no nulo, P no tiene soluci on factible. P y P solo se diferencian en que P tiene un conjunto de actividades adicionales (las cticias), lo cual es traduce en tantas componentes de c adicionales como variables articiales (con valor 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 id enticos para los dos problemas propiedades de P

M etodo de resoluci on

Relaci on entre P yP

TODOS DE LA M GRANDE Y DE LAS DOS FASES Cap tulo 4. ME

31

Cuando se obtiene una soluci on b asica de P en la que las variables articiales no est an 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 resoluci on de P es completamente id entica a la correspondiente a P , salvo por las columnas correspondientes a las variables articiales. Las columnas auxiliares de las variables correspondientes a las variables articiales permiten disponer, en todo momento, de parte de las columnas de la inversa de la base. Las columnas de las variables articiales

4.3.

M etodo de las 2 fases

El m etodo de las dos fases se apoya, igualmente, en un problema auxiliar P , igual que el de la M salvo en la funci on objetivo. Esta funci on es la suma de las variables articiales con coeciente 1. Es decir, P tiene la forma: max. z =
i

ai
i

ai

aij xj + hi = bi
j

ai j xj hi + ai = bi
j

(4.8)

ai j xj + ai = bi
j

xj , hi , hi , ai , ai 0 Las propiedades del problema P son las siguientes: Cualquier soluci on factible de P es soluci on factible de P . Una soluci on factible de P lo es tambi en de P si todas las variables articiales son simult aneamente cero. Si no existe ninguna soluci on factible de P con todas las variables articiales simult aneamente nulas, no existe soluci on factible de P . Si para cualquier soluci on optima de P , siempre una variable articial toma un valor no nulo, P no tiene soluci on factible. Siempre es posible encontrar una soluci on b asica factible de partida de P propiedades de P

TODOS DE LA M GRANDE Y DE LAS DOS FASES Cap tulo 4. ME

32

1. Dado P construir P 2. Resolver P : a) Si al resolver P mediante el m etodo del simplex se obtiene una soluci on b asica factible de P en la que todas la variables articiales son nulas, esa es una soluci on b asica de partida del problema P , que puede servir de soluci on de partida para aplicar el m etodo del Simplex en la resoluci on de P . b ) Si para cualquier soluci on optima de P , siempre al menos una variable articial toma un valor no nulo, P no tiene soluci on factible. Los problemas P y P se diferencian en lo siguiente: 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: el vector de disponibilidad de los recursos b = b y la matriz de coecientes t ecnicos de las variables no articiales Ai = Ai si xi no es una variable articial. Dada una soluci on b asica factible de P en la ninguna variables b asica es articial las bases de dicha soluci on es com un para P y P Cuando se obtiene una soluci on b asica de P en la que las variables articiales no est an en la base, los siguientes elementos son coincidentes: B=B B 1 = B 1 uB = u B (ya que B 1 b = B pB = p B

M etodo de resoluci on

Diferencias entre P y P

Analog as entre P yP

Relaci on entre bases

b)

Pero los siguientes elementos son diferentes c B cB zB z B VB V B Es decir, de la tabla obtenida en la resoluci on 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 articiales permiten disponer, en todo momento, de parte de las columnas de la inversa de la base. Las columnas de las variables articiales

TODOS DE LA M GRANDE Y DE LAS DOS FASES Cap tulo 4. ME

33

4.4.

Ejemplos

4.4.1.

M etodo de la M grande
max. z = x1 + 2x2 + 3x3 x1 + x2 + x3 16 3x1 + 2x2 + 2x3 = 26 x1 + x3 10 x1 , x2 , x3 0 max. z = x1 + 2x2 + 3x3 x1 + x2 + x3 + h1 = 16 3x1 + 2x2 + 2x3 = 26 x1 + x3 h3 = 10 x1 , x2 , x3 , h1 , h3 0 max. z = x1 + 2x2 + 3x3 Ma2 Ma3 x1 + x2 + x3 + h1 = 16 3x1 + 2x2 + 2x3 + a2 = 26 x1 + x3 h3 + a3 = 10 x1 , x2 , x3 , h1 , h3 , a2 , a3 0 (4.11) Problema P (4.10) Problema P reformulado (4.9) Problema P

TODOS DE LA M GRANDE Y DE LAS DOS FASES Cap tulo 4. ME

34

0 16 26 10 36M 16 26 10
4M 26 3 22 3 26 3 4 3

x1 1 1 3 1 1+4M 1 3 1 0 0 1 0 0 0 1 0

x2 2 1 2 0 2+2M 1 2 0
42M 3 1 3 2 3 2 3

x3 3 1 2 1 3+3M 1 2 1
7+M 3 1 3 2 3 1 3

h3 0 0 0 -1 -M 0 0 -1 -M 0 0 -1 7 1 2 -3

h1 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0

a2 -M 0 1 0 0 0 1 0
14M 3 1 3 1 3 1 3

a3 -M 0 0 1 0 0 0 1 0 0 0 1 -7-M -1 -2 3

F0 F1 F2 F3 F0 F1 F2 F3 = F 0 + MF 2 + MF 3 = F1 = F2 = F3

h1 a2 a3

F 0 = F 0 (1 + 4M)F 2 F1 = F1 F2 F 2 = F 2 /3 F3 = F3 F2 F0 F1 F2 F3
M = F 0 7+ 3 F3 = F 1 1/3F 3 = F 2 2/3F 3 = 3F 3

h1 x1 a3

h1 x1 x3

-18 6 6 4

6 1 2 -2

0 0 0 1

2-M 0 1 -1

La soluci on anterior es una soluci on b asica factible de P y tambi en una soluci on b asica factible de P (ya que las actividades articiales son simult aneamente nulas). x1 0 0 1 0
7 2 1 2 1 2 3 2

h1 x1 x3

-18 6 6 4 -39 3 3 13

x2 6 1 2 -2 -1 0 1 1

x3 0 0 0 1 0 0 0 1

h3 7 1 2 -3 0 0 1 0

h1 0 1 0 0 0 1 0 0

a2 2 0 1 -1 3 2 1 2
1 2 1 2

a3 -7 -1 -2 3 -0 -0 -1 0

h1 h3 x3

4.4.2.

M etodo de las dos fases


max. z = x1 + 2x2 + 3x3 x1 + x2 + x3 16 3x1 + 2x2 + 2x3 = 26 x1 + x3 10 x1 , x2 , x3 0 (4.12) Problema P

TODOS DE LA M GRANDE Y DE LAS DOS FASES Cap tulo 4. ME

35

max. z = x1 + 2x2 + 3x3 x1 + x2 + x3 + h1 = 16 3x1 + 2x2 + 2x3 = 26 x1 + x3 h3 = 10 x1 , x2 , x3 , h1 , h3 0 max. z = a2 a3 x1 + x2 + x3 + h1 = 16 3x1 + 2x2 + 2x3 + a2 = 26 x1 + x3 h3 + a3 = 10 x1 , x2 , x3 , h1 , h3 , a2 , a3 0 x1 0 1 1 3 1 4 1 1 3 1 0 0 0 1 0 0 0 0 1 0 x2 0 2 1 2 0 2 2 1 2 0 2 3
4 3 1 3 2 3 2 3

Problema P reformulado (4.13)

Problema P (4.14)

fase 1 fase 2

0 0 16 26 10 36 0 16 26 10
4 3 26 3 22 3 26 3 4 3

x3 0 3 1 2 1 3 3 1 2 1
1 3 7 3 1 3 2 3 1 3

h3 0 0 0 0 -1 -1 0 0 0 -1 -1 0 0 0 -1 0 7 1 2 -3

h1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0

a2 -1 0 0 1 0 0 0 0 1 0 4 3 1 3 1 3
1 3 1 3

a3 -1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 -1 -7 -1 -2 3

F 01 F 02 F1 F2 F3 F 01 = F 01 + F 2 + F 3 F 02 = F 02 F1 = F1 F2 = F2 F3 = F3 F 0 1 = F 01 4 F 2 F 0 2 = F 01 F 2 F1 = F1 F2 F 2 = F 2 /3 F3 = F3 F2 F 01 F 02 F1 F2 F3 = F 01 1 3F3 7 = F 01 3 F 3 = F 1 1/3F 3 = F 2 2/3F 3 = 3F 3

fase 1 fase 2 h1 a2 a3 fase 1 fase 2 h1 x1 a3 fase 1 fase 2 h1 x1 x3

0 -18 6 6 4

0 6 1 2 -2

0 0 0 0 1

-1 2 0 1 -1

Cap tulo 5 T INTERPRETACION ECNICO-ECONOMICA

5.1.

Introducci on
Elementos caracter sticos de un problema

Dado un problema de Programaci on Lineal, {P : max. z = cx, s.a Ax = b, x 0}, existen varios elementos caracter sticos del problema y que no dependen de la soluci on: c b A Para un problema y una base B (que caracteriza a la soluci on b asica correspondiente), existen varios elementos caracter sticos de esa soluci on para ese problema uB cB pB B Este cap tulo se ocupa de la interpretaci on de estos elementos que dependen de la base. Por ejemplo, m as adelante, se habla sobre el valor de los recursos en un problema y para una soluci on (una base). Pues bien, el valor de los recursos depende de dicha soluci on. Por ejemplo, el valor que tiene para un centro de c alculo depende de la forma en la que operar de dicho centro. Un servidor adicional no tiene ning un valor si en dicho centro de c alculo existen servidores desocupados. Esto no signica que el servidor adicional no tenga valor, no tiene valor para dicha forma de operar del centro de c alculo. En otro contexto, el valor que tiene un vaso de agua cuando alguien lleva varios d as sin suministro en el desierto es muy diferente del valor que tiene ese vaso 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 situaci on. Aqu diremos que los recursos tienen diferente valor seg un la soluci on, es decir, seg un la base elegida.

Elementos caracter sticos de una soluci on

Un ejemplo

Un ejemplo m as dom estico

TE CNICO-ECONOMICA Cap tulo 5. INTERPRETACION

37

ptima, T picamente, la interpretaci on econ omica se realiza para la soluci on o porque es la soluci on m as interesante pero se podr a realizar el mismo an alsis para cada cualquier soluci on del problema considerado.

5.1.1.

Ejemplo de aplicaci on
Presentaci on del problema

Para ilustrar la interpretaci on, en lo que sigue del cap tulo emplearemos el siguiente ejemplo. Una empresa monta dos tipos de pal es. Los pal es de tipo 1 contienen un producto P1 y los pal es de tipo 2 contienen, a su vez, dos productos P2 . Con la venta de cada pal e de tipo 1, la empresa tiene un benecio neto de 2 unidades monetarias (u.m.) Igualmente, la empresa tiene un benecio neto de 1 u.m. con cada pal e de tipo 2. Los pal es deben ser preparados en dos talleres, T1 y T2 , de los que se dispone de un total de 30 y 16 horas semanales, respectivamente, para realizar las operaciones correspondientes a cada uno de ellos. Cada pal e 1 requiere 3 horas de preparaci on en T1 y 4 horas de preparaci on en T2 . Cada pal e 2 requiere 1 hora de preparaci on en T1 y 3 horas de preparaci on en T2 . Adem as, existe un compromiso comercial de entregar al menos 4 productos semanales, donde estos cuatro productos pueden ser cualquier combinaci on de productos P1 y P2 . ltimo, existe un colectivo al respecto del cual la empresa tiene un comproPor u miso consistente en emplear un n umero m nimo de horas de dicho colectivo. Con cada pal e de tipo 1 se emplea una hora de este colectivo y con cada pal e2 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 n umero de unidades de pal es de tipo Pi , i = 1, 2, se puede construir el siguiente modelo de Programaci on Lineal para obtener la producci on que reporte un mayor benecio. max z = 2x1 + x2 sujeto a: 3x1 + 1x2 30 4x1 + 3x2 16 x1 + 2x2 4 x1 + 3x2 5 (5.1)

El benecio

Los talleres

Compromiso comercial

Formulaci on

TE CNICO-ECONOMICA Cap tulo 5. INTERPRETACION

38

Este problema se puede reformular introduciendo variables de holgura, h1 , h2 , h3 y h4 que representan, respectivamente: h1 : el n umero de horas del taller T1 que no se llegan a utilizar. h2 : el n umero de horas del taller T2 que no se llegan a utilizar h3 : el n umero de productos entregados a los clientes por encima de la cantidad m nima pactada. h4 : el n umero de horas en la que el colectivo citado trabaja por encima del m nimo pactado con la admisnistraci on. max z = 2x1 + x2 sujeto a: 3x1 + x2 + h1 = 30 4x1 + 3x2 + h2 = 16 x1 + 2x2 h3 = 4 x1 + 3x2 h4 = 5 La soluci on optima de este problema queda descrita en la siguiente tabla x1 0 0 0 1 0 x2 0 0 0 0 1 h1 0 1 0 0 0 h2 -5/9 -8/9 1/9 1/3 -1/9 h3 0 0 1 0 0 h4 -2/9 -5/9 -5/9 1/3 -4/9 Interpretaci on La soluci on ptima o (5.2) Formulaci on equivalente

h1 h3 x1 x2

-70/9 167/9 5/9 11/3 4/9

El plan optimo consiste en lo siguiente. Se montan, por t ermino medio, 11 pal es de tipo 1 cada tres semanas (x1 = 11/3) y se montan, por t ermino medio un 4 pal es 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 est a ocupado todo el tiempo. De las 30 horas, est a ocioso un total de 18.56 horas. h2 = 0, es decir, el taller T2 est a ocupado las 16 horas en las que est a disponible cada semana. h3 = 5/9, es decir, se producen 0.56 pal es m as del m nimo comprometido. Es decir, se entregan 4.56 por t ermino medio cada semana. h4 = 0, es decir, el nivel de ocupaci on del colectivo al que se reere el compromiso est a ocupado un n umero de horas igual al m nimo.

Uso de los recursos

TE CNICO-ECONOMICA Cap tulo 5. INTERPRETACION

39

La soluci on optima se alcanza cuando las variables b asicas son h1 , h3 x1 y x2 . Es decir la base, B es la siguiente: 1 0 3 1 0 0 4 3 (5.3) B = Ah1 Ah3 Ax1 Ax2 = 0 1 1 2 0 0 1 3

Caracterizaci on

5.2.

Tasas de sustituci on

5.2.1.

Discusi on te orica
Denici on

Las tasas de sustituci on se denen como p B = B 1 A


B relaciona la variable b asica que ocupa la posici on i- esima y la El elemento pij B variable j - esima del problema. En particular, pij representa en qu e medida disminuye el nivel de realizaci on de la actividad b asica i- esima cuando se realiza la actividad j - esima con valor unitario. De otra manera: B pij = uB (5.4) i |xj =1

5.2.2.

Ejemplo de aplicaci on

En el ejemplo de aplicaci on, para la soluci on optima, p B es la siguiente matriz: pB = 0 0 1 0 0 0 0 1 1 0 0 0 8/9 1/9 1/3 1/9 0 1 0 0 5/9 5/9 1/3 4/9 (5.5)

Por ejemplo, las tasas de sutituci on de la variable h2 con respecto a las variables b asicas se discuten a continuaci on. Antes, conviene notar que h2 es una variable no b asica. Hacer que h2 = 1 signica que el taller T2 , que en la soluci on optima est a ocupado al completo, tuviera una hora desocupada. En este caso, los valores de las variables b asicas se modicar an 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 m as con respecto a la cantidad que no se estaba utilizando de T1 . B p24 = 1/9

TE CNICO-ECONOMICA Cap tulo 5. INTERPRETACION

40

Cuando h2 = 1, h3 = 1/9 Es decir, al desocupar una hora de taller T2 , el n umero 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 pal es 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 pal es de tipo 2 m as.

5.3.

Multiplicadores del simplex

5.3.1.

Discusi on te orica
Denici on

El vector de multiplicadores del simplex (o precios sombra), B se dene como: B = c B B 1 (5.6)

El vector de multiplicadores del simplex representa, para una soluci on determinada (es decir, para una base B determinada), el valor de los recursos. De B otra manera: i 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 ... b + z = c B uB = c B B 1 b = B 1 = ... 0 (5.8) 0 0 B B B B ... = b+ = z + i z = i 1 ... 0

TE CNICO-ECONOMICA Cap tulo 5. INTERPRETACION

41

La relaci on 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 restricci on de tipo es: B Vh = chi c B B 1 Ahi = chi B Ahi = i 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 restricci on de tipo es: B Vh = chi c B B 1 Ahi = chi B Ahi = i 0 0 (5.10) ... B B B B B = 0 1 , 2 , ..., i , ..., m 1 = i ... 0
B 0 En el caso de la soluci on optima, V B 0 y, en particular, Vh i

En el caso de los recursos correspondientes a las restricciones de tipo : Si hi no es una variable b asica, la restricci on se cumple en t erminos B B de igualdad: hi = 0 i = Vh 0. i En este caso, un aumento de unitario positivo de b1 (relajar la restricci on) reporta un incremento del benecio postivo z = B y un incremento unitario negativo de b1 (hacer m as restrictiva la restricci on) reporta un incremento del benecio negativo z = B . Si hi es una variable b asica (salvo en casos especiales) la restricci on B B no se cumple en t erminos de igualdad: hi 0 i = Vh = 0 i En este caso, el incremento unitario positivo o negativo de la disponibilidad del recurso Ri no afecta a la funci on objetivo (z = 0) En el caso de los recursos correspondientes a las restricciones de tipo : Si hi no es una variable b asica, la restricci on se cumple en t erminos B B de igualdad: hi = 0 i = Vh 0. i En este caso, un aumento de unitario negativo de b1 (hacer menos restrictiva la restricci on) reporta un incremento del benecio postivo z = B y un incremento unitario positivo de b1 (hacer m as restrictiva la restricci on) reporta un incremento del benecio negativo z = B . Si hi es una variable b asica (salvo en casos especiales) la restricci on B B no se cumple en t erminos de igualdad: hi 0 i = Vh = 0 i

TE CNICO-ECONOMICA Cap tulo 5. INTERPRETACION

42

En este caso, el incremento unitario positivo o negativo de la disponibilidad del recurso Ri no afecta a la funci on objetivo (z = 0)

5.3.2.

Ejemplo de aplicaci on

El vector de multiplicadores del simplex (precios sombra) correspondiente a esta soluci on es:
B B B B B = 1 , 2 , 3 , 4 = 0,

2 5 , 0, 9 9

(5.11)

Restricci on 1. El recurso R1 no se est a utilizando completamente. Como sobran horas de taller T1 , no estamos dispuestos a pagar nada por disponer de una hora adicional del mismo y ceder amos una hora del mismo si nos dieran cualquier cantidad (positiva) por esa hora. Restricci on 2. El taller T2 se est a utilizando completamente. Estamos dispuestos a pagar un m aximo de 5/9 unidades monetarias por disponer de una hora adicional del mismo y ceder amos una hora del mismo si nos dieran cualquier cantidad mayor que 5/9. Restricci on 3. Estamos cumpliendo el compromiso comercial por encima del m nimo 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 rec bi eramos estar amos dispuestos hacer m as exigente el compromiso comercial. Restricci on 4. Estamos cumpliendo el compromiso de la ocupaci on de la mano de obra de un colectivo con el menor valor posible. Estamos dispuestos a pagar 2 9 por tener que cumplir un compromiso menos exigente (y pasar de b4 = 5 a b4 = 4). Tambi en estamos dispuestos a recibir una 2 cantidad de dinero mayor 9 que para hacer m as exigente el compromiso comercial (y pasar de b4 = 5 a b4 = 6).

5.4.

Criterios del simplex

5.4.1.

Discusi on te orica
Denici on (5.12)

El criterio del Simplex se dene como V B = c c B B 1 A

TE CNICO-ECONOMICA Cap tulo 5. INTERPRETACION

43

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


B Vk = ck c B B 1 Ak

(5.13) Primera aproximaci on

El criterio del Simplex, ya se vio en el cap tulo 2, representa el incremento de la funci on objetivo cuando xk = 1. Es decir:
B = z|xk =1 Vk

(5.14) ck

El primer t ermino ck representa el benecio unitario que reporta la actividad B xk . Existen dos formas de interpretar Vk :
B B Vk = ck c B pk B B Vk = ck Ak

En ambos casos, se obtiene con la diferencia entre ck (benecio unitario) y un t emino que puede interpretarse de dos maneras.
B El t ermino c B pk es el producto de: B B Vk = ck c B pk

c B : que es el benecio unitario correspondiente a las variables b asicas y p B : el incremento de los valores de dichas variables b asicas.
B representa lo que se deja de ganar por la cantidad en la De forma que c B pk que se modican las variables b asicas.

B As que Vk es el resultado de:

aumentar el valor de la funci on objetivo por el benecio derivado de hacer una unidad de la actividad k (xk = 1), es decir, por ingresar ck y disminuir la funci on objetivo por la modicaci on del ingreso debido a la B modicaci on del valor de las variables b asicas c B pk . Por lo tanto, se puede concluir lo siguiente. Si V B > 0, el aumento de la funci on objetivo debido a la realizaci on de la nueva actividad supera a la reducci on de la funci on objetivo debida a la disminuci on de benecios debida a la modicaci on del nivel de realizaci on de las variables b asicas. La realizaci on de la actividad k mejora netamente el valor de la funci on objetivo. Si V B < 0, el aumento de la funci on objetivo debido a la realizaci on de la nueva actividad no compensa la reducci on de la funci on objetivo debida a a la disminuci on de benecios debida a la modicaci on del nivel de realizaci on de las variables b asicas. La realizaci on de la actividad k empeora netamente el valor de la funci on objetivo.

TE CNICO-ECONOMICA Cap tulo 5. INTERPRETACION

44

Si V B = 0, la realizaci on de la actividad k no modica el valor de la funci on objetivo. El t ermino B Ak es el producto de: 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 realizaci on de una unidad de la actividad k. Es decir, hacer una unidad de la actividad k, signica consumir recursos que est an dedicados a otra actividades. El valor de esos recursos empleados en esas actividades es B Ak , con lo que si se emplean en la actividad k y no en las correspondientes a las variables b asicas, la funci on objetivo se reducir a en ese valor.
B As que Vk es el resultado de: B Vk = ck B Ak

aumentar el la funci on objetivo por el benecio ck , dervidado de hacer una unidad de la actividad k (xk = 1) y disminuir la funci on objetivo por el hecho de que se detraen recursos que antes estaban dedicados a realizar las actividades b asicas y cuyo valor es B Ak . Por lo tanto, se puede concluir lo siguiente. Si V B > 0, el aumento de la funci on objetivo debido a la realizaci on de la nueva actividad supera a la reducci on del benecio debida la detracci on de recursos que ya no se destinan a las actividades b asicas y que se destinan a realizar la actividad k. La realizaci on de la actividad k mejora netamente el valor de la funci on objetivo. Si V B < 0, el aumento de la funci on objetivo debido a la realizaci on de la nueva actividad no compensa la reducci ondel benecio debida la detracci on de recursos que ya no se destinan a las actividades b asicas y que se destinan a realizar la actividad k. La realizaci on de la actividad k empeora netamente el valor de la funci on objetivo. Si V B = 0, la realizaci on de la actividad k no modica el valor de la funci on objetivo.

5.4.2.

Ejemplo de aplicaci on
Presentaci on

Como se ha dicho al principio del cap tulo, la interpretaci on de los elementos que se han comentado es v alido y, en particular, en cualquier soluci on. A titulo de ilustraci on, a continuaci on se discute la interpretaci on del criterio del simplex de una variable para una soluci on diferente de la optima. La discusi on, insistimos, podr a realizarse igualmente para la soluci on optima.

TE CNICO-ECONOMICA Cap tulo 5. INTERPRETACION

45

h1 h2 h4 x2

-2 28 10 1 2

x1 3/2 5/2 5/2 1/2 1/2

x2 0 0 0 0 1

h1 0 1 0 0 0

h2 0 1 0 0 0

h3 1/2 1/2 3/2 -3/2 -1/2

h4 0 0 0 1 0

Otra soluci on

El criterio del simplex de la variable x1 se puede entender como la difencia B entre el benecio unitario por realizar la actividad correspondiente y c B p1 = B A1 . Con cualquiera de las dos posibles interpretaciones, c1 = 2, representa el benecio unitario por realizar una unidad de la actividad 1, es decir por montar y vender un pal e de tipo 1. c B = (0, 0, 0, 1) pB = 5 5 1 1 , , , 2 2 2 2
T

B V1

c1

(5.15)

B c B p1

Al hacer una unidad de x1 : h1 disminuye en 5 2 unidades, cada una de las cuales cio de ch2 = 0, con lo que dejamos de ganar 5 2 0. h2 disminuye en 5 unidades, cada una de las cuales 2 cio de ch2 = 0, con lo que dejamos de ganar 5 2 0. h4 disminuye en 1 unidades, cada una de las cuales 2 cio de ch2 = 0, con lo que dejamos de ganar 1 2 0. 1 x2 disminuye en 2 unidades, cada una de las cuales cio de ch2 = 1, con lo que dejamos de ganar 1 2 1. Es decir, dejamos de ganar Netamente: El benecio aumenta, por un lado en 2 y disminuye, por otro, en 1 2, por lo que, globalmente, si hacemos un pal e de tipo 1, aumentamos el benecio 3 B en V1 =2 1 = 2 2
B Se puede interpretar el valor de V2 en t erminos de B 1 2

reportaba un benereportaba un benereportaba un benereportaba un bene-

B B V1 = c1 c B p1

B A1

TE CNICO-ECONOMICA Cap tulo 5. INTERPRETACION

46

B = (0, 0, 1, 0) 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 contribuir con 1 unidad adicional al cumplimiento del compromiso comercial. Cada unidad en la que el cumplimiento comercial se hace m as restricitivo, esto deteriora la funci on objetivo en 1 (esta soluci o n se cumple 2 exactamente al l mite (h3 = 0)). Fabricar un pale de tipo 1 provoca superar el compromiso comercial y eso deteriora la funci on objetivo en 1 2 El razonamiento es an alogo para la cuarta restriccion, pero en este caso, ya se est a 4 = 0. Es decir, dejamos de ganar Netamente: El benecio aumenta, por un lado en 2 y disminuye, por otro, en 1 2, por lo que, globalmente, si hacemos un pal e de tipo 1, aumentamos el benecio B en V1 = 1 2
1 2 T

(5.16)

B V1 = c1 B A1

Cap tulo 6 GRA FICA INTERPRETACION

6.1.

Introducci on
Dos dimensiones

En este cap tulo se presenta la interpretaci on gr aca en el plano de muchos de los conceptos presentados hasta ahora. Este cap tulo no pretende ser un tratado exhaustivo de la geometr a de los problemas de Programaci on Lineal. El objetivo es ilustrar dichos conceptos pero no ofrecer herramientas para el tratamiento de problemas de Programaci on Lineal. Existe una forma de abordar lo que aqu se presenta de forma muy somera til para el tratamiento y la resoconocida como teor a de poliedros, s resulta u luci on de problemas de Programaci on Lineal, pero que queda fuera del alcance de este texto.

Objetivo

Teor a de poliedros

6.2.

Conceptos generales

Dado un problema de Programaci on lineal en el plano maz z =cx s.a: Ax = b x0 x R+ 21 A Rm2 c R12 b Rm1 donde m es el n umero de restricciones Dimensiones (6.1)

GRAFICA Cap tulo 6. INTERPRETACION

48

En el ejemplo que sigue m = 2 max z = x1 + 2x2 sujeto a: 2x1 + x2 2 x1 + x2 6 2x1 + x2 10 Restricci on R1 Restricci on R2 Restricci on R3 x1 , x2 0 En la gura 6.1, aparecen representadas las tres restricciones. Cada restricci on de tipo o divide al plano en dos semiplanos, de tal manera que uno de ellos corresponde a soluciones factibles con respecto a dicha restricci on y el otro semiplano a soluciones con factibles con respecto a la misma restricci on. El problema del ejemplo anterior se puede formular en t erminos de igualdad a nadiendo las variables de holgura necesarias. max z = x1 + 2x2 sujeto a: 2x1 + x2 + h1 = 2 x1 + x2 + h2 = 6 2x1 + x2 + h3 = 10 x1 , x2 h1 h2 h3 0 on Ri : Dado un punto cualquiera en el plano, P (x1 , x2 ) y una restricci Si este punto est a situado en el semimplano de soluciones factibles con respecto a Ri , entonces el P cumple la restricci on Ri y hi 0. En particular, puede estar sobre la propia recta, en cuyo caso, se cumple la restricci on con hi = 0 Si este punto est a situado en el semimplano de soluciones no factibles con respecto a Ri , entonces el P no cumple la restricci on Ri y hi < 0. Por ejemplo: El punto (4, 2) Est a a la derecha de la recta R1 , el su semiplano factible, con lo que h1 > 0 Est a sobre la recta R2 , con lo que h2 = 0 Est a sobre la recta R3 , con lo que h3 = 0 El punto (1, 6) Est a a la izquierda de la recta R1 , el su semiplano no factible, con lo que h1 < 0 (6.3) (6.2)

Ejemplo

Restricciones

GRAFICA Cap tulo 6. INTERPRETACION

49

Est a a la derecha de la recta R2 , el su semiplano no factible, con lo que h2 < 0 Est a a la izquierda de la recta R3 , el su semiplano factible, con lo que h3 > 0

Figura 6.1: Restricciones de un problema de Programaci on Lineal Las restricciones funcionales junto con las restricciones de no negatividad denen la regi on de factiblidad (sombreada en la gura 6.2). Cualquier punto perteneciente a la regi on de soluciones factibles cumple con todas las restricciones, incluidas las de no negatividad. La regi on de soluciones factibles siempre es un pol gono y es una regi on convexa; es decir, para cualesquiera dos puntos de la soluci on de regiones factibles, todos los puntos pertenecientes al segmento que uno aquellos dos puntos tambi en est a dentro de la regi on de soluciones factibles. Regi on de soluciones factibles

GRAFICA Cap tulo 6. INTERPRETACION

50

Figura 6.2: Regi on de soluciones factibles de un problema de Programaci on Lineal

La funci on objetivo de un problema de Programaci on lineal en el plano tiene la forma de z = c1 x1 + c2 x2 . Para cada valor de z tenemos una recta en particular, donde todos los puntos de dicha recta proporcionan el mismo valor de la funci on objetivo. La funci on objetivo se puede entender como un haz de rectas paralelas c1 x1 + c2 x2 = k.

Funci on objetivo

Haz de rectas

GRAFICA Cap tulo 6. INTERPRETACION

51

Figura 6.3: Regi on de soluciones factibles de un problema de Programaci on Lineal

En el ejemplo del problema, la recta x1 + 2x2 = 14 es el conjunto de todas las soluciones que proporcionan un valor de la funci on objetivo de 14. Ninguno de los puntos de dicha recta est an en la regi on de soluciones factibles, por lo que no existe ninguna soluci on 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 regi on 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 regi on de soluciones factibles. Un problema en el plano tiene n variables (x1 , x2 y todas las variables de holgura correspondiente a restriciones leq o geq) y una soluci on b asica tiene m variables b asicas. En particular, en el caso de que todas las retricciones tengan variables de holgura, una soluci on b asica tiene: m variables b asicas y 2 variables no b asicas.

Funci on objetivo

Soluciones b asicas

GRAFICA Cap tulo 6. INTERPRETACION

52

Figura 6.4: Regi on de soluciones factibles de un problema de Programaci on Lineal

Es decir en una soluci on b asica, como m nimo, debe haber dos variables nulas: x1 y x2 (la soluci on es el origen de coordenadas); x1 o x2 y una variable de holgura (la soluci o es la intersecci on la restricci on correspondiente con uno de los ejes); dos variables de holgura (la soluci on es la itersecci on de dos restricciones). Es decir, las soluciones b asicas de un problema de programaci on lineal son: el eje de coordenadas, cada una de las intersecciones de una restricci on 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 holm+2 = gura, el problema tiene un n umero de soluciones b asicas igual m 2m 2 + 2m 4 N umero de soluciones b asicas

GRAFICA Cap tulo 6. INTERPRETACION

53

En el ejemplo, existen tres restricciones (m = 3), por lo que el n umero de 5 = 10, que aparecen indicadas en 6.4 soluciones b asicas es 2

Figura 6.5: Regi on de soluciones factibles de un problema de Programaci on Lineal De las soluciones b asicas anteriores, algunas son factibles (en azul) y otras son no factibles (en rojo). Y de las factibles, aquella que tiene una funci on objetivo mayor es la soluci on optima del problema.

GRAFICA Cap tulo 6. INTERPRETACION

54

Figura 6.6: Regi on de soluciones factibles de un problema de Programaci on Lineal La interpretaci on gr aca del Teorema Fundamental es la siguiente. Dada cualquier soluci on no b asica (un punto interior del p ol gono de soluciones factibles), es posible desplazarse hacia una soluci on en una restricci on (con una componente con un cero m as que la de partida) y, desde ella, a una soluci on b asica (con dos componentes nulas adicionales), siendo esta soluci on no peor que la de partida. En la gura 6.7 se muestra una soluci on no b asica x NB . Desde ella es posible desplazarse por m ultiples caminos hasta llegar a una soluci on b asica no pero NB que x . x NB , no est a sobre ninguna restricci on, ni sobre ning un eje, con lo que tiene cinco componentes no nulas (es decir, todas). Siguiendo el camino verde, nos desplazamos primero a una soluci on no b asica sobre el eje x1 (con una componente 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 soluci on b asica y mejor que la de partida. Igualmente, siguiendo el camino naranja, nos desplazamos primero a una soluci on no b asica sobre la restricci on 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 soluci on b asica y mejor que la de partida. Teorema fundamental

GRAFICA Cap tulo 6. INTERPRETACION

55

Figura 6.7: Regi on de soluciones factibles de un problema de Programaci on Lineal

6.3.

M etodo del Simplex


L ogica general

El m etodo del Simplex, al cual se dedicaron los cap tulos 2 y 3, opera transitando de soluci on b asica factible en soluci on b asica factible hasta llegar a una que es optima. En la gura 6.8, en particular, se muestran dos posibles transiciones, la primera entre las soluciones x 1 y x 5 y la segunda entre x 5 y x 7 , que es la soluci on optima. Como se ha comentado antes, las soluci on b asicas son los v ertices del pol gono de la regi on de factiblidad.

GRAFICA Cap tulo 6. INTERPRETACION

56

Figura 6.8: L ogica general del m etodo del Simplex

El criterio del simplex de la variable b asica xi , ViB representa el incremento unitario de la funci on objetivo si x1 . En la gura 6.9, considerando la soluci on 1 b asica x , las variables no b asicas de esa soluci on son x1 y x2 . Si partiendo de x 1 , hacemos que x1 = 1, ser a equivalente a desplazarse por el eje de abscisas, hasta llegar al punto (1, 0). La funci on objetivo de este punto es z = 1. Igualemente, si partiendo de x 1 ahora hacemos que x2 = 1, ser a equivalente a desplazarse por el eje de abscisas, hasta llegar al punto (0, 1). La B B funci on objetivo de este punto es z = 2. Es decir, V1 = 1 y V2 = 2. En efecto, tanto la introducci on de x1 como la de x2 en la base, a partir de x 1 , dan lugar a un incremento de la funci on objetivo, por lo que, seg un la regla de entrada, ambas son potenciales candidatas para obtener una nueva soluci on b asica factible, mejor que x 1

Regla de introducci on V B

GRAFICA Cap tulo 6. INTERPRETACION

57

Figura 6.9: Regi on de soluciones factibles de un problema de Programaci on Lineal El cada iteraci on del m etodo del simplex, se introduce una variable nueva en la base con un valor que hace que una de las que era b asica, se haga cero. Por ejemplo, si a partir de x 1 , decidimos que la variable x2 deje de ser cero, podemos acceder a tres nuevas soluciones b asicas: si x1 = 2, las variables b asicas son: x2 , h2 y h3 (soluci on b asica x 5 ) si x1 = 6, las variables b asicas son: x2 , h1 y h3 (soluci on b asica x 9 ) si x1 = 10, las variables b asicas son: x2 , h1 y h2 (soluci on b asica x 10 ) Lo anterior es lo esperado. Para el ejemplo anterior, en cada soluci on b asica existen tres variables b asicas y dos no b asicas, con lo que desde cada soluci on b asica, una vez decidida la variable de entrada, podemos acceder a otras tres soluciones b asicas suprimiendo de la base alguna de las tres las variables b asicas. En el ejemplo anterior, las tres soluciones a las que se puede acceder desde x1 son b asicas, pero solo una es factible. La regla de supresi on del m etodo 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 soluci on b asica factible. Regla de supresi on p B

GRAFICA Cap tulo 6. INTERPRETACION

58

Sabemos que una soluci on b asica es optima si V B 0, es decir, si introduciendo cualquier variable no b asica la funci on objetivo disminuye. En el ejemplo, podemos apreciar en la gura 6.10 que la soluci on x 7 es optima.

Criterio de optimalidad

Figura 6.10: Criterio de optimalidad

on de cada En efecto, las variables no b asicas de x 7 son h1 y h2 . La introducci una de ellas supone seguir desplazarse por las restricciones R2 y R1 , respectivamente, tal y como aparece en la imagen seg un las fechas rojas. Los valores de z para esas soluciones son peores que la de x 7 .

6.4.

M etodo de las dos fases y de la M grande


Problema auxiliar Regiones de factibilidad de P y de P Iteraciones del problema P Iteraciones del problema P

Pendiente Pendiente Pendiente Pendiente

GRAFICA Cap tulo 6. INTERPRETACION

59

6.5.

M etodo de Lemke
L ogica general Regla de supresi on V B Regla de introducci on p B Criterio de factiblidad

Pendiente Pendiente Pendiente Pendiente

Cap tulo 7 M ETODO DEL LEMKE

7.1.

Introduction
Introducci on

En el cap tulo 2 se present o el m etodo del Simplex para resolver problemas de Programaci on Lineal. Este m etodo consist a en, a partir de una soluci on b asica factible de partida, de forma iterativa, transitar por diferentes soluci on b asicas factibles hasta alcanzar una que tambi en fuera optima.

L ogica del m etodo del Simplex

Figura 7.1: L ogica del m etodo del Simplex En este cap tulo se va a presentar el m etodo de Lemke, o dual del Simplex, que tambi en permite resolver problemas de Programaci on Lineal. En este m etodo consist a en, a partir de una soluci on b asica que cumple el criterio de optimalidad (V B 0) de partida, de forma iterativa, se transita por diferentes soluci on b asicas que tambi en cumplen el criterio de optimalidad hasta alcanzar una que tambi en es factible. Al respecto de las diferencias y las analog as entre los dos m etodos: El ambos m etodos siempre se transita de soluci on b asica en soluci on b asica. Las soluciones por las que transita el m etodo del Simplex siempre son factibles. Las soluciones por las que transita el m etodo del Lemke siempre cumplen el criterio de optimalidad. L ogica del m etodo de Lemke

TODO DEL LEMKE Cap tulo 7. ME

61

En el m etodo del Simplex, con las diferentes iteraciones, se mejora el criterio de optimalidad hasta alcanzar una soluci on optima (que tambi en es factible). En el m etodo del Simplex, con las diferentes iteraciones, se mejora el criterio de factiblidad hasta alcanzar una soluci on factible (que tambi en es optima).

Figura 7.2: L ogica del m etodo de Lemke Para aplicar el m etodo de Lemke, de acuerdo con la l ogica anterior, es necesario: 1. 2. 3. 4. una soluci on b asica que cumpla el criterio de optimalidad de partida, un criterio de factiblidad, una regla de supresi on y una regla de introducci on. Qu e necesitamos

7.2.

Cu ando es interesante el m etodo de Lemke

El m etodo de Lemke es potencialmente interesante cuando existe una soluci on b asica que cumple el criterio de optimalidad, pero que no es factible. A continuaci on se discuten tres casos habituales.

7.2.1.

Problemas de m nimos con c 0

Los problemas que cumplen con las siguientes caracter sticas: La funci on objetivo es de la forma min. z = cx con c 0. Todas las restricciones son de tipo o .

TODO DEL LEMKE Cap tulo 7. ME

62

Por ejemplo, un problema como el siguiente. min. z =1x1 + 2x2 + 3x3 1x1 + 2x2 + 1x3 10 4x1 + 2x2 + 3x3 20 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 a nadir las variables de holgura a todas y cada una de las restricciones (ninguna es originalmente de tipo =), existe una soluci on b asica en la que hi = bi . 0 0 ... 0 Para dicha soluci on c B = y, por lo tanto: V B = c c B B 1 A = c 0 0 ... 0 B 1 A = c 0 (7.1)

Ejemplo

Es decir, la soluci on en la que las variables b asicas son las variables de holgura es una soluci on que cumple el criterio de optimalidad y es b asica, con lo cual es una soluci on a partir de la cual se puede aplicar el m etodo del ejemplo. El problema de 7.1 se puede formular como: max. z = 1x1 2x2 3x3 1x1 2x2 1x3 + h1 = 10 4x1 2x2 3x3 + h2 = 20 1x1 + x2 + x3 + h3 = 40 xi , hi 0 Si las variables b asicas son h1 , h2 y h3 : cB = V
B

Ejemplo

(7.2)

0
B

0
1

. 1 2 3 0 0 0 0 0 0 B 1 A =

= cc B

A=

1 2 3 0 0 0 . Es decir, V B 0. Por lo tanto, esta soluci on es b asica, cumple el criterio de optimalidad y no es factible: es una soluci on de partida v alidad para aplicar el m etodo de Lemke.

TODO DEL LEMKE Cap tulo 7. ME

63

La tabla inicial a partir de la cual se podr a comenzar a iterar, tal y como se describe m as adelante ser a la siguiente. x1 -1 -1 -4 1 x2 -2 -2 -2 1 x3 -3 -1 -3 1 h1 0 1 0 0 h2 0 0 1 0 h3 0 0 0 1

La tabla inicial

La tabla inicial

0 -10 -20 40

7.2.2.

Al introducir un cambio en b, una vez obtenida la soluci on ptima o

Dado un problema P del que se ha obtenido la soluci on optima, si cambia el vector de disponibilidad de recursos b, se modicar an: uB = B 1 b zB = c B uB

Y no se modicar a: VB pB Si el cambio de b hace que alg un uB on que era optima i sea negativo, la soluci y factible deja de ser factible y sigue siendo cumpliendo V B 0, por lo que es una soluci on a partir de la cual se puede aplicar el m etodo de Lemke. Para el problema de ejemplo del cap tulo 3, en el ep grafe 3.3 maz z =1x1 + 2x2 + 3x3 1x1 + 2x2 + 1x3 + x4 = 16 3x1 2x2 + 2x3 + x5 = 26 1x1 + 0x2 + 2x3 + x6 = 24 xi 0, i = 1 6 Se conoce la soluci on optima x1 -1
1 4 5 2 1 2

Ejemplo

(7.3)

x2 x5 x3

-40 2 6 12

x2 0 1 0 0

x3 0 0 0 1

x4 -1
1 2

1 0

x5 0 0 1 0

x6 -1 1 4 3 2
1 2

TODO DEL LEMKE Cap tulo 7. ME

64

Si el nuevo vector fuera b = siguiente.

10

26

24

, el nuevo valor de uB ser a el

uB = B 1 b = 1 0 El nuevo valor de z ser a c B uB =

1 2

0 1 0 2

1 10 1 4 26 = 0 3 2 1 24 12 2 0 3 1 0 12
T

(7.4)

= 34

La nueva tabla cuando las variables b asicas son x2 , x5 y x3 es la siguiente: x1 -1


1 4 5 2 1 2

x2 x5 x3

-34 -1 0 12

x2 0 1 0 0

x3 0 0 0 1

x4 -1
1 2

1 0

x5 0 0 1 0

x6 -1 1 4 3 2
1 2

A partir de esa tabla se podr a iterar aplicando el m etodo de Lemke, tal y como se comenta m as adelante en el cap tulo.

7.2.3.

Al a nadir una restricci on adicional a un programa, una vez obtenida la soluci on optima

Pendiente

7.3.

Reglas

7.3.1.

Criterio de factibilidad

Una solucion b asica (base B ) es factible si uB 0

7.3.2.

Regla de supresi on

Dada una soluci on b asica no factible interesa eliminar de la base cualquier variable con valor negativo. En particular, eliminaremos la variable i- esima que cumple.

TODO DEL LEMKE Cap tulo 7. ME

65

uB i = maxuB <0
k

uB k

(7.5)

7.3.3.

Regla de introducci on

Dado que la variable i- esima de la base es la que se debe suprimir, la variable que entra en su lugar es la variable j - esima del problema que cumple lo siguiente.
B Vj B Vk B pik

pij

= minpB >0
ik

(7.6)

Si, en general, entra la variable j - esima del problema, los nuevos criterios del Simplex son:
B Vk = B Vk

pik B B Vj pij

(7.7)

Para garantizar que con la nueva base, se sigue cumpliendo el criterio de optimalidad se debe cumplir 7.6.
= B pik B pij B pik B pij B Vk B pik B Vj B pij

B Vk

B Vk

B B Vj 0 Vk

B Vj

B dado que pik 0

(7.8)

7.4.

Ejemplo
min. z =300x1 + 400x2 + 100x3 + 50x4 4x1 + 5x2 + 2x3 + x 4 800 2x1 + 4x2 + x3 600 1x1 + x2 + 4x4 2000 xi 0 (7.9) El problema

Problema equivalente max. (z) = 300x1 400x2 100x3 50x4 4x1 5x2 2x3 x 4 800 2x1 4x2 x3 600 1x1 + x2 + 4x4 2000 xi , hi 0 (7.10)

TODO DEL LEMKE Cap tulo 7. ME

66

Problema equivalente max. (z) = 300x1 400x2 100x3 50x4 4x1 5x2 2x3 x 4 + h1 = 800 2x1 4x2 x3 + h2 = 600 1x1 + x2 + 4x4 + h3 = 2000 xi , hi 0 x1 -300 -4 -2 1 -100 2 0 1 -100 2 0 1 x2 -400 -5 -4 1 -150
5 2 3 2

(7.11)

h1 h2 h3 x3 h2 h3 x3 x2 h3

0 -800 -600 2000 40000 400 -200 2000 60000


200 3 400 3 5600 3

1 0 0 1 0

x3 -100 -2 -1 0 0 1 0 0 0 1 0 0

x4 -50 -1 0 4 0
1 2 1 2

0 -50
4 3 1 3 13 3

h1 0 1 0 0 -50 1 2 1 2 0 0 4 3 1 3 1 3

h2 0 0 1 0 0 0 1 0 -100
5 3 2 3 2 3

h3 0 0 0 1 0 0 0 1 0 0 0 1

F0 F1 F2 F3 F0 F1 F2 F3 F0

= F0 + 100F1 = F1 /2 = F2 + F1 = F3 = F0 + 150F2

F1 = F1 5/2F2 F2 = 2/3F2 F3 = F 3 F2

Cap tulo 8 CASOS ESPECIALES

8.1.

Introducci on

Pendiente

8.2.

Optimo m ultiple
Caracterizaci on anal tica

ptima Dado un problema de programaci on lineal, P , se conoce una soluci on o b asica y factible, x B , asociada a una base B . Si una variable no b asica, xk , es tal B que Vk = 0, existe la posiblidad de introducir dicha variable en la base1 y: se obtiene una soluci on b asica, x B diferente de la anterior (con otra base B y con el mismo valor de la funci on objetivo. asicas y optiLas dos soluciones b asicas anteriores x B y x B son soluciones b mas del problema P Adem as, todas las soluciones del tipo x = x B + (1 )x B con (0, 1) son soluciones no b asicas y optimas del problema. En general, pueden existir r soluciones b asicas factibles (x B1 , x B2 ...x Br ) y optir 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 m ultiples cuando la funci on objetivo es paralela a la restricci on que contiene dos soluciones b asicas factibles y optimas.

Soluciones no ptimas b asicas o Generalizaci on

Interpretaci on gr aca

Cap tulo 8. CASOS ESPECIALES

68

Figura 8.1: Soluciones optimas m ultiples

max. z = 3x1 + 4x2 3x1 + 4x2 12 x2 2 x1 x2 1 x1 , x2 0 (8.1)

Ejemplo

1 Esto es as siempre. Si existen variables b asicas con tasas de sustituci on positiva con respecto

Soluciones ptima b o asicas

a la que abandone la base. Si todas las tasas de sustituci on son negativas a xk , una de ellas ser se trata de un caso que se describe en la secci on 8.5

Cap tulo 8. CASOS ESPECIALES

69

x1 x2 h3

-12 4/3 2 7/6 -12 16/7 9/7 5/7

x1 0 1 0 0 0 1 0 0

x2 0 0 1 0 0 0 1 0

h1 -1 1/3 0 -1/3 -1 1/7 1/7 -1/7

h2 0 -4/3 1 7/3 0 0 0 1

h3 0 0 0 1 0 4/7 -3/7 3/7 Soluciones ptimas o

x1 x2 h2

Existen dos soluciones optimas que son b asicas: x = (4/3, 2, 0, 0, 0, 7/6) x 2 = (16/7, 9/7, 0, 5/7, 0)T
1 T

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

8.3.

Soluci on degenerada
Caracterizaci on anal tica Ejemplo Interpretaci on gr aca

Se dice que una soluci on b asica es degenerada si alguna de las variables b asicas toma valor 0, es decir, alg un uB = 0 i max. z = x1 + 4x2 2x1 + 3x2 6 x1 + 2x2 4 x1 , x2 0 x1 -5/3 2/3 -1/3 -1 1/2 1/2 0 0 1 x2 0 1 0 0 1 0 0 1 0 h1 -4/3 1/3 -2/3 0 0 1 2 -1 2 h2 0 0 1 -2 1/2 -3/2 -5 2 -3 (8.2)

x2 h2

-8 2 0 -8 2 0 -8 2 0

Soluci on del problema

x2 h1

x2 x1

Cap tulo 8. CASOS ESPECIALES

70

Figura 8.2: Soluci on degenerada

Las tres soluciones b asicas son la misma, todas corresponden a x = T on. (0, 2, 0, 0) . Se trata de tres bases que conducen a la misma soluci

8.4.

Problema no factible
Caracterizaci on anal tica. Simplex

Cuando se aplica el m etodo del Simplex para resolver el problema auxiliar correspondiente al m etodo de las dos fases o de la M grande, el problema original no tiene soluci on factible si para todas las soluciones optimas del problema auxiliar existe al menos una variable articial diferente de 0. Cuando se aplica el m etodo de Lemke, se puede concluir que el problema no tiene soluci on factible si para se llega a una soluci on en la que para todas las variables b asicas negativas, todas las tasas de sustituciones de las variables no b asicas con respecto a dichas variables b asicas son positivas.

Caracterizaci on anal tica. Lemke

Cap tulo 8. CASOS ESPECIALES

71

Figura 8.3: Problema sin soluci on factible

min. z = 2x1 + 3x2 = max. (z) = 2x1 3x2 x1 + 2x2 1 x1 + x2 3 x1 , x2 0 Esta ser a la tabla a la que se llegar a aplicando el m etodo de las dos fases. x1 0 1 0 x2 -1 2 -1 h2 -1 0 -1 h1 -1 1 -1 a2 0 0 1 (8.3)

Ejemplo

Aplicando las dos fases

x1 a2

2 1 2

Al aplicar Lemke se iterar a de la siguiente manera

Aplicando Lemke

Cap tulo 8. CASOS ESPECIALES

72

h1 h2 0 h1 x1

0 1 -3 0 -2 3

x1 -2 1 -1 -1 0 1

x2 -3 2 -1 0 1 1

h1 0 1 0 -2 1 0

h2 0 0 1

1 -1

8.5.

Regi on de factibilidad no acotada


Caracterizaci on anal tica

B ptima existe una variable, xk , no b Si en la soluci on o asica, y pik 0 para todas las variables b asicas (i = 1...m), entonces si al aumentar el valor de xk aumenta el valor de todas las variables b asicas, con lo que la regi on de soluciones factibles no est a acotada. B Si el Vk 0, a pesar de que es posible introducir esta variable, con el consiguiente incremento de todas las variables b asicas, la introducci on de xk no nica. resulta interesante, con lo que la soluci on optima es u

ptima Soluci on o nica u

max. z = x1 + x2 x1 + 2x2 6 2x1 + 2x2 0 x1 , x2 0 x1 0 1 0 x2 0 0 1 h1 -1/3 1/3 2/3 h2 -1/3 -2/3 -1/3 (8.4)

Ejemplo

x1 x2

-2/3 2/3 4/3

Soluci on del problema

B Si el Vk = 0, es posible introducir esta variable, con el consiguiente incremento de todas las variables b asicas, la introducci on de xk no altera el valor de la funci on objetivo con lo que existen soluciones optimas m ultiples.

Soluciones ptimas o m ultiples Ejemplo

max. z = 2x1 + 4x2 x1 + 2x2 6 2x1 + 2x2 0 x1 , x2 0 (8.5)

Cap tulo 8. CASOS ESPECIALES

73

nica Figura 8.4: Regi on de factibilidad no actodada con soluci on optima y u

x1 x2

-4 2/3 4/3

x1 0 1 0

x2 0 0 1

h1 -2 1/3 2/3

h2 0 -2/3 -1/3

Soluci on del problema

B Si el Vk 0, es posible introducir esta variable, con el consiguiente incremento de todas las variables b asicas y el incremento de z, con lo que el problema no est a acotado y no se puede hablar de soluci on optima.

z no acotada

Cap tulo 8. CASOS ESPECIALES

74

Figura 8.5: Regi on de factibilidad no actodada con soluci on optimas m ultiples

Figura 8.6: Regi on de factibilidad no actodada con funci on objetivo no actodada

Cap tulo 8. CASOS ESPECIALES

75

max. z = 3x1 + x2 x1 + 2x2 6 2x1 + 2x2 0 x1 , x2 0 x1 0 1 0 x2 0 0 1 h1 -8/3 1/3 2/3 h2 10/3 -2/3 -1/3 (8.6)

Ejemplo

x1 x2

-21/3 2/3 4/3

Soluci on del problema

Cap tulo 9 POSTOPTIMIZACION

9.1.

Introduction

Dado un problema de PL: max z = cx Ax = b x0 Una vez otenida la soluci on optima x , podr an producirse cambios en el pro blema, que pueden hacer que la x deje de ser la soluci on optima. En particular, puede cambiar: 1. b 2. c 3. Aparici on de una nueva actividad (una nueva columna en A y una nueva componente en c ) 4. Aparici on de una nueva restricci on (una nueva la en A y una nueva componente en b) 5. Cambio en aij (9.1)

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. 2. 3. 4. B B 1 p B = B 1 A V B = c c B B 1 A. En particular, al tratarse de la soluci on optima V B 0

Cap tulo 9. POSTOPTIMIZACION

77

La soluci on puede dejar de ser factible, si alg un ui < 0. En an alisis consiste en recalcular u B : on sigue siendo factible y, como V B 0, las varia1. Si uiB 0 i la soluci bles b asicas son las mismas, con un nuevo nivel de realizaci on u B y un nuevo valor de la funci on objetivo z 2. Si uiB < 0 la soluci on deja de ser factible pero cumple el criterio de optimalidad, V B 0. Se debe aplicar el m etodo de Lemke hasta obtener una soluci on que adem as de cumplir el crierio de optimalidad sea factible, la nueva soluci on optima, que tendr a un conjunto de variables b asicas de las de la soluci on 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. 2. 3. 4. B B 1 p B = B 1 A uB = B 1 b. En particular, como la soluci on era factible uB 0

La soluci on puede dejar de ser optima, si alg un Vi B > 0. En an alisis consiste en recalcular V B : ptima y, como uB 0, las variaon sigue siendo o 1. Si Vj B 0 j la soluci bles b asicas son las mismas, con el mismo nivel de realizaci on uB y un nuevo valor de la funci on objetivo z 2. Si Vj B > 0 la soluci on deja de ser optima pero sigue siendo factible, uB 0: se debe aplicar el m etodo de Simplex hasta obtener una soluci on que adem as de ser factible cumpla el crierio de optimalidad, la nueva soluci on optima, que tendr a un conjunto de variables b asicas de las de la soluci on original. Si solo cambia una componente de c , se pueden dar dos situaciones:
B 1. Cambia ck y xk no es variable b asica. Solo cambia Vk , con lo que esta B B actividad, que no era b asica, al cambiar Vk pordr a ocurrir que Vk 0, en cuyo caso la soluci on original no ser a optima. 2. Cambia ck y xk es variable b asica, con lo que cambiar a todo V B .

Cap tulo 9. POSTOPTIMIZACION

78

9.4.

Nueva actividad

Una actividad k queda caracterizada por: on unitaria al benecio de dicha actividad y 1. ck la contribuci 2. Ak el consumo que hace dicha actividad de cada uno de los recursos. Con la aparici on de una nueva actividad, la soluci on optima del problema puede ser la misma o puede ser otra mejor. Es decir, si interesa realizar dicha actividad, ser a porque la soluci on a la que se llegar a ser a mejor. Si no interesa realizar dicha actividad, la mejor soluci on ser a la obtenida para el problema antes de introducir dicha actividad. En efecto, con la introducci on de una nueva actividad, se debe calcular el criB terio del simples Vk la variable correspondiente xk .
B ptima y no interesa realizar dicha Si Vk 0 la soluci on sigue siendo o actividad. B Si Vk > 0, la soluci on deja de ser optima porque la introducci on de la nueva actividad representa una oportunidad de mejora. Se debe aplicar el m etodo del Simplex hasta alcanzar la soluci on optima

9.5.

Nueva restricci on

Una restricci on l queda caracterizada por: on unitaria al benecio de dicha actividad y 1. bl la contribuci 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
j j

alj xj + hl = bl alj xj hl = bl
j

alj xj bl
j

(9.2)

En el caso de una restricci on de tipo igual, es equivalente a dos: una de con y otra con lgeq:

Cap tulo 9. POSTOPTIMIZACION

79

alj xj = bl equivalente a
j

alj xj j alj xj
j

alj xj l
j

(9.3)

Con la aparici on de una nueva restricci on, la soluci on optima del problema puede ser la misma o puede ser otra peor. Es decir: ptima original cumple la nueva restricci si la soluci on o on, la soluci on ptima seguir o a siendo factible y tambi en optima, es decir, la soluci on optima no cambiar a; si la soluci on optima obtenida no cumple con la nueva restricci on, la soluci on seguir a dejar a de ser factible y habr a que obtener una nueva soluci on factible y optima, peor que la original. Cuando aparece una nueva restricci on, la forma de obtener la nueva soluci on factible sin resolver el problema desde el principio consiste en: 1. Introducir en la tabla de la soluci on optima nal la nueva restricci on tal y como habr a aparecido en la primera tabla y 2. operar con las las para conseguir ceros en la matriz p B donde deber a 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 b asica o que no.

9.6.1.

Cambio en aij con xj no b asica

Si cambia aij y xj es una variable no b asica, cambia: 1. Vj B = cj c B B 1 Aj 2. pjB = B 1 Aj

No cambia: 1. 2. 3. 4. 5. 6. B B 1 z = c B uB B Vk , k j (no cambia el criterio del simplex del resto de variables b asicas) pkB = B 1 Ak k j u B = B 1 b

Cap tulo 9. POSTOPTIMIZACION

80

B Solo cambia Vj , con lo que: B si Vj > 0 interesa realizar dicha actividad , en cuyo caso habr a que aplicar el m etodo del Simplex y xj entrar a en la base en la primera iteraci on. Se deber a iterar hasta alcanzar la nueva soluci on optima; B si Vj 0 no interesa introducir la variable xj en la base y la soluci on optima no var a.

9.6.2.

Cambio en aij con xj b asica

Si cambia aij y xj es una variable b asica, cambia: 1. 2. 3. 4. 5. 6. B B 1 u B = B 1 b z = c Bu B V B = c c BB p B = B 1 A

Se pueden dar cuatro situaciones, ligadas a la p erdida o no de las condiciones de soluci on factible y de soluci on optima. La tabla siguiente resume los casos que se pueden dar: VB 0 Soluci on optima Lemke V B 0 Simplex -

uB 0 uB 0

9.7.

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

Tabla correspondiente a la soluci on optima. x1 -7/2 -1/2 1/2 3/2 x2 -1 0 1 1 x3 0 0 0 1 h3 0 0 1 0 h1 0 1 0 0 a2 -3/2 -1/2 1/2 1/2 a3 0 0 -1 0

h1 h3 x3

-39 3 3 13

Cap tulo 9. POSTOPTIMIZACION

81

9.7.1.

Cambio de b
14 22 11
T

Supongamos que b = cas, u


B

. El nuevo valor de las variables b asi 3 14 0 1 22 = 0 11 11 0

ser a: 1 = B 1 b = 0 0 1/2 1/2 1/2

uB

(9.5)

La soluci on sigue siendo factible y optima. Supongamos que b = cas, u


B

12

26

11

. El nuevo valor de las variables b asi 0 12 1 1 26 = 2 0 11 13

ser a: 1 = B 1 b = 0 0 1/2 1/2 1/2

uB

(9.6)

La soluci on ya no es factible y es necesario aplicar Lemke. x1 -7/2 -1/2 1/2 3/2 0 1 0 0 x2 -1 0 1 1 -1 0 1 1 x3 0 0 0 1 0 0 0 1 h3 0 0 1 0 0 0 1 0 h1 0 1 0 0 -7 -2 1 3 a2 -3/2 -1/2 1/2 1/2 2 1 0 -1 a3 0 0 -1 0 0 0 -1 0

h1 h3 x3

-39 -1 2 13 -32 2 1 10

x1 h3 x3

9.7.2.

Cambio de c
2 2 4 0 0
B

Supongamos que c =

El nuevo valor del vector de criterios del Simplex, V

ser a:

Cap tulo 9. POSTOPTIMIZACION

82

2 2 4 0 0 0 0 4

1/2 1/2 3/2

0 1 1

0 0 1

0 1 0

1 0 = 0

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

(9.7) La soluci on sigue siendo factible y optima. Supongamos que c = 6 1 3 0 0


B

El nuevo valor del vector de criterios del Simplex, V

ser a: V B = c c B B 1 A = 3/2 2 0 0 0

6 1 3 0 0 0 0 3

1/2 1/2 3/2

0 1 1

0 0 1

0 1 0

1 0 = 0

(9.8) La soluci on ya no es optima y es necesario aplicar el m etodo del Simplex. x1 3/2 -1/2 1/2 3/2 0 0 1 0 x2 -2 0 1 1 -5 1 2 -2 x3 0 0 0 1 0 0 0 1 h3 0 0 1 0 -3 1 2 -3 h1 0 1 0 0 0 1 0 0 a2 -3/2 -1/2 1/2 1/2 -3 0 1 -1 a3 0 0 -1 0 3 -1 -2 3

h1 h3 x3

-39 3 3 13 -48 6 6 4

h1 x1 x3

9.7.3.

Nueva actividad

Existe la posiblidad de realizar una nueva actividad, x4 y se sabe que: c4 = 5 A4 = 1 1 1


T

Cap tulo 9. POSTOPTIMIZACION

83

El criterio del simplex de la nueva actividad es:


B = c4 c B B 1 A4 = c4 B A4 V4 1 5 0 3/2 0 1 = 7/2 1

(9.9)

La soluci on ya no es optima y es necesario aplicar el m etodo del Simplex. Para B reutilizar la tabla, es necesario calcular p4
B p4 = B 1 A4 0 1 1/2 1 1 = 1/2 0 1 1/2

1 0 0

1/2 1/2 1/2 x2 -2 0 1 1 -1 0 1 1

= (9.10)

h1 h3 x3

-39 3 3 13 -60 6 6 10

x1 3/2 -1/2 1/2 3/2 0 -1 0 2

x3 0 0 0 1 0 0 0 1

x4 7/2 1/2 -1/2 1/2 0 1 0 0

h3 0 0 1 0 0 0 1 0

h1 0 1 0 0 -7 2 1 -1

a2 -3/2 -1/2 1/2 1/2 2 -1 0 1

a3 0 0 -1 0 0 0 -1 0

x4 h3 x3

9.7.4.

Nueva restricci on

Supongamos que aparece la siguiente nueva restricci on x1 + x3 15 on sigue siendo factible y optima. Como x2 + x3 = 0 + 13 15, la soluci Supongamos que aparece la siguiente nueva restricci on x2 + x3 10 (9.12) (9.11)

Cap tulo 9. POSTOPTIMIZACION

84

Como x2 + x3 = 0 + 13 10, la soluci on optima ya no cumple esta nueva restricci on, con lo que ya no es soluci on factible del nuevo problema. La restricci on se puede formular como: x2 + x3 h4 = 10 x1 -7/2 -1/2 1/2 3/2 0 -3/2 0 0 0 0 1 x2 -1 0 1 1 1 0 -1 0 1 1 0 x3 0 0 0 1 1 0 0 0 0 1 0 h3 0 0 1 0 0 0 0 0 1 0 0 h1 0 1 0 0 0 0 0 1 0 0 0 h4 0 0 0 0 1 1 7/3 -1/3 1/3 1 -2/3 a2 -3/2 -1/2 1/2 1/2 1/2 -1/2 2 1 0 -1 1/3 a3 0 0 -1 0 0 0 0 0 -1 0 0 (9.13)

h1 h3 x3 h4

-39 3 3 13 10 -3 -32 4 2 10 2

h1 h3 x3 x1

9.7.5.
Si b =

An alisis de sensibilidad de b
b1 26 10
T

, el nuevo valor de las variables b asicas, u B ser a: 1/2 1/2 1/2 0 b1 1 26 = 10 0

An alisis b1

1 uB = B 1 b = 0 0

b1 13 3 0 b1 13 13

(9.14)

Si b =

16

b2

10

, el nuevo valor de las variables b asicas, u B ser a:

An alisis b2

1 1/2 0 16 1/2 1 b2 = uB = B 1 b = 0 0 1/2 0 10 16 b2 /2 b2 /2 10 0 20 b2 32 b2 /2 (9.15)

Cap tulo 9. POSTOPTIMIZACION

85

Si b =

16

26

b3

, el nuevo valor de las variables b asicas, u B ser a: 0 16 1 26 = 0 b3

An alisis b3

1 uB = B 1 b = 0 0

1/2 1/2 1/2

3 13 b3 0 b3 13 13

(9.16)

Resumen 13 b1 < 20 b2 32 < b3 13 (9.17)

9.7.6.

An alisis de sensibilidad de c
An alisis c1 1 3 = c1 9/2 0 c1 9/2 1 (9.18)

Variable x1 . Variable no b asica

B = c1 B a2 = c1 V1

3/2

Variable x2 . Variable no b asica


B = c2 B a3 = c2 V2

An alisis c2 1 2 = c2 3 0 c2 3 0

3/2

(9.19)

Variable x3 . Variable b asica V B = c c B B 1 A = 1/2 0 0 0 1 1 0 1 0 = 1/2 3/2 1 1 0 0 1 2 c3 0 0 0 0 c3 0 0 0 0 c3 2

An alisis c3

(9.20)

1 3/2c2

2 c3

Cap tulo 9. POSTOPTIMIZACION

86

Resumen < c1 4,5 < c2 3 2 c3 < (9.21)

Cap tulo 9. POSTOPTIMIZACION

87

9.8.

La aparente paradoja de b

Dado el problema max z = x1 + 3x2 x1 + 2x2 20 2x1 + x2 20 x 1, x2 0 La tabla del simplex correspondiente a la soluci on optima es: (9.22)

x2 x1

-80/3 20/3 20/3

x1 0 0 1

x2 0 1 0

h1 -5/3 2/3 -1/3

h2 -1/3 1/3 -2/3

Si realizamos en an alisis de sensibilidad con respecto a b1 , el resultado es el siguiente: uB = B 1 b = 2/3 1/3 1/3 2/3 b1 20 = 1 3 2b1 20 b2 + 40 0 10 b1 40 (9.23) on Es decir, si la disponibilidad el recurso R1 (b1 ) es superior a 40, la soluci no es factible. C omo puede ser que si aumentamos la disponibilidad de un recurso de una restricci on de tipo la soluci on se haga no factible?

Cap tulo 10 PARAM PROGRAMACION ETRICA

10.1.

Introducci on

10.2.

Programaci on con c()

10.2.1.

M etodo general

Procedimiento general: Tras la resoluci on para un valor de 0 1. C alculo de uB (0 ) 2. C alculo 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 m etodo del Lemke, iterar para obtener otra base de la misma soluci on degenerada y volver al punto 1. 2) Si no es posible aplicar el m etodo del Lemke, es que no hay soluci on factible fuera del valor de extremo estudiado.

10.2.2.

Ejemplo c()
max z = 5x1 + 6x2 + 8x3 s.a. 2x1 + 3x2 + 4x3 25 3x1 + 2x2 + 1x3 = 20 x1 , x2 , x3 0 (10.1)

PARAME TRICA Cap tulo 10. PROGRAMACION

89

x3 x1

-111/2 7/2 11/2

x1 0 0 1

x2 -1/2 1/2 1/2

x3 0 1 0

h1 -19/10 3/10 -1/10

a -2/5 -1/5 2/5

Sea c1 = , si = 5, T0 es la tabla correspondiente a la soluci on optima. A continuaci on vamos a realizar el an alisis para c() = 0 6 8 , , con

Si modica su valor, se modicar a el vector de criterios del Simplex V B (). B Siempre y cuando V () 0 las actividades b asicas ser an x1 y x3 , con los niveles de realizaci on de la tabla T0 . El criterio del Simplex V B () es:

V B () = c c B B 1 A = c c B p =

0 1

1/2 1/2 0

1 0
4 2

3/10 1/10 0
24 10

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

40 4 24 24 0 Si 4 24, la tabla corresondiente a la soluci on optima es T0 (): T0 () x3 x1


28 11 2 7/2 11/2

(10.3)

x1 0 0 1

x2 4 2 1/2 1/2

x3 0 1 0

h1 24 10 3/10 -1/10

ptimo m Si = 4, la tabla se convierte en T1 , correspondiente a un o ultiple. Introduciendo x2 y sacando x3 se obtiene una nueva soluci on a la que le corresponde la tabla T2

PARAME TRICA Cap tulo 10. PROGRAMACION

90

T1 x3 x1 T2 x2 x1 -50 7/2 11/2 -50 7 2

x1 0 0 1 x1 0 0 1

x2 0 1/2 1/2 x2 0 1 0

x3 0 1 0 x3 0 2 -1

h1 -2 3/10 -1/10 h1 -2 3/5 -2/5

Si modica su valor, se modicar a el vector de criterios del Simplex V B (). Siempre y cuando V B () 0 las actividades b asicas ser an x1 y x2 , con los niveles de realizaci on de la tabla T2 . El criterio del Simplex V B () es:

V B () = c c B B 1 A = c c B p =

0 1 0

1 0 0

2 1

3/5 2/5
218 5

4 (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 b asicas con x1 y x2 . Existe aqu una aparente contradicci on por el hecho de que si c1 es muy grande en valor absoluto y negativo, parece sensato pensar que x1 deber a no ser una variable b asica porque deteriora notablemente la funci on objetivo. Por ejemplo, parace razonable pensar que si c1 = 1000, si z representa el benecio de un sistema real, estar amos perdiendo 1000 unidades monetarias, con lo que parece intuitivo pensar que esta variable no deber a estar en la soluci on nal. La explicaci on es la siguiente. Si las variables b asicas 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 soluci on es a un peor en t erminos de la funci on 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 soluci on es a un peor en t erminos de la funci on objetivo (por eso, el criterio del simplex de h3 siempre es negativo). Es decir, el criterio del simplex nos dice c omo se modica la z al introducir una variable no b asica con valor 1. Dada la estructura de las restricciones, hacer que cualquier de las variables no b asicas crezca hace que x1 crezca tambi en,

PARAME TRICA Cap tulo 10. PROGRAMACION

91

con lo que la soluci on a la que se llega es peor, as que para cualquier 4, las variables b asicas de la soluci on optima son x1 y x2 Alternativamente, se puede explicar la aparente paradoja por el hecho de que cualquier soluci on para la cual x1 = 0, la soluci on correspondiente es no factible. Volviendo a la tabla T0 (), si = 24, la tabla se convierte en la tabla T3 , correspondiente a un optimo m ultiple. Introduciendo h1 sacando x3 se obtiene la tabla T4 correspondiente a la soluci on optima alternativa: T3 x3 x1 T4 h3 x1 160 7/2 11/2 160 35/3 20/3 x1 0 0 1 x1 0 0 1 x2 -10 1/2 1/2 x2 -10 5/3 2/3 x3 0 1 0 x3 0 10/3 1/3 h1 0 3/10 -1/10 h1 0 1 0

De nuevo, Si modica su valor, se modicar a el vector de criterios del Simplex V B (). Siempre y cuando V B () 0 las actividades b asicas ser an x1 y h1 , con los niveles de realizaci on de la tabla T4 . El criterio del Simplex V B () es:

V B () = c c B B 1 A = c c B p =

0 1 0

5/3 2/3
62 3

10/3 1/3
24 3

1 0 0)

(10.5) El criterio del Sipmlex no se hace positivo para ning un valor de tal que > 24 En resumen: Variables b asicas: x1 = 2 y x2 = 7 si 4 con z = 42 + 2 Variables b asicas: x1 = 11/2 y x3 = 7/2 si 4 24 con z = 28 + 11/2 Variables b asicas: x1 = 20/3 y h1 = 35/3 si 24 con z = 20/3

PARAME TRICA Cap tulo 10. PROGRAMACION

92

10.3.

Programaci on con b()

10.3.1.

M etodo general

Procedimiento general: 1. 2. 3. 4. Resoluci on para un valor de 0 C alculo de V B (0 ) C alculo del 1 y 2 , tal que V B 0 si 1 2 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 soluci on optima m ultiple para = 1 : 1) Si es posible aplicar el m etodo del Simplex, obtener una soluci on optima b asica alternativa y volver al punto 1. 2) Si no es posible aplicar el m etodo del Simplex, es que no hay soluci on 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 50x1 + 50x2 + 30x3 + 30x4 150 x1 , x2 , x3 , x3 0 T0 h1 x4 -15 45 5 150 + x1 -2 5 5/3
T

(10.6)

x2 -1 -15 5/3

x3 -1 -5 1

x4 0 0 1

h1 0 1 0

h2 -1/10 -1/2 1/30

b() =

120

uB () = B 1 b() =

1 0

1/2 1/30

120 150 +

45 3/2 5 + /30

(10.7)

PARAME TRICA Cap tulo 10. PROGRAMACION

93

La siguiente tabla es v alida si uB 0. Es decir, si 150 30 T0 () h1 x4 Si = 30 T0 ( = 30) h1 x4 T1 ( = 30) x2 x4 -18 0 6 -18 0 6 x1 -2 5 5/3 -7/3 -1/3 20/9 x2 -1 -15 5/3 0 1 0 x3 -1 -5 1 -2/3 1/3 4/9 x4 0 0 1 0 0 1 h1 0 1 0 -1/60 -2/30 1/9 h2 -1/10 -1/2 -1/30 -1/60 1/30 -2/90 -15 45-3/2 5-/30 x1 -2 5 5/3 x2 -1 -15 5/3 x3 -1 -5 1 x4 0 0 1 h1 0 1 0 h2 -1/10 -1/2 -1/30

uB () = B 1 b() =

1/60 1/9

1/30 2/90

120 150 +

(30 + )/10 (900 12)/90 (10.8)

La siguiente tabla es v alida si uB 0. Es decir, si 30 75 T1 () x2 x4 Si = 75 T1 ( = 75) x2 x4 T2 ( = 75) x2 h2 -18 9/2 0 -18 9/2 0 x1 -7/3 -1/3 20/9 -9 3 -100 x2 0 1 0 0 1 0 x3 -2/3 1/3 4/9 -2 1 20 x4 0 0 1 -3 3/2 -45 h1 -1/60 -2/30 1/9 -2/5 1/10 -5 h2 -1/60 1/30 -2/90 0 0 1 -18 (-30+)/10 (900-12)/90 x1 -7/3 -1/3 20/9 x2 0 1 0 x3 -2/3 1/3 4/9 x4 0 0 1 h1 -1/60 -2/30 1/9 h2 -1/60 1/30 -2/90

PARAME TRICA Cap tulo 10. PROGRAMACION

94

uB () = B 1 b() =

1/10 5

0 1

120 150 +

(120 + )/10 6 450 (10.9)

La siguiente tabla es v alida si uB 0. Es decir, si 75 120 T2 () x2 h2 -18 (-120+)/10 6 450 -9 3 -100 0 1 0 -2 1 20 -3 3/2 -45 -2/5 1/10 -5 0 0 1

Para > 120 no existe soluci on factible del problema. En resumen: No existe soluci on factible para < 150 Variables b asicas: h1 = 45 3 2 y x4 = 5 + Variables b asicas: x2 =
30+ y x4 = 10 120+ y h2 = 10 30 si 150 90012 si 30 75 90

30

Variables b asicas: x2 = 6 450 si 75 120 No existe soluci on factible para > 120

10.4.

Ejemplo c() y b()


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

b() = c() =

40 2

24 3 4+ 1

y 0 , co 0

Soluci on optima para = 0 x1 0 1 0 x2 -1 2 1 x3 0 0 1 h1 -1 2/3 -1/3 h2 0 -1/3 2/3

x1 x3

-40 56/3 8/3

PARAME TRICA Cap tulo 10. PROGRAMACION

95

V B () = c c B B 1 A = c c B p B = 2 4+ 1 0 0 2 1 1 0 2 1 0 0 1 2/3 1/3 1 0 1/3 2/3 1 0 = (10.11)

uB () = B 1 b() =

2/3 1/3

1/3 2/3

40 24 3

1 3

56 + 3 8 6

(10.12)

VB 0 1 4 3

(10.13)

uB 0

(10.14)

La condici on m as restricitiva es 1, ya que cuando esto ocurre, el problema tiene dos soluciones b asicas optimas factibles. Con > 1, las soluciones en las que x1 y x3 son variables b asicas son no factibles. A continuaci on guran tres tablas, correspondientes, respectivamente a la soluci on b asica con x1 y x3 en funci on de , la tabla para = 1 y la soluci on b asica optima alternativa para ese valor de . x1 0 1 0 0 1 0 0 1 0 x2 1 2 1 0 2 1 0 0 1 x3 0 0 1 0 0 1 0 -2 1 h1 -1 2/3 -1/3 -1 2/3 -1/3 -1 4/3 -1/3 h2 0 -1/3 2/3 0 -1/3 2/3 0 -5/3 2/3

x1 x3

(56 + 3)/3 (8 6)/3 -40 59/3 2/3 -40 55/3 2/3

x1 x3

x1 x2

V B () = c c B B 1 A = c c B p B = 2 4+ 1 0 0 2 4+ 0 0 1 0 1 0 1 2 1 4/3 1/3 5/3 2/3 =

( 4)/3

(2 2)/3) (10.15)

PARAME TRICA Cap tulo 10. PROGRAMACION

96

uB () = B 1 b() =

4/3 1/3

5/3 2/3

40 24 3

1 3

40 + 15 8 6 (10.16)

VB 0 1 4

(10.17)

uB 0 3/8

4 3

(10.18)

Por lo tanto, para que las variables b asicas x1 y x2 conduzcan a una soluci on ptima y factible 1 4 o . El extremo inferior de este intervalo coincide, na3 turalmente, con el extremo superior del intervalo obtenido para las soluciones b asicas con x1 y x3 . Con = 3 se obtiene una soluci on degenerada. Con > 3 se obtiene una soluci on b asica no factible, por lo que deja de ser la soluci on optima y factible del problema. A continuaci on guran las siguientes tres tablas: la correspondiente a x1 y x2 como variables b asicas, en funci on de , la anterior con = 4 3 y la soluci on obtenida al aplicar Lemke a patir de la anterior. x1 0 1 0 0 1 0 0 1 0 x2 0 0 1 0 0 1 -8/3 4 -3 x3 1 -2 1 -1/3 -2 1 -3 2 -3 h1 ( 4)/3 4/3 -1/3 -8/9 4/3 -1/3 0 0 1 h2 (2-2)/3 -5/3 2/3 -2/9 -5/3 2/3 -2 1 -2
4 4

x1 x2

(40 + 15)/3 (8 6)/3

x1 x2

40 0

x1 h1

40 0

V B () = c c B B 1 A = c c B p B = 2 4+ 1 0 0 2 0 0 1 0 4 3 2 3 0 1 1 2 0 2 = (10.19)

4 +

PARAME TRICA Cap tulo 10. PROGRAMACION

97

uB () = B 1 b() =

0 1

1 2

40 24 3

24 3 8 + 6

(10.20)

VB 0 4

(10.21)

uB 0

4 8 3

(10.22)

on Por lo tanto, para que las variables b asicas x1 y h2 conduzcan a una soluci 4 optima y factible 3 4. El extremo inferior de este intervalo coincide, naturalmente, con el extremo superior del intervalo obtenido para las soluciones b asicas con x1 y x2 . Con = 4 se obtiene una soluci on degenerada. Con > 4 se obtiene una soluci on b asica no optima, por lo que deja de ser la soluci on optima y factible del problema. A continuaci on guran las siguientes tres tablas: la correspondiente a x1 y h1 como variables b asicas, en funci on de , la anterior con = 4 y la soluci on obtenida al aplicar el m etodo del Simplex a patir de la anterior. x1 0 1 0 0 1 0 0 1/4 3/4 x2 4 + 4 -3 0 4 -3 0 1 0 x3 -3 2 -3 -3 2 -3 -3 1/2 -3/2 h1 0 0 1 0 0 1 0 0 1 h2 -2 1 -2 -2 1 -2 -2 1/4 -5/4

x1 h1

24 3 8 + 6

x1 h1

12 16

x2 h1

3 25

V B () = c c B B 1 A = c c B p B = 2 4+ 1 0 0 4+ 0 1/4 3/4 1
4

1 0 0

1/2 3/2 1
2

0 1 0

1/4 5/4 1
4

(10.23)

PARAME TRICA Cap tulo 10. PROGRAMACION

98

uB () = B 1 b() =

0 1

1/4 5/4

40 24 3

1 4

24 3 40 + 15

(10.24)

V B 0 4

(10.25)

uB 0 8

(10.26)

Por lo tanto, para que las variables b asicas x2 y h1 conduzcan a una soluci on ptima y factible 4 8. El extremo inferior de este intervalo coincide, nao turalmente, con el extremo superior del intervalo obtenido para las soluciones b asicas con x1 y x2 . Con = 8 se obtiene una soluci on degenerada. Con > 8 se obtiene una soluci on b asica no optima, por lo que deja de ser la soluci on optima y factible del problema. A continuaci on guran las siguientes dos tablas: la correspondiente a x2 y h1 como variables b asicas, en funci on de , la anterior con = 8. Se observa que para la variable x2 no existen tasas de sustituci on negativas, con lo que si > 4 no existe soluci on factible, porque no es posible que x2 salga de la base. x1 1 4 1/4 3/4 -1 1/4 3/4 x2 0 1 0 0 1 0 x3 1 2 1/2 -3/2 -5 1/2 -3/2 h1 0 0 1 0 0 1 h2 1 4 1/4 -5/4 -3 1/4 -5/4

x2 h1

(24 3)/4 (40 + 15/4

x2 h1 En resumen:

0 40

Variables b asicas: x1 = (56 + 3)/3 y x3 = (8 6)/3 si 0 1 Variables b asicas: x1 = (45 + 15)/3 y x2 = (8 6)/3 si 1 4/3 Variables b asicas: x1 = 24 3 y h1 = 8 + 6 si 4/3 4 Variables b asicas: x1 = (24 3)/4 y h2 = (40 + 15)/4 si 4 8 No existe soluci on factible para > 8

Cap tulo 11 TRANSPORTE Y ASIGNACION

11.1.

Presentaci on del problema de transporte

11.1.1.

Introducci on

Se trata de un caso particular de PL

11.1.2.
Dados

Formulaci on

un conjunto de or genes (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 origen i O al destino j D con el m nimo coste, xij . max z =
ij

Cij xij s.a.

xij Oi i O
j D

(11.1)

xij Dj j D
iO

xij 0 j D, i O Problemas equilibrados:


iD

Oi =

j D

Dj

Cap tulo 11. TRANSPORTE Y ASIGNACION

100

Formulaci on equivalente, si el problema est a equilibrado max z =


ij

Cij xij s.a.

xij = Oi i O
j D

(11.2)

xij = Dj j D
i

xij 0 j D, i O

11.1.3.

Presentaci on matricial

La formulaci on extendida de 11.2 max z = s.a. x11 +x12 ... +x1J +x21 x11 x12 ... +x1J +x21 x22 ... +x2J x22 ... +x2J ... ... ... ... ... ... ... = = = = = = = O1 O2 OI D1 D2 DJ

+xI 1 +xI 1

+xI 2 +xI 2

...

+xIJ +xIJ

... +xIJ (11.3)

xij 0 j D, i O

De acuerdo con max z = cx s.a. Ax = b x0 Las matrices son: A= 1 0 0 ... 0 I 0 1 0 ... 0 I 0 0 1 ... 0 I ... ... ... ... ... ... 0 0 0 ... 1 I (11.4)

(11.5)

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.

Cap tulo 11. TRANSPORTE Y ASIGNACION b=

101

O1 ... OI D1 ... DJ ...

(11.6)

c=

C11

...

CI 1

Cij

c1 J

...CIJ

(11.7)

11.1.4.

Representaci on del problema

Representaci on tabular espec ca, diferente, por ejemplo, de la matriz completa del m etodo del simplex

origen 1

origen i

origen J

destino 1 c11 x11 c11 ... ci1 xi1 cij ... cI 1 xI 1 cI 1

... c1 j ... ... cij ... ... cIj ...

destino j x1j c1 j ... xij cij ... xIj cIj

... cIJ ... ... ciJ ... ... cIJ ...

destino J x1J c1 J ... x1jJ cij ... x1J cIj OJ Oj O1

donde cij es el coste reducido asociado al a variable xij , que se presentar a m as adelante.

11.1.5.

Propiedades

Las propiedades.. 1. Si el problema es equilibrado, existe al menos una soluci on factible: xij =
O i Dj iO Oi O i Dj j D Dj

En efecto, cumple las restricciones:

Cap tulo 11. TRANSPORTE Y ASIGNACION

102

max z =
ij

Cij xij s.a.

xij =
j D j D

Oi Dj = Oi j D Dj Oi Dj = Dj iO Oi

j D j D iO

Dj Dj

= Oi i O

(11.8)

xij =
iO iO

Oi = Dj j D iO Oi

2. La base de cualquier soluci on, B es una matriz unimodular y los elementos de B 1 son 0, 1 o -1. 3. El n umero de restricciones linealmente independientes es car d(O) + car d(D) 1 11.1.5.1. Propiedades de las soluciones b asicas El n umero de variables b asicas es igual al n umero de restricciones linealmente independientes es car d(O) + car d(D) 1 nico ciclo (pasarela) Existe al menos uno: Dada una soluci on existe un u cualquier actividad no b asica se puede obtener como combinaci on linea de las b asicas Existe solo uno: solo hay una forma de combinar linealmente actividades b asicas Las celdas de una soluci on b asica no permiten formar ciclos: no se pueden combinar linealmente Las tasas de sustituci on son 1, 1 o 0

11.2.

M etodos de resoluci on

Si el problema se formula como PE, el car acter unimodular de la base garantiza que el la soluci on de la relajaci on lineal siempre es entera. Adem as de cualquier m etodo general de PL, dos atlernativas: 1. Stepping-stone 2. MODI Procedimiento: 1. Soluci on inicial de partida. Para esto existen diferentes m etodos 2. Criterio de optimalidad. En este paso es donde se diferencian los m etodos de Stepping-stone y MODI 3. Regla de entrada 4. Regla de salida

Cap tulo 11. TRANSPORTE Y ASIGNACION

103

11.2.1.
M etodos

Obtenci on del soluci on inicial de partida

Rinc on NO M nimo coste Voguel Otros Diferente esfuerzo y diferente calidad de la soluci on 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


j D

xij = 0 i O xij = 0 j D
i

Dj

(11.9)

Se denen ui y vi A su vez, a la funci on objetivo se le pueden sumar los t erminos nulos, que son los primeros miembros de las dos expresiones anteriors y, posteriormente, se puede operar: z=
ij

Cij xij =
ij

Cij xij
i

ui Oi
j

xij
j

vj Dj
i

xij =

=
ij

Oi Dj +
ij

xij (cij ui vj ) (11.10)

B riables b asicas y xij a las no basicas, el t ermino variable se puede reformular como:

Por lo tanto, la funci on ojetivo se puede expresar como la suma de dos t ermiB a las vanos, uno constante y otro que depende de xij . Si se denota con xij

xij (cij ui vj ) =
ij ij

B xij (cij ui vj ) + ij

B xij (cij ui vj )

(11.11)

Se pueden elegir los valores de ui y vi de tal manera que cij ui vj = 0 si la variable xij es b asica. De esta manera, la expresi on 11.11 es estrictamente B nula. El primer t ermino lo es por que cij ui vj = 0 y el segundo porque xij al tratarse de variables b asicas.

Cap tulo 11. TRANSPORTE Y ASIGNACION

104

Por lo tanto, si una variable no b asica entra a formar parte de la soluci on, el incremento de la funci on objetivo es, precisamente, el valor de cij = cij ui vj . Es decir z|x B =1 = cij ui vj
ij

(11.12)

11.2.4.

Regla de salida

11.2.5.

Criterio de optimalidad

Sean como sean calculados, el coste reducido cij representa la reducci on unitaria de la funci on objetiva al introducir con valor 1 la variable no b asica xij , por lo que la soluci on 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 representaci on tabular, de incorpora una la m as. 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 representaci on tabular, de incorpora una columna m as. Los costes de las nuevas variables son...

11.4.

Soluciones degeneradas

Cap tulo 11. TRANSPORTE Y ASIGNACION

105

11.5.

Transporte y dualidad

El dual del problema de transporte es max z =


i

= Oi ui +
j

Dj vj s.a.

ui + vj cij i O, j D ui libre de signo i O vj libre de signo j D Justicaci on. El problema 11.13 es equivalente a max z =
i = Oi (u+ i ui ) + j + Dj (vi vi )

(11.13)

s.a. (u u ) + (v v ) cij i O, j D
u+ i , ui libre de signo i O + , vi libre de signo j D vi + +

(11.14)

El dual de este problema es min z =


ij

Cij xij s.a.

xij Oi i O
j D

xij Oi i O
j D

(11.15)

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 t erminos de m aximo son iguales, pero cambiados de signo. Del teorema de las holguras complementarias:
B hij = Vij max B = Vij min B Vij min

cij ui vj =

(11.16)

Cap tulo 11. TRANSPORTE Y ASIGNACION

106

11.6.

Para pensar

11.7.

Ejemplo

Cap tulo 11. TRANSPORTE Y ASIGNACION

107

11.8.

El problema de asignaci on

11.8.1.

Introducci on

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 n umero de or genes 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 =
ij

Cij xij s.a.

xij 1 i O
j D

(11.17)

xij 1 j D
iO

xij 0 j D, i O De las m + n restricciones, en este caso existen I = J linealmente independientes, con lo que una soluci on b asica contendr a m = n variables b asicas.

11.8.2.

Representaci on

Dada la estructura particular de este problema, se puede represetnar con una tabla cuadrada con tantas las y columnas como el n umero de origenes o de destinos. D1 C11 C21 Ci1 CI 1 D2 C12 C22 Ci2 CI 2 Dj C1j C2j C Cij CIj DJ C1J C2J CiJ CIJ

O1 O2 Oi OI

Donde Cij es el coste de asignar el origen i al destino j Por ejemplo,...

Cap tulo 11. TRANSPORTE Y ASIGNACION

108

O1 O2 O3 O4

D1 4 5 1 10

D2 2 2 8 1

D3 3 6 9 6

D4 1 3 2 4

Una posible asignaci on podr a ser D1 O1 O2 O3 O4 D2 D3 D4

11.8.3.

Propiedades

En una soluci on del problema, para cada la i, solo un valor xij = 1 En una soluci on 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 columna, el problema resultante alcanza la soluci on optima para la misma asignaci on que el problema original. En efecto, por ejemplo, si cambian todos los costes del origen i Ci j = Ci j + k j , la nueva funci on objetivo es: z =
i,j

Cij xij =
ii ,j

Cij xi,j +
j

(Ci j + k)xi,j =
ii ,j

Ci,j xij +
i=i ,j

Ci j xij +
i=i ,j

kxij = xij = z + k

Ci,j xij + 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 l nea 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 soluci on consiste en asignar los orignes y destinos correspondientes a dichos ceros, con un coste total igual a 0. D1 2 0 2 3 D2 0 2 5 1 D3 1 1 7 0 D4 3 1 0 3

O1 O2 O3 O4

Cap tulo 11. TRANSPORTE Y ASIGNACION

109

11.8.4.

M etodo H ungaro

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 asignaci on con coste global igual a cero, se ha obtenido la soluci o optima, si no, hay que continuar. 4. Tachar todos los ceros con el m nimo n umero posible de l neas (siempre habr a que utilizar menos que el n umero de orignes o destinos, porque si no, existir a una asignaci on con coste cero). 5. Identicar k igual al coste m nimo 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 1 2 3 1 D1 0 1 1 0 -1 D1 0 1 1 0 D1 0 0 0 0 D2 3 0 0 1 D2 4 0 0 2 D2 4 1 2 2 D2 3 0 0 1 D3 3 6 6 3 D3 2 5 4 2 -1 D3 0 3 2 0 D3 0 2 1 0 D4 1 7 6 7 D4 0 6 4 6 -1 D4 0 6 4 6 D4 0 5 3 6

O1 O2 O3 O4

O1 O2 O3 O4

O1 O2 O3 O4

O1 O2 O3 O4

Cap tulo 12 ENTERA. FUNDAMENTOS PROGRAMACION

12.1.

Divide y vencer as

Considera el problema z = max{cx : x S } Ser a posible dividir este problema en un conjunto de problemas de menor tama no y m as f aciles de resolver, resolverlos y luego juntar toda la informaci on para hallar la soluci on del porblema original? Se dice que S = S1 Sk es una descomposici on de S en un conjunto m as peque no de problemas y que si zk = max{cx : x Sk } para k = 1 . . . K , entonces z = maxk zk . Una forma t pica de representar el enfoque divide y vencer as es mediante los arboles de enumeraci on. 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}. Despu es 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 vac a si y s olo si s = (i1, i2, i3) est a en S . Es decir, las hojas nales (nodos) del arbol corresponden precisamente a los puntos del conjunto B 3 que habr amos examinado mediante la enumeraci on completa.

12.2.

Enumeraci on impl cita

Como ya hemos visto anteriormente, la enumeraci on completa (o expl cita) es imposible de hacer para muchos problemas cuando el n umero de variables enteras crece. Luego a parte de dividir indenidamente el problema tenemos que hacer algo m as. C omo podemos usar de forma inteligente algunas cotas de los valores de {zk }? Vamos a ello. Si S = S1 Sk es una descomposici on de S en un conjunto m as peque no de k k problemas, z = max{cx : x Sk } para k = 1 . . . K , z 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.

ENTERA. FUNDAMENTOS Cap tulo 12. PROGRAMACION

111

Vamos a ver ahora tres casos hipot eticos para ver c omo podemos utilizar con sentido la informaci on relativa a las cotas de un problema. Qu e se puede decir sobre la soluci on optima con la infomaci on relativa a las cotas y qu e conjuntos (suproblemas) neceistan seguir examin andose para encontrar la soluci on optima? . En la gura 12.1 se pude ver una descomposici on del conjunto S en dos subconjuntos 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. Adem as las cotas inferiores y superiores de z1 con iguales y no hace falta seguir examinando el conjunto S1 . Entonces la rama corresponiente al conjunto S1 del arbol puede ser podada por optimalidad. . En la gura 12.2 vemos de nuevo la descomposici on del conjunto S en dos subconjuntos S1 y S2 y las cotas superiores e inferiores de los distintos problemas. 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 funci on objetivo del problema tiene un valor como poco de 21 y la cota superior z1 = 20, luego la soluci on 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 est a descompuesto de nuevo el conjunto S en dos subconjuntos 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 explorando los subconjuntos S1 y S2 . Basados en estos tres ejemplos se pueden enumerar las tres razones que permiten podar alguna rama del arbol y con ello enumerar de forma impl cita un gran n umero 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 c omo se pueden obtener las cotas, la respuesta es la misma que lo que vimos en el cap tulo anterior. Las cotas inferiores se calculan al obtener soluciones factibles y las cotas superiores mediante relajaciones. Ejemplo 3 Ejemplo 2 Ejemplo 1

ENTERA. FUNDAMENTOS Cap tulo 12. PROGRAMACION

112

Figura 12.3: Poda por optimalidad

Construir un algoritmo de enumeraci on impl cita basado en los visto anteriormente es ya una tarea sencilla, aunque quedan a un muchas preguntas por resolver para poder tener bien denido el algoritmo. Algunas de estas pregunta puede ser: Qu e relajaci on vamos a utilizar para hallar las cotas superiores?C omo elegir entre una sencilla cota d ebil f acil de obtener y una cota fuerte cuyos c alculos llevan m as tiempo? C omo generamos los distintos subconjuntos del problema principal S = S1 SK ?Cada conjunto se tiene que dividir en dos o m as subconjuntos?Tenemos que tener una regla a priori para subdividir los problemas o es mejor que esas divisiones dependan de c omo evoluciona el problema? En qu e orden vamos a examinar los problemas? Normalmente tendremos un conjunto de nodos activos (ramas sin podar). Tenemos que estudiar 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 m as com un de resolver problemas con n umeros enteros es usando la enumeraci on impl cita 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. 7x1 2x2 14
2 x2 32x1 2x2 3x Z+

(12.1)

Acotamiento. Para obtener una primera cota superior, a nadimos las holguras correspondientes (h1 , h2 y h3 ) y resolvemos la relajaci on lineal de este problema (quitando las restricciones de integrabilidad). La tabla optima a la que se llega es:
RL

z x1 x2 h3

50/7 20/7 3 23/7

x1 0 1 0 0

x2 0 0 1 0

h1 -4/7 1/7 0 -2/7

h2 -1/7 2/7 1 10/7

h3 0 0 0 1

ENTERA. FUNDAMENTOS Cap tulo 12. PROGRAMACION

113

De aqu obtenemos una cota superior z =

on factible? Pues aparente( 20 7 , 3). Hay alguna forma de encontrar una soluci mente, no. Luego no tenemos ninguna cota inferior a un, z = . Ramicaci on. Como z z tenemos que dividir o ramicar. C omo podemos dividir la regi on factible? Una idea muy sencilla es elegir una variable que est e en la base y que debiera de ser entera pero no lo es, y dividir el problema en dos subproblemas en funci on 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 } Est a claro que S = S1 S2 y que S1 S2 = . Otra raz on por la que se eligen estos subproblemas es que la soluci on de la relajaci on lineal no es factible en las relajaciones lineales de S1 ni S2 . Esto es muy importante pues evita degeneraciones de la soluci on (o m ultiples soluciones); con lo cual max {z1 , z2 } z y la cota superior tendr a siempre menor valor. 1 Siguiendo esta idea, como x 1 = 20 an S1 = S {x : 7 Z , los subproblemas ser 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. Elecci on de un nodo. La lista de nodos activos que deben ser examinados contiene a S1 y S2 . Arbitrariamente elegimos S1 . Reoptimizaci on. C omo podemos resolver las relajaciones lineales de los nuevos subproblemas sin necesidad de partir de cero? Como simplemente hemos a nadido una restricci on que sabemos que no se cumple, al a nadir la la la correspondiente a la tabla del simplex expresada en la base actual tendremos una soluci on no factible. Utilizando el m etodo de Lemke en varios pivotes (tablas) podemos llegar a la nueva soluci on optima. Al resolver la relajaci on lineal de S1 a nadimos la restricci on x1 2 o x1 + h4 = 2, h4 0. Y tendr amos la siguiente tabla que ser a igual que la anterior pero con una la m as en la parte inferior: x1 0 1 0 0 0 x2 0 0 1 0 0 h1 -4/7 1/7 0 -2/7 -1/7 h2 -1/7 2/7 1 10/7 -2/7 h3 0 0 0 1 0 h4 0 0 0 0 1

59 7 ,

y una soluci on que no es entera

RL z1 x1 x2 h3 h4

50/7 20/7 3 23/7 -6/7

Despu es de pasar por dos soluciones intermedias se llega la la siguiente soluci on optima

ENTERA. FUNDAMENTOS Cap tulo 12. PROGRAMACION

114

RL z1 x1 x2 h1 h2

15/2 20/7 3 23/7 -6/7

x1 0 1 0 0 0

x2 0 0 1 0 0

h1 0 0 0 1 0

h2 0 0 0 0 1

h3 -1/2 0 -1/2 -1 1/2

h4 -3 1 1 -5 6

1 1 1 RL con z1 = 15 2 y (x 1 , x 2 ) = (2, 2 ). Ramicaci on .

Cap tulo 13 ENTERA. BRANCH AND PROGRAMACION BOUND

13.1.

Introducci on

Existe una gran varedad de problemas que se pueden formular y resolver utilizando variables enteras, por ejemplo: programaci on de horarios de trenes o de tripulaciones en una compa n a a erea, problemas de programaci on de la producci on, de c alculo de rutas, etc. En ocasiones, las variables enteras aparecen por la propia naturaleza de la decisi on. En otras ocasiones, se debe Supongamos que tenemos un problema de programaci on lineal: max{cx cx : Ax b, x 0 } donde A es una matriz m por n, c es un vector la de dimensi on n, b es un vector columna de dimensi on m y x es un vector columna de dimensi on n. A este problema le a nadimos la restricci on de que ciertas variables tienen que ser enteras. Si s olo alguna (no todas) las variables tienen que ser enteras, entonces tenemos un problema de programaci on lineal entera mixto (Mixed Integer Problem, MIP). Si todas las variables tienen que ser enteras, entonces tenemos un problema de programaci on lineal puro (Integer Programming, IP). Y, si todas la variables est an restringidas a los valores 0 1, entonces tenemos un problema de programaci on entera binaria (Binary Integer Problem, BIP). Dado que los problemas enteros se parecen bastante a los lineales, no sorprende que tanto la teor a como la pr actica de la programaci on lineal es fundamental 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. ADIR No tiene sentido en muchos problemas: 3.5 aviones son 3 o 4, ... AN Ejemplo: (apuntes Miguel)

ENTERA. BRANCH AND BOUND Cap tulo 13. PROGRAMACION

116

Figura 13.1: Cotas de un problema entero

13.2.

Optimalidad y relajaci on

Dado un problema entero de la forma: z = max{c(x) : x X Z n } ptima? O dicho de otra forma, c omo se puede probar que una soluci on x es o ser a muy interesante encontrar algunas condiciones que nos garanticen la optimalidad y as dejar de buscar la soluci on 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. Pr acticamente 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 ser a muy interesante y se podr a 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 . nica forma de encontrar cotas inferiores: encontrando soluciones Esta es la u factibles. Para algunos problemas PLE encontrar una soluci on factible es sencillo 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 soluci on factible que ofrece una cota inferior). Pero para otros problemas, encontrar una soluci on factible es tan complicado como resolver el problema entero. Para algunos problemas no es dif cil utilizar algoritmos greedy (algoritmo avidos) que permiten encontrar soluciones factibles buenas (cotas inferiores). Cotas primales/inferiores

ENTERA. BRANCH AND BOUND Cap tulo 13. PROGRAMACION

117

La idea centra de estos heur sticos es, a partir de no tneer una soluci on, ir construy endola paso a paso (dando valor una a una a cada variable) y en cada paso tomar la decisi on que suponga una mayor mejora de la funci on objetivo. La tarea de encontrar cotas superiores muy distinta de la anterior. Una de las formas de hallar las cotas superiores es mediante relajaciones. La idea que hay detr as de las relajaciones es reemplazar un problema entero dif cil de maximizar (como normalmente formulamos los problemas) por otro problema m as sencillo cuya funci on 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 problema se resuelve sobre un conjunto mayor, o reemplazar la funci on objetivo (max) por una funci on 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 relajaci on 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 relajaci on de IP, entonces zR z. La cuesti on entonces est a en c omo encontrar relajaciones interesantes. Una de las m as naturales y m as utilizadas es la relajaci on lineal.
n Dado un problema entero max{c(x) : x P Z n } siendo P = x R+ : Ax b}, la relajaci on lineal es el problema lineal zLP = mboxmax {cx : x P }. Como P Z n P y la funci on objetivo no cambia, es claramente una relajaci on. Por ejemplo, si consideramos el problema entero:

Cotas duales/superiores

Relajaciones lineales

max z = 4x1 x2 s.a. 7x1 2x2 14 x2 3 2x1 2x2 3


2 x Z+

(13.1)

El punto (2, 1) es una soluci on factible luego tenemos una cota inferior z 7. Para obtener una cota superior podemos recurrir a la relajaci on lineal. La 20 59 LP soluci on optima es x = ( 7 , 3) con funci on objetivo z = 7 . Como el valor de la funci on objetivo del problema entero tiene que ser entero (en este caso), podemos redondear y obtener z 8. Las relajaciones no s olo permiten obtener cotas superiores, sino que tambi en sirven paara probar la optimalidad. Si la relajaci on (RP ) es no factible, el problema original entero (IP )tambi en. Si al resolver la relajaci on lineal (RP ) resulta

ENTERA. BRANCH AND BOUND Cap tulo 13. PROGRAMACION

118

que cumple las condiciones de integralidad del problema entero (IP ) resulta que tambi en es su soluci on optima. Por ejemplo, la relajaci on lineal del problema entero max z = 7x1 + 4x2 + 5x3 + 2x4 s.a. 3x1 + 3x2 + 4x3 + 2x4 6 x {0, 1} tiene como soluci on optima x = (1, 1, 0, 0). Como x es entera, es tambi en soluci on optima del problema entero. Existen m as tipos de relajaciones que perimten hallar cotas superiores. Entre ellas, por ejemplo, las relajaciones combinatorias que son espec cas para determinados problemas (TSP, Knapsack, etc.); y las relajaciones lagrangianas, mucho m as generales y que se basan en relajar restricciones (quitarlas) pero su cumplimiento afecta a la funci on objetivo con un coste. Otras relajaciones lineales (13.2)

Cap tulo 14 DUALIDAD

14.1.

Introducci on

Existen dos problemas de optimizaci on lineal asociados que cada uno de ellos proporciona informaci on sobre el otro, de tal manera que la soluci on optima de uno de los problemas nos permite conocer la soluci on del problema asociado. A los dos problemas asociados se les denomina problemas duales y su relaci on se va a tratar en este cap tulo. La dualidad es una parte clave en la programaci on lineal que muchas veces pasa como desapercibida pero que es lo que permite que tenga sentido toda la teor a correspondiente. Por qu e estudiar la dualidad? Hay varias razones: Por una lado aporta elementos clave que van a ayudar a comprender la programaci on lineal til para resolver problemas de programaci Es una herramienta u on lineal; cuando hay mucha diferencia entre las y columnas (hay distinto coste computacional) puede ser interesante resolver el dual en lugar del problema primal El problema dual ayuda a conocer la factibilidad o no acotaci on del problema primal Fundamental para el desarrollo de t ecnicas m as avanzadas (descomposici on de Benders, etc.) La dualidad ofrece otra forma de ver el signicado de los precios sombra La dualidad ofrece otra visi on del m etodo de Lemke (o dual del simplex) Para introducir el tema vamos a ver un ejemplo sencillo en el se puede observar de forma r apida las relaciones entre un problema y un dual (aunque a un no se haya descrito como construir el problema dual de uno dado). Una empresa internacional produce y vende estos dos tipos de supercomputadores: el modelo 1 y el modelo 2. En la elaboraci on de ambos tipos de equipos hay que destacar dos procesos, el de ensamblado nal y el de empaquetado (procesos P1 y P2). Esta empresa dispone mensualmente de 2000 horas dedicadas al proceso de ensamblado y 1000 horas dedicadas al proceso de empaquetado, adem as se sabe que los tiempos requeridos para realizar dichas Ejemplo de problema dual Por qu e?

Cap tulo 14. DUALIDAD

120

operaciones para cada uno de los tipos de supercomputadores son los que se muestran en la tabla siguiente: Horas requeridas Modelo 1 Modelo 2 6 4 2 4

Proceso Montaje Embalaje

Horas disponibles 2000 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 informaci on se plantea y resuelve inicialmente un problema que permita determinar el n umero de unidades de cada tipo de ordenador con objeto de maximizar el benecio total. Se denen las variables x1 y x2 como el n umero de ordenadores elaborados de tipo 1 y 2 respectivamente, con estas variables el problema queda: max z = 400x1 + 600x2 s.a: 6x1 + 4x2 2000 2x1 + 4x2 1000 x1 0, x2 0 ptima de dicho problema es elaborar 250 unidades del tipo 1 y y La soluci on o 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 soluci on optima es la siguiente: -175000 250 125 0 1 0 0 0 1 -25 1/4 -1/8 -125 -1/4 3/8 (14.1)

x1 x2

Ahora podemos cambiar el enfoque sobre el problema planteado, nuestro prop osito va a ser determinar los precios a los cuales esta empresa deber a valorar sus recursos (horas de trabajo de los dos procesos) de tal manera que puedan determinar el m nimo valor total al cual estar a dispuesta a arrendar o vender los recursos. Sean y1 e y2 , la renta percibida por hora de los procesos P1 y P2 respectivamente (precios de los recursos). La renta total obtenida ser a pues, 2000y1 + 1000y2 . Se desea como objetivo encontrar el m nimo valor de 2000y1 + 1000y2 de modo que la empresa pueda, de una manera inteligente, 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 ser an no negativos, es decir y1 0, y2 0. Adem as 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

Cap tulo 14. DUALIDAD

121

x2

5 4 3 2 x (250, 125) 1 0 0 1 2 3 4 5 x1

Figura 14.1: Soluci on gr aca del problema inicial

supercomputador al menos deben ser iguales a los que obtendr a al utilizar dichos recursos en la elaboraci on 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 obtenci on 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 2y1 + 4x 2 600 y1 0, y2 0 La resoluci on 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 soluci on optima de est segundo subproblema: 175000 25 125 0 1 0 0 0 1 -250 -1/4 1/4 -125 1/8 -3/8 (14.2)

x1 x2

Cap tulo 14. DUALIDAD

122

14.2.

Teor a sobre dualidad

14.2.1.

El problema dual

Dado el problema de programaci on lineal: Max z = cx Ax b x0 se le asocia otro problema: Min s = yb yAT c y 0 Al problema (14.3) se le denomina primal y a (14.4) se le denomina dual. (14.4) (14.3)

14.2.2.

El dual del dual es el primal

En efecto, dado el problema primal Max z = cx Ax b x0 tiene como problema dual asociado: Min s = yb yAT c y 0 El problema dual puede expresarse como: max (s) = bT y T Ay T c T y 0 El problema (14.7) considerado como un problema primal, tiene como problema dual asociado el siguiente problema de programaci on lineal: min u = t(c T ) t(AT ) bT t0 (14.8) (14.7) (14.6) (14.5)

Cap tulo 14. DUALIDAD

123

El problema dual (14.8) puede expresarse como: max (u) = ct T At T b 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.
T

(14.9)

14.2.3.

Relaciones entre el problema primal y el problema dual

teorema De la propia denici on de problema primal y problema dual asociado se deducen unas primeras relaciones entre ambos problemas: una variable del problema primal genera una restricci on en el problema dual; una restricci on del problema primal genera una variable en el problema dual, una restricci on de desigualdad en el problema primal genera una variable no negativa en el problema dual. Existen otras relaciones no evidentes entre ambos problemas: una restricci on 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 restricci on de igualdad en el problema dual. En efecto, la restricci on 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 restricci on se puede expresarse como: a31 x1 a32 x2 a33 x3 a34 x4 = b3 La inecuaci on primera, corresponde a una restricci on en el problema primal y + genera en el problema dual un variable que se denominar a y3 y, por lo tanto, se obtiene en dicho problema:

Cap tulo 14. DUALIDAD

124

+ un t ermino en la funci on objetivo: b3 y3 una columna en el sistema de restricciones t ecnicas: + +a31 y3 + +a32 y3 + +a33 y3 + +a34 y3

La otra inecuaci on, vista de una forma u otra, genera a su vez en e problema dual la variable y3 y, por lo tanto:
un t ermino en la funci on objetivo: b3 y3 una columna en el sistema de restricciones t ecnicas: a31 y3 a32 y3 a33 y3 a34 y3

Por lo que, la resricci on a nivel de igualdad del problema primal genera en el problema dual:
+ dos t erminos en la funci on objetivo: b3 (y3 + y3 ) dos columnaa en el sistema de restricciones t ecnicas: + +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 ser a libre se signo siempre que y3 y y3 sean no negativas y, adem as, no puedan estar ambas en la soluci on 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 t ecnicas de desigualdad, 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 soluci on b asica es
+ B 1 V B y3 = b 3 cB (a31 , a32 , a33 , a34 )T

el criterio del simplex de la variable y-3 respecto a cualquier soluci on b asica es B 1 V B y3 = b 3 cB (a31 , a32 , a33 , a34 )T

Cap tulo 14. DUALIDAD

125

+ + es decir V B y3 = V B y3 lo que implica que: si V B y3 > 0 V B y3 <0y B + B que si V y3 < 0 V y3 > 0 + por lo cual, si interesa introducir en la soluci on y3 no interesa introducir + on s interesa introducir y3 . y3 , y si no interesa introducir y3 en la soluci , el criteCuando una de las variables pertenece a la soluci on, por ejemplo y3 B + rio del simplex de ambas variables tiene un valor de V y3 = 0 y V B y3 = 0 + = pero al analizar el vector de tasas de sustituci on 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 soluci on deje de ser factible. Con lo que se comprueba que una restricci on de igualdad en el problema primal genera en el problema dual una variable libre de signo. En el ep grafe 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 restricci on de igualdad en el problema dual.

14.2.4.

La funci on objetivo

El valor de la funci on objetivo para cualquier soluci on factible del problema primal es una cota inferior del valor de la funci on objetivo para cualquier soluci on factible del problema dual. Es decir: z0 s 0 En efecto, se parte de las dos soluciones factibles de los dos problemas asociados primal y dual x 0 e y 0 para las cuales el valor de cada funci on objetivo es z0 = cx 0 s 0 = y 0 b on del problema primal se cumple que Ax 0 b al adem as, al ser x 0 soluci premultiplicar por y 0 la expresi on anterior, como y 0 se factible, se cumple que: y 0 Ax 0 y 0 b on del problema dual se cumple que y 0 AT c Por otra parte, al ser y 0 soluci 0 al postmultiplicar por x la expresi on 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

Cap tulo 14. DUALIDAD

126

s 0 dual z0 s 0

z0 primal Corolario 1. El valor de la funci on objetivo del problema primal de m aximo para cualquier soluci on factible es una cota inferior del m nimo valor de la funci on objetivo del dual, y reciprocamente, el valor de la funci on objetivo del problema dual de m nimo para cualquier soluci on factible dual es una cota superior del m aximo valor de la funci on objetivo del primal. Corolario 2. Si el problema primal es factible y su soluci on es no acotada, (z ), entonces el problema dual no tiene soluci on. An alogamente, si el problema dual es factible pero con soluci on no acotada, (s ), entonces el problema primal no tiene soluci on factible.

14.2.5.

Teorema fundamental de la dualidad

ptima, x , de un problema primal a la que le Dada una soluci on b asica factible o corresponde una base B y un vector de multiplicadores del simplex B = cB B 1 , ptima del problema dual es y = B . la soluci on b asica factible o En efecto: 1. y* es la soluci on del problema dual. Como x* es soluci on optima del problema primal se cumple:
B Vx = c cB B 1 A 0

identicando los t erminos correspondientes a las variables iniciales del problema primal, c y A, y los t erminos correspondientes a las variables de holgura del problema primal, ch e I , la expresi on anterior se transforma en: B Vx = [(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 expresi on primera al sustituir cB B 1 = y se obtiene c y A 0 es decir y A c luego y = B cumple las restricciones t ecnicas del problema dual. Al sustituir y por su valor en la segunda expresi on y ch por su valor se obtiene 0y I 0 es decir y 0 luego el vector y es una soluci on factible del problema dual.

Cap tulo 14. DUALIDAD

127

ptima del problema dual. 2. y = B es soluci on o En el ep grafe anterior se comprobaba que el valor de la funci on objetivo para una soluci on factible del problema primal es siempre una cota inferior del valor de la funci on objetivo para una soluci on factible del problema dual, es decir z0 s 0 Por otra parte, z es el valor de la funci on objetivo correspondiente a la soluci on 0 optima del problema primal, se cumple que z z = cx s es el valor de la funci on objetivo correspondiente a la soluci on optima del problema dual, luego y b = s s 0 Adem as, 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 soluci on optima nita entonces el problema dual tambi en, y rec procamente, si el problema dual tiene soluci on optima nita entonces el primal tambi en. Corolario 4. Si el problema primal es no factible entonces su dual o no tiene soluci on o tiene soluci on no acotada, y rec procamente, si el dual es no factible entonces el primal o es no factible o tiene soluci on no acotada. Dado un problema primal y su dual s olo una de las siguientes armaciones es cierta: ptima (nita) El primal tiene soluci on o el dual tiene soluci on optima (nita). Si el primal es no factible el dual es no factible o tiene soluci on no acotada. Si el dual es no factible el primal es no factible o tiene soluci on no acotada. Si el primal tiene soluci on no acotada el dual es no factible. Si el dual tiene soluci on 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 soluci on 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 soluci on optima de dicho problema. El teorema de las holguras complementarias permite conocer el valor del resto de las componentes de la soluci on del problema dual. La demostraci on del teorema de las holguras complementarias se realizar a para las soluciones optimas de los problemas duales asociados aunque se cumple para todas las soluciones intermedias. Se parte del conocimiento de las dos soluciones optimas de los problemas duales correspondientes, x e y .

Cap tulo 14. DUALIDAD

128

El teorema fundamental de la dualidad dice que: cx = y b a la expresi on 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 n umero negativo y el segundo miembro es un n umero positivo, por lo cual, s olo es posible cuando ambos t erminos son iguales a cero. En efecto: 1. (c y A) x = 0 - como x es la soluci on optima del problema primal x 0 - como y es la soluci on optima del problema dual y A c cy A 0 y el producto de un n umero positivo por un n umero negativo es un n umero negativo. 2. y (bAx ) - como y es la soluci on optima del problema primal y 0 - como x es la soluci on optima del problema dual Ax b bAx 0 y el producto de un n umero positivo por un n umero positivo es un n umero positivo. Por lo cual: 1. (cy A) x = 0 2. y (bAx ) = 0 Veamos ambas expresiones. (1) (cy A) x = 0 . Para analizar esta expresi on vectorial se identica uno de sus t erminos: (cj y Aj )xj =0 Si cj y Aj < 0, la restricci on del dual no se cumple como igualdad y, por lo tanto, la holgura , yhj , de la restricci on forma parte de la soluci on optima; es necesario que xj = 0, lo que genera que dicha restricci on no forma parte de la soluci on optima del primal. Adem as , cj y Aj 0

Cap tulo 14. DUALIDAD

129

transformado en igualdad, cj y Aj + yhj = 0 luego


B yhj = (cj y Aj ) = (cj B Aj ) = Vx
j

que es mayor que cero ya que el criterio del simplex de una variable no b asica en la soluci on optima del problema es negativo. Si xj > 0, es decir xj pertenece a la soluci on optima del problema primal, entonces cj y Aj = 0, es decir la restricci on 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 soluci on optima del problema, ya que: cj y Aj 0 cj y Aj + yhj = 0 y como: cj y Aj = 0 yhj = 0
B Adem as, como yhj = Vx se comprueba que yhj = 0 ya que el criterio del simplex de una variable b asica, xj , es cero.
j

(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 conclusi on, la aplicaci on del teorema de las holguras complementarias a dos problemas duales asociados permite saber que: ptima, si una variable inicial de un problema pertenece a la soluci on o la restricci on que genera dicha variable en el problema dual se cumple como igualdad, es decir la variable de holgura de dicha restricci on no pertenece a la soluci on optima, si una restricci on de un problema de optimizaci on lineal se cumple como desigualdad, es decir, la variable de holgura correspondiente pertenece a la soluci on optima, la variable que genera dicha restricci on es el problema dual no forma parte de la soluci on 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 restricci on que genera dicha variable en el problema dual.

14.3.

Interpretaci on econ omica de las variables duales en el optimo

Por el teorema fundamental de la dualidad los valores optimos de las funciones objetivo de un problema primal [P] y su dual [D] son iguales, si x es una

Cap tulo 14. DUALIDAD

130

soluci on b asica 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 cantidad peque na b1 , de manera que la soluci on optima del problema primal siga siendo factible, y en consecuencia optima (c cB B 1 A no var a). Es decir, de manera tal que b1 0 1 ) 0 B (b + . . . 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 , tiene la mismas variables b dual. La soluci on optima de [P1], x asicas que x (por la elecci on de b1 ) y el valor que toma la parte b asica de dicha solu B = B 1 [b + (b1, 0, , 0)T ], por otro lado la soluci ci on es u on de [D1] es B no han cambiado entonces B sigue = = c B B 1 , las variables b asicas de x y = y , teniendo en cuenta estos hechos tenemos siendo la misma que antes y y que:

= c1 x 1 (b1 + b1 ) + y 2 + + y m bm = 1 + c2 x 2 + + cn x n = y z(x) = (y 1 b1 + y 2 + + y m bm ) + y b1 = S(y) + y b1 = Z((x)) + y b1 ptimo de la variable dual y 1 De esta expresi on se desprende que el valor o asociada a la primera restricci on del problema primal representa la cantidad en la que se modica el valor de la funci on objetivo de [P] por cada unidad adicional de recurso 1 (siempre que la modicaci on 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 m aximo con restricciones de tipo , lo resolvemos y calculamos la soluci on del problema dual, entonces los valores optimos de las variables duales (que son 0) representan la variaci on unitaria de la funci on objetivo del primal por cada unidad adicional del recurso correspondiente que pudieramos conseguir. Esto nos permite tambi en interpretar dichos valores como la mayor cantidad que estar amos dispuestos a pagar por una unidad adicional de recurso.

Cap tulo 14. DUALIDAD

131

14.4.

Algoritmo del simplex dual

Vamos a pensar en este apartado en un algoritmo an alogo al del simplex, pero pensando en el problema dual en lugar de en el primal. Dado un primal (de m aximos) diremos que una base del problema primal (no necesariamente factible) si y s olo si c c B B 1 A 0 Se puede apreciar que dicha denici on es equivalente a decir que una base es factible dual si c B B 1 constituye una soluci on 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 expresi on que dene las restricciones funcionales del problema dual. Alternativamente, la denici on de base factible dual s olo implica que la correspondiente base primal verica las condiciones de optimalidad. Si diera la casualidad que adem as fuera factible entonces dicha soluci on ser a una soluci on optima. El algoritmo simplex dual trabaja con soluciones b asicas factibles duales que por medio de operaciones apropiadas nalizar an (si es posible) en una soluci on que adem as ser a factible primal. Mientras el simplex trabaja con soluciones 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 mejorar a la factibilidad hasta alcanzarla (realmente lo que se ir a mejorando ser a las soluciones del dual y = c B B 1 ). El algoritmo del simplex dual va a utilizar herramientas an alogas a las utilizadas en el simplex. Los pasos son los siguientes: 1. Construcci on de una soluci on b asica primal que sea b asica factible dual ( optimo del primal). 2. Si una soluci on es factible primal entonces dicha soluci on ser a optima. 3. En caso de que la soluci on no sea factible primal, entonces habr a que construir una soluci on b asica primal que sea b asica factible dual y que sea adyacente a la anterior, para lo cual deberemos determinar que variable sale de la base actual, que variable entra en la nueva base y deberemos realizar la operaci on de cambio de base. Ese algoritmo lo hemos estudiado como M etodo de Lemke (desarrollado por por C. E. Lemke en 1954).

El dual de un problema grande Corolarios del Tma fundamental Ejercicios