Está en la página 1de 7

1

Método Simplex

El método más conocido para resolver de modo algebraico un modelo de


programación lineal, es el método Simplex.

Algoritmo: Método Simplex


Paso inicial: se introducen las variables de holgura, y se estable el problema como
maximizar. Se elige una base inicial factible. Generalmente se seleccionan las variables
de decisión como las variables no básicas (que no están en la base) iniciales, y las
variables de holgura como las variables básicas iniciales.
Prueba de optimalidad: La solución básica factible es óptima si y sólo si todos los
coeficientes en el renglón Z (sin considerar el LD) son no negativos (>=0). Si es así, el
proceso se detiene; de otra manera, sigue a la iteración para obtener la siguiente
solución básica factible, que incluye cambiar una variable no básica a básica (paso 1) y
viceversa (paso 2).
Iteración:
Paso 1: Se determina la variable básica entrante. Para esto se selecciona la variable (que
automáticamente es no básica) con el coeficiente negativo que tiene mayor valor
absoluto en la ecuación Z. La columna que incluye este valor se denomina columna
pivote.
Paso 2: Se determina la variable básica saliente, aplicando la prueba del cuociente
mínimo.
Prueba del cuociente mínimo:
i) Se eligen los coeficientes de la columna pivote que son estrictamente positivos (>0)
2i) Para cada renglón, se divide cada coeficiente del lado derecho con el elemento
correspondiente a la columna pivote de ese renglón
3i) Se identifica el renglón que tiene la menor de estas razones
4i) La variable básica para ese renglón es la variable básica que sale, por lo que se
sustituye esta variable por la variable básica entrante en la columna de la variable básica
de la siguiente tabla
El número que se encuentra en la intersección de la columna pivote y el renglón pivote,
se conoce como pivote (y se convierte en un uno en la iteración)
Paso 3: Se actualiza la tabla, para lo cual se despeja la nueva solución básica factible
usando operaciones elementales con renglones (multiplicando o dividiendo cada
renglón por una constante; suma o resta de un múltiplo de un renglón con otro) para
construir una nueva tabla, donde existe un uno en la posición del pivote y el resto de la
columna tiene solo ceros. Posteriormente se regresa a la prueba de la optimalidad.

Ejemplo
Considere el siguiente modelo lineal:
Max Z = 6X1 + 7X2
S. A. 2X1 + 3X2 ≤ 24
2X1 + 1X2 ≤ 16
X1, X2 ≥ 0

Para poder aplicar el método simplex, es necesario tener nuestro problema en


formato de maximización y además tener todas las restricciones (salvo la de no
negatividad) en forma de igualdad. Si el problema tiene la función objetivo como
minimizar, se convierte a maximizar, multiplicando toda la función por menos 1.

This study sourceElaborado por


was downloaded Sra. Dafne Lagos
by 100000807525262 Hurel, Dsc.Industrial
from CourseHero.com Engineering.
on 06-08-2022 22:02:35 GMT -05:00

https://www.coursehero.com/file/61983586/3-M%C3%A9todo-Simplex-2020pdf/
2

Para transformar las desigualdades de las restricciones en igualdades, se deben


