Академический Документы
Профессиональный Документы
Культура Документы
El método simplex dual resulta ser una estrategia algorítmica eficiente cuando luego de llevar un
modelo de programación lineal a su forma estándar, la aplicación del método simplex no es
inmediata o más bien compleja, por ejemplo, puede requerir la utilización del método simplex de
2 fases.
Una aplicación típica del método simplex dual es en la resolución de problemas con una función
objetivo de minimización, con restricciones del tipo mayor o igual y donde las variables de decisión
son mayores o iguales a cero.
CONDICION DE FACTIBILIDAD.
La variable que sale es la variable básica que tiene el valor más negativo (los empates se rompen
arbitrariamente si todas las variables básicas son no negativas, el proceso termina y esta última
tabla es la solución óptima factible).
CONDICION DE OPTIMIDAD.
La variable que entra se elige entre las variables no básicas como sigue. Tome los cocientes de los
coeficientes de la función objetivo entre los coeficientes correspondientes a la ecuación asociada a
la variable que sale.
Ignore los cocientes asociados a denominadores positivos o cero. La variable que entra es aquella
con el cociente más pequeño si el problema es de minimizar o el valor absoluto más pequeño si el
problema es de maximización (rompa los empates arbitrariamente). Si los denominadores son
ceros o positivos el problema no tiene ninguna solución factible.
EJEMPLO:
F.O.
Min. Z = 4X1 + 12X2 + 18X3
S.A.
X1 + 3X3 ≥ 3
2X2 + 2X3 ≥ 5
X1, X2, X3 ≥ 0
SOLUCIÓN:
PASO 1: Convertir el problema de minimización en uno de maximización. La función
objetivo se multiplica por -1
F.O.
Max. Z = - 4X1 - 12X2 - 18X3
Las restricciones se multiplican por -1
S.A.
- X1 - 3X3 ≤ -3
- 2X2 - 2X3 ≤ -5
X1, X2, X3 ≥ 0
Variable Variables
Solución
Básica X1 X2 X3 S1 S2
S1 -1 0 -3 1 0 -3
S2 0 -2 -2 0 1 -5
Z 4 12 18 0 0 0
Variable Variables
Solución
Básica X1 X2 X3 S1 S2
S1 -1 0 -3 1 0 -3
S2 0 -2 -2 0 1 -5
Z 4 12 18 0 0 0
Razón - -6 -9 - 0
0 -2 -2 0 1 -5 Fila Pivote
-2 -2 -2 -2 -2 -2 Elemento pivote
0 1 1 0 -0,5 2,5 Nueva Fila Pivote
b) Nuevas filas = fila anterior - coeficiente de la columna pivote x nueva fila pivote.
Nueva Fila (S1)
-1 0 -3 1 0 -3 Fila Anterior
X 0 0 0 0 0 0 Coeficiente
0 1 1 0 -0,5 2,5 Nueva Fila Pivote
-1 0 -3 1 0 -3 Nueva Fila
Variable Variables
Solución
Básica X1 X2 X3 S1 S2
S1 -1 0 -3 1 0 -3
X2 0 1 1 0 -1 2,5
Z 4 0 6 0 6 -30
Razón -4 - -2 0 -
Variable Variables
Solución
Básica X1 X2 X3 S1 S2
X3 0,33 0 1 -0,33 0 1
X2 -0,33 1 0 0,33 -0,5 1,5
Z 2 0 0 2 6 -36
NOTA: No hay más iteraciones cuando no existan soluciones con coeficientes negativos.
• Establecer un intervalo de números reales en el cual el dato que se analiza puede estar
contenido, de tal manera que la solución sigue siendo óptima siempre que el dato pertenezca a
dicho intervalo
• Investigar el cambio en la solución óptima del problema, cuando se producen cambios en los
parámetros del modelo. El objetivo principal del análisis de sensibilidad es identificar el intervalo
permisible de variación en los cuales las variables o parámetros pueden fluctuar sin que cambie la
solución óptima. Sin embargo, así mismo se identifica aquellos parámetros sensibles, es decir, los
parámetros cuyos valores no pueden cambiar sin que cambie la solución óptima. Los
investigadores de operaciones tienden a prestar bastante atención a aquellos parámetros con
holguras reducidas en cuanto a los cambios que pueden presentar, de forma que se vigile su
comportamiento para realizar los ajustes adecuados según corresponda y evitar que estas
fluctuaciones puedan desembocar en una solución no factible.
1. Revisión del modelo: se realizan los cambios que se desean investigar en el modelo.
2. Revisión de la tabla final Simplex: se aplica el criterio adecuado para determinar los cambios que
resultan en la tabla final Simplex.
6. Re optimización: si esta solución no pasa una de las pruebas indicadas en los puntos 4 y 5
anteriores, se procede a buscar la nueva solución óptima a partir de la tabla actual como tabla
Simplex inicial, luego de aplicadas las conversiones de lugar, ya sea con el método Simplex o el
Simplex D.
1. Cambio en el "lado derecho" de las restricciones: Lo que se busca identificar si las actuales
variables básicas se mantienen luego de la modificación de uno o más parámetros asociados al
"lado derecho" del modelo. Si calculamos:
EJEMPLO: Sin resolver nuevamente el problema, se desea saber si las actuales variables básicas
óptimas del problema también lo son del mismo problema, donde los lados derechos corresponde
al vector b=(20,30). (Observación: X4 y X5 son variables de holgura de la restricción 1 y 2
respectivamente)
x1,x2,x3 >= 0
X1 X2 X3 X4 X5
0 -1 5 1 -1 20
1 4 -1 0 1 10
0 1 1 0 2 20
Para analizar este escenario debemos calcular el vector de variables básicas y verificar si todos sus
componentes son positivos definidos. Nótese que para esto necesitamos la matriz B inversa, la
cual fácilmente podemos rescatar identificando los parámetros asociados a X4 y X5 (variables de
holgura de la restricción 1 y 2 respectivamente) en la tabla final del Método Simplex:
Luego, dado que al menos uno de los coeficientes del nuevo lado derecho tiene un valor negativo,
cambia la actual base óptima. Cabe destacar que ante esta situación no es necesario resolver el
nuevo escenario partiendo de cero, sino lo que se debe hacer es utilizar la tabla final del simplex
del escenario base, actualizando el lado derecho y valor de la función objetivo.
X1 X2 X3 X4 X5
0 -1 5 1 -1 -10
1 4 -1 0 1 30
0 1 1 0 2 60
2. Inclusión de una nueva variable: Debemos evaluar si la nueva variable es un aporte significativo
a los resultados del modelo original. Luego, para decir si la actual solución básica es óptima para el
nuevo problema, calculamos el costo reducido de la nueva variable como:
EJEMPLO: Se desea estudiar la posibilidad de elaborar un nuevo producto con beneficio neto igual
a 8 y que requiere 4, 2 y 5 unidades de los recursos asociados a cada restricción. Sin resolver
nuevamente el problema, ¿Conviene elaborar el producto?
X1 X2 X3 X4 X5
1 0 1/2 -1/2 0 15
0 1 -1/3 2/3 0 40
0 0 -4/3 2/3 1 20
0 0 1/2 7/2 0 615
X1 X2 X3 X4 X5 XNew
1 0 1/2 -1/2 0 1 15
0 1 -1/3 2/3 0 0 40
0 0 -4/3 2/3 1 1 20
0 0 1/2 7/2 0 1 615
Si el costo reducido de esta nueva variable hubiese sido cero, entonces el nuevo escenario tendría
infinitas soluciones.
3. Cambio en los Coeficientes Función Objetivo: Se busca identificar qué ocurre con la actual
solución óptima del escenario base si se cambian uno o varios de los coeficientes que definen la
función objetivo. La solución óptima actual también lo será para el nuevo escenario siempre que
los nuevos costos reducidos sean mayores o iguales a cero (notar que también cambia el valor de
la función objetivo en la actual solución óptima). Es decir se debe cumplir que:
En caso contrario, se aplica el Simplex a partir de la tabla final del modelo original, con los nuevos
costos reducidos y nuevo valor de la actual solución básica.
EJEMPLO: Sin resolver nuevamente el problema, se desea saber que sucede si se modifica los
parámetros de la función objetivo, quedando éstos de la siguiente forma: Z = x1 + 5x2 - 2x3. (X4 y
X5 son las variables de holgura de la restricción 1 y 2 respectivamente).
Max 2x1 + 7x2 - 3x3
sa: x1 + 3x2 + 4x3 <= 30
x1 + 4x2 - x3 <= 10
x1,x2,x3 >= 0
X1 X2 X3 X4 X5
0 -1 5 1 -1 20
1 4 -1 0 1 10
0 1 1 0 2 20
Debido a que los cambios en los parámetros de la función objetivo se producen en más de una
variable consideraremos la siguiente fórmula:
Debido a que al menos uno de los costos reducidos de las variables no básicas se ha vuelto
negativo, entonces cambia la actual solución y valor óptimo del problema. Para incorporar esta
modificación en la tabla final del Método Simplex se actualiza los costos reducidos asociados a las
variables no básicas, además del valor óptimo, quedando como sigue:
X1 X2 X3 X4 X5
0 -1 5 1 -1 20
1 4 -1 0 1 10
0 -1 1 0 1 10
4. Inclusión de una nueva restricción: Para saber si la actual solución y valor óptimo se mantendrá
luego de incorporar una nueva restricción al problema se debe evaluar la solución actual y verificar
si satisface la nueva restricción. En caso afirmativo, la actual solución también lo será del problema
con la nueva restricción, en caso contrario se incorpora la nueva restricción a la tabla final del
Simplex del escenario base.
EJEMPLO: Sin resolver nuevamente el problema, se desea saber que sucede si se considera una
nueva restricción de la forma: 3x1 + 2x2 + 3x3 <= 25. (Observación: Considerar mismo modelo y
tabla final del ejemplo anterior)
Se evalúa la solución actual en la restricción: 3*(10) + 2*(0) + 3*(0) <= 25. No cumple. Por tanto se
incorpora esta nueva restricción como fila a la tabla final del Simplex. Adicionalmente, se
agrega X6 como variable de holgura asociada a esta nueva restricción:
X1 X2 X3 X4 X5 X6
0 -1 5 1 -1 0 20
1 4 -1 0 1 0 10
3 2 3 0 0 1 25
0 1 1 0 2 0 20
Una alternativa para encontrar el óptimo a través de esta tabla es formar la identidad (debemos
hacer cero el parámetro asociado a X1 en la tercera fila) multiplicando la fila 2 por -3 y sumando
dicho resultado a la fila 3. De esta forma se obtiene:
X1 X2 X3 X4 X5 X6
0 -1 5 1 -1 0 20
1 4 -1 0 1 0 10
0 -10 6 0 -3 1 -5
0 1 1 0 2 0 20
Existen varios software para resolver problemas de programación lineal, de los cuales podemos
nombrar:
PHPSimplex
PHPSimplex es una herramienta online para resolver problemas de programación lineal. Su uso es
libre y gratuito.
PHPSimplex es capaz de resolver problemas mediante el método Simplex, el método de las Dos
Fases, y el método Gráfico, y no cuenta con limitaciones en el número de variables de decisión ni
en las restricciones de los problemas.
Esta herramienta está pensada para ayudar a los estudiantes en su aprendizaje ya que no solo
muestra los resultados finales sino también las operaciones intermedias. También ofrece la
solución directa para uso de profesionales. Otras de sus ventajas son que no precisa de ningún
lenguaje para enunciar el problema, ofrece una interfaz amigable, es cercano al usuario, de
manejo fácil e intuitivo, no es necesario instalar nada para poder usarlo, y está disponible en
varios idiomas.
Está disponible también un manual de ayuda de PHPSimplex para aprender rápidamente a utilizar
la herramienta.
Solver
Es sin duda la principal herramienta para resolver modelos de optimización de tamaño reducido
utilizado por los alumnos de cursos de ingeniería. Este complemento de Excel se puede descargar
desde el sitio web de Frontline en su versión comercial (Premium Solver Pro) para implementar
modelos de mayor tamaño.
AMPL
Es un lenguaje de programación matemática que permite abordar la formulación y resolución de
modelos de optimización de programación lineal, programación entera y programación no lineal
(entre otros). Esta plataforma es popular para modelos de mayor complejidad que requieren para
su resolución de algoritmos especializados.