Universidad de los Andes-CODENSA

Slides:



Advertisements
Presentaciones similares
Desigualdades Una desigualdad es una oración conteniendo < (menor que), > (mayor que), ≤ (menor o igual que), ≥ (mayor o igual que) o ≠ (no es igual)
Advertisements

Resolución aproximada de ecuaciones Ejemplos
Programación entera En muchos problemas reales las variables sólo pueden tomar valores enteros Ejemplos: decisiones sobre inversiones, compras, arranques,
Programación entera En muchos problemas reales las variables sólo pueden tomar valores enteros Ejemplos: decisiones sobre inversiones, compras, arranques,
Diseño y análisis de algoritmos
Diseño y análisis de algoritmos
Tema 4 Introducción a la Programación Lineal
INTEGRACIÓN.
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.
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.
Análisis Matemático III
KRIGING.
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.
Intervalos e Inecuaciones de primer grado
Investigación Operativa
Ecuaciones diferenciales de 1er orden :
Aplicaciones de la derivada Resuelve problemas de optimización aplicando las ideas básicas relacionadas con extremos de funciones de una variable Bloque.
Sistemas de ecuaciones
Unidad 1: ECUACIONES DIFERENCIALES DE PRIMER ORDEN
2- SIMPLEX.
El algoritmo primal-dual
Programación Lineal Entera Antonio H. Escobar Z Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería – Maestría/Doctorado.
Sistemas de Ecuaciones
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.
ECUACIONES DE SEGUNDO GRADO
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.
SISTEMAS DE ECUACIONES
Introducción a Funciones de una variable
Programación Lineal Entera Antonio H. Escobar Z Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería – Maestría/Doctorado.
DEFINICIONES Sea (P) el siguiente problema de programación lineal:
Diseño y análisis de algoritmos
Descomposición Factorial Unidad 5
Tema 4 PROGRAMACIÓN LINEAL.
Materiales complementarios
Guías Modulares de Estudio Matemáticas IV – Parte B
Programación entera y optimización combinatoria Mayo 2007 Módulo 2:
PROGRAMACIÓN LINEAL.
Programación lineal La programación lineal es una técnica matemática relativamente reciente, del siglo XX, que consiste en una serie de métodos y procedimientos.
5. El Método Simplex En lo que sigue consideremos un problema de programación lineal en su forma estándar ³ =
Modelos Cuantitativos
Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas.
TEMA 5: El problema del flujo con costo mínimo
Ecuaciones Algebraicas
Sistemas Basados en Reglas
Programación Lineal.
Modelos de Minimización
“CURSO PROPEDÉUTICO PARA EL MEJORAMIENTO DEL PENSAMIENTO MATEMÁTICO”
Prof. Juan José Bravo B., M.Sc. ©
EII405 Investigación de operaciones
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.
Resolución Gráfica de PPL
INVESTIGACION OPERATIVA 1 SOMOS LO QUE SOMOS Método Grafico La solución de un modelo lineal muestra siempre un conjunto factible delimitado por las restricciones.
 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.
Sistemas de Ecuaciones
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.
Ing. Haydeli del Rosario Roa Lopez
CONSTRUCCION DEL DISEÑO DE UN OVA, HACIENDO USO DE HERRAMIENTAS VIRTUALES EDGAR MAURICIO ALBA V. Presentado al Ing. John Alejandro Figueredo Luna en el.
Álgebra y funciones 3 Índice del libro 1.PolinomiosPolinomios 2.Identidades notablesIdentidades notables 3.Resolución de ecuaciones de primer gradoResolución.
Dirección de Investigación y Postgrado UNEXPO REP Ú BLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD NACIONAL EXPERIMENTAL POLIT É CNICA “ ANTONIO JOS É DE SUCRE.
UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO FACULTAD DE QUÍMICA P.E.L: INGENIERO QUÍMICO U.A: ÁLGEBRA LINEAL Unidad II Conceptos básicos de Álgebra Tema:
Programación Lineal Método Simplex.
RESOLUCION DE ECUACIONES DE PRIMER GRADO
Problema Dual INVESTIGACIÓN DE OPERACIONES. Problema Dual.
1 Técnicas de Optimización en Modelos Organizacionales (PS-3161) Tema N° 4: Solución Gráfica:Casos Especiales Prof. Orestes G. Manzanilla Salazar Correo:
Transcripción de la presentación:

