Sunteți pe pagina 1din 6

MÉTODO SIMPLEX

El 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.
El Método Simplex 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.
Este famosísimo método fue creado en el año de 1947 por el estadounidense
George Bernard Dantzig y el ruso Leonid Vitalievich Kantorovich, con el ánimo
de crear un algoritmo capaz de solucionar problemas de m restricciones
y n variables.

¿QUE ES UNA MATRIZ IDENTIDAD?

Una matriz puede definirse como una ordenación rectangular de elementos, (o


listado finito de elementos), los cuales pueden ser números reales o complejos,
dispuestos en forma de filas y de columnas.

La matriz idéntica o identidad es una matriz cuadrada (que posee el mismo


número tanto de columnas como de filas) de orden n que tiene todos los
elementos diagonales iguales a uno (1) y todos los demás componentes iguales
a cero (0), se denomina matriz idéntica o identidad de orden n, y se denota por:

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.

OBSERVACIONES IMPORTANTES AL UTILIZAR MÉTODO SIMPLEX

VARIABLES DE HOLGURA Y EXCESO


El Método Simplex trabaja basándose en ecuaciones y las restricciones iniciales
que se modelan mediante programación lineal no lo son, 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" al que hacen referencia los famosos programas de resolución de
investigación de operaciones, 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 ">=".

Ejemplo

Resolver mediante el método simplex el siguiente problema:

Maximizar Z = f(x,y) = 3x + 2y
sujeto a: 2x + y ≤ 18
2x + 3y ≤ 42
3x + y ≤ 24
x≥0,y≥0

Se consideran las siguientes fases:

1. Realizar un cambio de variables y normalizar el signo de los términos


independientes.

Se realiza un cambio en la nomenclatura de las variables. Estableciéndose


la correspondencia siguiente:

 x pasa a ser X1

 y pasa a ser X2

Como los términos independientes de todas las restricciones son


positivos no es necesario hacer nada. En caso contrario habría que
multiplicar por "-1" en ambos lados de la inecuación (teniendo en cuenta que
esta operación también afecta al tipo de restricción).

2. Normalizar las restricciones.

Se convierten las inecuaciones en ecuaciones agregando variables de


holgura, exceso y artificiales según la tabla siguiente:

Tipo de desigualdad Tipo de variable que aparece


≥ - exceso + artificial
= + artificial
≤ + holgura

En este caso se introduce una variable de holgura (X3, X4 y X5) en cada


una de las restricciones del tipo ≤, para convertirlas en igualdades, resultando
el sistema de ecuaciones lineales:

2·X1 + X2 + X3 = 18
2·X1 + 3·X2 + X4 = 42
3·X1 + X2 + X5 = 24

3. Igualar la función objetivo a cero.


Z - 3·X1 - 2·X2 - 0·X3 - 0·X4 - 0·X5 = 0

4. Escribir la tabla inicial del método Simplex.

La tabla inicial del método Simplex está compuesta por todos los coeficientes
de las variables de decisión del problema original y las de holgura, exceso y
artificiales agregadas en el paso 2 (en las columnas, siendo P0 el término
independiente y el resto de variables Pi coinciden con Xi), y las restricciones
(en las filas). La columna Cb contiene los coeficientes de las variables que se
encuentran en la base.

La primera fila está formada por los coeficientes de la función objetivo,


mientras que la última fila contiene el valor la función objetivo y los costes
reducidos Zj - Cj.

La última fila se calcula como sigue: Zj = Σ(Cbi·Pj) para i = 1..m, donde si


j = 0, P0 = bi y C0 = 0, y en caso contrario Pj = aij. Aunque al tratarse de la
primera tabla del método Simplex y ser todos los Cb nulos se puede
simplificar el cálculo, y por esta vez disponer Zj = -Cj.

Tabla I . Iteración nº 1
3 2 0 0 0
Base Cb P0 P1 P2 P3 P4 P5
P3 0 18 2 1 1 0 0
P4 0 42 2 3 0 1 0
P5 0 24 3 1 0 0 1
Z 0 -3 -2 0 0 0

5. Condición de parada.

Si el objetivo es la maximización, cuando en la última fila (fila indicadora) no


existe ningún valor negativo entre los costes reducidos (columnas P1 en
adelante) se alcanza la condición de parada.

En tal caso se llega al final del algoritmo ya que no existe posibilidad de


mejora. El valor de Z (columna P0) es la solución óptima del problema.

Otro caso posible es que en la columna de la variable entrante a la base


todos los valores son negativos o nulos. Esto indica que el problema no se
encuentra acotado y su solución siempre resultará mejorable. Ante esta
situación no es necesario continuar iterando indefinidamente y también se
puede dar por finalizado el algoritmo.

De no ser así, se ejecutan los siguientes pasos de forma iterativa.

6. Elección de la variable entrante y saliente de la base.


Se determina en primer lugar la variable que entra en la base. Para ello se
escoge la columna cuyo valor en la fila Z sea el menor de entre todos los
negativos. En este caso sería la variable X1 (P1) de coeficiente -3.

Si existiesen dos o más coeficientes iguales que cumplan la condición


anterior (caso de empate), entonces se optará por aquella variable que sea
básica.

La columna de la variable que entra en la base se llama columna


pivote (en color verde).

Una vez obtenida la variable que entra en la base, se procede a


