Está en la página 1de 15

TUTORAS

PROGRAMACIN LINEAL ENTERA (PLC)


Simulacin y Optimizacin 4 Grado en Ingeniera Qumica Curso 2013/2014

Barreiro Lpez, Aloia Basalo Lourido, Javier Dapena de Paz, Jaime

Programacin lineal entera (PLC)

FUNDAMENTO DEL ALGORITMO Un modelo de Programacin Lineal Entera (PLC) permite la optimizacin de problemas en los que alguna o todas las variables de decisin se restringen a que nicamente tomen un conjunto de valores discretos. Este modelo tendr aplicacin en aquellos casos donde la solucin slo tenga sentido si las variables toman valores enteros. Los problemas de programacin lineal entera permiten modelar muchas ms situaciones que la programacin lineal; sin embargo, la resolucin ser ms costosa desde el punto de vista computacional debido a que en la mayora de los casos las restricciones de problema inicial no resultarn activas para la solucin ptima. El algoritmo ms ampliamente utilizado para la resolucin de este tipo de problemas es el de ramificacin y acotamiento, conocido bajo el trmino ingls branch & bounded. Para este tipo de problemas, la resolucin comienza plantendose como un problema de programacin lineal. Una vez resuelto, el siguiente paso es comprobar si esa solucin satisface las restricciones de programacin lineal entera la solucin obtenida se corresponde con valores enteros. Si stas son satisfechas se puede considerar que se ha alcanzado el ptimo; en caso contrario, ser preciso llevar a cabo una serie de pasos para obtener la solucin. Estos pasos son explicados a continuacin de forma detallada. En primer lugar se escoge una variable entera xk cuya solucin yk no sea entera. Para la eleccin del valor entero se aproxima la variable xk tanto por defecto como por exceso; de tal forma que resultan dos problemas al mismo tiempo, cumpliendo respectivamente las siguientes restricciones; y excluyendo siempre cualquier solucin no factible de mayor consideracin.

xk y k xk y k 1

(1) (2)

Se procede resolviendo sucesivamente los pares de problemas as planteados hasta que en cada una de las ramas se alcanza una de las condiciones de terminacin, presentadas a continuacin: Obtencin de una solucin no factible. Obtencin de una solucin ptima de todas las variables enteras. Obtencin de la solucin no entera peor que una solucin entera conocida.

Debe notarse que la obtencin de una solucin ptima para un subproblema concreto no necesariamente implica la obtencin de la solucin ptima del problema global. Por otra parte, cuando en un subproblema se obtiene una solucin peor que la mejor entera conocida, el ptimo global no se puede encontrar en los problemas derivados en la ramificacin de ste, por lo que puede interrumpirse el anlisis de esta rama. Una vez alcanzada la terminacin para todas las ramas se toma como solucin ptima la solucin entera obtenida con mejor valor de la funcin objetivo.

Programacin lineal entera (PLC)

A continuacin, se mostrar un diagrama de flujo que refleja lo anteriormente explicado, donde se muestran los pasos de resolucin del algoritmo:

Programacin lineal entera (PLC)

APLICACIN AL EJERCICIO

Mx. s.a.

5x1 27x 2
2x1 11x2 59 x1 x 2 7
x1 , x 2 0 enteras

Para la resolucin del problema se empieza resolviendo el problema relajado, es decir, resolver el simplex sin tener en cuenta que las variables x1 y x2 deben de ser enteras. Por lo tanto, el planteamiento del problema quedara como sigue:

Mx. s.a.

5x1 27x 2
2x1 11x2 59 x1 x 2 7

Aadiendo las variables de holgura a las restricciones:

2x1 11x2 A1 59 x1 x2 A 2 7
Con esto ya se puede crear el tabln inicial, y los sucesivos tablones hasta llegar a la solucin ptima, que se encontrar en el tercer tabln donde los costes reducidos de todas las variables son mayores o iguales a cero. Los tablones que fueron necesarios para llegar a dicha solucin se muestran a continuacin: 1 Tableau 5 Ci 0 0 Var A1 A2 Pi 59 7 Pj x1 2 1 -5 27 x2 11 -1 -27 0 A1 1 0 0 0 A2 0 1 0 Ri 5,364

Programacin lineal entera (PLC)

2 Tableau 5 Ci 27 0 Var x2 A2 Pi 5,364 12,364 Pj x1 0,182 1,182 -0,091 27 x2 1 0 0 0 A1 0,091 0,091 2,455 0 A2 0 1 0 Ri 29,500 10,462

3 tableau 5 Ci 27 5 Var x2 x1 Pi 3,462 10,462 Pj x1 0 1 0 27 x2 1 0 0 0 A1 0,077 0,077 2,462 0 A2 -0,154 0,846 0,077

