lunes, 31 de agosto de 2015
El problema de la mezcla de productos con elasticidad en los precios (I)
domingo, 30 de agosto de 2015
Algunas aplicaciones
sábado, 29 de agosto de 2015
Programación no lineal (II)
viernes, 28 de agosto de 2015
Programación no lineal (I)
De una manera general, el problemade programación no lineal consiste en encontrar x = (x1, x2,......xn) para
Maximizar f(x).
sujeta a gi(x) ≤ bi, para i = 1,2,......m
x ≥ 0,
en donde f(x) y las gi(x) son funciones dadas de n variables de decisión.
jueves, 27 de agosto de 2015
Conclusión Programación Entera (III)
Recientemente se han llevado a cabo muchas investigaciones con el fin de desarrollar algoritmos para programación entera no lineal, área cuyo estudio continúa muy activo.
miércoles, 26 de agosto de 2015
Conclusión Programación Entera (II)
A veces los problemas prácticos de PE son tan grandes que no se pueden resolver ni con los últimos algoritmos. En estos casos, es común aplicar el método símplex nada más a la soltura de PL y después redondear la solución a una solución entera factible. Este enfoque no suele ser satisfactorio porque puede ser difícil (o imposible) encontrar una solución etera factible de esta manera. Y aun encontrándola, puede estar muy alejada del óptimo. Esto es cierto en especial cuando se manejan variables binarias e incluso variables enteras generales con valores pequeños.
martes, 25 de agosto de 2015
Conclusión Programación Entera (I)
En la actualidad es común que se disponga de paquetes de computadora para algoritmos de programación entera en el software de programación matemática. EStos algoritmos casi siempre se basan en la técnica de ramificación y acotamiento o en alguna variación de ésta.
lunes, 24 de agosto de 2015
Programación Entera Desarrollos recientes (IX)
domingo, 23 de agosto de 2015
Programación Entera Desarrollos recientes (VIII)
El nuevo enfoque algorítmico presentado en las referencias selectas 1,4 y 13 implica la generación de muchas cortaduras en forma parecida antes de aplicar las técnicas de ramificación y acotamiento. Los resultados al incluir cortaduras pueden ser importantes para estrechar las solturas de PL. Por ejemplo, para el problema de prueba con 2756 variables binarias del artículo de 1983, se generaron 326 cortaduras. El resultado fue que la distancia entre el valor de Z de la solución óptima de la soltura de PL del problema completo de PEB y el valor de Z de la solución óptima del problema se redujo en un 98%. En casi la mitad de los problemas se obtuvieron resultados similares.
sábado, 22 de agosto de 2015
Programación Entera Desarrollos recientes (VII)
6x1 + 3x2 + 5x3 + 2x4 ≤ 10
Ahora nótese que las restricciones binarias y esta restricción juntas implican que
x1 + x2 +x4 ≤ 2.
viernes, 21 de agosto de 2015
Programación Entera Desarrollos recientes (VI)
Se ha comprobado que el uso de la computadora para llevar a cabo estas ideas y otras parecidas en forma automática es de gran ayuda para acelerar un algoritmo. Sin embargo, una técnica todavía más importante es la generación de planos cortantes. Una cortadura para un problema de PE es una nueva restricción que elimina algunas soluciones factibles de la soltura de PL original, incluso su solución óptima. El propósito de agregar una nueva restricción con esta propiedad es estrechar la soltura de PL, estrechando con esto la cota obtenida en el paso de acotamiento de la técnica de ramificación y acotamiento. Al estrechar la soltura de PL se incrementa la posiblidad de que su solución óptima sea factible (y por lo tanto óptima) para el problema de PE, con lo que e mejoraría la prueba de sondeo 3.
jueves, 20 de agosto de 2015
Programación Entera Desarrollos recientes (V)
3x1 + 2x2 ≤ 2 ⇒ x1 = 0
3x3 - 2x4 ≤ -1 ⇒ x3 = 0 y x4 = 1
de manera que se puede eliminar la variable del modelo (después de sustituir su valor fijo). una restricción funcional puede ser redundante a las restriciones binarias, por ejemplo,
3x1 + 2x2 ≤ 6,
y puede eliminarse. Es posible estrechar una restricción funcional reduciendo algunos de sus coeficientes, debido a las restricciones binarias, por ejemplo,
4x1 + 5x2 + x3 ≥ 2 ⇒ 2x1 + 2x2 + x3 ≥ 2
miércoles, 19 de agosto de 2015
Programación Entera Desarrollos recientes (IV)
Aunque está más allá del alcance de este libro describir con detalle el nuevo enfoque algorítmico, se dará una idea global breve. ( Se anima al lector a que la las referencias 1, 4 y 13 para mayor información).
Este enfoque utiliza una combinación de los tres tipos de técnicas: 1) preprocesado automático del problema, 2) generación de planos cortantes o cortaduras y 3) técnicas de ramificación y acotamiento. El lector está familiarizado con la técnicas de ramificación y acotamiento y no se profundizará más en las versiones más elaboradas que se incorporan aquí. A continuación e da una introducción conceptual sobre los otros dos tipo de técnicas que usan.
martes, 18 de agosto de 2015
Programación Entera Desarrollos recientes (III)
Por otro lado, cada nuevo cambio algorítmico en investigación de operaciones genera siempre una renovación en la actividad de investigación para desarrollar y refinar el nuevo enfoque. Sin duda se verán más frutos de la intensificación de esta actividad en programación entera durante la siguiente década. Quizá a través de la investigación se puedan disminuir las diferencias que existen en cuanto a la eficiencia entre lo algoritmos de programación entera y los de programación líneal.
lunes, 17 de agosto de 2015
Programación Entera Desarrollos recientes (II)
Sin embargo, estos dos artículos se limitana PEB pura. ES bastante común que en los problemas de PE que surgen en la práctica todas las variables restringidas a valores enteros sean binarias, pero muchos de estos problemas son de PEBmixta. Lo que e necesitaba con desesperación era una forma de extender este mismo tipo de algoritmo a la PEBmixta. Esto ocurrió en el artículo de 1987 publicado por Tony Van Roy y Laurence Wolsey de Bélgica. Una vez más, se resolvían con éxito problemas de tamaño muy grande (hasta cerca de mil variables binarias y un gran número de variable continuas). Una vez más, este artículo ganó un prestigiado premio, el Orchard-Hays Price otorgado por la Mathematical Programming Society.
domingo, 16 de agosto de 2015
Programación Entera Desarrollos recientes (I)
Para dar una mejor perspectiva sobre este progreso, considérense los antecedentes históricos. A fines de la década de 1960 y principios de la de 1970 hubo un cambio grande con el desarrollo y refinamiento del enfoque de ramificación y acotamiento. Después, todo siguió igual; se podían resolver en forma muy eficiente problemas relativamente pequeños (muy por debajo de las cien variables) pero aún un pequeño aumento en el tamaño del problema podía causar una explosión en el tiempo de cálculos más allá de los límites factibles. Se hacían pocos progresos para vencer este crecimiento exponencial en el tiempo de computación; cuando el tamaño del problema aumentaba, muchos problemas importantes que surgían en la práctica no se podían resolver.
sábado, 15 de agosto de 2015
Ejemplo Resumen del algoritmo de ramifiación y acotamiento de PEM (X)
Incumbente = (0, 0, 2, 1/2) con Z* = 13(1/2)
Con esta Z* se vuelve a realizar la prueba de sondeo 1 al otro subproblema (subproblema 4) y pasa la prueba, ya que su cota de 12(1/6) es ≤ Z*.
Esta iteración tuvo éxito en sondear de la tres maneras posibles. Lo que es más, ya no hay subproblemas restantes, por lo tanto la solución incumbente actual es óptima.
Solución óptima = (0, 0, 2, 1/2), con Z* = 13(1/2).
EStos resultados se resumen en el árbol de soluciones de la figura 13.10.
viernes, 14 de agosto de 2015
Ejemplo Resumen del algoritmo de ramifiación y acotamiento de PEM (IX)
Iteración 3
De los dos subproblemas restantes (3 y 4) que se crearon al mismo tiempo, se selecciona el que tiene la cota más grande (subproblema 3, con 14(1/6) > 12(1/6) para la siguiente ramificación). Como x1 = 5/6 tiene un valor no entero en la solución óptima de la soltura de PL de su subproblema, x1 se convierte en la variable de ramificación. (Obsérvese que x1 es ahora una variable de ramificación recurrente, pues también se seleccionó en la iteración 1.) Esto conduce a los siguientes subproblemas:jueves, 13 de agosto de 2015
Ejemplo Resumen del algoritmo de ramifiación y acotamiento de PEM (VIII)
Soltura de PL del subproblema 3: (x1, x2, x3, x4) = (5/6, 1, 11/6, 0), con Z = 14(1/6)
Cota para el subproblema 3: Z ≤ 14(1/6)
Soltura de PL del subproblema 4: (x1, x2, x3, x4) = (5/6, 2, 11/6, 0), con Z = 12(1/6)
Cota para el subproblema 4: Z ≤ 12(1/6)
Como ambas soluciones existen (soluciones factibles) y tienen valores no enteros para variables restringidas a enteros, ninguno de los subproblemas se sondea. (La prueba I no es operativa, puesto que todavía Z* = - ∞, hasta que se encuentre la primera solución de apoyo.)
El árbol de solución hasta este punto se da en la figura 13.9.
miércoles, 12 de agosto de 2015
martes, 11 de agosto de 2015
Ejemplo Resumen del algoritmo de ramifiación y acotamiento de PEM (VI)
x1 ≤ 1
x2 ≤ 1
lunes, 10 de agosto de 2015
Ejemplo Resumen del algoritmo de ramifiación y acotamiento de PEM (V)
ITERACION 2
Con sólo un subproblema restante que corresponde al nodo x1 ≤ 1 en la figura 13.8, la siguiente ramificación se hace desde ahí. Al examinar la solución óptima de la soltura de PL que se da en seguida, en este nodo revela que la variable de ramificación es x2, ya que x2 = (6/5) es la primera variable restringida a enteros que no tienen un valor entero. Al agregar una de las restricciones, x2 ≤ 1 o x2 ≥ 2, se crean los dos nuevos subproblemas que siguen.domingo, 9 de agosto de 2015
Ejemplo Resumen del algoritmo de ramifiación y acotamiento de PEM (IV)
Soltura de PL del subproblema 1: (x1, x2, x3, x4) = (1, 6/5, 9/5, 0), con Z = 14(1/5).
Cota para el subproblema 1: Z ≤ 14(1/5).
Soltura de PL del subproblema 2: no tiene soluciones factibles
Este resultado para el subproblema 2 significa que queda sondeado por la prueba 2. Igual que en el caso del problema completo, el subproblema 1 no pasa las pruebas de sondeo. En la figura 13.8 se resumen todos estos resultados en el árbol de solución.
sábado, 8 de agosto de 2015
Ejemplo Resumen del algoritmo de ramifiación y acotamiento de PEM (III)
Iteración I
En esta solución óptima de la soltura de PL la primera variable restringida a enteros que tiene un valor no entero es x1 = (5/4), entonces ésta se convierte en la variable de ramificación. Al ramificar desde el nodo de todo el problema (soluciones factibles de todo) con esta variable se crean los siguientes dos subproblemas:Subproblema 1: problema original más la restricción adicional:
x1 ≤ 1.
Subproblema 2: problema original más la restricción adiciona:
x1 ≥ 2.
viernes, 7 de agosto de 2015
Ejemplo Resumen del algoritmo de ramifiación y acotamiento de PEM (II)
Paso Inicial
Después de establecer Z* = -∞, se forma la soltura de PL de este problema eliminado el conjunto de restricciones xj es entero para j = 1, 2, 3. Si se apliac el método símplex a esta soltura de PL, la solución óptima esSoltura de PL de todo el problema: (x1, x2, x3, x4) = (5/4, 3/2, 7/4, 0), con Z = 14(1/4)
Como tiene soluciones factibles y esta solución óptima tiene valores no enteros para sus variables restringidas a enteros, se sondea todo el problema y el algoritmo continua con al primera iteración completa.
jueves, 6 de agosto de 2015
Ejemplo Resumen del algoritmo de ramifiación y acotamiento de PEM (I)
Nótese que el número de variables restringidas a enteros es I = 3, de manera que x4 es la única variable continua.
miércoles, 5 de agosto de 2015
Resumen del algoritmo de ramifiación y acotamiento de PEM - Pasos para cada iteración (IV)
martes, 4 de agosto de 2015
Resumen del algoritmo de ramifiación y acotamiento de PEM - Pasos para cada iteración (III)
Prueba 1: su cota ≤ Z*, donde Z* es el valor de Z en la solución de apoyo actual.
Prueba 2:su soltura de PLno tiene soluciones factibles
Prueba 3: la solución óptima para su soltura de PL tiene valores enteros para todas sus variables restringidas a enteros. (Si esta solución esmejor que la de apoyo, se convierte en la nueva solución de apoyo y se vuelve a aplicar la prueba 1 con la nueva Z* a todos los subproblemas no sondeados.)
lunes, 3 de agosto de 2015
Resumen del algoritmo de ramifiación y acotamiento de PEM - Pasos para cada iteración (II)
domingo, 2 de agosto de 2015
Resumen del algoritmo de ramifiación y acotamiento de PEM - Pasos para cada iteración (I)
sábado, 1 de agosto de 2015
Resumen del algoritmo de ramifiación y acotamiento de PEM (I)
Se establece Z* = -∞. Se aplica los pasos de acotamiento y de sondeo y la prueba de optimalidad que se describen a continuación al problema completo. Si no queda sondeado, se clasifica este problema como el único "subproblema" restanta para realizar la primera interación completa.