Según tengo entendido, dado que una solución a un programa lineal siempre ocurre en un vértice de su conjunto poliédrico factible (si existe una solución y el valor óptimo de la función objetivo está limitado desde abajo, suponiendo un problema de minimización), ¿cómo puede una búsqueda a través del interior de la región factible ser mejor? ¿Converge más rápido? ¿En qué circunstancias sería ventajoso utilizar el método simplex sobre los métodos de punto interior? ¿Es uno más fácil de implementar en un código que el otro?
14
Respuestas:
Basado en la experiencia personal, diría que los métodos simplex son marginalmente más fáciles de entender cómo implementar que los métodos de punto interior, basados en la experiencia personal de implementar tanto el simplex primario como un método básico de punto interior en MATLAB como parte de tomar una clase de programación lineal . Los principales obstáculos en primal simplex son asegurarse de implementar correctamente la Fase I y la Fase II, y también implementar correctamente una regla de ciclismo. Los principales obstáculos en la implementación de un método de punto interior para la programación lineal tienden a ser más sobre la implementación correcta del método iterativo y la escala del parámetro de barrera en consecuencia.
Puede encontrar una discusión más completa de los pros y los contras de cada algoritmo en un libro de texto sobre programación lineal, como Introducción a la optimización lineal de Bertsimas y Tsitsiklis. ( Descargo de responsabilidad: aprendí la programación lineal de este libro de texto, y tomé la programación lineal en el MIT de la esposa de Bertsimas). Estos son algunos de los conceptos básicos:
Pros de simplex:
Contras de simplex:
Ventajas de los métodos de puntos interiores:
Contras de los métodos de puntos interiores:
fuente
La respuesta es fácil. Ambos (métodos de punto simple e interior) son un campo maduro desde un punto de vista algorítmico. Ambos funcionan muy bien en la práctica. La buena reputación de IPM (métodos de punto interior) se debe a su complejidad polinómica en el peor de los casos. Ese no es el caso del simplex que tiene complejidad combinatoria. Sin embargo, los programas lineales combinatorios casi nunca ocurren en la práctica. Para problemas a gran escala, la IP parece ser un poco más rápida, pero no es necesariamente la regla. En mi opinión, IP puede ser fácil de entender e implementar, pero seguro, alguien más puede estar en desacuerdo, y eso está bien. Ahora, en LP, si la solución es única, definitivamente está en un vértice (tanto IP como Simplex también funcionan bien aquí). La solución también puede estar en una cara del poliedro o en un borde, en cuyo caso, el vértice adyacente es (o los vértices son) también una solución (de nuevo, tanto IP como simplex funcionan bien). Entonces son más o menos lo mismo.
fuente