incorporar las variables de holgura que sean necesarias. Se suma o resta una variable de
holgura particular por cada restricción de desigualdad, siendo una variable por
restricción. La variable de holgura se suma al lado izquierdo de la desigualdad, cuando
esta desigualdad es del tipo ≤, tal como el siguiente caso:
• Si la desigualdad es: 3X1 + 7X2 ≤ 2, se puede convertir a igualdad sumando la
variable de holgura X3, con lo que se tiene:
• ecuación de igualdad: 3X1 + 7X2 + 1X3 = 2,
Ahora bien, la variable de holgura se resta al lado izquierdo de la desigualdad, cuando
esta desigualdad es del tipo ≥, tal como el siguiente caso
• Si la desigualdad es: 5X1 + 2X2 ≥ 8, se puede convertir a igualdad restando la
variable de holgura X3, con lo que se tiene:
• ecuación de igualdad: 5X1 + 2X2 - 1X3 = 8
Al incorporar una variable de holgura, esta se puede o no anotar explícitamente
en la función objetivo, ya que el coeficiente de costo que acompaña a cualquier variable
de holgura en la función objetivo es cero
La forma estándar del problema lineal mostrado en el ejemplo es:
Max Z = 6X1 + 7X2 + 0X3 + 0X4
S. A. 2X1 + 3X2 + 1X3 = 24
2X1 + 1X2 + 1X4 = 16
X1, X2 , X3, X4 ≥ 0
O simplemente:
Max Z = 6X1 + 7X2
S. A. 2X1 + 3X2 + 1X3 = 24
2X1 + 1X2 + 1X4 = 16
Xi ≥ 0, i=1, 2, 3, 4.
Luego que el modelo está en formato es necesario identificar una solución básica
factible. Se entiende por solución básica factible, aquella solución (valores de las
variables) que satisface todas las restricciones del modelo, incluida la condición de no
negatividad.
Características de una solución básica:
• Cada variable del modelo (ya sea de decisión o de holgura) se “etiqueta” como
variable básica o bien como variable no básica. Así, una variable de decisión
puede ser variable básica o bien variable no básica pero no ambas cosas de modo
simultáneo. De forma equivalente, una variable de holgura se puede etiquetar
como variable básica o bien variable no básica pero no ambas cosas. Lo anterior
no implica que si en la solución actual la variable X3 es etiquetada como
variable básica, en la siguiente solución (iteración) dicha variable se pueda
etiquetar como variable no básica.
• Se necesitan tantas variables básicas como restricciones tenga el modelo. Si un
problema posee solo una restricción, entonces es necesario tener solo una
variable como básica.
• Todo el resto de variables existentes se marcan como no básicas. Como todas las
variables se etiquetan como básicas o no básicas, aquellas que no se
seleccionaron como básicas, automáticamente se etiquetan como no básicas. Es
importante recordar que primero se eligen todas las variables básicas, de modo
que todas las variables restantes pasar a ser variables no básicas.
• Las variables no básicas se les asigna automáticamente el valor cero.
• Los valores de las variables básicas se obtienen al resolver de manera simultánea
el sistema de m ecuaciones lineales (m restricciones del modelo), y en donde las

This study sourceElaborado por


was downloaded Sra. Dafne Lagos
by 100000807525262 Hurel, Dsc.Industrial
from CourseHero.com Engineering.
on 06-08-2022 22:02:35 GMT -05:00

https://www.coursehero.com/file/61983586/3-M%C3%A9todo-Simplex-2020pdf/
3

no básicas son iguales a cero. La obtención de los valores de todas las variables
corresponde a la obtención de solución posible del modelo.
• Si la solución satisface la condición de no negatividad, entonces se habla de una
solución factible del problema (o base factible)
Para el caso mostrado como ejemplo, las restricciones de igualdad son:
. 2X1 + 3X2 + 1X3 = 24
2X1 + 1X2 + 1X4 = 16
El modelo presenta 4 variables y 2 restricciones. Para este modelo se necesita
tener dos variables etiquetadas como básicas (ya que se tienen dos restricciones) y todas
aquellas variables que no son básicas serán consideradas como no básicas. En este caso
se tendrán dos variables no básicas (4 – 2 = 2).
Si se elige como variables básicas la variable 1 y la variable 4, se tiene entonces
que las variables 2 y 3 se etiquetan como no básicas. Al ser no básicas toman
automáticamente el valor cero.
Al reemplazar el valor cero en X2 y el valor cero en X3, es posible establecer el
valor de X1 y X4
. 2X1 + 3*0 + 1*0 = 24
2X1 + 1*0 + 1X4 = 16
De aquí se obtiene que X1 toma el valor igual a 12 y X4 toma el valor de 4.
Con lo anterior una solución del modelo sería X1 = 12, X2 = 0, X3 = 0, X4 = 4.
La solución anterior, como también satisface la condición de no negatividad, se conoce
como base factible.
Otra base factible sería X1 = 0, X2 = 0, X3 = 24 y X4 = 16.
Cuando el número de restricciones es muy grande se vuelve complicado
empezar a asignar valores a las variables, resolver el sistema y encontrar una base
factible. Una forma simplificada para resolver el sistema de ecuaciones es a través del
método de eliminación de Gauss, donde se generan un uno y el resto de la columna con
ceros, y esta estructura representa a la variable llamada básica. En cada iteración, el
método simplex, lo que hace es generar una “nueva estructura de Gauss”, donde una
variable que está etiquetada como no básica pasa a ser básica (y por lo tanto debe tener
la forma de un solo uno positivo y los ceros correspondientes); y aquella variable que
estaba como básica, se transforma a no básica.
Lo anterior significa que para encontrar fácilmente una base factible, debo
seleccionar como variable básica aquella que presenta una estructura de base con el uno
y los ceros necesarios. Para lo anterior se usa una tabla simplex.
Una tabla simplex es un ordenamiento de la información del problema. Consta
de una columna por cada variable del modelo, mas una columna para los valores del
lado derecho de las ecuaciones de restricción y una columna para identificar las
variables básicas. Además, esta tabla tiene una fila por cada restricción (sin incluir la
condición de no negatividad), una fila mas para la función objetivo y otra fila para la
identificación de cada variable.
Para el ejemplo, la función objetivo es:
Max Z = 6X1 + 7X2 + 0X3 + 0X4 , al dejar todas las variable al lado
izquierdo del signo igual se tiene: Max Z - 6X1 - 7X2 - 0X3 - 0X4 = 0
De forma equivalente al dejar, para las restricciones, todas las variables al lado
izquierdo del signo igual, se tiene:
. 2X1 + 3X2 + 1X3 = 24
2X1 + 1X2 + 1X4 = 16
Al traspasar toda la información anterior a una tabla simplex se tiene:

