La incorporación de estos cuatro cambios al resumen que se presentó en la sección anterior del algoritmo de programación entera binaria lleva al siguiente resumen del nuevo algoritmo de programación entera mixta.
viernes, 31 de julio de 2015
Algoritmo de ramificación y acotamiento para programación entera mixta (V)
La incorporación de estos cuatro cambios al resumen que se presentó en la sección anterior del algoritmo de programación entera binaria lleva al siguiente resumen del nuevo algoritmo de programación entera mixta.
jueves, 30 de julio de 2015
Algoritmo de ramificación y acotamiento para programación entera mixta (IV)
El tercer cambio se hace en el paso de acotamiento. Antes, con un problema de PE pura y coeficientes enteros en la función objetivo, el valor de Z para la solución óptima de la soltura de PL del subproblema, se redondeaba hacia abajo para obtener la cota, ya que cualquier solución factible para el problema debía tener una Z entera. Ahora, Con algunas variables sinla restricciónn de enteras, la cota es el valor de Z sin redondear.
miércoles, 29 de julio de 2015
Algoritmo de ramificación y acotamiento para programación entera mixta (III)
Para aclarar cómo se hace esto, sea xj la variable de ramificación actual y sea x*j su valor (no entero) en la solución óptima de la soltura de PL del subproblema actual. Con paréntesis cuadrados sea
[x*j] = entero más grande menor o igual que x*j
los intervalos de valores para los dos nuevos subproblemas son
martes, 28 de julio de 2015
Algoritmo de ramificación y acotamiento para programación entera mixta (II)
Se describirá un algoritmo básico de ramificación y acotamiento para resolver este problema que, un poco más elaborado, ha proporcionado el enfoque estándar a PEM. La estructura de este algoritmo fue desarrollada por R.J. Dakin basándose en un algoritmo anterior que se debera a A.H. Land y A.G. Doig.
ESte algoritmo es bastante parecido en estructura al algoritmo de PEB que se presentó en la sección anterior. De nuevo la solución de una soltura de PL proporciona la base tanto para la ramificación como para el acotamiento. De hecho sólo se necesitan cuatro cambios al algoritmo de PEB para manejar la generalización de variables enteras binarias a generales y de PE pura a PE mixta.
Un cambio involucra la elección de la variable de ramificación. Antes se elegía de manera automática la siguiente variable en el ordenador natural (x1,x2,.......xn). Ahora, las únicas variables que se toman en cuenta son las variables con restricción de enteras que tienen un valor no entero en la solución óptima de la soltura de PL para el subproblema actual. La regla para elegir estas variables será la primera de la lista en el orden natural. (Los paquetes de producción casi siempre utilizan una regla más complicada.)
lunes, 27 de julio de 2015
Algoritmo de ramificación y acotamiento para programación entera mixta (I)
domingo, 26 de julio de 2015
Otras opciones con la técnica de ramificación y acotamiento (VII)
sábado, 25 de julio de 2015
Otras opciones con la técnica de ramificación y acotamiento (VI)
Z ≥ Z** - K o como Z ≥ (1 - α)Z**
para una constante (positiva) específica K o α. Por ejemplo, si α=0.05, entonces se requiere que la solución se encuentre a un 5% de la óptima. Para encontrar una solución "suficientemente cerca" a la óptima sólo se necesita un cambio en el procedimiento usual de ramificación y acotamiento. ESte cambio consiste en reemplazar la prueba de sondeo 1 para un subproblema,
Cota ≤ Z*?
ya sea por Cota - K ≤ Z*?
o bien por (1 - α) cota ≤ Z*?
viernes, 24 de julio de 2015
Otras opciones con la técnica de ramificación y acotamiento (V)
Hasta ahora se ha descrito cómo usar la técnica de ramificación y acotamiento para encontrar una solución óptima. Sin embargo, en el caso de empates a veces es deseable identificar todas estas soluciones óptimas para que la elección final entre ellas pueda hacerse sobre factores intangibles que no se incorporaron al modelo matemático. Para encontrarlas todas es necesario hacer unos cuantos cambios al procedimiento. Primero, se cambia la desigualdad débil en la prueba de sondeo 1 (Es la cota del subproblema ≤ Z*?) or una desigualdad estricta (Es la cota del subproblema < Z*?) para que el sondeo no ocurra si el subproblema puede tener una solución factible igual a la de apoyo. Segundo, si la prueba de sondeo 3 pasa y la solución óptima para el subproblema tiene Z = Z*, entonces se almacena esta solución como otra solución de apoyo (empatada o no), se verifica si la solución óptima obtenida para la soltura es única. Si no lo es, se identifican las otras soluciones óptimas de la soltura y se verifica que sean óptimas también para el subproblema, en cuyo caso se convierten en incumbentes. Por último, cundo la prueba de optimalidad encuentra que no hay subconjuntos restantes (sin sondear), todas las soluciones de apoyo actuales serán soluciones óptimas.
jueves, 23 de julio de 2015
Otras opciones con la técnica de ramificación y acotamiento (IV)
Si el problema original involucra minimización en lugar de maximización, se tienen dos opciones. Una es convertirlo a maximización en la forma usual (véase la sección 4.6). La otra es convertir directamente el algoritmo de ramificación y acotamiento a la forma de minización, en donde el ajuste más importante es cambiar la dirección de la desigualdad para la prueba de sondeo 1, de
Es la cota del subproblema ≤ Z*?
a
Es la cota del subproblema ≥ ZZ*?
miércoles, 22 de julio de 2015
Otras opciones con la técnica de ramificación y acotamiento - Resumen de criterios de sondeo
Criterio 1: las soluciones factibles del problema cumplen que Z ≤ Z*, o
Criterio 2: el subproblema no tiene soluciones factibles, o
Criterio 3:se encontró una solución óptima del subproblema.
martes, 21 de julio de 2015
Otras opciones con la técnica de ramificación y acotamiento (III)
Una opción que se emplea a veces es la solución rápida de una soltura y después, si no se logra el sondeo, se cierra la soltura de alguna forma para obtener una mejor cota.
El sondeo casi siempre se hace como se describió en el algoritmo de PEB. Los tres criterios para sondear se pueden establecer en términos más generales como sigue:
lunes, 20 de julio de 2015
Otras opciones con la técnica de ramificación y acotamiento (II)
Maximizar Z = cx,
se reemplaza por
Maximizar ZR = cx - λ(Ax - b)
en donde el vector fijo λ ≤ 0. Si x* es una solución óptima para el problema original, su Z ≤ ZR, por o que al obtener un valor óptimo de ZR con la soltura de Lagrange se llega a una cota válida. Si λ se elige bien, esta cota tiende a ser razonablemente cerrada (al menos comparable a la cota de la soltura de PL). Sin restricciones funcionales, esta soltura se puede obtener muy rápido. Las desventajas son que las pruebas de sondeo 2 y 3 (cambiadas) no son tan poderosas como las de la soltura de PL. No obstante, en ocasiones se usan las dos solturas juntas con bastantes ventajas.
domingo, 19 de julio de 2015
Otras opciones con la técnica de ramificación y acotamiento (I)
Cada algoritmo de ramificación y acotamiento contiene los mismos pasos básicos de ramificación, acotamiento y sondeo. La flexibilidad consiste en cómo se realizan estos pasos.
La ramificación siempre implica seleccionar un subproblema restante y dividirlo en subproblemas más pequeños. En este caso, la flexibilidad se encuentra en las en las reglas para seleccionar y dividir. El algoritmo que se presentó elige el subproblema de creación más reciente, porque esto es muy eficiente para reoptimizar cada soltura de PL a partir de la anterior. Elegir el subproblema con la mejor cota es la otra regla popular, ya que tiende a llegar más rápido a mejores soluciones de apoyo y más sondeos. También se puede usar una combinación de estas dos reglas. La división casi siempre (pero no siempre) se hace seleccionando una variable de ramificación y asignándole, ya sea valores individuales (como el algoritmo), o intervalos de valores (como en el algoritmo de la siguiente sección). Algoritmos más elaborados por lo general utilizan una regla para elegir estratégicamente una variable de ramificación que tienda a sondeos rápidos.
sábado, 18 de julio de 2015
Iteración 4 (II)
Subproblema 3: cota = 13 ≤ Z* = 14
Entonces, este subproblema queda sondeado.
Se tiene ahora el árbol de solución en la figura 13.7. Nótese que no hay subproblemas restantes (sin sondear). En consecuencia, la prueba de optimalidad indica que la solución de apoyo actual.,
(x1, x2, x3, x4) = (1,1,0,0)
es óptima, y el problema termina aquí.
viernes, 17 de julio de 2015
Iteración 4 (I)
jueves, 16 de julio de 2015
Iteración 3 (II)
En la figura 13.6 se muestra el árbol de solución.
miércoles, 15 de julio de 2015
Iteración 3 (I)
martes, 14 de julio de 2015
Iteración 2 (II)
Obsérvese que estas cotas son más grandes que Z* = 9, así que la prueba de sondeo 1 fracasa en ambos casos. La prueba 2 también fracasa, ya que ambas solturas de PL tienen soluciones factibles (como lo indica la existencia de una solución óptima). La prueba 3 también fracasa, porque ambas soluciones óptimas incluyen variables con valores no enteros.
La figura 13.5 muestra el árbol de solución resultante en este punto. La falta de una S a la derecha de cualquiera de los nuevos nodos indica que ambos quedan sin sondear.
lunes, 13 de julio de 2015
Iteración 2 (I)
domingo, 12 de julio de 2015
Final del ejemplo
sábado, 11 de julio de 2015
Sondeo IV
viernes, 10 de julio de 2015
Resumen de la técnica de ramificación y acotamiento de PEB: Prueba de optimalidad
jueves, 9 de julio de 2015
Resumen de la técnica de ramificación y acotamiento de PEB: Paso para cada iteración
- Ramificación: entre los subproblemas restantes (no sondeados) se elige el de creación más reciente. (Los empates se rompen con el que tenga la cota más grande.) Se ramifica este nodo en ese subproblema, para crear dos nuevos subproblemas fijando la siguiente variable (la variable de ramificación) ya sea en 0 o en 1.
- Acotamiento: para cada nuevo subproblema se obtiene su cota aplicando el método simplex a su soltura de PL y redondeando hacia abajo el valor de Z en la solución óptima que resulta.
- Sondeo: para cada nuevo subproblema se aplican las tres pruebas de sondeo que se resumieron antes y se descartan aquellos subproblemas que quedan sondeados por cualquiera de las tres pruebas.
miércoles, 8 de julio de 2015
Resumen de la técnica de ramificación y acotamiento de PEB: Paso inicial
martes, 7 de julio de 2015
Resumen de las pruebas de sondeo (II)
Las iteraciones siguientes ilustrarán la aplicación exitosa de las tres pruebas, pero antes de continuar con el ejemplo se resumirá el algoritmo que se está aplicando a este problema de PEB. (El algoritmo supone que todos los coeficientes de la función objetivo son enteros y que el orden de las variables para la ramificación es x1, x2,......xn).
lunes, 6 de julio de 2015
Resumen de las pruebas de sondeo (I)
Prueba 1: su cota ≤ Z*,
o
Prueba 2: Su soltura de PL no tiene soluciones factibles,
o
Prueba 3: la solución óptima para su soltura de PL es entera. (Si esta solución es mejor que la de apoyo, se convierte en la nueva de apoyo y se aplica de nuevo la prueba 1 a todos los subproblemas no sondeados, con la nueva Z* mejor.)
domingo, 5 de julio de 2015
Sondeo (III)
En los tres casos, se busca una solución óptima reteniendo sólo aquellos subproblemas que posiblemente tengan una mejor solución factible que la de apoyo actual.
sábado, 4 de julio de 2015
Sondeo (II)
Establecido en forma general, un subproblema se sondea siempre que su
Cota ≤ Z*
Esto ocurre en la iteracción actual del ejemplo porque el subproblema 2 tiene una cota de 16 que es mayor que 9. No obstante, puede ocurrir más adelante, para los descendientes de este subproblema (nuevos problemas más pequeños creados al ramificar más este subproblema y quizá después al ramificarlo más en "generaciones" subsecuentes) Lo que es más, conforme se encuentren nuevas soluciones de apoyo con valores más grandes de Z*, será más fácil sondear de esta manera.
viernes, 3 de julio de 2015
Sondeo (I)
Una de estas formas se ilustra con los resultados del subproblema 1 dados en el nodo x1 = 0, en la figura 13.3. Nótose que la solución óptima (única) de esta soltura de PL, (x1, x2, x3, x4) = (0,1, 0, 1), es una solución entera. Entonces, esta solución debe ser también la solución óptima para el subproblema 1 en sí. Esta solución debe almacenarse como la primera solución incumbente o de apoyo (la primera solución factible que se ha encontrado hasta ahora) para el problema completo, junto con su valor de Z. Este valor se denota por
Z* = valor de Z para la solución de apoyo actual,
de manera que en este punto Z* = 9. Una vez almacenada esta solución, no hay razón para seguir tomando en cuenta el subproblema 1 y ramificar el nodo x1 = 0. Hacerlo sólo conduciría a otras soluciones factibles inferiores a la de apoyo que no son de interés. Ahora, como ya se resolvió, el subproblema 1 se sondea (elimina).
jueves, 2 de julio de 2015
Acotamiento (III)
Soltura de PL del subproblema 1: (x1, x2, x3, x4) = (0, 1, 0, 1), con Z = 9
Soltura de PL del subproblema 2: (x1, x2, x3, x4) = (1, 4/5, 0, 4/5), con Z = 16(1/5)
Las cotas que se obtienen son entonces
Cota para el subproblema 1: Z ≤ 9
Conta para el subproblema 2: Z ≤ 16.
La figura 13.3 resume estos resultados, en donde los números que se encuentran justo abajo de los nodos son las cotas, y debajo de cada cota se da la solución óptima obtenida para la soltura de PL.
miércoles, 1 de julio de 2015
Acotamiento (II)
Conta para todo el problema: Z ≤ 16.