En este tercer tabln todos los valores de los costes reducidos (Pj) son mayores o menores a cero, por lo tanto llegamos a la solucin ptima, donde las variables y la funcin objetivo tienen los siguientes valores:

x1 10, 462 x 2 3, 462


Z 145,77

Representados en el siguiente grfico:

Programacin lineal entera (PLC)

Figura 1: Solucin ptima para el problema relajado.

Estas variables no tienen valores enteros, por lo que se proceder a aplicar el algoritmo de ramificacin y acotacin con el fin de llegar a una solucin ptima donde las variables tengan valores discretos. Para empezar, siguiendo el mtodo explicado con anterioridad, se empezar escogiendo una de las dos variables anteriores que no sea entera, en este caso cualquiera de las dos, y se aproximar al valor entero tanto por exceso como por defecto, de tal forma que queden dos problemas al mismo tiempo cumpliendo las restricciones (1) y (2). Eligiendo como variable x1, las restricciones de cada uno de los dos problemas vendrn dadas por:
x1 10 x1 11

(3) (4)

Por lo tanto, los dos problemas que habra que resolver seran los siguientes: PROBLEMA 1 PROBLEMA 2 Mx. s.a.

Mx. s.a.

5x1 27x 2
2x1 11x2 59 x1 x 2 7
x1 10

5x1 27x 2
2x1 11x2 59 x1 x 2 7
x1 11

x1 , x 2 0 enteras

x1 , x 2 0 enteras

Para resolver estos problemas se utiliz Excel como herramienta de clculo y su complemento Solver para llegar a la solucin final, sin necesidad de realizar los Tableaux del simplex. Los resultados obtenidos, respectivamente para ambos problemas, fueron los siguientes:

Programacin lineal entera (PLC)

PROBLEMA 1 Variables x1 Celdas cambiantes Restricciones R1 R2 R3 Coeficiente F.O. Ganancia x2 10


2 1 1

3,55
11 -1 0

Recursos 59 6,46 10 59 Menor o igual 7 10 F.O. 145,73

5 50

27 95,73

Donde se llega a una solucin donde x1 = 10, un valor entero, x2 = 3,55, valor no entero, y un valor para la funcin objetivo de 145,73.

PROBLEMA 2

Variables x1 Celdas cambiantes Restricciones R1 R2 R3 Coeficiente F.O. Ganancia

x2 10,46
2 1 1

3,46
11 -1 0

Recursos 59 7 10,46 59 Menor o igual 7 11 Mayor o igual F.O. 145,77

5 52,31

27 93,46

En este caso, la solucin no es factible, ya que como se puede observar, la solucin no cumple las restricciones. Por lo tanto, en este punto, el ejercicio seguira ramificndose desde el problema 1. La solucin a ambos problemas se puede ver grficamente en la Figura 2, donde se observa la no factibilidad de P2, al encontrarse todo el subespacio correspondiente a este problema fuera del intervalo de admisibilidad dado por las restricciones.

Programacin lineal entera (PLC)

Figura 2: Solucin para los problemas P1 y P2.

Continuando con la ramificacin, la variable de valor no entero escogida es x2 = 3,55. Del mismo modo que en el caso anterior, saldrn otros dos problemas con otras dos nuevas restricciones: PROBLEMA 11 PROBLEMA 12 Mx. s.a.

Mx. s.a.

5x1 27x 2
2x1 11x2 59 x1 x 2 7
x1 10 x2 3

5x1 27x 2
2x1 11x2 59 x1 x 2 7
x1 10 x2 4

x1 , x 2 0 enteras

x1 , x 2 0 enteras

Resolviendo ambos problemas, se llegan a las siguientes soluciones: PROBLEMA 11 Variables Celdas cambiantes Restricciones R1 R2 R3 R4 Coeficiente F.O. Ganancia x1 10
2 1 1 0

x2 3
11 -1 0 1

Recursos 53 7 10 3 27 81 59 7 10 3 F.O. 131 Menor o igual

5 50

Programacin lineal entera (PLC)

Donde se llega a una solucin donde ambas variables son enteras, x1 =10 y x2 =3, con un valor de la funcin objetivo de 131. Esto indica que en esta rama la resolucin ya ha terminado. A continuacin se deber resolver la segunda rama, el problema 12, para comprobar si por esta rama se puede seguir o se finaliza en este paso. PROBLEMA 12 Variables x1 Celdas cambiantes Restricciones R1 R2 R3 R4 Coeficiente F.O. Ganancia x2 7,5
2 1 1 0

4
11 -1 0 1

Recursos 59 3,5 7,5 4 F.O. 145,5 59 7 10 4 Menor o igual

Mayor o igual

5 37,5

27 108

