Documente Academic
Documente Profesional
Documente Cultură
Por ejemplo:
VARIABLE ARTIFICIAL / MÉTODO DE LA "M"
Una variable artificial es un truco matemático para convertir inecuaciones ">=" en
ecuaciones, o cuando aparecen igualdades en el problema original, la
característica principal de estas variables es que no deben formar parte de la
solución, dado que no representan recursos. El objetivo fundamental de estas
variables es la formación de la matriz identidad.
Problema planteado
por Edwin Bastidas - Ingeniero Industrial
PASO 1: MODELACIÓN MEDIANTE
PROGRAMACIÓN LINEAL
Las variables:
Las restricciones:
La función Objetivo:
De esta manera podemos apreciar una matriz identidad (n = 4), formado por las
variables de holgura las cuales solo tienen coeficiente 1 en su respectivo recurso,
por el ejemplo la variable de holgura "S1" solo tiene coeficiente 1 en la restricción
correspondiente a el recurso 1.
1S1 = 24
1S2 = 20
1S3 = 20
1S4 = 16
PASO 4: DEFINIR LA TABLA SIMPLEX INICIAL
www.ingenieriaindustrialonline.com
Solución: (segundo término)= En esta fila se consigna el segundo término de la
solución, es decir las variables, lo más adecuado es que estas se consignen de
manera ordenada, tal cual como se escribieron en la definición de restricciones.
Cj = La fila "Cj" hace referencia al coeficiente que tiene cada una de las variables
de la fila "solución" en la función objetivo.
Variable Solución = En esta columna se consigna la solución básica inicial, y a
partir de esta en cada iteración se van incluyendo las variables que formarán parte
de la solución final.
Cb = En esta fila se consigna el valor que tiene la variable que se encuentra a su
derecha "Variable solución" en la función objetivo.
Zj = En esta fila se consigna la contribución total, es decir la suma de los
productos entre término y Cb.
Cj - Zj = En esta fila se realiza la diferencia entre la fila Cj y la fila Zj, su
significado es un "Shadow price", es decir, la utilidad que se deja de recibir por
cada unidad de la variable correspondiente que no forme parte de la solución.
Solución inicial:
www.ingenieriaindustrialonline.com
PASO 5: REALIZAR LAS ITERACIONES
NECESARIAS
Este es el paso definitivo en la resolución por medio del Método Simplex, consiste
en realizar intentos mientras el modelo va de un vértice del poliedro objetivo a otro.
Maximizar Minimizar
Variable que
La más positiva de los Cj - Zj La más negativa de los Cj - Zj
entra
Siendo b los valores bajo la celda solución Siendo b los valores bajo la celda solución
Variable que sale y a el valor correspondiente a la intersección y a el valor correspondiente a la
entre b y la variable que entra. La menos intersección entre b y la variable que entra.
positiva de los b/a. La más positiva de los b/a.
www.ingenieriaindustrialonline.com
2. El hecho de que una variable distinta forme parte de las variables solución
implica una serie de cambios en el tabulado Simplex, cambios que se explicarán a
continuación.
www.ingenieriaindustrialonline.com
- Lo siguiente es comenzar a rellenar el resto de la tabla, fila x fila.
www.ingenieriaindustrialonline.com
- Se repite este procedimiento con las dos filas restantes, ahora se harán los
cálculos correspondientes en el resto de las celdas.
www.ingenieriaindustrialonline.com
De esta manera se culmina la primera iteración, este paso se repetirá cuantas
veces sea necesario y solo se dará por terminado el método según los siguientes
criterios.
Maximizar Minimizar
Solución Óptima Cuando todos los Cj - Zj sean <= 0 Cuando todos los Cj - Zj sean >= 0
- Continuamos con las iteraciones para lo cual tenemos que repetir los pasos
anteriores.
www.ingenieriaindustrialonline.com
En esta última iteración podemos observar que se cumple con la consigna Cj - Zj
<= 0, para ejercicios cuya función objetivo sea "Maximizar", por ende hemos
llegado a la respuesta óptima.
X1 = 3
X2 = 4
X3 = 6
X4 = 4
Con una utilidad de: $ 340000
Sin embargo una vez finalizado el Método Simplex se debe observar una matriz
identidad en el rectángulo determinado por las variables de decisión, el hecho de
que en este caso no se muestre la matriz identidad significa que existe una
solución óptima alterna.
www.ingenieriaindustrialonline.com
La manera de llegar a la otra solución consiste en alterar el orden en que cada una
de las variables entro a la solución básica, recordemos que el proceso fue
decidido al azar debido a la igualdad en el Cj - Zj del tabulado inicial. Aquí les
presentamos una de las maneras de llegar a la otra solución.
www.ingenieriaindustrialonline.com
Podemos observar como existe una solución óptima alternativa en la cual la
combinación de variables es distinta y existe un menor consumo de recursos,
dado que el hecho de que se encuentre la variable "S1" en la solución óptima con
un coeficiente de "3" significa que se presenta una holgura de 3 unidades del
recurso (pieza rectangular de 8 pines).
Minimizar
Variable que entra La más negativa de los (Cj - Zj)
Siendo "b" los valores bajo la celda solución y "a" el valor correspondiente a
Variable que sale
la intersección entre "b" y la variable que entra. La más positiva de los "b/a".
Solución Óptima Cuando todos los (Cj - Zj) sean >= 0.
https://www.ingenieriaindustrialonline.com/herramientas-para-el-ingeniero-
industrial/investigaci%C3%B3n-de-operaciones/m%C3%A9todo-simplex/
2018
Método Simplex
El Método Simplex publicado por George Dantzig en 1947 consiste en un algoritmo iterativo que
secuencialmente a través de iteraciones se va aproximando al óptimo del problema de Programación Lineal en caso
de existir esta última.
La primera implementación computacional del Método Simplex es el ano 1952 para un problema de 71 variables y 48
ecuaciones. Su resolución tarda 18 horas. Luego, en 1956, un código llamado RSLP1, implementado en un IBM con
4Kb en RAM, admite la resolución de modelos con 255 restricciones.
El Método Simplex hace uso de la propiedad de que la solución óptima de un problema de Programación Lineal se
encuentra en un vértice o frontera del dominio de puntos factibles (esto último en casos muy especiales), por lo cual,
la búsqueda secuencial del algoritmo se basa en la evaluación progresiva de estos vértices hasta encontrar el óptimo.
Cabe destacar que para aplicar el Método Simplex a un modelo lineal, este debe estar en un formato especial
conocido como formato estándar el cual definiremos a continuación.
Consideremos un modelo de Programación Lineal en su forma estandar, que denotaremos en lo que sigue por:
Min cTx
s.a Ax = b
x >= 0
No existe pérdida de generalidad en asumir que un modelo de PL viene dado en su forma estándar:
EJEMPLO
P) Max 9u + 2v + 5z
sa 4u + 3v + 6z <= 50
u + 2v - 3z >= 8
2u - 4v + z = 5
u,v >= 0
z e IR
EJEMPLO:
Para poder aplicar el Método Simplex, es necesario llevar el modelo a su formato estándar, para lo cual
definimos X3, X4, X5 >= 0 como las respectivas variables de holgura para la restricción 1, 2 y 3. De esta forma
queda definida la tabla inicial del método de la siguiente forma:
X1 X2 X3 X4 X5
2 1 1 0 0 70
1 1 0 1 0 40
1 3 0 0 1 90
-40 -60 0 0 0 0
En esta situación, las variables de holgura definen una solución básica factible inicial, condición necesaria para la
aplicación del método. Luego, se verifican los costos reducidos de las variables no básicas (X1 y X2 en la tabla
inicial) y se escoge como variable que entra a la base aquella con el costo reducido "más negativo". En este
caso, X2.
Luego, para escoger que variable básica deja la base debemos buscar el mínimo cuociente entre el lado derecho y
los coeficientes asociados a la variable entrante en cada fila (para aquellos coeficientes > 0 marcados en rojo en la
tabla anterior). El mínimo se alcanza en Min {70/1, 40/1, 90/3} = 30 asociado a la tercera fila, el cual corresponde a
la variable básica actual X5, en consecuencia, X5 deja la base. En la posición que se alcanza el mínimo cuociente lo
llamaremos "Pivote" (marcado con rojo) el cual nos servirá para realizar las respectivas operaciones filas, logrando
la siguiente tabla al cabo de una iteración:
X1 X2 X3 X4 X5
5/3 0 1 0 -1/3 40
2/3 0 0 1 -1/3 10
1/3 1 0 0 1/3 30
-20 0 0 0 20 1800
El valor de la función objetivo luego de una iteración ha pasado de 0 a 1.800. Se recomienda al lector hacer una
representación gráfica del problema y notar como las soluciones factibles del método corresponden a
vértices del dominio de puntos factibles.
La actual tabla no corresponde a la solución óptima del problema P) debido a que existe una variable no básica con
costo reducido negativo, por tanto X1 entra a la base. Posteriormente, mediante el criterio del mínimo cuociente
calculamos la variable que debe dejar la base: Min {40/(5/3), 10/(2/3), 30/(1/3)} = 15, asociado a la fila 2 (variable
básica actual X4), por tanto X4 deja la base. Obtenido lo anterior se aplica una iteración del método:
X1 X2 X3 X4 X5
0 0 1 -5/2 1/2 15
1 0 0 3/2 -1/2 15
0 1 0 -1/2 1/2 25
0 0 0 30 10 2100
Finalmente se alcanza la solución óptima del problema P) y se verifica que los costos reducidos asociados a las
variables no básicas (X4 y X5 son mayores o iguals que cero). Notése que la existencia de un costo reducido igual a
cero para una variable no básica en esta etapa define un problema con "infinitas soluciones".
La solución alcanzada es X1* = 15, X2* = 25 con V(P*) = 2.100. Adicionalmente, los costos reducidos asociados
a las variables no básicas definen el precio sombra asociado a las restricciones 1, 2 y 3, respectivamente, lo cual es
equivalente a la obtención del precio sombra mediante el método gráfico. Dejaremos para una posterior
presentación, la forma de calcular el intervalo de variación para el lado derecho que permite la validez del precio
sombra, utilizando la tabla final del Método Simplex.
Esta estrategia se utiliza cuando no es inmediata una solución básica factible inicial en las variables originales del
modelo.
FASE 1: Se considera un problema auxiliar que resulta de agregar tantas variables auxiliares a las restricciones del
problema, de modo de obtener una solución básica factible. Resolver por Simplex un problema que considera como
función objetivo la suma de las variables auxiliares. Si el valor óptimo es cero, seguir a la Fase II, en caso contrario,
no existe solución factible.
FASE 2: Resolver por Simplex el problema original a partir de la solución básica factible inicial hallada en la Fase I.
P) Max 2X1 + X2
sa 10X1 + 10X2 <= 9
10X1 + 5X2 >= 1
X1, X2 >= 0
Se debe agregar X3 como variable de holgura de la restricción 1, X4 como variable de exceso de la restricción 2 y X5
variable auxiliar para poder comenzar la Fase 1. (Nótese que solo agregando X3 como variable de holgura a la
restricción 1 y X4 como variable de exceso a las segunda restricción no se obtiene una solución básica factible inicial,
en particular X4<0).
F1) Min X5
sa ...............10X1 + 10X2 + X3 = 9
10X1 + 5X2 - X4 + X5 = 1
X1, X2, X3, X4, X5 >= 0
X1 X2 X3 X4 X5
10 10 1 0 0 9
10 5 0 -1 1 1
0 0 0 0 1 0
Luego, se debe hacer 0 el costo reducido de X5, obteniendo la siguiente tabla inicial para hacer el uso de Simplex:
X1 X2 X3 X4 X5
10 10 1 0 0 9
10 5 0 -1 1 1
-10 -5 0 1 0 -1
Se escoge X1 como variable que entra a la base al tener el costo reducido más negativo. Posteriormente, mediante
el criterio del mínimo cuociente se selecciona la variable que sale de la base: Min {9/10; 1/10} = 1/10, X5 sale de la
base:
X1 X2 X3 X4 X5
0 5 1 1 -1 8
Se obtiene la solución óptima de la Fase I, con valor óptimo cero. Luego iniciamos la Fase II del método
tomando X1 y X3 como variables básicas iniciales.
FASE 2: Resolver por Simplex el problema original a partir de la solución básica factible inicial hallada en la Fase I.
X1 X2 X3 X4
0 5 1 1 8
-2 -1 0 0 0
X1 X2 X3 X4
0 5 1 1 8
0 0 0 -1/5 1/5
X4 entra a la base. Por el criterio del mínimo cuociente, el pivote se encuentra en la fila 1, por tanto X3 sale de la
base:
X1 X2 X3 X4
0 5 1 1 8
1 1 1/10 0 9/10
0 1 1/5 0 9/5
Donde la solución óptima es: X1=9/10 X2=0 Con valor óptimo V(P) = 9/5.
La siguiente aplicación permite resolver modelos de Programación Lineal utilizando el Método Simplex. Consideremos
uno de los ejemplos de esta sección para ver su uso. Nótese que no es necesario agregar las restricciones de no
negatividad. De aquí se obtiene la solución óptima, valor óptimo y cada una de las tablas del Método Simplex. Para
una mejor visualización de las tablas se recomienda seleccionar el modo "Fracción".
Escriba su problema lineal abajo. (Seleccione "Ejemplo" para ver como funciona)
Solución:
La Solución Optima aparecera aqui
6
Redondeo: digitos significativos
Decimal
Fracción
Modo: Entero
Aplicación usada con la autorización de ZweigMedia Inc. Los derechos de autor corresponde a ZweigMedia.
https://www.programacionlineal.net/simplex.html
Dualidad en Programación Lineal
Consideremos nuevamente el ejemplo utilizado para presentar el tutorial de Solver:
Supongamos que deseamos conocer una cota superior del valor óptimo de este problema sin la
necesidad de resolver dicho problema. Por ejemplo, si multiplicamos la restricción 3 por 200
obtenemos: 200X + 200Y + 200Z <= 10.000. Claramente el lado izquierdo de esta restricción
amplificada es mayor o igual a la expresión que define la función objetivo, por tanto podemos
afimar que el valor óptimo de este problema es menor o igual a 10.000 ( V(P)<=10.000 ). Por
supuesto se puede buscar otras combinaciones de modo de definir una mejor cota superior a la
que se utiliza como ejemplo.
Este problema puede ser resuelto a través del método simplex dual como se explica en detalle
en dicha sección. Se obtiene de esta forma la siguiente solución óptima: A=8, B=10, C=60,
con valor óptimo de 6.620. Si multiplicamos las restricciones del problema dual por estos
multiplicadores logramos la mejor cota superior:
8(15X + 7,5Y + 5Z) + 10(2X + 3Y + 2Z) + 60(X + Y + Z) <= 8*315 + 10*110 + 60*50
Se puede verificar adicionalmente que el precio sombra de las respectivas restricciones del
problema primal (ver informe de sensibilidad en la sección de solver de excel) corresponde a
las variables duales óptimas o solución óptima del problema dual, con valor óptimo equivalente.
http://www.investigaciondeoperaciones.net/dualidad_en_programacion_lineal.html
CARACTERÍSTICA DEL MÉTODO SIMPLEX
http://metodosimplex15.blogspot.com/2014/10/definicion_30.html