This study sourceElaborado por


was downloaded Sra. Dafne Lagos
by 100000807525262 Hurel, Dsc.Industrial
from CourseHero.com Engineering.
on 06-08-2022 22:02:35 GMT -05:00

https://www.coursehero.com/file/61983586/3-M%C3%A9todo-Simplex-2020pdf/
4

X1 X2 X3 X4 LD
Z -6 -7 0 0 0
2 3 1 0 24
2 1 0 1 16
La primera fila muestra la identificación de cada variable. La segunda fila está
toda la información de la función objetivo. La tercera fila tiene la información de la
primera restricción, y la cuarta y última fila tiene la información de la segunda
restricción del modelo.
Las letras LD, significan “lado derecho”. En el lado izquierdo, bajo la fila Z
(función objetivo), se individualizan las variables básicas. Como se mencionó antes, se
necesita una variable básica por restricción. Se selecciona como base aquella variable
con un solo 1 positivo y el resto cero en su columna. De la tabla se desprende
claramente que X3 y X4 cumplen con tal condición. De modo que X3 es variable básica
en la primera restricción y X4 es básica para la segunda restricción. La tabla queda
entonces como:
X1 X2 X3 X4 LD
Z -6 -7 0 0 0
X3 2 3 1 0 24
X4 2 1 0 1 16
Como X3 y X4 son bases, entonces X1 y X2 son variables no básicas. Al ser no
básicas toman el valor cero. Si se desea conocer el valor de la base, basta con mirar el
lado derecho de la tabla. En este caso, X3 (que está como base en la primera restricción)
tiene un valor de 24 (lado derecho de la tabla, correspondiente a la primera restricción)
y X4 (que está como base en la segunda restricción) tiene un valor de 16 (lado derecho
de la tabla, correspondiente a la primera restricción). Como todos los valores de las
variables son positivos o cero, entonces se tiene una base factible.
En este punto, se ha completado el paso inicial del algoritmo simplex. Si se
desea encontrar la solución óptima del modelo se debe continuar con el método. El
siguiente paso es establecer si la solución que se tiene es óptima. Si es así, el proceso
termina, sino se debe iterar. La condición de solución óptima se verifica a través de la
prueba de la optimalidad.
Prueba de optimalidad: La solución básica factible es óptima si y sólo si todos los
coeficientes en el renglón Z (sin considerar el LD) son no negativos (>=0). Para este
caso, los valores de Z en la tabla simplex son:
X1 X2 X3 X4 LD
Z -6 -7 0 0 0
Existen dos valores en Z negativos, de modelo que la solución básica actual no
es la solución óptima.
Para encontrar el óptimo es necesario iterar.
Iteración:
Paso 1: Se determina la variable básica entrante. Para esto se selecciona la variable (que
debe ser no básica) con el coeficiente negativo que tiene mayor valor absoluto en la fila
Z. La columna que incluye este valor se denomina columna pivote.
Para el ejemplo, la variable 2 tiene el valor -7 en Z (coeficiente negativo, con
mayor valor absoluto). La columna de X2 es la columna pivote, para esta iteración.
Iteración:
Paso 2: Se determina la variable básica saliente, aplicando la prueba del cociente
mínimo.
Prueba del cociente mínimo:

This study sourceElaborado por


was downloaded Sra. Dafne Lagos
by 100000807525262 Hurel, Dsc.Industrial
from CourseHero.com Engineering.
on 06-08-2022 22:02:35 GMT -05:00

https://www.coursehero.com/file/61983586/3-M%C3%A9todo-Simplex-2020pdf/
5

