La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Programación Lineal Entera Antonio H. Escobar Z. 2013 Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería – Maestría/Doctorado.

Presentaciones similares


Presentación del tema: "Programación Lineal Entera Antonio H. Escobar Z. 2013 Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería – Maestría/Doctorado."— Transcripción de la presentación:

1 Programación Lineal Entera Antonio H. Escobar Z. 2013 Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería – Maestría/Doctorado

2 Método de Balas Enumeración implícita 0-1

3 Método Enumeración implícita 0-1 de Balas Metodología de solución exacta usada para resolver problemas de PLE donde las variables asumen valores binarios: x  {0,1}. Usa conceptos de Branch and Bound pero no requiere resolver PL´s, únicamente realiza operaciones de adición y comparación en cada nodo. No modifica la matriz A y ocupa poco espacio de memoria. Su filosofía es la de descartar subespacios sin evaluarlos por no ser promisorios por factibilidad o por optimalidad → evaluación implícita.

4

5

6 Método Enumeración implícita 0-1 de Balas La solución inicial asume que todas las variables del problema están en cero, para que sea óptima ( c j ≥ 0). Una vez en el formato anterior, se realizan pruebas de sondaje por factibilidad o por optimalidad para eliminar ramas del árbol que no son promisorias. También se realizan pruebas de fijación de variables en el valor cero o uno. Almacena la mejor solución factible ( incumbente ) después de evaluar las 2 n combinaciones posibles ( n = número de variables), implícitamente. La mejor solución encontrada es la óptima.

7 Concepto de enumeración implícita La solución óptima de un PLE 0-1 puede encontrarse de dos formas: 1.Evaluando explícitamente todas las posibilidades: 2 n 2.Evaluando un número reducido de posibilidades y descartando las demás SIN EVALUARLAS. Filosofía de Branch and Bound.

8 Concepto de enumeración implícita La enumeración implícita debe cumplir dos requisitos básicos:: 1.El esquema de enumeración debe asegurar que las 2 n soluciones posibles sean enumeradas implícita o explícitamente y de una manera no redundante. 2.Las pruebas de sondaje deben excluir el mayor número de soluciones no interesantes o de baja calidad.

9

10

11

12

13 Método Enumeración implícita 0-1 de Balas La solución óptima puede ser obtenida a través de: 1. Pruebas de sondaje → Excluyen el máximo número de complementos. 2. Movimientos hacia adelante (Forward) → Adición de nuevas variables a la solución parcial. 3. Movimientos hacia atrás (Backward) → Movimientos realizados para eliminar complementos.

14 Porque aplicar el algoritmo de enumeración implícita 0-1 de Balas? Porque es un método exacto → garantiza el óptimo global. Porque es aplicable a cualquier problema entero con variables canalizadas, ya que cualquier variable entera acotada puede expresarse a través de variables binarias. Porque produce una solución SIN errores de redondeo (ya que únicamente aplica sumas y comparaciones). Porque ocupa poco espacio de memoria. Porque no existe un método de PLE que sea bueno para resolver todo tipo de problemas.

15 Porque aplicar el algoritmo de enumeración implícita 0-1 de Balas? Porque es un método que se complementa bien con otros métodos que resuelven problemas de PLE tales como Branch and Bound. Porque se adapta bien a problemas con muchas variables binarias donde un número reducido de variables candidatas asumen el valor 1. Porque presenta rápida convergencia en problemas donde se conoce una solución inicial factible de buena calidad. Porque la eficacia de las pruebas de sondaje aumenta con el número de restricciones.

16

17 PLE

18

19 0-1

20

21

22

23

24

25 En formato matricial:

26

27 Si: N = { 1, 2, 3, 4, 5, 6, 7 } ; J = { 6, -2, -4, 5 } → ( N – J ) = {1, 3, 7 } Si: J = { 6, -2, -4, 5 } → Un complemento de J es : {6, -2, -4, 5, 1, -3, 7 }

28

29 Ejercicio base: Resolver usando enumeración implícita 0-1 de Balas Los coeficientes de la función objetivo deben ser positivos y las restricciones deben ser del tipo menor o igual (≤)

30 Hacemos cambio de variables: coeficientes positivos - 8 se elimina temporalmente, se agrega al final

31 Modificamos las desigualdades: Forma estándar

32 Adicionamos las variables de holgura: Para una cierta combinación de valores de las variables, las restricciones son factibles si las variables de holgura son positivas o cero.

33 Si las variables x i asumen valor cero, el sistema inicial es óptimo e infactible: S 1 = -2; S 2 = 0; S 3 = -1