Universidad de los Andes-CODENSA Programación Cuadrática y Sistemas Lineales. Programación Entera y Métodos de Corte. Universidad de los Andes-CODENSA

Programación Lineal Entera-Mixta Un problema de programación lineal entera-mixta (PPLEM) es un PPL en el que algunas de las variables toman valores enteros. Si todas las variables enteras son binarias (0/1) el problema se denomina 0/1 PPLEM. Si todas las variables son enteras, el problema se denomina problema de programación lineal entera (PPLE). Hay dos técnicas de resolución de este tipo de problemas: La de bifurcación y acotación (BA) y la de los cortes de Gomory (CG). La BA es la que más se utiliza y la más eficiente computacionalmente. También hay una nueva técnica Hibrida de Bifurcación y Corte (BC). Las variables binarias son muy potentes para modelar ciertas no linealidades de diversa naturaleza que ocurren con una cierta frecuencia en Ingeniería. Algunos ejemplos son: Conjuntos alternativos de restricciones. Restricciones condicionales. Funciones discontinuas. Funciones no convexas a trozos.

Figura 1. Conjunto de soluciones factibles de un PPLEE. Un PPLEM en forma estándar es de la forma Minimizar sujeto a donde N se utiliza para denominar al conjunto {0, 1,2, …}. Un ejemplo de la región factible en este caso se muestra a continuación en la figura 1: Figura 1. Conjunto de soluciones factibles de un PPLEE.

El método de bifurcación y acotación resuelve el PPLEM mediante una secuencia de PPL que se obtiene relajando las condiciones de integralidad e incluyendo restricciones adicionales. El número de restricciones adicionales aumenta a medida que el método progresa. Estas restricciones separan la región factible en subregiones factibles complementarias. Inicialmente se fijan cotas inferiores y superiores de la solución óptima. La estrategia de bifurcación disminuye la cota superior y aumenta la inferior. La diferencia de ambas es una medida de la proximidad de la solución actual a la óptima, si ésta existe. Cuando se minimiza, se puede encontrar una cota inferior relajando las restricciones de integralidad del problema original y resolviendo el PPL resultante. De la misma forma, el valor de la función objetivo para cualquier solución del problema inicial es una cota superior del valor óptimo. Este método puede parar debido a tres razones: El problema actual no es factible. La solución actual satisface las condiciones de integralidad. La cota inferior obtenida es mayor que la superior actual. Una bifurcación se aborta por infactibilidad, integralidad o acotación.

Para resolver un PPLEM se tienen las siguientes etapas: Etapa 1: Iniciación. Fijar una cota superior (∞) y una inferior (-∞) a la solución óptima. Resolver el PPLEM relajando las condiciones de integralidad. Si este problema es infactible, el original también lo es y no hay solución. Si la solución es entera, es óptima. En otro caso, la cota inferior se actualiza con el valor de la solución óptima obtenida. Etapa 2: Bifurcación. Usando una variable candidata a entera xk que no es entera, se generan dos problemas, por bifurcación, a partir del original, tal como sigue. Si el valor de la variable xk es a.b, donde a y b son sus partes entera y fraccional, respectivamente, el primer problema bifurcado es el original relajado con la restricción xk ≤ a, y el segundo, el original relajado con la restricción complementaria xk ≥ a + 1. Estos problemas se sitúan en una lista de procesado y se consideran secuencialmente o en paralelo para su resolución. Etapa 3: Solución. Resolver el problema siguiente en la lista de procesado.

Etapa 4: Actualización de cotas Etapa 4: Actualización de cotas. Si la solución del problema actual es entera y el correspondiente valor de su función objetivo es menor que la cota superior en curso, se actualiza ésta a éste y se almacena el problema como candidato a óptimo. En otro caso, si el valor de la función objetivo está entre ambas cotas, se actualiza la cota inferior con dicho valor, y se procede a bifurcar añadiendo los dos problemas a la lista de procesado. Etapa 5: Corte. Si la solución suministrada por el problema en curso es entera, no es posible la bifurcación, por lo que se aborta la bifurcación debido a la integralidad de la solución. Si la solución no es entera y el valor de la función objetivo es mayor que la cota superior actual, no se puede mejorar la solución por esa rama, por lo que se aborta el proceso por esa rama, debido a acotación. Si el problema en curso no es factible, no es posible continuar por esa rama, por lo que se aborta el proceso, debido a infactibilidad. Etapa 6: Optimalidad. Si la lista de procesado está no vacía se continúa con la Etapa 3. En otro caso, el proceso concluye. Si hay un candidato a óptimo, éste da la solución. En otro caso, el problema es infactible. Este algoritmo revuelve la solución óptima o informa sobre su no existencia en la Etapa 1 ó la 6.