i) Se eligen los coeficientes de la columna pivote (sin consideran los de la fila de Z) que
son estrictamente positivos (>0). Para el ejemplo:
X1 X2 X3 X4 LD
Z -6 -7 0 0 0
X3 2 3 1 0 24
X4 2 1 0 1 16
En la columna de X2, ambos coeficientes son positivos.
2i) Para cada renglón, se divide cada coeficiente del lado derecho con el elemento
correspondiente a la columna pivote de ese renglón. Para el ejemplo:
X1 X2 X3 X4 LD
Z -6 -7 0 0 0
X3 2 3 1 0 24
X4 2 1 0 1 16
en la primera restricción se tiene: 24/3, y en la segunda restricción: 16/1.
3i) Se identifica el renglón que tiene la menor de estas razones. Las razones son: 24/3 =
8; y 16/1 = 16. El mínimo se produce en 24/3, es decir para la primera restricción.
4i) La variable básica para ese renglón es la variable básica que sale, por lo que se
sustituye ésta variable, por la variable básica entrante en la columna de la variable
básica de la siguiente tabla. La variable básica saliente, para el ejemplo, es la de la
primera restricción, es decir, X3.
El número que se encuentra en la intersección de la columna pivote y el renglón pivote,
se conoce como pivote (y se convierte en un uno en la iteración). Para el ejemplo, la
intersección entre la columna pivote y la fila de la variable saliente (renglón pivote) es
el número 3.
X1 X2 X3 X4 LD
Z -6 -7 0 0 0
X3 2 3 1 0 24
X4 2 1 0 1 16
Iteración:
Paso 3: Se actualiza la tabla, para lo cual se despeja la nueva solución básica factible
usando operaciones elementales con renglones (multiplicando o dividiendo cada
renglón por una constante; suma o resta de un múltiplo de un renglón con otro) para
construir una nueva tabla, donde existe un uno en la posición del pivote y el resto de la
columna tiene solo ceros. Posteriormente se regresa a la prueba de la optimalidad.
Para el ejemplo, lo primero es tener un uno en la posición del número pivote.
Esto se consigue dividiendo toda la fila por 3, obteniéndose:
X1 X2 X3 X4 LD
Z -6 -7 0 0 0
X3 2/3 1 1/3 0 8
X4 2 1 0 1 16

A continuación, se deben producir ceros en toda la columna del pivote para dejar con
estructura de base la variable X2. Para tener un cero en la posición del -7 (función
objetivo), se multiplica la fila del pivote por 7 y luego se suma a la fila que tiene el -7.
Haciendo lo anterior, se tiene:
X1 X2 X3 X4 LD
Z -4/3 0 7/3 0 56
X3 2/3 1 1/3 0 8

This study sourceElaborado por


was downloaded Sra. Dafne Lagos
by 100000807525262 Hurel, Dsc.Industrial
from CourseHero.com Engineering.
on 06-08-2022 22:02:35 GMT -05:00

https://www.coursehero.com/file/61983586/3-M%C3%A9todo-Simplex-2020pdf/
6

X4 2 1 0 1 16

El mismo proceso se realiza para el número 1. Así, para tener un cero en esta
posición, se multiplica la fila del pivote por -1 y luego se suma a la fila que tiene el 1.
Haciendo lo anterior, se tiene:
X1 X2 X3 X4 LD
Z -4/3 0 7/3 0 56
X2 2/3 1 1/3 0 8
X4 4/3 0 -1/3 1 8

En la tabla anterior se tiene una nueva solución:


• Variables no básicas X1 y X3, ambas con valor cero
• Variables básicas X2 = 8 y X4 = 8
• Valor de la función objetivo = 56 (leído del renglón Z, bajo la columna LD)
Para establecer si esta nueva solución es óptima, se debe volver a la prueba de
optimalidad del algoritmo simplex. Como en el renglón Z aún se tiene un coeficiente de
costo negativo, la solución presente no es óptima y se debe iterar. Al realizar una nueva
iteración, se tiene la siguiente tabla:
X1 X2 X3 X4 LD
Z 0 0 2 1 64
X2 0 1 1/2 -1/2 4
X1 1 0 -1/4 3/4 6
La tabla actual es óptima (todos los coeficientes de costo de las variables no básicas,
son no negativos)
• Variables no básicas X3 y X4, ambas con valor cero
• Variables básicas X1 = 6 y X2 = 4
• Valor de la función objetivo = 64