34 El algoritmo aditivo de Balas resulta después de realizar algunas modificaciones sugeridas por Glover en su esquema de enumeración. A través de un ejercicio base se muestran las condiciones de inicio, las pruebas de sondaje y las pruebas de adición y fijación de variables. Condición inicial: Se puede iniciar con una solución factible encontrada, por ejemplo, a través de una heurística. Esta solución será la incumbente inicial. Se puede iniciar con J 0 = { ø }, solución parcial inicial vacía, y definir la incumbente z min = ∞ y la solución actual z 0 = 0.

35 Para el ejercicio base: N = {1, 2, 3, 4, 5} J 0 = { ø } → solución parcial inicial vacía. z min = ∞ → limitante superior (mejor solución binaria conocida). z 0 = 0 → solución actual.

36 En el ejercicio base: S 0 = { S 1 0, S 2 0, S 3 0 } = { -2, 0, -1 } Las restricciones 1 y 3 son infactibles, por lo tanto esta prueba sólo se le realiza a estas restricciones. Prueba 1: (Balas). Prueba de sondaje por infactibilidad. Identifica las variables libres del problema que al ser promovidas al valor 1 empeoran la infactibilidad de las restricciones que actualmente son infactibles. Los índices de estas variables son almacenados en el vector A t.

37 → Prueba de sondaje por infactibilidad. índices de variables que tienen coeficientes positivos en todas las restricciones infactibles.

38 En el ejercicio base las restricciones 1 y 3 son infactibles: S 1 0 = -2; S 2 0 = 0; S 3 0 = -1 → A 0 = { 2, 5 } i = 1 i = 2 i = 3

39 → N = { 1, 2, 3, 4, 5 } ; J 0 = { ø } ; A 0 = { 2, 5 } En consecuencia, N 0 1 = ( {1, 2, 3, 4, 5 } – { ø } ) - { 2, 5 } N 0 1 = {1, 3, 4 } En el ejercicio base: Variables que al ser promovidas a 1 en la solución actual no empeoran la infactibilidad.

40 A pesar de que pueden mejorar la factibilidad, empeoran la optimalidad. También se define:

41 En el ejercicio base z min = ∞ (no se tiene aún una incumbente ). Además: N 0 1 = {1, 3, 4 } ; Entonces: si x 1 = 1, z 0 = 0 + C 1 = 0 + 5 ≥ ∞ x 3 = 1, z 0 = 0 + C 3 = 0 + 10 ≥ ∞ x 4 = 1, z 0 = 0 + C 4 = 0 + 3 ≥ ∞ Ninguna variable en N 0 1 empeora la optimalidad.

42 En consecuencia, N 0 1 = {1, 3, 4 } ; B 0 = { ø } ; N 0 2 = N 0 1 - B 0 = {1, 3, 4 } – { ø } N 0 2 = {1, 3, 4 } Si N 0 2 es vacio, la solución parcial es sondada y se realiza un movimiento hacia atrás.

43 Observación importante: C t no contiene índices de variables, como las pruebas anteriores, contiene índices de restricciones. selecciona los coeficientes negativos.

44 En el ejercicio base, las restricciones 1 y 3 son infactibles y N 0 2 = {1, 3, 4 } Para i = 1 (restricción 1) : Las variables de N 0 2 se promueven a 1 y se observa si la infactibilidad no puede ser mejorada: 1 0 1 1 0 Si puede ser mejorada, entonces no se agrega a C 0

45 En el ejercicio base, las restricciones 1 y 3 son infactibles y N 0 2 = {1, 3, 4 } Para i = 3 (restricción 3) : Las variables de N 0 2 se promueven a 1 y se observa si la infactibilidad no puede ser mejorada: 0 1 0 0 Si puede ser mejorada, entonces no se agrega a C 0

46 C 0 = { ø } Si C 0 resulta diferente de vacío, existen restricciones que no pueden ser factibles, y la solución actual debe ser sondada. Se realiza un movimiento hacia atrás.

47 Realmente se prueba el caso más favorable en la relación beneficio-costo (factibilidad vs optimalidad). Si no cumple el caso más favorable, entonces ninguno cumple y la solución actual puede ser sondada.

48

49 Ejemplo: Suponer que nos encontramos en un nodo que presenta la siguiente solución parcial: J t = { 1, 2, -4 } y además que se tienen las siguientes condiciones: 1. Función objetivo: z = 10 x 1 + 8 x 2 + 12 x 3 + 6 x 4 + 20 x 5 2.N t 2 = { 3, 5 } 3.Única restricción: 4 x 1 - 2 x 2 - 6 x 3 + 3 x 4 - 4 x 5 + S 1 t = - 6 4. Se conoce una incumbente (solución entera factible) z min = 40

