dalsegno · Método Simplex tabular para programación lineal
El método Simplex resuelve problemas de programación lineal en forma estándar mediante un tableau: primero se añaden variables de holgura (≤), surplus y artificiales (≥, =) con penalización Big-M; luego se itera eligiendo la columna entrante por coste reducido más negativo y la fila saliente por la razón mínima, y se aplica pivoteo (Gauss-Jordan) hasta alcanzar optimalidad o detectar infactibilidad o no acotación.
¿Qué es el método Simplex?
El método Simplex es un algoritmo para resolver problemas de programación lineal. Fue desarrollado por George Dantzig y consiste en ir moviéndose por vértices de la región factible (en el espacio de variables) mejorando el valor de la función objetivo en cada paso hasta llegar al óptimo o detectar que el problema es no acotado o infactible.
Forma estándar. El Simplex trabaja con problemas en forma estándar: maximización (o minimización convertida a max), restricciones de igualdad y variables no negativas. Las desigualdades se transforman usando variables de holgura (≤), surplus y variables artificiales (≥ y =).
Método Big-M. Cuando hay restricciones ≥ o =, se añaden variables artificiales y se penalizan en la función objetivo con un coeficiente -M (en maximización) para que salgan de la base; así se obtiene una base factible inicial o se detecta infactibilidad.
Tableau y pivoteo. El algoritmo se aplica sobre un tableau (tabla) que representa el sistema en forma canónica respecto a la base actual. En cada iteración se elige una variable entrante (por coste reducido más negativo) y una variable saliente (por la regla de la razón mínima), y se realiza un pivoteo tipo Gauss-Jordan. El proceso termina cuando no hay costes reducidos negativos (óptimo), cuando no hay fila saliente (no acotado) o cuando permanecen variables artificiales en la base (infactible).
Plantear el problema
Introduce la función objetivo y las restricciones. Con 2 variables se mostrará la región factible y el óptimo; con más variables se usará Simplex y, si aplica, la proyección sobre x₁, x₂.
Editor del problema
Usa "Aplicar cambios" para crear un snapshot (undo/redo).
Cotas por variable
Forma a ≤ xᵢ ≤ b. Dejar vacío = sin cota (∞ o −∞). Por defecto: 0 ≤ xᵢ.