Вы находитесь на странице: 1из 12

DUALIDAD DEL METODO SIMPLEX

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.

La función objetivo puede estar en la forma de maximización o de minimización. Después de


agregar las variables de holgura y de poner el problema en la tabla, si algún elemento de la parte
derecha es negativo y si la condición de optimidad está satisfecha, el problema puede resolverse
por el método dual simplex. Note que un elemento negativo en el lado derecho significa que el
problema comienza óptimo pero infactible como se requiere en el método dual simplex. En la
iteración donde la solución básica llega a ser factible esta será la solución óptima del problema.

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

PASO 2: Se convierten las inecuaciones en ecuaciones.


F.O.
Z + 4X1 + 12X2 + 18X3 = 0
S.A.
- X1 - 3X3 + S1 = -3
– 2X2 - 2X3 + S2 = -5

PASO 3: Se determinan las variables básicas y no básicas.


・Básicas: S1 y S2
・No Básicas: X1, X2 y X3

PASO 4: Elaborar la tabla inicial del simplex

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

PASO 5: Determinar la variable que sale (fila pivote)


Es el número más negativo de la solución de las restricciones = fila de S2

PASO 6: Determinar la variable que entra (columna pivote)


Razón = Coeficiente de Z / coeficiente fila pivote.
Razón Mayor = Columna X2 (-12 / 2)

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

PASO 7: Elaborar la nueva tabla del simplex


a) Nueva fila pivote = Fila pivote / elemento pivote

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

Nueva Fila (Z)


4 12 18 0 0 0
12 12 12 12 12 12
0 1 1 0 -0,5 2,5
4 0 6 0 6 -30

Nueva Tabla del Simplex

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 -

Se realizan nuevamente los pasos del 5 al 7 obteniendo como solución final:

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.

R\ El valor mínimo se alcanza para un X2 = 3/2 y X3 = 1, para un Z = 36

ANALISIS DE SENSIBILIDAD DEL METODO SIMPLEX

Análisis de Sensibilidad, llamado también Análisis de Post-optimización tiene por objetivo


identificar el impacto que resulta en los resultados del problema original luego de determinadas
variaciones en los parámetros, variables o restricciones del modelo, sin que esto pase por resolver
el problema nuevamente.

El Análisis de Sensibilidad se encarga precisamente de estudiar cómo afectaría a la solución óptima


obtenida y a la función objetivo el cambio (dentro de un rango predeterminado) de uno de los
parámetros, manteniendo fijos los restantes.(no se usa en modelos enteros ni cuadráticos).

OBJETIVO PRINCIPAL DEL ANÁLISIS DE SENSIBILIDAD:

• 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.

CARACTERÍSTICAS DEL ANÁLISIS DE SENSIBILIDAD

• La Investigación de Operaciones usa el método científico para investigar el problema en


cuestión. En particular, el proceso comienza por la observación cuidadosa y la formulación del
problema incluyendo la recolección de datos pertinentes.
• La Investigación de Operaciones adopta un punto de vista organizacional. De esta manera
intenta resolver los conflictos de interés entre los componentes de la organización de forma que el
resultado sea el mejor para la organización completa.

• La Investigación de Operaciones intenta encontrar una mejor solución (llamada solución


óptima), para el problema bajo consideración. En lugar de contentarse con mejorar el estado de
las cosas, la meta es identificar el mejor curso de acción posible.

• En la Investigación de Operaciones es necesario emplear el enfoque de equipo. Este equipo debe


incluir personal con antecedentes firmes en matemáticas, estadísticas y teoría de probabilidades,
economía, administración de empresas ciencias de la computación, ingeniería, etc. El equipo
también necesita tener la experiencia y las habilidades para permitir la consideración adecuada de
todas las ramificaciones del problema.

• La Investigación de Operaciones ha desarrollado una serie de técnicas y modelos muy útiles a la


Ingeniería de Sistemas. Entre ellos tenemos: la Programación No Lineal, Teoría de Colas,
Programación Entera, Programación Dinámica, entre otras.

• La Investigación de Operaciones tiende a representar el problema cuantitativamente para poder


analizarlo y evaluar un criterio común.

PASOS DEL PROCEDIMIENTO DEL ANÁLISIS DE SENSIBILIDAD

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.

3. Conversión a la forma apropiada de eliminación Gauss: se convierte la tabla en la forma


apropiada para identificar y evaluar la solución básica actual, para lo cual se aplica la metodología
de eliminación Gauss si es necesario.

4. Prueba de factibilidad: se prueba la factibilidad de esta solución mediante la verificación de que


todas las variables básicas de la columna del lado derecho aun tengan valores no negativos.

5. Prueba de optimización: se verifica si esta solución es óptima y factible, mediante la


comprobación de que todos los coeficientes de las variables no básicas del reglón Z permanecen
no negativos.

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.

CASOS QUE SE ESTUDIAN

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:

y se cumple , Las mismas variables básicas lo son también de la nueva


solución óptima, calculada con el nuevo . Si lo anterior no se cumple, se puede aplicar el Método
Simplex Dual.

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)

Max 2x1 + 7x2 - 3x3


s.a: 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

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

Posteriormente, se continua iterando haciendo uso del Método Simplex Dual.

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:

donde k es el índice de la nueva variable y Ak su respectiva columna en la


matriz de coeficientes. Si se cumple que rk>=0 se conserva la actual solución óptima. En caso
contrario, se puede seguir con el Simplex agregando a la tabla una nueva columna con entradas B-
1Ak y rk y tomando como variable entrante a la nueva base la que acabamos de introducir al
problema.

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?

Max 9x1 + 12x2


sa: 4x1 + 3x2 <= 180
2x1 + 3x2 <= 150
4x1 + 2x2 <= 160
x1,x2 >= 0

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

Se debe evaluar rk y determinar si este es >=0.


En este ejemplo rk=1>=0, por lo cual no conviene la incorporación de esta nueva variable al
modelo, es decir, aun cuando sea incorporada no obtendremos un valor óptimo que supere el
actual V(P)=615. De todas formas mostraremos como se incluye en la tabla final del Simplex esta
modificación de modo que el lector pueda entender su incorporación cuando es necesario:

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

Finalmente obtenemos X4, X1 y X6 como variables básicas. Producto de la transformación un lado


derecho queda negativo y en este caso podemos continuar adelante utilizando el Método Simplex
Dual.

SOFTWARE UTILIZADO PARA RESOLVER: METODO GRAFICO, METODO SIMPLEX, MODELO DE


TRANSPORTE Y MODELO DE ASIGNACION

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.

Вам также может понравиться