50 Según la solución parcial x 1 = 1 ; x 2 = 1 ; x 4 = 0 ; y x 3 = ? ; x 5 = ? En consecuencia, z t = 18 (solución actual): 1 1 ? 0 ? z = 10 x 1 + 8 x 2 + 12 x 3 + 6 x 4 + 20 x 5 = 18 Según la condición : N t 2 = { 3, 5 } existen dos variables que aún no tienen un valor numérico definido. En la restricción 4 x 1 - 2 x 2 - 6 x 3 + 3 x 4 - 4 x 5 + S 1 t = - 6 promover x 3 y x 5 a 1 resuelve la infactibilidad. Pero como afecta la optimalidad? z t = 18 y con las nuevas variables: z t = 18 + 12 + 20 = 50 La nueva función objetivo supera la incumbente z min : 50 > 40

51 Según la solución parcial x 1 = 1 ; x 2 = 1 ; x 4 = 0 ; y x 3 = ? ; x 5 = ? Infactibilidad actual: 1 1 ? 0 ? 4 x 1 - 2 x 2 - 6 x 3 + 3 x 4 - 4 x 5 + S 1 t = - 6 S 1 t = - 8

52 Puede verificarse que esta opción es inadecuada promoviendo sólo UNA de las variables que se encuentran en N t 2 = { 3, 5 } con la prueba 3´ de Glover- Zionts: Para x 3 : S 1 t * c 3 / a - 13 = (- 8 * 12) / - 6 = 16 Para x 5 : S 1 t * c 5 / a - 15 = (- 8 * 20) / - 4 = 40 Se toma el menor: r 1 = 16 1. Función objetivo: z = 10 x 1 + 8 x 2 + 12 x 3 + 6 x 4 + 20 x 5 2.Única restricción: 4 x 1 - 2 x 2 - 6 x 3 + 3 x 4 - 4 x 5 + S 1 t = - 6

53 Para x 3 : S 1 t * c 3 / a - 13 = (- 8 * 12) / - 6 = 16 Para x 5 : S 1 t * c 5 / a - 15 = (- 8 * 20) / - 4 = 40 Se toma el menor: r 1 = 16 En el ejemplo, eliminar la infactibilidad por completo (si fuera posible) usando la relación beneficio-costo (infactibilidad-optimalidad) de la variable x 3 empeoraría la función objetivo en 16. z t = 18 + 16 = 34 En este caso no queda sondado porque no empeora la incumbente: 34 < 40

54 En el ejercicio base, z min = ∞ por lo tanto la prueba 3´ de Glover-Zionts no sonda porque cualquier variable en N 0 2 = { 1, 3, 4 } al ser promovida a 1 puede reducir la infactibilidad sin afectar la optimalidad. En resumen: x 2 y x 5 fueron descartadas por no ser promisorias. x 1 ; x 3 y x 4 no han sido descartadas por factibilidad ni por optimalidad. Ya que no se puede sondar el nodo, las siguientes pruebas intentan adicionar variables a la solución parcial que es: J 0 = { ø }

55

56 Intenta fijar los valores de las variables libres en 0 ó 1 con el fin de garantizar factibilidad. Sólo considera variables libres. Identifica variables indispensables. No garantiza la promoción de variables a la solución parcial (puede fracasar).

57

58 Para el ejercicio base: N = {1, 2, 3, 4, 5} J 0 = { ø } → solución parcial inicial vacía. z min = ∞ → limitante superior (mejor solución binaria conocida). z 0 = 0 → solución actual. N 0 2 = { 1, 3, 4 } → variables libres

59 S 1 = -2; S 2 = 0; S 3 = -1 N 0 2 = { 1, 3, 4 } → variables libres i = 1 (infactible) libres

60 S 1 0 = -2 i = 1 (infactible) libres Para i = 1: S 1 0 - ∑ [ min (0, a 1j ) ] - | a 1j | < 0 ? -2 - (-1 - 5 -1 ) - | a 1j | < 0 ? para j = 1,3,5 5 - | a 1j | < 0 ? para j = 1,3,5

61 Para i = 1: S 1 0 - ∑ [ min (0, a 1j ) ] - | a 1j | < 0 ? j =1,3,4 5 - | a 1j | < 0 ? para j = 1,3,4 j =1 → 5 - | a 11 | = 5 - | -1 | = 4 no es menor que cero j =3 → 5 - | a 13 | = 5 - | -5 | = 0 no es menor que cero j =4 → 5 - | a 14 | = 5 - | -1 | = 4 no es menor que cero

