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

Slides:



Advertisements
Presentaciones similares
Programación entera En muchos problemas reales las variables sólo pueden tomar valores enteros Ejemplos: decisiones sobre inversiones, compras, arranques,
Advertisements

Diseño y análisis de algoritmos
Grupo 4 Matías Melgar Pablo Carbonell
DERIVADA DE UNA FUNCION REAL
Tema 3: Introducción a la programación lineal
Programación Lineal Entera Antonio H. Escobar Z Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería – Maestría/Doctorado.
Investigación de Operaciones II
Expresión de un problema de programación lineal Aplicaciones de la programación lineal Soluciones de un problema lineal Resolución gráfica de un problema.
KRIGING.
ESTRATEGIAS Y DISEÑOS AVANZADOS DE INVESTIGACIÓN
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
METODO SIMPLEX El método Simplex es un procedimiento iterativo que permite ir mejorando la solución a cada paso. El proceso concluye cuando no es posible.
Investigación Operativa
Solución de problemas por búsqueda inteligente
MODELOS DE ECUACIONES SIMULTÁNEAS
Optimización matemática Algoritmos Genéticos – Parte 2 Por: Antonio H
Answering Queries Using Views (Levy, Mendelzon, Sagiv, Srivastava) Javier López C.
2- SIMPLEX.
Maracaibo, 5 de Noviembre de 2007 Universidad del Zulia Facultad de Ingeniería Instituto de Cálculo Aplicado Universidad del Zulia Facultad de Ingeniería.
Programación Lineal Entera Antonio H. Escobar Z Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería – Maestría/Doctorado.
Algoritmo Simplex Dual Como sabemos, el método simplex es un algoritmo iterativo que iniciando en una solución básica factible pero no óptima, genera soluciones.
EXPANSIÓN DE SISTEMAS ELÉCTRICOS DE Universidad Tecnológica de Pereira
Universidad de los Andes-CODENSA
Programación Lineal Entera
Método de Gauss-Seidel
Resolución de Problemas Método Simplex
EL PODER DE SOLVER.
Universidad de los Andes-CODENSA
Resolución de Problemas Método Simplex
Programación Lineal Unidad 1 Parte 3.
Programación Lineal Entera Antonio H. Escobar Z Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería – Maestría/Doctorado.
Antonio Escobar Z. Pereira – 2012
Solución de problemas por Búsqueda
Optimización, Búsqueda Heurística
Diseño y análisis de algoritmos
DEFINICIONES Sea (P) el siguiente problema de programación lineal:
Diseño y análisis de algoritmos
(Organización y Manejo de Archivos)
Descomposición Factorial Unidad 5
Optimización matemática Algoritmo de Búsqueda Tabú Por: Antonio H
INSTITUTO TECNOLÓGICO DE VILLAHERMOSA. CATEDRATICO:
Variables acotadas Sea: (P) Min c T x / Ax = b x  0, x  u donde c  R n, b  R m y A es una matriz de rango completo mxn con n>m. En una iteración cualquiera.
Programación Lineal Entera Antonio H. Escobar Z Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería – Maestría/Doctorado.
Backtracking 1. Método general. 2. Análisis de tiempos de ejecución.
Parte II. Algorítmica. 5. Backtracking. 1. Análisis de algoritmos.
PLANEAMIENTO DE LA EXPANSIÓN DE SISTEMAS ELÉCTRICOS DE TRANSMISIÓN Antonio Escobar Z. Grupo de Planeamiento Universidad Tecnológica de Pereira 2012.
Programación Lineal Entera Antonio H. Escobar Z Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería Maestría en Ingeniería Eléctrica.
Capacidad de Proceso.
3- PROGRAMACION LINEAL PARAMETRICA
5. El Método Simplex En lo que sigue consideremos un problema de programación lineal en su forma estándar ³ =
Parte I. Estructuras de Datos.
Modelos Cuantitativos
Parte I. Estructuras de Datos.
Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas.
Dualidad Multiplicadores Dualidad Aplicación práctica:
1 Condiciones de extremo Proceso para derivar las condiciones De problema más simple a más complejo Progresión de problemas: Problema sin restricciones.
TEMA 5: El problema del flujo con costo mínimo
Optimización Combinatoria y Grafos Búsqueda Tabú
Programación Lineal Antonio H. Escobar Z Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería – Maestría/Doctorado.
Programación Lineal Antonio H. Escobar Z Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería – Maestría/Doctorado.
Programación Lineal Antonio H. Escobar Z Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería – Maestría/Doctorado.
CIFRAS SIGNIFICATIVAS
Escalamiento Multidimensional No-Métrico. Rasgos generales Busca las mejores posiciones de n objetos en un espacio de k dimensiones que se asemejen más.
METODO DE SUMA Y RESTA. INDICE.
Modelos de Minimización
Prof. Juan José Bravo B., M.Sc. ©
Método Simplex Es un procedimiento sistemático y eficiente para encontrar y probar soluciones situadas en los puntos extremos de la región de soluciones.
 E Expresión de un problema de programación lineal  A Aplicaciones de la programación lineal  S Soluciones de un problema de programación lineal.
