progracion entera.docx
Short Description
Download progracion entera.docx...
Description
INTRODUCCIÓN Es frecuente al tener que resolver problemas en los cuales las soluciones tienen que ser valores enteros como, por ejemplo: números de unidades a producir por máquina, número de máquinas necesarias, etc. Parte del problema de la programación entera radica en la diferencia esencial que existe la programación lineal y la entera, en la programación lineal se maximiza o minimiza una función sobre una región de factibilidad convexa, mientras que al usar los métodos de programación entera se maximiza una función sobre una región de factibilidad que generalmente no es convexa. De tal manera que la programación entera tiene más complicaciones que la programación lineal. En este tema se presenta un tipo de problemas formalmente similares a los problemas de Programación Lineal, ya que en su descripción solo se establecen expresiones lineales. Sin embargo, no responden a problemas lineales ya que algunas (o todas) las variables del problema toman valores que no están en un conjunto continuo. Por ejemplo, pueden ser variables que toman valores 0 o 1(binarias), o variables que toman valores enteros no negativos (0, 1, 2...), etc. Tras introducir el tipo de problemas se dedica un importante apartado para presentar las posibilidades de modelado que esta herramienta proporciona: problemas binarios, problemas de carga, problemas con restricciones condicionales o con dicotomías, etc. Tras dedicar una parte importante del tema a presentar estas herramientas de modelado y a plantear numerosos problemas con ellas se procede a mostrar dos métodos de resolución. Ambos métodos tienen en común que desarrollan un proceso de enumeración que permite comprobar explícita o implícitamente todas las soluciones del problema hasta encontrar la óptima, y entran dentro del tipo de métodos de ramificación y acotación.
3.1. Introducción y casos de aplicación. Los primeros intentos para resolver un problema de programación lineal entera surgieron de la metodología utilizada en la resolución de problemas de programación lineal. El primer algoritmo finito fue dado por R. Gomory y se denominó Método de los planos de corte. Los avances teóricos en la resolución de programación lineal entera han sido importantes, si bien no se ha visto correspondido en la eficacia del cómputo. Esto es debido a los errores de redondeo cometidos en las sucesivas iteraciones y acumulados en el cómputo que realizan los ordenadores. Un problema de Programación Entera es un problema de programación lineal en el cual algunas de las variables, o todas, tienen que se r números enteros no negativos. El objetivo de la Programación Lineal Entera es encontrar el valor de la función que denominada función objetivo. Max (Min) z = c1 x1 + c2 x2 + … + cn xn
Un problema de programación entera en el cual solamente algunas de las variables tienen que ser números enteros, se llama un problema de programación entera mixta. Por ejemplo: max Z = 3x1 + 2x2 St x1 + x2 5 X1, x2 0 ; x1 entero Por lo tanto, la relajación programación lineal es una versión menos restringida, o más relajada, de la programación entera. Esto significa que la región factible para cualquier programación entera tiene que estar incluida en la región factible de la relajación programación lineal correspondiente.
3.2. Definición y modelos de programación entera. Tipos de modelos de Programación Entera: Programación Entera es un termino general para los modelos de programación matemática que presentan condiciones de integridad (condiciones que estipulan que algunas o todas las variables de decisión deben tener valores enteros). Ya hemos apuntado que los modelos de programación lineal entera son modelos de programación lineal que tienen la característica adicional de que algunas de las variables de decisión deben tener valores enteros. Existen diversas clasificaciones de esta categoría de modelos. Programas Enteros Puros Un modelo entero puro (PLE) es, como su nombre lo indica, un problema en el que se exige que todas las variables de decisión tengan valores enteros. Por ejemplo Min 6×1 + 5×2 + 4×3 s.a. 108×1 + 92×2 + 58×3 >= 576 7×1 + 18×2 + 22×3 >= 83 x1, x2, x3 >= 576 7×1 - 18×2 + 22×3 >= 83 x1, x2, x3 >=0; x1 y x2 enteros Programas Enteros 0 –1
En algunos problemas se restringe el valor de las variables a 0 o 1. Dichos problemas se llaman binarios o programas lineales enteros 0 –1. Son de particular interés debido a que se pueden usar las variables 0 –1 para representar decisiones dicotómicas (sí o no). Diversos problemas de asignación, ubicación de plantas, planes de producción y elaboración de cartera, son de programación lineal entera 0 –1.
3.3. Método gráfico de programación entera. El método gráfico es una forma fácil y rápida para la solución de problemas de Programación Lineal, siempre y cuando el modelo conste de dos variables. Para modelos con tres o más variables, el método gráfico es imposible. Consiste en representar geométricamente las restricciones, condiciones técnicas y función objetivo. Los pasos necesarios para realizar el método son: 1. hallar las restricciones del problema 2. Las restricciones de no negatividad Xi ≥ 0 confían todos los valores posibles. 3. sustituir ≥ y ≤ por (=) para cada restricción, con lo cual se produce la ecuación de una línea recta. 4. trazar la línea recta correspondiente a cada restricción en el plano. La región en cual se encuentra cada restricción, el área correspondiente a cada restricción lo define el signo correspondiente a cada restricci ón (≥ o ≤) se evalúa un punto antes y después de la recta trazada, el punto que cumpla con la inecuación indicara el área correspondiente 5. el espacio en el cual se satisfacen las tres restricciones es el área factible Cada punto situado en la frontera del espacio del área factible, es decir que satisfacen todas las restricciones, representa un punto factible. 6. Las líneas paralelas que representan la función objetivo se trazan mediante la asignación de valores arbitrarios a fin de determinar la pendiente y la dirección en la cual crece o decrece el valor de la función objetivo. 7. la solución óptima puede determinarse al observar la dirección en la cual aumenta la función objetivo, se procede a graficar la función objetivo, si es un problema de minimización la solución óptima es el primer punto factible que toque la función Z, y si por lo contrario es un problema de maximización, será entonces el último de los puntos factibles que toque la función Z
Hay principalmente cuatro tipos de problemas, de única solución, múltiples soluciones, solución no acotada y no factible, a continuación, hay un ejemplo de
cada caso, en el cual se puede observar la comparación de la solución obtenida con el método gráfico, y la solución obtenida con el método simplex.
3.4. Método de ramificación y acotación. A partir de la solución del PLA: La ramificación consiste en dividir cada problema en dos nuevos sub problemas, obtenidos mediante la imposición de restricciones excluyentes que dividen el conjunto de oportunidades del problema original en dos partes, pero eliminando en ambas partes la solución no entera del problema original. Si xbi no entero, entonces se generan a partir de dicho valor dos restricciones xi ≤ [xbi] y xi ≥ [xbi]+1 (siendo [xbi] la parte entera por d efecto de xbi ), que añadidas
cada uno por separado al problema original, da lugar a dos nuevos sub problemas. Por ejemplo, la variable x1 tiene que ser entera, pero en la solución anterior (PLA u otro), la variable vale: x1 = 6.8. Esta solución no es válida, ya que no es admisible un valor fraccional, por tanto, se introducirán las siguientes restricciones: x1≤ 6 y x1≥ 7, de forma que se ha eliminado una porción del conjunto donde no hay
soluciones enteras, pero se mantienen las enteras: Así se prosigue con todas las variables hasta que sean enteras. Si al proceso de ramificación no se mejora de alguna forma, llegaríamos a analizar TODAS las soluciones enteras (Enumeración Total). Por eso, se añade la fase de Acotación, esta tiene que ver con el valor de la función objetivo. A medida que se va ramificando se obtienen soluciones enteras y otras que no lo son. No podemos asegurar que la primera solución entera obtenida sea la solución óptima, sino que es necesario comprobar si existen otras soluciones enteras o no. El análisis del PLA: Ramificación se realiza siempre a partir de aquel problema que tiene el mejor valor de la función objetivo, y siempre que exista alguna solución (no entera) con un valor de la función objetivo Ejemplo: (Maximización) * Solución del PLA: FO: 5487,33 (Solución no entera)
Primera Ramificación:
Problema 1: FO: 5340, 75 (solución no entera) Problema 2: FO: 5425.10 (solución no entera). Segunda Ramificación: A partir del problema 2, por tener un mejor valor de la función objetivo: Problema 21: FO: 5405, 30 (solución no entera) Problema 22: FO: Infactible. Como no hay solución entera hemos de seguir ramificando: ¿Por dónde? Problema 22 tiene mejor valor que problema 1. Tercera ramificación: A partir del problema 21 Problema 211: FO = 5350 (solución entera) Problema 212 F= = 5385.25 (solución no entera). ¿La solución del problema 211 (5350) es la óptima?
3.5. Método heurístico para problemas binarios. En Investigación de Operaciones, una heurística es una técnica de resolución de problemas de optimización (conformada por una regla o un conjunto de reglas) que busca buenas soluciones a un costo computacional razonable, sin garantizar optimalidad. Una característica de los métodos heurísticos es que pueden encon trar una solución de alta calidad pero que no necesariamente es la óptima, e incluso, en muchos casos no se llega a establecer lo cerca que está una solución heurística de la solución óptima. En una primera aproximación puede parecer que existen serios inconvenientes relacionados al uso de los métodos heurísticos, sin embargo, es necesario enfatizar que muchas técnicas heurísticas brindan soluciones muy buenas en la práctica. Cabe destacar el interés creciente por el estudio y aplicación de procedimientos heurísticos en Investigación de Operaciones, pasando de ser considerados pobres herramientas a instrumentos fundamentales y, en muchos casos, imprescindibles para la resolución práctica de un problema. El uso de un procedimiento heurístico en lugar de un procedimiento exacto para resolver un problema está especialmente indicado cuando: 1. El problema es de una naturaleza tal que no se conoce algún método exacto para su resolución. 2. Aunque existe un método exacto para resolver el problema, su uso es computacionalmente muy costoso. 3. Se prefiere abordar, por medio de heurísticas, una representación más ajustada del problema planteado que una versión menos realista de tal problema que pueda resolverse de forma exacta. Es decir, se prefiere resolver de forma aproximada un modelo ajustado a la realidad que resolver de forma exacta un modelo aproximado de la realidad. En este sentido, los métodos heurísticos son más flexibles que los métodos exactos, permitiendo la incorporación de condiciones de difícil modelización.
4. Se desea aumentar la eficiencia de un procedimiento exacto. En ese caso un método heurístico puede proporcionar una buena solución inicial de partida o
participa en un paso intermedio del procedimiento, como por ejemplo, las reglas de selección de variables de entrada en el método simplex, o el establecimiento de cotas en el algoritmo de ramificación y acotamiento. 5. Se tiene que resolver repetidas veces un mismo problema, probablemente con datos distintos. En estas circunstancias se requiere un procedimiento eficiente de resolución que suministre de forma rápida una solución suficientemente buena. Estas situaciones se presentan, por ejemplo, al tener que determinar diariamente valores de las variables de interés.
3.6. Uso de software (WIN QSB,TORA, DS for Windows, LINGO, LINDO, Y OTROS) El software TORA de optimización es un programa basado en Windows® que tiene por objeto usarse con muchas de las técnicas presentadas en el libro Investigación de Operaciones de TAHA . TORA es una aplicación muy simple, con una interfaz gráfica de baja calidad. Una de las ventajas de TORA es que puede utilizarse en procesadores de 32 y 64 bits, hoy por hoy su principal desventaja es que deberá ajustarse la configuración de pantalla para adecuarse a sus ajustes de presentación de 800 x 600 y 1024 x 768 pixeles. Se recomienda el segundo ajuste, porque produce una distribución más proporcionada de la pantalla. Al igual que para cualquier otro método de resolución, el primer paso para resolver un problema de programación lineal (PL) consiste en el modelamiento matemático, y es en esta fase en la que el profesional de Ingeniería Industrial debe desarrollar su mayor habilidad y destreza. Los pasos para resolver un problema de PL se encuentran en el módulo de programación lineal. El PROBLEMA Un herrero con 80 Kg. de acero y 120 Kg. de aluminio quiere hacer bicicletas de paseo y de montaña que quiere vender, respectivamente a 20.000 y 15.000 pesos cada una para sacar el máximo beneficio. Para la de paseo empl eará 1 Kg. De acero y 3 Kg. de aluminio, y para la de montaña 2 Kg. de ambos metales. ¿Cuántas bicicletas de paseo y de montaña deberá fabricar para maximizar las utilidades? EL MODELO MATEMÁTICO Acero
Aluminio
Precio de Venta
Bicicleta de paseo (x)
1 kg
3 kg
$ 20.000
Bicicleta de montaña (y)
2 kg
2 kg
$ 15.000
Disponibilidad
80 kg
120 kg
Declaración de variables
x = Cantidad de bicicletas de paseo a producir
y = Cantidad de bicicletas de montaña a producir Restricciones de capacidad Aluminio: x + 2y
View more...
Comments