62 Para i = 3: S 3 0 - ∑ [ min (0, a 3j ) ] - | a 3j | < 0 ? j =1,3,4 -1 - (-2 ) - | a 3j | < 0 ? para j = 1,3,4 1 - | a 3j | < 0 ? para j = 1,3,4 j =1 → 1 - | a 31 | = 1 - | 0 | = 1 no es menor que cero j =3 → 1 - | a 33 | = 1 - | -2 | = -1 es menor que cero j =4 → 1 - | a 34 | = 1 - | 1 | = 0 no es menor que cero

63 Para i = 3: j = 3 → 1 - | a 33 | = 1 - | -2 | = -1 es menor que cero La prueba se cumple en la restricción 3 y para la variable x 3 Se observa el signo de a 33 : a 33 < 0 x 3 se fija en 1

64 x 3 se coloca en 1 y se elimina la opción: x 3 = 0 porque no es promisoria. La solución parcial: J 0 = { ø } es ampliada. Por lo tanto: J 1 = { 3 } El conjunto de variables libres N 0 2 = { 1, 3, 4 } se actualiza: N 1 2 = { 1, 4 }

65 Se actualiza la solución actual z 0 = 0 a: z 1 = 10 ( ) No se actualiza la incumbente porque no se ha chequeado factibilidad. Por lo tanto z min = ∞