Método Simplex Es un procedimiento sistemático y eficiente para encontrar y probar soluciones situadas en los puntos extremos de la región de soluciones.
Programación Lineal Método Simplex.
Transcripción de la presentación:

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

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

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.

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.

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.

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.

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.

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.

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.

PLE

0-1

En formato matricial:

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 }

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 (≤)

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

Modificamos las desigualdades: Forma estándar

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.

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

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.

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.

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.

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

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

→ 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.

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

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 = ≥ ∞ x 3 = 1, z 0 = 0 + C 3 = ≥ ∞ x 4 = 1, z 0 = 0 + C 4 = ≥ ∞ Ninguna variable en N 0 1 empeora la optimalidad.

En consecuencia, N 0 1 = {1, 3, 4 } ; B 0 = { ø } ; N 0 2 = N 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.

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

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: Si puede ser mejorada, entonces no se agrega a C 0

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: Si puede ser mejorada, entonces no se agrega a C 0

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.

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.

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 x x x x 5 2.N t 2 = { 3, 5 } 3.Única restricción: 4 x x x x x 5 + S 1 t = Se conoce una incumbente (solución entera factible) z min = 40

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 x x x 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 x x x 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 = = 50 La nueva función objetivo supera la incumbente z min : 50 > 40

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 x x x x 5 + S 1 t = - 6 S 1 t = - 8

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 = Función objetivo: z = 10 x x x x x 5 2.Única restricción: 4 x x x x x 5 + S 1 t = - 6

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 = = 34 En este caso no queda sondado porque no empeora la incumbente: 34 < 40

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 = { ø }

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).

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

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

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

Para i = 1: S ∑ [ 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

Para i = 3: S ∑ [ min (0, a 3j ) ] - | a 3j | < 0 ? j =1,3, (-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

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

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 }

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 = ∞

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 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.

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:

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).

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}

Para i=1: p = {1,4} Ahora calculamos: N 0 2 = {1,3,4} N 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.

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 ? ≥ ∞ No cumple la prueba, x 1 no es cero

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 ? ≥ ∞ No cumple la prueba, x 4 no es cero c

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 ≥ ? ≥ 14 Cumple la prueba, x 1 = 0 Para p = 4: x 4 ; c 4 = ≥ 14 No cumple la prueba, x 4 no se fija en 0

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.

c

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 )

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 a 11 ) + min (0, S a 21 ) + min (0, S a 31 ) v 1 = min (0, -2 - (-1) ) + min (0, ) + min (0, ) = = -4 v 1 = - 4

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 a 13 ) + min (0, S a 23 ) + min (0, S a 33 ) v 3 = min (0, -2 - (-5) ) + min (0, ) + min (0, -1 – (-2)) = = -3 v 3 = - 3

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 a 14 ) + min (0, S a 24 ) + min (0, S a 34 ) v 4 = min (0, -2 - (-1) ) + min (0, ) + min (0, -1 – 1 ) = = -5 v 4 = - 5

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.

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 x x x 4 + x 5 z 1 = 10 ; z min = ∞

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

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.

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).

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

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

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}

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.

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 =

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 = w 1 = ∑ i  m min (0, S a i1 ); w 3 = ∑ i  m min (0, S a i3 ); w 4 = ∑ i  m min (0, S a i4 );

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; ) + min (0; 0 + 0) w 1 = 0 + (-5) + 0 = -5 i = 1 i = 2 i = 3

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; ) + min (0; 0 + (-2)) w 1 = 0 + (-4) + (-2) = -6 i = 1 i = 2 i = 3

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; ) + min (0; 0 + 1) w 1 = 0 + (-5) + 0 = -5 i = 1 i = 2 i = 3

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.

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}

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

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.

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.

→ 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.

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

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

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: Si puede ser mejorada, entonces no se agrega a C 0

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.

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.

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 }

Para i = 1: S ∑ [ min (0, a 1j ) ] - | a 1j | < 0 ? j =1,3, ( ) - | 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

Para i = 3: S ∑ [ min (0, a 3j ) ] - | a 3j | < 0 ? j =1,3, (-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

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

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

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

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 =

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

→ 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.

N 1 1 = { 2,5 } x 2 = 1, z 1 + c 2 = = 17 ≥ ∞ x 5 = 1, z 1 + c 5 = = 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 = { ø }

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

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

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.

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

Para i = 2: S ∑ [ min (0, a 2j ) ] - | a 2j | < 0 ? j =2, (-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

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

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 = = 17 ( )

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

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 =

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

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 ;

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

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

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

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 ;

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