En este problema, la solucin tiene una variable entera, x2 = 4, pero hay otra con valor no entero, x1 = 7,5. Adems, el valor de la funcin objetivo obtenido en este caso es mejor que en el problema 11, donde se obtuvieron ambas variables enteras. Por lo tanto, la resolucin del ejercicio se continuar por esta ramificacin. A continuacin se muestra el grfico donde se incluyen las soluciones de los problemas 11 y 12:

Figura 3: Solucin para los problemas P11 y P12.

Programacin lineal entera (PLC)

10

PROBLEMA 121

PROBLEMA 122 Mx. s.a.

Mx. s.a.

5x1 27x 2
2x1 11x2 59 x1 x 2 7
x1 10 x2 4
x1 7

5x1 27x 2
2x1 11x2 59 x1 x 2 7
x1 10 x2 4
x1 8

x1 , x 2 0 enteras

x1 , x 2 0 enteras

Las soluciones obtenidas al resolver los problemas anteriores se muestran a continuacin: PROBLEMA 121 Variables x1 Celdas cambiantes Restricciones R1 R2 R3 R5 R4 Coeficiente F.O. Ganancia x2 7
2 1 1 1 0

4,09
11 -1 0 0 1

Recursos 59 2,91 7 7 4,09 59 Menor o igual 7 10 7 4 Mayor o igual F.O. 145,45

5 35

27 110,45

En este caso, en la solucin proporcionada hay una variable no entera, x2 =4,09, y una variable entera, x1 = 7, con una funcin objetivo con valor 145,45.

Programacin lineal entera (PLC)

11

PROBLEMA 122 Variables Celdas cambiantes Restricciones R1 R2 R3 R4 R5 Coeficiente F.O. Ganancia x1 8


2 1 1 0 1

x2 3,91
11 -1 0 1 0

Recursos 59 4,09 8 3,91 8 59 Menor o igual 7 10 4 Mayor o igual 8 F.O. 145,55

5 40

27 105,55

En este caso, la solucin no es factible, ya que las restricciones no se cumplen. Por lo tanto, la resolucin del ejercicio continuar con la ramificacin del problema 121. La solucin de los problemas 121 y 122 se pueden observar grficamente en la Figura 4, donde queda reflejado la no factibilidad de solucin del problema 122.

Figura 4: Solucin para los problemas P121 y P122.

Continuando con la ramificacin, la variable de valor no entero escogida es x2 = 4,09. Del mismo modo que en los casos anteriores, saldrn otros dos problemas con otras dos nuevas restricciones:

Programacin lineal entera (PLC)

12

PROBLEMA 1211

PROBLEMA 1212 Mx. s.a.

Mx. s.a.

5x1 27x 2
2x1 11x2 59 x1 x 2 7
x1 10 x2 4 x1 7 x2 4

5x1 27x 2
2x1 11x2 59 x1 x 2 7
x1 10 x2 4 x1 7 x2 5

x1 , x 2 0 enteras

x1 , x 2 0 enteras

PROBLEMA 1211 Variables x1 Celdas cambiantes Restricciones R1 R2 R3 R5 R6 R4 Coeficiente F.O. Ganancia x2 7


2 1 1 1 0 0

4
11 -1 0 0 1 1

Recursos 58 3 7 7 4 4 F.O. 143 59 Menor o igual 7 10 7 4 4 Mayor o igual

5 35

27 108

Programacin lineal entera (PLC)

13

PROBLEMA 1212 Variables x1 Celdas cambiantes Restricciones R1 R2 R3 R5 R4 R6 Coeficiente F.O. Ganancia x2 2


2 1 1 1 0 0

5
11 -1 0 0 1 1

Recursos 59 -3 2 2 5 5 F.O. 145 59 Menor o igual 7 10 7 4 Mayor o igual 5

5 10

27 135

En estos dos ltimos problemas, se puede observar que en la solucin de ambos se alcanzan valores enteros de ambas variables. Pero se debe tener en cuenta que en el problema 1212, se obtiene un valor de la funcin objetivo mayor que en el problema 1211.A su vez, tambin tiene un valor mayor a la solucin dada en el problema 11, donde tambin se obtuvieron como solucin dos variables con valor entero. Por lo tanto, sabiendo que este es un ejercicio de maximizacin, la solucin ptima viene dada por la dada en el problema 1212:

x1 2 x2 5
Z 145

En la Figura 5, se muestran las soluciones a los problemas 1212 y 1211:

Figura 5: Solucin para los problemas P1212 y P1211.

Programacin lineal entera (PLC)

14

A modo de resumen, a continuacin se mostrar un esquema con la trayectoria seguida en la resolucin del ejercicio:

Programacin lineal entera (PLC)

15

BIBLIOGRAFA [1] [2] Nemhauser G & Wosley L. 1988. Integer and Conmbinatorial Optimization Interscience (355-367) Sierksma G. 1996. Linear and Integer Programming. Theory and Practice. Marcel Dekker (210-221) Wiley-

También podría gustarte