66 Permite fijar una variable libre en el nivel 0. Realiza una prueba que combina factibilidad y optimalidad. Se realiza si la prueba de ampliación de Geoffrion fracasa (no logra agregar variables a la solución parcial. Separa variables libres en dos grupos: promisorias por factibilidad (que solas resuelvan la infactibilidad actual) y no promisorias por factibilidad (sin capacidad para resolver solas la infactibilidad). Las no promisorias las coloca en el subconjunto p. Entre las promisorias ( N 0 2 - p ) selecciona la que menos impacta la función objetivo. Su costo se almacena en c h. Con cada una de las no promisorias ( p ) evalúa el empeoramiento en la función objetivo a partir de c h.

67 C h es el costo de la variable que menos afecta la optimalidad y que mejora en mayor medida la factibilidad (sola elimina la infactibilidad). Fija en cero las variables no promisorias cuyo costo, más el de la promisoria menos costosa más el de la función objetivo actual supera la incumbente:

68 En el ejercicio base, asumir que la prueba de ampliación de Geoffrion fracasa y por lo tanto, N 0 2 = { 1, 3, 4 }. La prueba de ampliación de Glover-Zionts intenta adicionar variables a la solución parcial que es: J 0 = { ø } Restricciones violadas: S 1 0 = -2; S 3 0 = -1 (restricciones 1 y 3).

69 Para i=1: S 1 0 = -2 p : índice de las variables en N 0 2 = {1,3,4} que solas no resuelven la infactibilidad al ser promovidas a 1: p  N 0 2 tal que a 1p > S 1 0 a 11 = -1 > S 1 0 = - 2 a 14 = -1 > S 1 0 = - 2 p = {1,4}

70 Para i=1: p = {1,4} Ahora calculamos: N 0 2 = {1,3,4} N 0 2 - p = {1,3,4} - {1,4} = {3} c h = min { c j / j  {3}; a 1j < 0 } c h = c 3 = 10 ya que el único valor posible para j es 3.

71 c h = c 3 = 10 p = {1,4} Para p =1: x 1 ; c 1 = 5 c h + c p ≥ z min - z 0 ? c h + c 1 ≥ ∞ - 0 ? 10 + 5 ≥ ∞ No cumple la prueba, x 1 no es cero

72 c h = c 3 = 10 p = {1,4} Para p = 4: x 4 ; c 4 = 3 c h + c p ≥ z min - z 0 ? c h + c 4 ≥ ∞ - 0 ? 10 + 3 ≥ ∞ No cumple la prueba, x 4 no es cero c

73 Ni x 1 ni x 4 empeoran la optimalidad. Suponer que en caso anterior z min = 40 y z 0 = 26 Para p =1: x 1 ; c 1 = 5 c h + c p ≥ z min - z 0 ? c h + c 1 ≥ 40 - 26 ? 10 + 5 ≥ 14 Cumple la prueba, x 1 = 0 Para p = 4: x 4 ; c 4 = 3 10 + 3 ≥ 14 No cumple la prueba, x 4 no se fija en 0

74 Es una prueba de ampliación (movimiento forward). Permite fijar una variable libre en el nivel 1. Realiza una prueba con una medida empírica de infactibilidad total. Se promueva a 1 la variable que menos afecta la infactibilidad. Se aplica si fracasan las pruebas de ampliación de Geoffrion y de Glover-Zionts.

75 c

76

77 En el ejercicio base, asumir que la prueba de ampliación de Geoffrion y de Glover-Zionts fracasan y por lo tanto, N 0 2 = { 1, 3, 4 }. La prueba 4 de balas (de ampliación) intenta adicionar variables a la solución parcial que es: J 0 = { ø } Variables de holgura: S 1 0 = -2; S 1 0 = 0; S 3 0 = -1 v 1 = ∑ i=1,3 min (0, S i 0 - a i1 )

78 i = 1 i = 2 i = 3 N 0 2 = { 1, 3, 4 } ; v 1 = ∑ i=1,3 min (0, S i 0 - a i1 ); S 1 0 = -2; S 1 0 = 0; S 3 0 = -1 v 1 = min (0, S 1 0 - a 11 ) + min (0, S 2 0 - a 21 ) + min (0, S 3 0 - a 31 ) v 1 = min (0, -2 - (-1) ) + min (0, 0 - 2 ) + min (0, -1 - 0 ) = -1 -2 -1 = -4 v 1 = - 4

79 i = 1 i = 2 i = 3 N 0 2 = { 1, 3, 4 } ; v 3 = ∑ i=1,3 min (0, S i 0 - a i3 ); S 1 0 = -2; S 1 0 = 0; S 3 0 = -1 v 3 = min (0, S 1 0 - a 13 ) + min (0, S 2 0 - a 23 ) + min (0, S 3 0 - a 33 ) v 3 = min (0, -2 - (-5) ) + min (0, 0 - 3 ) + min (0, -1 – (-2)) = 0 -3 + 0 = -3 v 3 = - 3

80 i = 1 i = 2 i = 3 N 0 2 = { 1, 3, 4 } ; v 4 = ∑ i=1,3 min (0, S i 0 - a i4 ); S 1 0 = -2; S 1 0 = 0; S 3 0 = -1 v 4 = min (0, S 1 0 - a 14 ) + min (0, S 2 0 - a 24 ) + min (0, S 3 0 - a 34 ) v 4 = min (0, -2 - (-1) ) + min (0, 0 - 2 ) + min (0, -1 – 1 ) = -1 - 2 - 2 = -5 v 4 = - 5

81 v 1 = - 4 ; v 3 = - 3; v 4 = - 5 v j * = max { v 1, v 3, v 4 } v j * = max { -4, -3, -5 } = -3 v 3 x 3 es promovida a 1 porque es la que menos afecta la infactibilidad.

82 x 3 es promovida a 1. Para el ejercicio base, la nueva solución es: J 1 = { 3 } ; N = {1,2,3,4,5} ; N - J 1 = {1,2,4,5} : variables libres Función objetivo: z = 5 x 1 + 7 x 2 + 10 x 3 + 3 x 4 + x 5 z 1 = 10 ; z min = ∞

83 x 3 es promovida a 1. Se recalcula infactibilidad: x 1 = x 2 = x 4 = x 5 = 0; x 3 = 1; i = 1 i = 2 i = 3 S 1 1 = 3; S 1 1 = - 3; S 3 1 = 1 La solución es infactible. No se actualiza la incumbente

84 Observaciones: 1.Si existe empate se selecciona la de menor costo. 2.Si v j * = 0 no hay infactibilidad y J t+1 (nueva solución parcial) es factible. Se actualiza la incumbente y J t+1 es sondado. 3.Pueden usarse otros criterios para fijar una variable en 1:  x j = 1 : variable que produce menor infactibilidad en la restricción más violada.  x j = 1 : variable que elimine la infactibilidad en el mayor número de restricciones.  x j = 1 : variable que produce menor infactibilidad en la restricción más violada y con bajo valor de c j.  x j = 1 : variable que elimine la infactibilidad en el mayor número de restricciones y con bajo valor de c j.

85 Cuando una variable libre es fijada en 0 ó 1, a través de una de las pruebas de ampliación:  Se redefine el vector J t (solución parcial);  Se chequea factibilidad;  Se inicia una nueva iteración. Si no es posible adicionar variables o una prueba de sondaje resulta exitosa, se realiza un movimiento hacia atrás (backward).

86 Si un solución parcial es sondada, se realiza un movimiento hacia atrás (backward). En el esquema de Balas, debe modificarse el valor de una variable que aparezca en la solución parcial J t. En la regla LIFO, la última variable en entrar es considerada en futuras exploraciones. Por ejemplo, sea J t : J t = {2, -5, 3, 6, 1, 4} Si esta solución parcial es sondada, la nueva solución parcial es definida por la relación: J t+1 = {2, -5, 3, 6, -1} : Regla LIFO

87 J t = {2, -5, 3, 6} J t+1 = {2, -5, 3, -6 } : Regla LIFO x 2 = 1 x 2 = 0 x 5 = 0 x 5 = 1 x 3 = 1 x 6 = 1 S x 6 = 0

88 Tuan observó que el orden en que las variables son analizadas altera el proceso de enumeración (lo hace más o menos rápido). Define una regla según la cual el elemento a ser complementado es aquel que produce la menor cantidad de infactibilidad total en la solución parcial. Define un nuevo subconjunto J´´ que contiene las variables libres existentes de izquierda a derecha entre variables subrayadas o desde la última en entrar y el primer subrayado que se encuentre a la izquierda: Si J t = {2, -5, 3, 6, 1, - 4} J´´ = {3,6,1} Si J t = {2, -5, 3, 6, 7} J´´ = {3,6,7}

89 Para J t = {2, -5, 3, 6, 7} J´´ = {3,6,7} J´´ contiene las variables de la solución parcial que se encuentran en 1. El orden de los elementos 3, 6 y 1 es indiferente y lo realmente importante es el orden y la posición de los elementos subrayados. El criterio para seleccionar u elemento de J´´ es permitir condiciones favorables para producir complementos factibles rápidamente.

90 En el ejercicio base suponer que: J t = {- 2, 1, 3, 4} J´´ = {1,3,4} y se realiza un movimiento backward siguiendo la prueba de Tuan: S t 1 = 5; S t 1 = - 7; S t 1 = 0 Que variable en 1 debe regresar a 0? La que menos afecte la infactibilidad. i = 1 i = 2 i = 3 1 0 1 1 0 0 1 1 0

91

92 En el ejercicio base suponer que: J t = {- 2, 1, 3, 4} J´´ = {1,3,4} S 1 1 = 5; S 1 1 = - 7; S 3 1 = 0 i = 1 i = 2 i = 3 1 0 1 1 0 0 1 1 0 w 1 = ∑ i  m min (0, S 1 1 + a i1 ); w 3 = ∑ i  m min (0, S 3 1 + a i3 ); w 4 = ∑ i  m min (0, S 4 1 + a i4 );

93 S 1 1 = 5; S 1 1 = - 7; S 3 1 = 0 w 1 = ∑ i  m min (0, S i 1 + a i1 ); w 1 = min (0; 5 + (-1)) + min (0; -7 + 2) + min (0; 0 + 0) w 1 = 0 + (-5) + 0 = -5 i = 1 i = 2 i = 3

94 S 1 1 = 5; S 2 1 = - 7; S 3 1 = 0 w 3 = ∑ i  m min (0, S i 1 + a i3 ); w 3 = min (0; 5 + (-5)) + min (0; -7 + 3) + min (0; 0 + (-2)) w 1 = 0 + (-4) + (-2) = -6 i = 1 i = 2 i = 3

95 S 1 1 = 5; S 2 1 = - 7; S 3 1 = 0 w 4 = ∑ i  m min (0, S i 1 + a i4 ); w 4 = min (0; 5 + (-1)) + min (0; -7 + 2) + min (0; 0 + 1) w 1 = 0 + (-5) + 0 = -5 i = 1 i = 2 i = 3

96 w 1 = - 5 ; w 3 = - 6; w 4 = - 5 w p = max { w 1, w 3, w 4 } w p = max { -5, -6, -5 } = -5 w 3 o w 4 x 1 se complementa ya que c 1 > c 4.

97 x 1 pasa a 0 y su complemento se sonda. J t = {2, -5, 1, 3, 4} Entonces: J t+1 = {2, -5, -1, 3, 4} Que es equivalente a: J t+1 = {2, -5, 3, 4, -1}

98

99

100 Ejemplo: Encontrar la solución óptima del siguiente PLE con variables binarias: N = {1, 2, 3, 4, 5}

101 S 1 0 = -2; S 2 0 = 0; S 3 0 = -1 → infactibilidad inicial de cada restricción x 1 = x 2 = x 3 = x 4 = x 5 = 0 J 0 = { ø } → solución parcial inicial vacía. z min = ∞ → limitante superior (mejor solución factible conocida). z 0 = 0 → solución actual.

102 Para la primera iteración t = 0: → A 0 = { 2, 5 } i = 1 i = 2 i = 3 S 1 0 = -2 S 2 0 = 0 S 3 0 = -1 Variables libres con coeficiente positivo en todas las restricciones violadas.

103 → N = { 1, 2, 3, 4, 5 } ; J 0 = { ø } ; A 0 = { 2, 5 } N 0 1 = ( N - J 0 ) - A 0 N 0 1 = ( {1, 2, 3, 4, 5 } – { ø } ) - { 2, 5 } N 0 1 = {1, 3, 4 } Como N 0 1 ≠ { ø } no sonda el nodo inicial Variables que al ser promovidas a 1 en la solución actual no empeoran la infactibilidad.

104 Intenta excluir variables libres en N 0 1 porque afectan la optimalidad. → B 0 = { ø }

105 N 0 2 = N 0 1 - B 0 = {1, 3, 4 } – { ø } N 0 2 = {1, 3, 4 } N 0 2 no es vacia, la solución parcial no es sondada.

106 Identifica restricciones infactibles que no se pueden factibilizar usando las variables en N 0 2 N 0 2 = {1, 3, 4 } Para i = 1 (restricción 1) : Las variables de N 0 2 se promueven a 1 y se observa si la infactibilidad no puede ser mejorada: 1 1 1 1 0 1 1 0 Si puede ser mejorada, entonces no se agrega a C 0

107 N 0 2 = {1, 3, 4 } Para i = 3 (restricción 3) : Las variables de N 0 2 se promueven a 1 y se observa si la infactibilidad no puede ser mejorada. Si puede ser mejorada, entonces no se agrega a C 0 La prueba no sonda por infactibilidad.

108 Calcula el costo relativo asociado a las variables libres en N 0 2 que pueden resolver infactibilidad pero afectan la optimalidad mas allá de la incumbente. Como aún no se tiene una incumbente, z min = ∞ no es posible afectar la optimalidad. No se realiza la prueba. No sonda.

109 Identifica variables indispensables en N 0 2 para alcanzar factibilidad y su valor 0 ó 1. S 3 0 = -1 S 1 0 = -2 N 0 2 = {1, 3, 4 }

110 Para i = 1: S 1 0 - ∑ [ min (0, a 1j ) ] - | a 1j | < 0 ? j =1,3,4 -2 - (-1 - 5 -1 ) - | a 1j | < 0 ? para j = 1,3,4 5 - | a 1j | < 0 ? para j = 1,3,4 j =1 → 5 - | a 11 | = 5 - | -1 | = 4 no es menor que cero j =3 → 5 - | a 13 | = 5 - | -5 | = 0 no es menor que cero j =4 → 5 - | a 14 | = 5 - | -1 | = 4 no es menor que cero S 1 0 = -2

111 Para i = 3: S 3 0 - ∑ [ min (0, a 3j ) ] - | a 3j | < 0 ? j =1,3,4 -1 - (-2 ) - | a 3j | < 0 ? para j = 1,3,4 1 - | a 3j | < 0 ? para j = 1,3,4 j =1 → 1 - | a 31 | = 1 - | 0 | = 1 no es menor que cero j =3 → 1 - | a 33 | = 1 - | -2 | = -1 es menor que cero j =4 → 1 - | a 34 | = 1 - | 1 | = 0 no es menor que cero S 3 0 = -1

112 La prueba se cumple en la restricción 3 y para la variable x 3 Se observa el signo de a 33 : a 33 < 0 x 3 se fija en 1

113 La solución parcial: J 0 = { ø } es ampliada. Por lo tanto: J 1 = { 3 } Siempre entra subrayada si la ampliación la realiza la prueba de Geoffrion, ya que es una variable indispensable. Se incrementa el contador de iteraciones: t = 1. Se actualiza la solución actual z 0 = 0 a: z 1 = 10 ( )

114 J 1 = { 3 } J 0 = { ø }

115 No se actualiza la incumbente porque no se logra la factibilidad: La restricción 2 es infactible con la nueva solución parcial. Por lo tanto z min = ∞ i = 1 i = 2 i = 3 S 1 1 = 3 S 2 1 = -3 S 3 1 = 1 1 1 1

116 Para la iteración t = 1: → A 1 = { 1, 4 } Variables libres con coeficiente positivo en todas las restricciones violadas. x 1 = x 2 = x 4 = x 5 = 0 ; x 3 = 1 i = 1 i = 2 i = 3 S 1 1 = 3 S 2 1 = -3 S 3 1 = 1 N - J 1 = {1,2,4,5} : variables libres

117 → N = { 1, 2, 3, 4, 5 } ; J 1 = { 3 } ; A 1 = { 1,4 } N 1 1 = ( N - J 1 ) - A 1 N 0 1 = ( {1, 2, 3, 4, 5 } – { 3 } ) - { 1, 4 } N 1 1 = { 2,5 } Como N 1 1 ≠ { ø } no sonda el nodo de J 1 Variables que al ser promovidas a 1 en la solución actual no empeoran la infactibilidad.

118 N 1 1 = { 2,5 } x 2 = 1, z 1 + c 2 = 10 + 7 = 17 ≥ ∞ x 5 = 1, z 1 + c 5 = 10 + 1 = 11 ≥ ∞ Ninguna variable en N 1 1 afectan la optimalidad si fuesen promovidas a 1 Intenta excluir variables libres en N 1 1 porque afectan la optimalidad. → B 1 = { ø }

119 N 1 2 = N 1 1 - B 1 = { 2,5 } – { ø } N 1 2 = { 2,5 } N 1 2 no es vacia, la solución parcial no es sondada.

120 N 1 2 = { 2,5 } Para i = 2 (restricción 2) : Las variables de N 1 2 se promueven a 1 y se observa si la infactibilidad no puede ser mejorada: 1 1 Si puede ser mejorada, entonces no se agrega a C 0 No sonda Identifica restricciones infactibles que no se pueden factibilizar usando las variables en N 1 2 S 2 1 = -3, - 6 – 2 > -3 S 2 = 5

121 Calcula el costo relativo asociado a las variables libres en N 1 2 que pueden resolver infactibilidad pero afectan la optimalidad más allá de la incumbente. Como aún no se tiene una incumbente, z min = ∞ no es posible afectar la optimalidad. No se realiza la prueba. No sonda.

122 Identifica variables indispensables en N 0 2 para alcanzar factibilidad y su valor 0 ó 1. S 2 1 = -3 N 1 2 = { 2,5 }

123 Para i = 2: S 2 1 - ∑ [ min (0, a 2j ) ] - | a 2j | < 0 ? j =2,5 -3 - (-6 - 2) - | a 2j | < 0 ? para j = 2,5 5 - | a 2j | < 0 ? para j = 2,5 j =2 → 5 - | a 22 | = 5 - | -6 | = -1 es menor que cero j =5 → 5 - | a 25 | = 5 - | -2 | = 3 no es menor que cero S 2 1 = -3

124 La prueba se cumple en la restricción 2 y para la variable x 2 Se observa el signo de a 22 : a 22 < 0 x 2 se fija en 1 S 2 1 = -3

125 La solución parcial: J 1 = { 3 } es ampliada. Por lo tanto: J 2 = { 3, 2 } Siempre entra subrayada si la ampliación la realiza la prueba de Geoffrion, ya que es una variable indispensable. Se incrementa el contador de iteraciones: t = 1. Se actualiza la solución actual z 1 = 10 a: z 2 = 10 + 7 = 17 ( )

126 J 1 = { 3 } J 0 = { ø } J 2 = { 3, 2 }

127 Se actualiza la incumbente porque se logra la factibilidad: La solución parcial: x 2 = 1 ; x 3 = 1 ; x 1 = x 4 = x 5 = 0 ; Es factible. Se actualiza la incumbente: z min = 17 y se sonda. i = 1 i = 2 i = 3 S 1 2 = 0 S 2 2 = 3 S 3 2 = 0 1 1 1 1 1 1

128 J 1 = { 3 } J 0 = { ø } J 2 = { 3, 2 }

129 Como z 2 = 17 (limitante inferior) Y z min = 17 (limitante superior) Y en J 2 = { 3, 2 } todas las variables están subrayadas (no existen complementos factibles y de mejor calidad), y no se pueden realizar pruebas de ampliación porque este nodo fue sondado, el proceso finaliza con la siguiente solución óptima: z * = 17 x 2 = 1 ; x 3 = 1 ; x 1 = x 4 = x 5 = 0 ;

130 J 1 = { 3 } J 0 = { ø } J 2 = { 3, 2 } z * = 17

131 Recordar que el problema resuelto se obtuvo de la modificación de otro PLE: - 8 Con:

132 Hacemos cambio de variables: coeficientes positivos - 8 se elimina temporalmente, se agrega al final

133 x 2 = 1 ; x 3 = 1 ; x 1 = x 4 = x 5 = 0 ; Es equivalente en el problema original a: y 1 = y 2 = y 3 = y 4 = 1 ; y 5 = 0 ;

134 Además, para la función objetivo se tiene la siguiente equivalencia: Por lo tanto, la función objetivo del PLE original es: Z * = 17 – 8 = 9 z * = 17

135


Descargar ppt "Programación Lineal Entera Antonio H. Escobar Z. 2013 Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería – Maestría/Doctorado."

Presentaciones similares


Anuncios Google