Cualquier variable que no sea entera puede ser candidata para la bifurcación. La elección de cuál elegir es un problema que debe resolverse basándose en el conocimiento sobre el problema de que se trate. Los problemas de la lista de procesado pueden procesarse mediante las estrategias de “anchura primero” o “altura primero” o una mezcla de ambas. La figura 2 muestra ambas alternativas. Figura 2. Estrategias de (a) “búsqueda en anchura”, y (b) “búsqueda en profundidad”. Una estrategia de “altura primero” genera rápidamente problemas restringidos que generalmente suministran buenas cotas superior e inferior. Además suministra rápidamente problemas infactibles y, por tanto, el abortado de las ramas. Una estrategia de “anchura primero” procesa problemas muy parecidos, lo cual puede explotarse convenientemente. Las técnicas de computación paralela pueden explotarse con ambas estrategias.

El Método de Bifurcación y Acotación Ejemplo Minimizar sujeto a La región factible es la que se muestra en la figura 3. Figura 3. Estrategias de (a) “búsqueda en anchura”, y (b) “búsqueda en profundidad”.

Etapa 1: Iniciación. Las cotas son +∞ y -∞ Etapa 1: Iniciación. Las cotas son +∞ y -∞. El problema relajado, que se designa como P0, es Minimizar sujeto a con solución, no entera, en el punto P1 en la figura: x1 = 5; x2 = 4.5; Z = -9.5. Se actualiza la cota superior de -∞ a -9.5. Etapa 2: Bifurcación. La variable x2, genera los dos problemas con las restricciones x2≤4 y x2≥5. Problema P1:

Problema P2: Minimizar sujeto a Etapa 3: Solución. La solución, no entera , del problema P1 es (Punto P2 en la figura): x1 = 4.5; x2 = 4; Z = -8.5: Etapa 4: Actualización de cotas. Puesto que el valor -8.5 está entre las dos cotas, se actualiza la cota inferior de -9.5 a -8.5 y se bifurca de nuevo. La variable x1, genera los problemas con las restricciones x1≤4 y x1≥5. Problema P3:

Problema P4: Minimizar sujeto a Etapa 5: Corte. No ocurre nada en esta etapa. Etapa 6: Optimalidad. Puesto que la lista de procesado no está vacía se va a la Etapa 3 con P2. Etapa 3: Solución. El problema P2 es infactible, por lo que no ocurre nada en esta etapa. Etapa 4: Actualización de cotas. No ocurre nada. Etapa 5: Corte. Puesto que el problema es infactible, se aborta esta rama. Etapa 6: Optimalidad. Puesto que la lista de procesado no está vacía se va a la Etapa 3 con P3. Etapa 3: Solución. La solución, entera, del problema P3 (punto P3 de la figura 3) es: x1 = 4; x2 = 4; Z = -8

Etapa 4: Actualización de cotas Etapa 4: Actualización de cotas. Por ser entera , y estar el valor -8 entre las cotas, se actualiza la cota superior de +∞ a -8, y se almacena este problema como candidato a óptimo. Etapa 5: Corte. Por ser entera, se aborta el proceso en esta rama. Etapa 6: Optimalidad. Puesto que la lista de procesado no está vacía se va a la Etapa 3 con P4. Etapa 3: Solución. El problema P4 es infactible, por lo que no ocurre nada. Etapa 4: Actualización de cotas. No ocurre nada. Etapa 5: Corte. Por ser no factible, se aborta esta rama. Etapa 6: Optimalidad. Puesto que la lista de procesado está vacía, y hay candidato a óptimo, éste da la solución:

