Caracterización de la PLE
La programación lineal también conocida como optimización lineal, es la maximización o minimización de una función lineal sobre un poliedro convexo definido por un conjunto de restricciones lineales no negativas. La teoría de la programación lineal cae dentro de la teoría de la optimización convexa y es también considerada como parte importante de la investigación de operaciones.
La programación lineal entera (PLE) es el conjunto de problemas de programación lineal para los cuales todas o parte de sus variables pertenecen a los números enteros.
Un problema de PLE puede describirse de la siguiente forma:
Optimizar una función objetivo z=c.x
Bajo las restricciones Ax = ó = b, x = 0
Donde:
x -Vector con variables enteras
c -Vector de coeficientes de la función objetivo
A –Matriz de coeficientes de las restricciones
b -Vector de términos independientes
Los modelos de programación lineal entera pudieran clasificarse en tres grupos:
Entero completamente. Todas las variables de decisión son enteras.
Mixto. Algunas de las variables son enteras, las otras no.
Binario. Las variables solo toman los valores 0 ó 1.
Métodos de solución
Pudiera pensarse que los métodos de obtención de soluciones a problemas de programación lineal entera pudieran ser menos difíciles que los de programación lineal generales, pero resulta lo contrario. Los algoritmos que permiten resolver los problemas restringidos a enteros son más complejos y requieren mucho más tiempo computacional.
Para la resolución de los problemas de programación lineal entera existen diferentes métodos. Los métodos exactos son los que encuentran, si existe, el óptimo absoluto. Muchos de estos métodos parten de la resolución del modelo dejando a un lado las restricciones enteras y buscando el mejor valor para las variables reales. A partir del supuesto de que la solución entera no debe estar muy lejos, se aplican diferentes técnicas que permiten llegar al óptimo entero.
Una breve introducción a los métodos de la programación lineal: Simplex y Punto interior, permitirá tener una idea de cómo operan los mismos.
El método del simplex se utiliza para hallar las soluciones óptimas de un problema de programación lineal con tres o más variables. Este se basa en el hecho de que la solución óptima se encuentra siempre en uno de los vértices del poliedro formado por el conjunto de restricciones. Su forma de buscar la solución es recorrer sobre estos vértices hasta encontrar el óptimo. Aun cuando no corre en tiempo polinomial en el caso peor, su mayor valor radica en su capacidad de revolver nuevos problemas y resulta muy útil cuando no se tiene un algoritmo eficiente de solución.
Los métodos de punto interior se denominan así precisamente porque los puntos generados por estos algoritmos se hallan en el interior de la región factible. Esta es una clara diferencia respecto al método del simplex. En la actualidad los métodos de punto interior más eficientes tienen una complejidad de orden T(nL), donde n es el número de variables y L una medida del tamaño del problema (el número de bits necesarios para representar los datos).
En la modelación lineal no entera se demuestra que el óptimo es un vértice de la región factible. En los modelos enteros, esto no tiene porque ser así, de manera general los vértices no tienen que ser números enteros. Por ello la solución óptima se encontrará en el interior de la región factible, por lo que los métodos exactos, como el simplex o punto interior, empleado de forma directa no aportarán la solución óptima en la generalidad de los casos.
Como el conjunto de soluciones enteras factibles es un número finito pudiera pensarse en recorrerlas todas en busca de la solución pero esto puede resultar ineficiente pues según el número de variables el conjunto de soluciones se incrementa exponencialmente. Para enfrentar esto se han desarrollado un conjunto de técnicas basadas en la lógica de que la solución entera no debe encontrarse muy lejos de la óptima del modelo con variables reales, conocidas como Ramificar y Podar (Branch and Bound).[1]
Este método se basa en que existe un número finito de soluciones posibles, no todas factibles, para un problema con enteros, que pueden representarse mediante un diagrama de árbol. Pero no es necesario enumerar todas las soluciones posibles si se pueden eliminar algunas ramas. Para eliminar una rama basta demostrar que no contiene una solución factible que sea mejor que una ya obtenida.
Página siguiente |