INTRODUCCION A LA PROGRAMACIÓN ENTERA A la clase de problemas de programación que se obtienen del modelo general de programación lineal imponiendo los requerimientos adicionales de que las variables solo pueden tener valores enteros, se les conoce como problemas de programación entera. Esta técnica es adaptable a problemas que permiten obtener solo números enteros para la solución final. Por ejemplo, supongámonos que un plan óptimo de producción requiere la compra de diferentes tipos de máquinas. Obviamente solo pueden comprarse maquinas completas. Entre otras aplicaciones pueden mencionarse la asignación de vendedores a distritos de ventas, la presupuestario de capital para la investigación desarrollo la locali!ación óptima de almacenes. "a programación lineal entera #P"E$ se ocupa básicamente de programas lineales en los que algunas o todas las variables suponen enteros discretos. %e dice que la P"E es mi&ta o pura si alguna o todas las variables están restringidas a tomar solo valores enteros. Aunque se 'an creado varios algoritmos para P"E, ninguno de ellos es totalmente confiable desde el punto de vista del cálculo, sobre todo, cuando el número de variables enteras se incrementa. A diferenciar de la P", donde problemas con miles de variables miles de restricciones se pueden resolver en un tiempo ra!onable, la e&periencia de cálculo de P"E, después de más de () a*os de 'aberse creado permanece imprecisa. "a dificultad de cálculo con los algoritmos disponibles para la P"E 'a conducido a los usuarios a buscar otros medios para +resolver el problema. -no de los tales medios es resolver el modelo con un P" continuo luego, redondear la solución óptima a los valores enteros factibles más cercanos. %in embargo, en este caso no 'a garanta de que la solución redondeada resultante satisfaga las restricciones. Esto es siempre cierto si la P"E original tiene una o más restricciones de igualdad. %egún la teora de la programación lineal, una solución redondeada en este caso no puede ser factible, a que significa que la misma base puede generar dos soluciones distintas. "a infactibilidad creada por redondeo puede tolerarse a que, en general, los parámetros #estimados$ de los problemas no son e&actos. Pero e&isten restricciones de igualdad caractersticas en problemas enteros donde los parámetros son e&actos.
CLASIFICACIÓN DE LOS PROBLEMAS LINEALES ENTEROS. ENTEROS PUROS: son aquellos en que todas las variables únicamente • pueden tomar valores enteros. /ambién se distinguen dentro de estos los problemas totalmente enteros como aquellos en que tanto las variables como todos los coeficientes que intervienen en el problema 'an de ser enteros. MIXTOS: son aquellos en los que 'a al mismo tiempo variables continuas • variables que sólo pueden tomar valores enteros. BINARIOS: las variables sólo pueden tomar los valores cero o uno. • Atendiendo al criterio del tipo de problema. • DIRECTO: %i el problema de decisión involucra variables enteras. • CODIFICADO: 0uando se trata de un problema que contiene además de aspectos cuantitativos, alguna consideración de tipo cualitativos, por ello para tratar este tipo de aspectos se requiere el uso de variable entera o binaria. TRANSFORMADO: 0uando el problema no inclue variables enteras, pero • para ser tratado analticamente requiere el uso de variable enteras +artificiales. -n problema de Programación Entera es un problema de programación lineal en el cual algunas de las variables, o todas, tienen que ser números enteros no negativos. El objetivo de la Programación "ineal Entera es encontrar el valor de la función que +12a& #2in$ ! 3 c4 &4 5 c6 &6 5 7 5 cn &n8 denominada función objetivo . "a función objetivo se encuentra sujeta a una serie de restricciones9 a44 &4 5 a46 &6 5 7 5 a4n &n # ≤, ≥, 3$ b4 a64 &4 5 a66 &6 5 7 5 a6n &n # ≤, ≥, 3$ b6 am4 &4 5 am6 &6 5 7 5 amn &n # ≤, ≥, 3$ bm &j ≥ ) #j34, 6, ...., n$ 0uando se nos presente la resolución de un Problema de Programación Entera, lo resolvemos como un problema de Programación "ineal. %i sus soluciones son enteras, ésta es la solución para el problema de programación lineal entera. En cualquier problema se verifica que la solución óptima. “Criterio de optimalidad en un problema de PLE” : -na solución entera factible
&: es óptima para el problema de P"E si es solución óptima de una relajación lineal.
METODO GRÁFICO Es un procedimiento de solución de problemas de programación lineal mu limitado en cuanto al número de variables pero mu rico en materia de interpretación de resultados e incluso análisis de sensibilidad. Este consiste en representar cada una de las restricciones encontrar en la medida de lo posible el polgono # poliedro$ factible, comúnmente llamado el conjunto solución o región factible, en el cual por ra!ones trigonométricas en uno de sus vértices se encuentra la mejor respuesta #solución óptima$. "as fases del procedimiento de resolución de problemas mediante el método ;ráfico son las siguientes9 •
•
•
•
•
•
REDONDEO DE LA SOLUCION DE PROGRAMACION ENTERA. /odos conocemos a lo que se refiere la palabra redondeo, pero en el ámbito de programación entera se refiere a utili!ar la parte entera de una solución de problemas de programación lineal como solución para el problemas de programación de enteros. El método más común es seguir en la !ona factible, 'aciendo un redondeo 'acia el número interior en el caso de problemas de ma&imi!ación 'aciendo un redondeo 'acia el número superior, para problemas de minimi!ación. Aunque el redondeo es un procedimiento mu común para resolver problemas prácticos de programación de enteros en ciertos casos puede conducir a dificultades. "a primera tentación a la 'ora de abordar la resolución de un problema de programación entera es redondear la solución obtenida al relajar la condición de integralidad.
METODO DE RAMIFICACION Y ACOTAMIENTO Aborda la resolución de modelos de programación entera a través de la resolución de una secuencia de modelos de programación lineal que constituirán los nodos o subproblemas del problema entero. El método resuelve problemas de programación lineal resolviendo una secuencia ordenada de PP", que se obtienen relajando las restricciones de integralidad a*adiendo restricciones adicionales. El número de restricciones adicionales crece a medida que el procedimiento de +> A progresa. Estas restricciones permiten separar la región factible en subregiones complementarias. El procedimiento +> A establece inicialmente cotas inferior superior del valor óptimo de la función objetivo. El mecanismo de ramificación aumenta progresivamente el valor de la cota superior disminue también progresivamente el valor de la cota superior. "a diferencia entre estas cotas es una medida de la pro&imidad de la solución actual a la óptima, si está e&iste. Al minimi!ar, se obtiene una cota inferior de la solución óptima relajando las restricciones de integralidad del PP"E2 inicial resolviendo el PP" resultante.
%e establece una cota superior #?$ una cota inferior #@?$ de la solución óptima. %e resuelve el PP"E2 inicial relajando las restricciones de integralidad. %i el problema relajado es infactible, el original también lo es no 'a solución. %i la solución obtenida satisface las condiciones de integralidad, es óptima. En cualquier otro caso, se actuali!a el valor de la cota inferior con el valor de la función objetivo del problema relajado. Paso 2.- Ramificación
Empleando la variable & que 'a de ser entera no lo es, se generan mediante ramificación dos problemas. %i el valor de la variable que 'a de ser entera & es a.b, donde a b son sus partes entera fraccional respectivamente, los problemas fruto de la ramificación son los siguientes. El primer problema es el PP"E2 inicial relajado al que se la a*ade la restricción & B aC análogamente, el segundo es el PP"E2 inicial relajado al que se le a*ade la restricción & D a 5 4. Estos problemas se colocan ordenadamente en una lista de problemas a procesar que son resueltos secuencialmente o en paralelo. Obsérvese que la técnica de ramificación propuesta cubre completamente el espacio de soluciones. Paso .- So!"ción
%e resuelve el problema siguiente en la lista de problemas a procesar.
Paso #.- Ac$"a!i%ación &' co$as
%i la solución del problema actual satisface las condiciones de integralidad el valor óptimo de su función objetivo es menor que la cota superior actual, la cota superior se actuali!a al valor óptimo de la función objetivo del problema resuelto, el minimi!ador actual se almacena como el mejor candidato a minimi!ador del problema original. %i, por el contrario, la solución obtenida no satisface las restricciones de integralidad el valor de la correspondiente función objetivo está entre las cotas inferior superior, se actuali!a el valor de la cota inferior al valor de la función objetivo del problema resuelto se procede a ramificar. "os problemas generados en el proceso de ramificación se a*aden a la lista de problemas que 'an de resolverse. Paso (.- Po&a
%i la solución del problema actual cumple las restricciones de integralidad, no 'a lugar a ramificaciones adicionales relacionadas con esa solución. %e dice que la rama se poda por ra!ones de integralidad. %i, por otra parte, la solución no satisface las condiciones de integralidad además el valor de la función objetivo del problema resuelto es maor que la cota superior, no es posible obtener soluciones mediante ramificaciones adicionales de esa rama. %e dice que la rama se poda por cotas. %i, finalmente, el problema es infactible, no 'a lugar a ramificaciones adicionales empleando esa rama. %e dice que la rama se poda por infactibilidad. Paso ).-O*$ima!i&a&
%i la lista de problemas a procesar no está vaca, se continúa con el paso (. %i, por el contrario, está vaca, el procedimiento conclue. %i en este caso, e&iste un candidato a minimi!ador, este candidato es el minimi!adorC si no e&iste, el problema es infactible. El algoritmo de ramificación acotación devuelve la solución óptima o notifica la infactibilidad bien en el paso 4 ó en el paso . El proceso de ramificación conclue por una de las siguientes tres ra!ones9 4. El problema considerado es infactible 6. "a solución obtenida satisface las condiciones de integralidad (. "a cota inferior obtenida es superior a la cota superior disponible Por tanto, la rama correspondiente se poda por infactibilidad, por integralidad o por cotas.
0abe que un nodo o subproblema se agota en las siguientes situaciones9
destacar
4$ %e alcan!a una solución entera. 6$ El problema es infactible. ($ %e obtiene una solución fraccionaria pero no es necesario continuar dado que ésta no es mejor #en términos de valor de la función objetivo$ que una solución entera que se 'a alcan!ado previamente.
ALGORITMO DE GOMORY Es un método que permite encontrar soluciones óptimas enteras en aquellos problemas de programación lineal que tienen soluciones fraccionarias o con decimales. %e basa con los +planos cortantes #o corte$ que es una nueva restricción funcional que reduce la región factible del relajamiento de P" sin eliminar soluciones factibles del problema de PE original. Podemos decir que este método es una base de nuevas técnicas que permiten de igual manera encontrar una solución óptima entera de un problema de P". El método de ;omor se inicia en la solución óptima continua. %e agregan restricciones especiales #los cortes$ al espacio de soluciones para que produ!can un punto e&tremo óptimo entero. "a desventaja de este método, es que resulta mu ineficiente para resolver problemas enteros de tama*o medio. Estos métodos generan en cada iteración una restricción una variable e&tra. %in embargo, su ventaja es que ilustran lo que se pretende 'acer con la región de factibilidad de problemas entero, para lograr la solución del mismo. El algoritmo del método se presenta a continuación. Paso 4. %e resuelve el modelo sin tomar en cuenta la restricción de que las variables sean enteras. Paso 6. %i la solución óptima cumple la condición de ser entera, ésta es la solución del modelo. %i no, se toma uno de los renglones de la tabla simple& óptimo con lado derec'o no entero. A este renglón le llamamos renglón fuente. Paso (. Escribimos los coeficientes del renglón fuente como una combinación de un número entero una parte fraccionaria positiva entre cero uno. Paso F. Pasamos todos los coeficientes fraccionarios del lado i!quierdo, los enteros los pasamos al lado derec'o. A'ora 'acemos que el lado i!quierdo sea maor o igual a cero. Paso G. Escribimos esta desigualdad en forma de igualdad al sumar la variable de superávit la a*adimos a nuestra tabla simple& óptimo. >esolvemos por el método dual simple&. >egresamos al paso 6 Para e&plicar el método descrito vamos a resolver el siguiente modelo de P. ". E.9
>esolvemos el problema utili!ando el método smple& tabular sin tomar en cuenta las restricciones de que las variables sean enteras. "a tabla óptima se presenta a continuación9
Paso 4. Huscamos el primer renglón asociado a la variable básica que no cumpla con la condición de ser entera. En este caso es el renglón asociado a la variable &4 . Este renglón representa la ecuación9 &4 5 6.G&6 5 ).Gs4 3 I.G Paso 6. %e escribe cada coeficiente constante fraccionarios de la ecuación obtenida en el paso 4, como la suma de un entero una fracción positiva entre ) 4. &4 5 6&6 5 ).G&6 5 ).Gs4 3 I 5 ).G Escribimos la ecuación de tal manera que el lado i!quierdo contenga solamente términos con coeficientes fraccionarios una constante fraccionaria, mientras que del lado derec'o sólo apare!can números enteros. ).G&6 5 ).Gs4 J ).G 3 I J &4 J 6&6 Paso (. Kacemos que el lado i!quierdo de la igualdad sea maor o igual a cero. ).G&6 5 ).Gs4 J ).G L ) o ).G&6 5 ).Gs4 L ).G Msta es la nueva restricción que debemos agregar al modelo. El nuevo modelo por resolver es el que obtenemos al escribir las restricciones de la tabla óptima del método smple&, agregando la última restricción obtenida. "a función objetivo no cambia9
Aqu la variable artificial s4 se renombró como la variable &( . >esolvemos este problema por método smple& repetimos los pasos 4 a (. "a tabla óptima del método smple& asociado al modelo 6 es9
"a cual es la solución óptima entera. PROGRAMACION ENTERA MIXTA %e define un modelo de programación lineal entera como aquel donde las variables son números enteros no negativos. En las situaciones reales, el analista se enfrenta a +decisiones s o no, las que pueden representarse con variable denominadas binarias. 0uando sólo es necesario que algunas de las variables sean enteras el resto continuas, el modelo recibe el nombre de problema de Programación "ineal Entera 2i&ta. Esta clasificación inclue modelos que además de tener variables enteras no negativas variables continuas, tienen también variables binarias En este tipo de problemas, encontramos condiciones de ciertas variables de decisión, que deben cumplir valores enteros las demás con la suposición de divisibilidad. -n problema en el que solo se requieren en que algunas variables tengan valores enteros mientras que en otras pueden asumir cualquier número no negativo #es decir, cualquier valor continuo$ se llama programación lineal entera mi&ta #P"E2$.
PROBLEMAS MÁS COMUNES DE APLICACIÓN
CONCLUSIONES
BIBLIOGRAFIA http://gc.initelabs.com/recursos/fles/r157r/w13211w/Invg %20operaciones2a!"0#.p"$