3. Método
Simplex
-
• Es un método analítico de solución de problemas de programación
lineal, capaz de resolver modelos más complejos que los resueltos
mediante el método gráfico sin restricción en el número de variables.
• Es un método iterativo que permite ir mejorando la solución en cada paso.
La razón matemática de esta mejora radica en que el método consiste en
caminar del vértice de un poliedro a un vértice vecino de manera que
aumente o disminuya (según el contexto de la función objetivo, sea
maximizar o minimizar), dado que el número de vértices que presenta un
poliedro solución es finito siempre se hallará solución.
3
Dr. Jorge Pablo Rivas Díaz
Definicióngeneral
4. Consideraciones
Previas
alMétodo
Simplex
-
Se requiere manejo de conceptos y técnicas fundamentales del algebra lineal.
“La importancia de la teoría de matrices en el Método Simplex es fundamental,
dado que el algoritmo se basa en dicha teoría para la resolución de sus
problemas”(Salazar, 2019)
• Matrices
• Vectores
• Operaciones con matrices
• Algoritmos
• Tipos especiales de matrices
• etc.
4
Dr. Jorge Pablo Rivas Díaz
Algebralineal
https://www.ingenieriaindustrialonline.com/investigacion-de-operaciones/metodo-simplex/
5. Consideraciones
Previas
alMétodo
Simplex
-
• El Método Simplex trabaja basándose en ecuaciones y las restricciones
iniciales que se modelan mediante programación lineal
• Para ello hay que convertir estas inecuaciones en ecuaciones utilizando unas
variables denominadas de holgura y exceso relacionadas con el recurso al
cual hace referencia la restricción y que en el tabulado final representa
el «Slack or surplus». Estas variables adquieren un gran valor en el análisis
de sensibilidad y juegan un rol fundamental en la creación de la matriz
identidad base del Simplex.
• Estas variables suelen estar representadas por la letra «S», se suman si la
restricción es de signo «<= » y se restan si la restricción es de signo «>=».
5
Dr. Jorge Pablo Rivas Díaz
Variablesdeholgurayexceso
6. Consideraciones
Previas
alMétodo
Simplex
-
• 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.
• Estas variables se representa por la letra «A», siempre se suman a las
restricciones, su coeficiente es M (por esto se le denomina Método de la M
grande, donde M significa un número demasiado grande muy poco
atractivo para la función objetivo), y el signo en la función objetivo va en
contra del sentido de la misma, es decir, en problemas de Maximización su
signo es menos (-) y en problemas de Minimización su signo es (+), con el
objetivo de que su valor en la solución sea cero (0).
6
Dr. Jorge Pablo Rivas Díaz
Variableartificial/Métododela«M»
10. Consideraciones
Previas
alMétodo
Simplex
-
10
Dr. Jorge Pablo Rivas Díaz
Elmodelodebecumplirlassiguientescondiciones:
• El objetivo consistirá en maximizar o minimizar el valor de la
función objetivo (por ejemplo, incrementar ganancias o reducir
pérdidas, respectivamente).
• Todas las restricciones deben ser ecuaciones de igualdad
(identidades matemáticas).
• Todas las variables (xi) deben tener valor positivo o nulo
(condición de no negatividad).
• Los términos independientes (bi) de cada ecuación deben ser
no negativos.
11. Consideraciones
Previas
alMétodo
Simplex
-
11
Dr. Jorge Pablo Rivas Díaz
Tipodeoptimización(MinMax)
• Existen diferencias en el algoritmo entre el objetivo de maximización y
el de minimización en cuanto al criterio de condición de parada para
finalizar las iteraciones y a las condiciones de entrada y salida de la
base.
•Objetivo de maximizaciónCondición de
parada: cuando en la fila Z no aparece
ningún valor negativo.
•Condición de entrada a la base: el menor
valor negativo en la fila Z (o el de mayor
valor absoluto entre los negativos) indica la
variable Pj que entra a la base.
•Condición de salida de la base: una vez
obtenida la variable entrante, la variable
que sale se determina mediante el menor
cociente P0/Pj de los estrictamente
positivos.
•Objetivo de minimizaciónCondición de
parada: cuando en la fila Z no aparece
ningún valor positivo.
•Condición de entrada a la base: el
mayor valor positivo en la fila Z indica la
variable Pj que entra a la base.
•Condición de salida de la base: una vez
obtenida la variable entrante, la variable
que sale se determina mediante el menor
cociente P0/Pj de los estrictamente
negativos.
http://www.phpsimplex.com/teoria_metodo_simplex.htm
12. Consideraciones
Previas
alMétodo
Simplex
-
12
Dr. Jorge Pablo Rivas Díaz
Cambiodesignodelostérminosindependientes
• los términos independientes (bi) de cada ecuación deben ser no negativos para
poder emplear el método Simplex. A tal fin, si alguna de las restricciones presenta
un término independiente menor que 0 habrá que multiplicar por "-1" ambos lados
de la inecuación (teniendo en cuenta que esta operación también afecta al tipo de
restricción).
• Ventajas: Con ésta simple modificación de signos en las restricciones
correspondientes se posibilita la aplicación del método Simplex al problema
modelado.
• Inconvenientes: Puede resultar que en las restricciones donde tengamos que
modificar los signos de las constantes, los tipos de desigualdad fueran "≤"
(quedando tras la operación del tipo "≥") siendo necesario desarrollar el método de
las Dos Fases. Este inconveniente no es controlable, aunque podría ocurrir el caso
contrario y resultar beneficioso si los términos independientes negativos se
presentan en todas aquellas restricciones con desigualdad de tipo "≥". Si existe
alguna restricción del tipo "=" no supondría ninguna ventaja ni desventaja puesto
que siempre sería de necesaria aplicación el método a 2 fases
http://www.phpsimplex.com/teoria_metodo_simplex.htm
13. 13
Dr. Jorge Pablo Rivas Díaz
Normalizacióndelasrestricciones
• el problema es que todas las restricciones sean ecuaciones de igualdad (también llamadas restricciones de
igualdad), por lo que hay que convertir las restricciones de desigualdad o inecuaciones en dichas identidades
matemáticas.
La condición de no negatividad de las variables (x1,..., xn ≥ 0) es la única excepción y se mantiene tal cual.
Restricción de tipo "≤"
Restricción de tipo "≥"
Restricción de tipo “="
14. Consideraciones
Previas
alMétodo
Simplex
-
14
Dr. Jorge Pablo Rivas Díaz
Desarrollo
Una vez estandarizado el modelo
puede ocurrir que sea necesario
aplicar el método Simplex o
el método a dos fases para llegar
a la solución del problema
modelado
http://www.phpsimplex.com/teoria_metodo_simplex.htm
16. Método
Simplex
-
16
Dr. Jorge Pablo Rivas Díaz
Simplex
el método Simplex opera iterativamente a través de los
siguientes pasos:
Test de
optimalidad
En problemas de maximización, el P.L. es óptimo si todos los costes reducidos 𝒄𝒋 − 𝒛𝒋 son menores o
iguales que cero. En problemas de minimización cada coste reducido debe ser mayor o igual que cero.
Regla de
entrada en la
base
La variable que entra en la base debe ser aquella que tenga el mayor coste reducido positivo en el caso
de maximización (o mayor coste reducido negativo, en el caso de minimización), ya que ésta es la que
aumenta (disminuye) más rápidamente el valor de la función objetivo. Supongamos que la variable
entrante es la k-ésima.
Regla de salida
de la base.
Después de decidir qué variable entra en la base, es preciso determinar qué variable sale de la base. El
criterio consiste en seleccionar aquélla que tiene un menor cociente entre su valor y el coeficiente de k y
correspondiente a la columna k-ésima, siempre y cuando este coeficiente sea estrictamente positivo. La
interpretación de este cociente es clara: representa el máximo valor que puede tomar la variable
entrante antes de que la variable que se está considerando viole su restricción de no negatividad. Si
todos los coeficientes de la columna k-ésima son nulos o negativos, estaríamos en el caso de solución no
acotada o ilimitada, ya que la variable entrante puede crecer indefinidamente sin pérdida de factibilidad.
17. Método
Simplex
-
17
Dr. Jorge Pablo Rivas Díaz
DiagramadeflujodelalgoritmodelSimplex.
http://www.mate.unlp.edu.ar/practicas/66_13_0804200912835.pdf
el método Simplex opera
iterativamente a través de
los siguientes pasos:
18. Método
Simplex
-
18
Dr. Jorge Pablo Rivas Díaz
MétododelSimplexenformadeTableau
Construcción de la primera tabla
Condición de parada:
Elección de la variable que entra a la base:
Elección de la variable que sale de la base:
Elemento pivote:
Actualización de la tabla:
http://www.phpsimplex.com/teoria_metodo_simplex.htm
20. 20
Dr. Jorge Pablo Rivas Díaz
El problema Maximizar utilidades modificando los niveles
de la producción
La empresa el SAMÁN Ltda (CARPINTERÍA). actualmente fabrica mesas, sillas, camas y
bibliotecas.
• Cada mesa requiere de 2 piezas rectangulares de 8 pines, y 2 piezas cuadradas de 4 pines.
• Cada silla requiere de 1 pieza rectangular de 8 pines y 2 piezas cuadradas de 4 pines,
• Cada cama requiere de 1 pieza rectangular de 8 pines, 1 cuadrada de 4 pines y 2 bases
trapezoidales de 2 pines y finalmente
• Cada biblioteca requiere de 2 piezas rectangulares de 8 pines, 2 bases trapezoidales de 2
pines y 4 piezas rectangulares de 2 pines.
• Cada mesa cuesta producirla $10000 y se vende en $ 30000,
• Cada silla cuesta producirla $ 8000 y se vende en $ 28000, cada cama cuesta producirla $
20000 y se vende en $ 40000, cada biblioteca cuesta producirla $ 40000 y se vende en $
60000.
• El objetivo de la fábrica es maximizar las utilidades.
22. 22
Dr. Jorge Pablo Rivas Díaz
Paso 1:
Modelación mediante del sistema de
ecuaciones (programación lineal)
23. 23
Dr. Jorge Pablo Rivas Díaz
Paso 2:
Convertir inecuaciones en
ecuaciones
En este paso el objetivo es asignar a cada recurso una variable de Holgura, dado que todas las restricciones
son «<=».
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.
24. 24
Dr. Jorge Pablo Rivas Díaz
Paso 3:
Definir solución básica inicial
El Método Simplex parte de una solución básica inicial para realizar todas sus iteraciones, esta solución básica
inicial se forma con las variables de coeficiente diferente de cero (0) en la matriz identidad
25. 25
Dr. Jorge Pablo Rivas Díaz
Paso 4:
Tabulado de matriz simplex
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.
27. 27
Dr. Jorge Pablo Rivas Díaz
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.
28. 28
Dr. Jorge Pablo Rivas Díaz
Paso 5: inicio de la primera iteración
1. Evaluar que variable entrará y cual saldrá de la solución óptima:
29. 29
Dr. Jorge Pablo Rivas Díaz
Paso 5:
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.
Paso 5: intermedio primera iteración
30. 30
Dr. Jorge Pablo Rivas Díaz
Paso 5:
Paso 5: fin de la primera iteración
31. 31
Dr. Jorge Pablo Rivas Díaz
Paso 5:
Continuamos con las iteraciones para lo cual tenemos que repetir los pasos anteriores
Paso 5: iteraciones consecutivas
32. 32
Dr. Jorge Pablo Rivas Díaz
Paso 5:
Continuamos con las iteraciones para lo cual tenemos que repetir los pasos anteriores
Paso 5: iteración final
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.
una vez finalizado el Método Simplex se debe observar una matriz
identidad en el rectángulo determinado por las variables de decisión
34. 34
Dr. Jorge Pablo Rivas Díaz
Paso 5:
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.
Caso sin matriz identidad
La manera de llegar a la otra solución consiste en alterar el
orden en que cada una de las variables entró 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.
36. 36
Dr. Jorge Pablo Rivas Díaz
Paso 5:
Caso sin matriz identidad
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).
38. Minimización con el Método Simplex
• Se basa en un artificio aplicable al algoritmo fundamentado en la lógica matemática que dicta que «para cualquier
función f(x), todo punto que minimice a f(x) maximizará también a – f(x)». Por lo tanto el procedimiento a aplicar es
multiplicar por el factor negativo (-1) a toda la función objetivo
2 • pretende conservar la minimización consiste en aplicar los criterios de decisión que hemos esbozado con
anterioridad, en los casos de la variable que entra, que sale y el caso en el que la solución óptima es
encontrada. Aquí recordamos los procedimientos según el criterio dado el caso «minimizar».
38
Dr. Jorge Pablo Rivas Díaz
1
40. Soluciones
-
40
Dr. Jorge Pablo Rivas Díaz
Identificandotiposdesoluciones
http://www.phpsimplex.com/teoria_metodo_simplex.htm
Solución óptima: cuando se cumple la condición de parada y no hay variables artificiales en la base con valor
positivo (los valores se indican en la columna P0), se ha conseguido la optimización. El valor Z0 actual es la
solución óptima del problema, cumpliéndose para las variables que se encuentran en la base. Si se trata de un
problema de minimización, el valor óptimo obtenido se multiplicará por "-1".
Infinitas soluciones: cumplida la condición de parada, si alguna variable de decisión no básica tiene un valor 0
en la fila Z, significa que existe otra solución que aporta el mismo valor óptimo para la función objetivo. Es este
caso el problema admite infinitas soluciones, estando todas ellas comprendidas dentro del segmento (o porción
del plano, región del espacio, etc. dependiendo del número de variables del problema) definido por A·X1 + B·X2 =
Z0. Mediante una nueva iteración y haciendo que la variable de decisión que tiene el 0 en la fila Z entre en la base
se obtendrá otra solución diferente para el mismo valor óptimo.
Solución ilimitada (no acotada): si toda la columna de la variable que entra a la base tiene todos sus elementos
negativos o nulos se trata de problema no acotado, es decir, que tiene solución ilimitada. No hay valor óptimo
concreto para la función objetivo sino que a medida que se aumenta el valor de las variables también se
incrementa el valor Z sin violar ninguna restricción.
No existe solución: cuando ningún punto satisface todas las restricciones del problema se produce la
infactibilidad no existiendo ninguna solución posible para él. En este caso, una vez terminadas todas las
iteraciones del algoritmo, existen en la base variables artificiales cuyo valor es superior a cero.
41. Casos
Anómalos
-
41
Dr. Jorge Pablo Rivas Díaz
Identificandocasos
http://www.phpsimplex.com/teoria_metodo_simplex.htm
Empate de variable entrante: cuando se produce un empate en la condición de decisión de
la variable entrante se puede optar por cualquiera de ellas sin que esto afecte a la solución
final. Por contra si influye en el número de iteraciones necesarias para obtener dicha
solución. Se aconseja optar a favor de las variables básicas ya que ellas son las que
formarán parte de la solución óptima.
Empate de variable saliente: se puede nuevamente optar por cualquiera de ellas. Sin
embargo, a fin de no alargar el problema y evitar la entrada en un bucle infinito (caso
degenerado), se discrimina a favor de las variables de decisión haciendo que permanezcan
en la base. En el caso de estar en la primera fase del método de las Dos Fases, se optará
por sacar de la base las variables artificiales.
Curiosidad en la Fase 1: al finalizar la fase 1, si el problema original tiene solución, todas
las variables artificiales en la fila indicadora deben tener el valor "1".
¿El elemento pivote puede ser nulo?: No, el elemento pivote siempre será estrictamente
positivo ya que únicamente se realizan los cocientes entre valores no negativos y mayores
que cero (ante un problema de maximización).