El Método de los Cortes de Gomory Una alternativa al método anterior es el método de los cortes de Gomory. En cada iteración de este método, se resuelve el problema original relajado incluyendo restricciones adicionales, que reducen la región factible sin excluir soluciones enteras. En cada iteración se añade una restricción adicional, que se denomina corte de Gomory. Esta técnica genera progresivamente una envolvente convexa de la región factible y de esta forma se obliga a satisfacer las condiciones de integralidad. La región factible del problema es: Empleando la partición estándar del simplex obtenemos: ó Despejando xB se obtiene:

En forma matricial tenemos: Empleando la notación estándar del Simplex ó Sea una variable básica no entera. La fila correspondiente a esta variable en la ecuación anterior es: (1) Puesto que la solución en curso es básica y factible, las variables , al ser no básicas, son nulas; entonces, , y puesto que es no entera, tiene que ser no entera. Por otra parte, todo elemento uij puede expresarse como la suma de un entero (positivo o negativo) y una fracción no negativa menor que 1, es decir (2) donde para todo j es entero, y para todo j es una fracción no negativa menor que 1.

Análogamente se puede descomponer como: (3) donde es un entero (positivo o negativo) y es una fracción no negativa menor que 1. Algunos pueden ser nulos, pero es necesariamente positivo. Sustituyendo las ecuaciones (2) y (3) en la ecuación (1) obtenemos: ó El término de la izquierda tiene que ser entero dado que todas las variables lo son, y entonces, el de la derecha tiene que ser también entero. Adicionalmente, fij para todo j, y para todo j son no negativos, por lo que es no negativo. El término de la derecha de la ecuación anterior , es simultáneamente: Un entero, y menor que una fracción positiva, , menor que 1, por lo tanto este termino es un entero no positivo.

Entonces: ó La última desigualdad se llama el corte de Gomory asociado a la variable básica . Cuando se quiere resolver un PPLE se utilizan los siguientes pasos:

PASOS Cuando se quiere resolver un PPLE se utilizan los siguientes pasos: Paso 1: Iniciación. Resolver el problema inicial relajado. Si no es acotado (infactible), parar; el problema original es no acotado (infactible). Paso 2: Control de Optimalidad. Si la solución es entera, parar, es la óptima. En otro caso, ir a la Etapa siguiente. Paso 3: Generación de Corte. Usar una variable básica con un valor no entero para generar un corte de Gomory. Paso 4: Solución del Problema. Añadir un corte de Gomory al problema en curso, resolverlo, y continuar con la Etapa 2. Debe señalarse que el número de restricciones crece con el número de iteraciones, ya que se añade una nueva en cada una de ellas Por ello, es conveniente usar el MPE, ya que el problema original se transforma en infactible y el dual en no óptimo, pero factible.

Figura 4. Ilustración gráfica de los Cortes de Gomory. Ejemplo Maximizar sujeto a cuya función admisible se muestra en la figura 4. Figura 4. Ilustración gráfica de los Cortes de Gomory.

El problema anterior relajado y en forma estándar es Maximizar sujeto a la solución de este problema es (punto P1 de la Figura): z* = 391.11 Teniendo Si se usa x2 para generar corte obtenemos

Por tanto se obtiene y el corte es ó Nótese que el corte puede expresarse en función de variables originales x1 y x2. En efecto, usando las igualdades del problema relajado en forma estándar, x3 y x4 se expresan:

Para obtener el primer corte (línea de trazos de la figura 4): Así se reduce la región factible sin excluir soluciones enteras. El problema a resolver es ahora: Maximizar sujeto a Nótese que el corte de Gomory se ha introducido usando la variable adicional x5. Su solución es:

Usando x1 para generar un nuevo corte, puesto que Por tanto, se puede escribir y el corte queda: Este segundo corte es función de las variable originales x1 y x2:

El problema ahora consiste en: Maximizar sujeto a Cuya solución es

Usando x2 para generar un nuevo corte, puesto que tenemos: Por ello: y el corte resulta: El tercer corte en función de las variables originales resulta:

Finalmente el problema es Maximizar sujeto a con solución:

Puesto que es entera es la solución del problema original buscada:

Bibliografía “Formulación y Resolución de Modelos de Programación Matemática en Ingeniería y Ciencia”, Enrique Castillo, Antonio J. Conejo, Pablo Pedregal, Ricardo García, Natalia Alguacil, 2002.