determina cual será la variable que sale de la misma. La decisión se toma en
base a un sencillo cálculo: dividir cada término independiente (columna P0)
entre el elemento correspondiente de la columna pivote, siempre que ambos
elementos sean estrictamente positivos (mayores que cero). Se escoge la fila
cuyo resultado haya resultado mínimo.

Si hubiera algún elemento menor o igual a cero no se realiza dicho


cociente. En caso de que todos los elementos de la columna pivote fueran
de ésta condición se habría cumplido la condición de parada y el problema
tendría una solución no acotada (ver teoría del método Simplex).

En este ejemplo: 18/2 [=9] , 42/2 [=21] y 24/3 [=8]

El término de la columna pivote que en la división anterior dio lugar al


menor cociente positivo indica la fila de la variable de holgura que sale de la
base. En este caso resulta ser X5 (P5), de coeficiente 3. Esta fila se llama fila
pivote (en color verde).

Si al calcular los cocientes, dos o más resultados cumplen la condición


para elegir el elemento saliente de la base (caso de empate), se escoge
aquella que no sea variable básica (siempre que sea es posible).

La intersección de la fila pivote y columna pivote marca


el elemento pivote, en este caso el 3.

7. Actualizar la tabla.

Los nuevos coeficientes de la tabla se calculan de la siguiente manera:

 En la fila del elemento pivote cada nuevo elemento se calcula como:

Nuevo Elemento Fila Pivote = Anterior Elemento Fila Pivote / Pivote

 En el resto de las filas cada elemento se calcula:

Nuevo Elemento Fila = Anterior Elemento Fila - (Anterior Elemento


Fila en Columna Pivote * Nuevo Elemento Fila Pivote)

Con esto se normaliza el elemento pivote y su valor pasa a ser 1,


mientras que el resto de elementos de la columna pivote se anulan (análogo
al método de Gauss-Jordan).

Se muestran a continuación los cálculos para la fila P4:


Anterior fila P4 42 2 3 0 1 0
- - - - - -
Anterior Elemento Fila en Columna Pivote 2 2 2 2 2 2
x x x x x x
Nueva fila pivote 8 1 1/3 0 0 1/3
= = = = = =
Nueva fila P4 26 0 7/3 0 1 -2/3

La tabla correspondiente a esta segunda iteración es:

Tabla II . Iteración nº 2
3 2 0 0 0
Base Cb P0 P1 P2 P3 P4 P5
P3 0 2 0 1/3 1 0 -2/3
P4 0 26 0 7/3 0 1 -2/3
P1 3 8 1 1/3 0 0 1/3
Z 24 0 -1 0 0 1

8. Al comprobar la condición de parada se observa que no se cumple ya que


entre los elementos de la última fila hay uno negativo, -1. Se continúa iterando
nuevamente los pasos 6 y 7.

 6.1. La variable que entra en la base es X2 (P2), por ser la variable


que corresponde a la columna donde se encuentra el coeficiente -1.

 6.2. Para calcular la variable que sale, se dividen los términos de la


columna P0 entre los términos correspondientes de la nueva columna
pivote: 2 / 1/3 [=6] , 26 / 7/3 [=78/7] y 8 / 1/3 [=24]. Como el menor
cociente positivo es 6, la variable que sale de la base es X 3 (P3).

 6.3. El elemento pivote es 1/3.

 7. Actualizando nuevamente los valores de la tabla se obtiene:

Tabla III . Iteración nº 3


3 2 0 0 0
Base Cb P0 P1 P2 P3 P4 P5
P2 2 6 0 1 3 0 -2
P4 0 12 0 0 -7 1 4
P1 3 6 1 0 -1 0 1
Z 30 0 0 3 0 -1
9. Una nueva comprobación de la condición de parada revela que entre los
elementos de la fila indicadora vuelve a haber uno negativo, -1. Significa que
aun no se ha llegado a la solución óptima y hay que seguir iterando (pasos 6
y 7):

 6.1. La variable que entra en la base es X5 (P5), por ser la variable


que corresponde al coeficiente -1.

 6.2. Se escoge la variable que sale calculando el cociente entre los


términos de la columna de términos independientes y los términos
correspondientes de la nueva columna pivote: 6/(-2) [=-3] , 12/4 [=3],
y 6/1 [=6]. En esta ocasión es X4 (P4).

 6.3. El elemento pivote es 4.

 7. Después de actualizar todas las filas, se obtiene la tabla siguiente:

Tabla IV . Iteración nº 4
3 2 0 0 0
Base Cb P0 P1 P2 P3 P4 P5
P2 2 12 0 1 -1/2 1/2 0
P5 0 3 0 0 -7/4 1/4 1
P1 3 3 1 0 3/4 -1/4 0
Z 33 0 0 5/4 1/4 0

10. Fin del algoritmo.

Se observa que en la última fila todos los coeficientes son positivos


cumpliéndose, por tanto la condición de parada.

La solución óptima viene dada por el valor de Z en la columna de los


términos independientes (P0), en este ejemplo: 33. En la misma columna se
puede ver el punto donde se alcanza, observando las filas correspondientes
a las variables de decisión que han entrado en la base: X1 = 3 y X2 = 12.

Deshaciendo el cambio de variables se obtiene x = 3 e y = 12.

S-ar putea să vă placă și