Casos particulares
Existen algunas situaciones y soluciones que merecen un comentario adicional.
Empate en la variable entrante: En el paso1 de cada iteración elige la variable básica
que tiene el coeficiente negativo con el mayor valor absoluto en la ecuación Z actual,
como la variable entrante. Ahora suponga que dos o más variables no básicas tienen
coeficientes de igual tamaño, es decir, que hay un empate entre ellas. La elección entre
estos contendientes se puede hacer en forma arbitraria.
Empate en la variable saliente: Ahora suponga que el empate ocurre entre dos o más
variables que sale en el paso 2 de una iteración. ¿Importaría cuál es escoge?. En teoría
sí, ya que se puede caer en un ciclo perpetuo. Ahora bien, aunque en teoría es posible
que haya ciclos perpetuos, ha sido en extremo raro que tengan lugar en problemas
reales. Si ocurriera un ciclo siempre se puede salir es él cambiando la elección de la
variable básica que sale. Aún mas, se han dado reglas especiales para romper empates
que siempre evitan ciclos, pero estas reglas casi no se usan y se recomienda romper los
empates de forma arbitraria.

Solución no acotada:
La solución no acotada implica que alguna de las variables básicas puede crecer
de forma indefinida con lo cual siempre existe un mejor valor de las variables actuales.

This study sourceElaborado por


was downloaded Sra. Dafne Lagos
by 100000807525262 Hurel, Dsc.Industrial
from CourseHero.com Engineering.
on 06-08-2022 22:02:35 GMT -05:00

https://www.coursehero.com/file/61983586/3-M%C3%A9todo-Simplex-2020pdf/
7

Esta situación se determina en el proceso iterativo, cuando no existen candidatos a


variable saliente. A modo de ejemplo: observe la siguiente tabla:
X1 X2 X3 X4 LD
Z -6 -7 0 0 0
X3 2/3 0 1 0 8
X4 2 -1 0 1 16

• En la tabla anterior, la solución no es óptima y la variable entrante es X2


• Para seleccionar variable saliente se debe realizar la prueba del cociente mínimo,
pero todos los aij para la prueba son negativos o ceros, por tanto, no existen
candidatos.
• Lo anterior implica que la solución del problema, es una solución no acotada.
Observación:
X1 X2 X3 X4 LD
Z -6 -7 0 0 0
X3 2/3 0 1 0 8
X4 2 1 0 1 0
La tabla anterior si tiene candidato saliente, ya que existe un aij positivo para la
prueba del cociente. En este caso, el cociente mínimo es 0/1 = 0.

Soluciones múltiples:
Las soluciones múltiples implican que el conjunto de soluciones está sobre un
segmente de recta, y cualquier punto sobre este segmento (dentro de la zona factible) es
una solución óptima. Todos los puntos de solución, generan igual beneficio en la
función objetivo. Las soluciones múltiples se establecen cuando, en la tabla óptima,
alguno de los coeficientes de costos de las variables no básicas tiene valor cero. Si se
desea obtener otra combinación de solución, solo se debe iterar del modo tradicional,
considerando como variable entrante aquella no básica con coeficiente de costo cero.
A modo de ejemplo: observe la siguiente tabla:
X1 X2 X3 X4 LD
Z 0 0 2 0 64
X2 0 1 ½ -1/2 4
X1 1 0 -1/4 1 6
Esta tabla es óptima con X1 = 6, X2 = 4, X3 = X4 = 0, y Z = 64; pero existe otra
combinación de variables que permite obtener la misma utilidad. Al iterar, seleccionan
como variable entrénate la variable X4, y como variable saliente la variable X1, se
obtiene:
X1 X2 X3 X4 LD
Z 0 0 2 0 64
X2 1/2 1 3/8 0 7
X4 1 0 -1/4 1 6
Esta tabla también es óptima pero las variables son X2 = 7, X4 = 6, X1 = X3 =
0, y Z = 64.

Bibliografía:
1) Investigación de Operaciones, Séptima edición, Autor: Hamdy Taha.
2) Introducción a la investigación de operaciones, Cuarta edición, Autores: Frederick
Hillier, Gerald Lieberman.

This study sourceElaborado por


was downloaded Sra. Dafne Lagos
by 100000807525262 Hurel, Dsc.Industrial
from CourseHero.com Engineering.
on 06-08-2022 22:02:35 GMT -05:00

https://www.coursehero.com/file/61983586/3-M%C3%A9todo-Simplex-2020pdf/
Powered by TCPDF (www.tcpdf.org)

También podría gustarte