El algoritmo simplex no está en P. CLRS, por lo tanto, afirma que, aunque en la práctica funciona "bien", hay algunas entradas que hacen que el algoritmo se ejecute en tiempo exponencial. Esto está estrictamente relacionado con el algoritmo, no con su implementación: lo enfrentará independientemente de cómo implemente exactamente el algoritmo. Sin embargo, LP está en P. Esto fue probado por Khachian en 1979, sin embargo, su algoritmo elipsoide no es práctico. Hoy en día, los métodos de puntos interiores son ampliamente utilizados. El primero fue descubierto por Karmarkar en 1984.
Si está interesado en implementaciones prácticas, eche un vistazo a:
GUROBI, gratuito para uso académico, es en este momento el mejor optimizador disponible (versiones paralelas secuenciales y de memoria compartida):
http://www.gurobi.com
la biblioteca GLPK:
http://www.gnu.org/software/glpk/
Este es un proyecto de código abierto, que proporciona implementaciones para:
- métodos primarios y dobles simples
- método de punto interior primario-dual
- método de ramificación y corte
- traductor para GNU MathProg
- interfaz de programa de aplicación (API)
- solucionador de LP / MIP independiente