Está en la página 1de 6

ESCUELA UNIVERSITARIA DE INGENIERÍA

ASIGNATURA : Investigación de Operaciones 1


SECCIONES : TODAS
AUTOR : Ing. Ezilda Cabrera
PERIODO ACADÉMICO : 2011 – 1

MÉTODO SIMPLEX

Introducción:

El fundamento del algoritmo puede entenderse a partir de su interpretación geométrica. Cuando se explicó el método
gráfico se indicó que la solución óptima se encuentra siempre en un punto extremo y que los puntos extremos son
soluciones básicas, es decir, soluciones en la que existe cierto número de variables con valor cero. De acuerdo con
ello, podría afirmarse que es posible hallar la solución óptima de un modelo de Programación Lineal identificando
todas las soluciones básicas factibles y escogiendo entre ellas la mejor, es decir, la que corresponda el mejor valor de
la función objetivo, tal como se hará en el ejemplo siguiente:

El modelo en su forma estándar:


Max Z = 3X1 + 5X2 Max Z = 3X1 + 5X2
s.a.: s.a.:
X1 + X2 ≤ 200 X1 + X2 +S1 = 200
X1 + 2X2 ≤ 300 X1 + 2X2 +S2 =300
X1, X2 ≥ 0 X1, X2, S1, S2 ≥0

El modelo en la forma estándar tiene 4 variables (n=4) y dos restricciones (m=2). Cabe recordar que no se cuentan
las restricciones de signo pero sí las variables de holgura o exceso.

Por lo tanto, las soluciones básicas deben tener 2 variables no básicas (n-m).

Las soluciones básicas que se pueden identificar son:

Número de Valor de la función


X1 X2 S1 S2
solución objetivo
1 0 0 200 300 0
2 200 0 0 100 600
3 100 100 0 0 800
4 0 150 50 0 750
5 300 0 -100 0 INFACTIBLE
6 0 200 0 -100 INFACTIBLE

Nótese que se pueden encontrar 6 soluciones básicas haciendo cero las variables de dos en dos.

El número máximo de soluciones básicas se puede calcular:

n n!
 =
 m  m !( n − m ) !

Al comparar exhaustivamente todas las soluciones básicas halladas es posible identificar la mejor; pero,
evidentemente en problemas de la vida real, con gran número de restricciones y variables no resulta adecuado
evaluar cada una de las soluciones básicas para encontrar la mejor. Por ejemplo:

• Para n = 8 variables y m = 4 restricciones:


8 8!
o  = = 70 soluciones básicas como máximo. Es un número difícil de manejar.
 4  4!( 8 − 4 ) !
• Para n = 100 variables y m = 20 restricciones:
100  100!
o  = = 5.36 × 1020 soluciones básicas como máximo.
 20  100!(100 − 20 ) !
Observando las soluciones básicas del cuadro anterior, la soluciones No. 5 y No.6 son no factibles porque
determinan valores negativos para algunas de las variables; por tanto tampoco podrían ser óptimas. Del resto de las
soluciones básicas halladas, la mejor es la No. 3 por que determina el mejor valor para la función objetivo, que es de
maximización. Cada una de las soluciones básicas factibles corresponde a un vértice de la región factible y puede
notarse que las soluciones No.1 y No.2 tienen una variable no básica en común, al igual que las soluciones No.2 y
No.3 y las soluciones No. 3 y No.4, se dice entonces que se trata de soluciones adyacentes.

Si se construyera gráficamente el espacio de soluciones factibles, las soluciones 1, 2, 3 y 4 corresponderían cada una
a un vértice de la región factible. Con el método gráfico se utilizaría una recta de la familia de rectas de la función
objetivo para identificar el punto extremos que determina su valor óptimo, pero también podría aplicarse el siguiente
razonamiento:

a) Se ubica un vértice inicial, (generalmente el origen de coordinadas inicial) y se calcula el valor de la Función
objetivo. (Solución básica factible inicial).
b) Luego se identifican los vértices vecinos, que constituyen soluciones básicas adyacentes y se comparan los
valores de la función objetivo para reconocer si la solución inicial es mejor o no. (Prueba de optimidad).
En caso algún vértice vecino tenga un mejor valor para la función objetivo , el punto extremo actual no es
óptimo. Por tanto, debe optarse por el traslado a la mejor solución adyacente.
c) Trasladándose al punto extremo vecino de mejor valor para la función objetivo, se vuelve a aplicar la prueba
de optimidad hasta verificar que el punto extremo actual sea el mejor. (Traslado)

En palabras más simples, la solución óptima se identifica trasladándose de un punto extremo a otro mientras se
mejore el valor de la función objetivo, al no haber mejora, se habrá hallado al punto extremo óptimo. Esta misma
lógica es la que emplea el algoritmo del método símplex, aplicando de forma iterativa los siguientes pasos:

• Paso 1: Determinar una solución básica factible inicial e ir al Paso 2.


• Paso 2: Efectuar una prueba de optimidad:
o Si es posible mejorar la solución básica factible actual: Ir al Paso 3.
o Si no es posible mejorar la solución básica factible actual: Fin del proceso.
• Paso 3: Traslado a una solución básica factible adyacente mejor y volver al Paso 2.

La aplicación del algoritmo requiere que el modelo se encuentre en su forma estándar:

a) Debe ser de maximización.


• Una función objetivo de minimización puede convertirse en una de maximización si se multiplican todos sus
miembros por (-1)
b) Todos los lados derechos deben ser no negativos.
• Un lado derecho negativo se convierte en positivo multiplicando tanto el lado derecho como el izquierdo por
(-1), invirtiendo el signo de la desigualdad.
c) Todas las restricciones deben ser ecuaciones.
• Para ello, se agregan las variables de holgura o exceso.
d) Todas las variables deben ser no negativas.
• En caso de variables negativas: se sustituyen por el negativo de la misma variable.
• En caso de variables sin restricción de signo: se sustituyen por la diferencia de dos variables positivas.

Ejemplo: Dado el siguiente modelo lineal:

Max Z = 3X1 + 5X2


s.a.:
X1 + X2 ≤ 200
X1 + 2X2 ≤ 300
X1, X2 ≥ 0

Suponga que modela el problema de decidir cuánto producir de dos productos X1 y X2, sujetos a la limitada
disponibilidad de dos recursos, que corresponden cada uno a cada una de las restricciones del modelo.
Este modelo en su forma estándar es como sigue:

Página 2
Max Z = 3X1 + 5X2
s.a.:
X1 + X2 +S1 = 200
X1 + 2X2 +S2 =300
X1, X2, S1, S2 ≥0

Las soluciones básicas del modelo deben tener 2 variables no básicas, ya que n=4 y m=2.

Entonces, la aplicación del método símplex para encontrar la solución óptima sería la siguiente:

Encontrar la solución básica factible inicial

La solución básica factible inicial puede encontrarse fácilmente si se tiene en consideración que las variables básicas
deben ser tales que aparezcan cada una en una sola restricción con coeficiente +1 y no deben aparecer en la función
objetivo. Como puede observarse, las variables básicas de la solución inicial pueden ser las variables S1 y S2 que
cumplen con tales características.

Entones la solución básica factible inicial es:

• S1=200
• S2=300
• X1=X2=0
• Valor de la función objetivo=0

Esta solución no parece ser la mejor, así que corresponde hallar una solución básica factible adyacente mejor, si
existe.

Primera Iteración:
Identificar si existe una solución adyacente que pudiera ser mejor.

Cabe recordar que las soluciones adyacentes se obtienen a partir de un solo cambio en la base, es decir, que el
conjunto de variables básicas de una solución difiere del de la solución adyacente en solo una variable. Gráficamente,
se trataría de dos vértices formados por una restricción no común.

Para evaluar si existe una solución mejor, debe aplicarse el concepto de costo reducido. El costo reducido es un
indicador asociado a las variables no básicas, el cual señala el efecto que produciría cambiar su condición de no
básicas, es decir, asignarles valor y convertirlas en básicas. Este costo reducido se puede observar en la función
objetivo después de cada iteración para cada una de las variables no básicas. Este indicador resume el efecto neto de
dos aspectos:

a) El aporte de la variable al valor de la función objetivo (su coeficiente en la función objetivo)

b) El efecto sobre las otras variables básicas. ¿Cuál es este efecto? Si la variable no básica observada ingresa a la
base, esto podría modificar el valor de las variables básicas y con ello reducir sus aportes a la función objetivo,
con lo cual dicha función desmejoraría.

Si el aporte de la propia variable compensa el efecto sobre las demás, entonces el cambio en la condición de la
variable es favorable, caso contrario, no será conveniente cambiar su condición.

En esta primera vez, el costo reducido es únicamente el coeficiente de la variable en la función objetivo original, es
decir, no existe el efecto que se señala en (b). ¿Por qué? Porque, si bien es cierto que si X1 o X2 se volvieran básicas,
las variables S1 y S2 modificarían sus actuales valores, estas modificaciones no tienen efecto en la función objetivo ya
que estas variables no aparecen en la función objetivo.

Entonces, resultaría adecuado que la variable X2 dejara de ser no básica pues es la que mejor efecto tendría sobre la
función objetivo, (tiene el coeficiente mayor, en este caso de maximización).

En la nueva solución básica debe entrar la variable X2 que se llamará variable no básica entrante.

Página 3
La existencia de una variable que mejore el valor de la función objetivo constituye una prueba de que la solución
actual no es óptima: esto es lo que se llama la prueba de optimidad.

Si la variable X2 es la variable no básica entrante, debe haber una variable básica que abandone la base actual
(variable básica saliente).

Determinación de la variable básica saliente:

Como es lógico suponer, si el ingreso de X2 a la base es favorable a la función objetivo; entonces deberá ingresar a la
base con el mayor valor posible. ¿Cuál es ese mayor valor posible?

Observemos las restricciones del modelo, las mismas que imponen límites al valor de todas las variables del modelo y
por supuesto, también a la variable X2:

X1 + X2 + S1 = 200
X1 + 2X2 +S2 = 300

Dado que X1 es no básica y dado que los lados derechos con constantes, puede observarse:

• Que si X2 tomara el máximo valor posible en la primera restricción, este sería 200 y en ese caso, el valor que
tomaría S1 sería cero.
• Que en la segunda restricción, el máximo valor posible sería solo 150 y en ese caso, S2 tomaría valor cero.

Si el valor que vaya a tomar X2 debe satisfacer todas las restricciones, entonces solo podría ser 150, con lo cual el
valor de S2 es el que sería cero, el de S1 sería 50 y por consiguiente, S2 sería la variable básica saliente.

Entonces tenemos una nueva solución, en la cual X2 = 150, S1 = 50 (variables básicas) y S2=X1=0 (variables no
básicas). El valor de la función objetivo será: 750.

El cambio en la base, hace necesario revisar el modelo para que muestre la solución básica factible actual. Esto
implica que las variables básicas aparezcan solo una vez, cada una en una restricción diferente y con coeficiente +1 y
que no aparezcan en la función objetivo ya que no podrían aportar más a ella al tener su mejor valor posible.

Por lo tanto, si el valor de X2 ha quedado acotado por la siguiente restricción: X1 + 2X2 +S2 = 300

Puede establecerse que: 0.5X1 + X2 + 0.5S2 = 150 (nótese que X1 y S2 son no básicas)

Con esta expresión: X2 = 150 – 0.5S2 – 0.5X1, reemplazaremos a X2 en la primera restricción y en la función
objetivo:

• En la primera restricción: X1 + (150 – 0.5S2 – 0.5X1) + S1 = 200


0.5X1 – 0.5S2 + S1= 50 (note que X1 y S2 son no básicas)

• En la función objetivo: Max Z = 3X1 + 5(150 – 0.5S2 – 0.5X1)


Max Z = 3X1 + 750 – 2.5 S2 – 2.5X1
Max Z = 0.5X1 – 2.5S2 + 750 (note que X1 y S2 son no básicas)

El modelo quedaría de la siguiente manera:

Max Z = 0.5X1 – 2.5S2 + 750


s.a.:
0.5X1 – 0.5S2 + S1 = 50
0.5X1 + X2 + 0.5S2 = 150
X1, X2, S1, S2 ≥0

Segunda Iteración

Aplicaremos la prueba de optimidad, es decir, evaluaremos los nuevos costos reducidos en la función objetivo,
para evaluar si existe la posibilidad de mejorar la solución actual:

Max Z = 0.5X1 – 2.5S2 + 750

Página 4
• Si S2 tomara valor, es decir, si fuera la variable no básica entrante, el valor de la función objetivo se reducirá en
2.5 por cada unidad de valor de S2. (Nótese que el coeficiente de S2 tiene signo negativo)

• Si X1 tomara valor, es decir, si fuera la variable no básica entrante, el valor de la función objetivo aumentaría en
0.5 por cada unidad de valor de X1, por lo tanto dado que se busca maximizar el valor de la función objetivo, ésta
mejoraría si hiciéramos básica a X1. Por lo tanto la solución actual no es óptima, puede mejorar.

Cabe en este momento volver a explicar el concepto de costo reducido. Obsérvese que el costo reducido que X1 es
igual a 0.5 ¿Cómo se explica este costo?

Se entiende que cuando X1 ingrese a la base, por cada unidad de valor de X1 la función objetivo aumenta en $3 (ver
modelo original) pero, observando las restricciones, se nota que si X1 tomara valor, reduciría el valor de X2 y de S1

0.5X1 – 0.5S2 + S1 = 50

0.5X1 + X2 + 0.5S2 = 150

• Por cada unidad de X1, se reduce en 0.5 el valor de X2, con lo cual la función objetivo se reduciría en: 0.5(5) =
2.5
• Por cada unidad de X1, se reduce en 0.5 el valor de S1; pero como S1 no afecta a la función objetivo, entonces no
reduce su valor.
• El efecto neto es: +3 – 2.5 = 0.5 que es lo que señala el respectivo costo reducido.

En esta segunda iteración, ya ha quedado establecido que la variable no básica entrante será X1. La variable
básica saliente, debe determinarse observando la restricción que determina el máximo valor posible de X1:

0.5X1 – 0.5S2 + S1 = 50……………. X1 podría tomar el valor máximo de 100


0.5X1 + X2 + 0.5S2 = 150………….. X1 podría tomar el valor máximo de 300

Comparando ambas cotas, 100 es el valor que puede tomar X1, debe tenerse en cuenta que si en alguna restricción,
no apareciera la variable no básica entrante o su coeficiente fuera negativo, dicha restricción de deberé ser
considerada al determinar las cotas al valor de la variable no básica entrante que determinarán la variable básica
saliente.

En esta iteración, dado que la cota la establece la primera restricción, la variable S1 será la variable básica
saliente.

Por lo tanto, si el valor de X2 ha quedado acotado por la siguiente restricción: 0.5X1 – 0.5S2 + S1 = 50

Puede establecerse que: X1 – S2 + 2S1 = 100 (nótese que S1 y S2 son no básicas)

Con esta expresión: X1 = 100 – 2S1 + S2 ; reemplazaremos a X1 en la segunda restricción y en la función objetivo:

• En la primera restricción: 0.5(100 – 2S1 + S2) + X2 + 0.5S2 = 150


50 – S1 + 0.5S2 + X2 + 0.5S2 = 150
X2 – S1 + S2 = 100 (nótese que S1 y S2 son no básicas)

• En la función objetivo: Max Z = 0.5(100 – 2S1 + S2) – 2.5S2 + 750


Max Z = 50 – S1 + 0.5S2 – 2.5S2 + 750
Max Z = 800 – S1 – 2S2

La nueva solución básica es: X1 = 100, X2 = 100; S1 = S2 = 0. El valor de la función objetivo: Z = 800

Página 5
El modelo quedaría de la siguiente manera:

Max Z = –S1 – 2S2 + 800


s.a.:
X2 – S1 + S2 = 100
X1 +2S1 – S2 = 100
X1, X2, S1, S2 ≥ 0

Si observamos la función objetivo, las variables no básicas tienen coeficientes negativos. Cabe señalar que cuando se
trata de las variables de holgura o exceso, estos coeficientes finales en la función objetivo representan los precios
sombra, que señalan el valor relativo de los recursos que corresponden a las respectivas restricciones.

¿Cómo se explica esto? Si se observan las restricciones, puede notarse que si alguna de las variables S1 o S2 toman
valor, es decir, se deja de utilizar alguna unidad de los recursos respectivos, se afecta el valor de las variables básicas,
con lo cual, con seguridad, cambiará el valor de la función objetivo. Dicho cambio reflejaría el impacto de una
variación en la disponibilidad de cada recurso. Por ejemplo, si S1 tomara el valor 1, eso significaría que se dejaría de
utilizar una unidad del recurso 1, lo cual implica que:

X2 – S1 + S2 = 100
X1 +2S1 – S2 = 100

X1 tomaría el valor de 98 para que siguiera siendo factible la primera restricción y X2 el valor 101 para que siga siendo
factible también la segunda restricción, esto implica que en la función objetivo se observaría los siguientes cambios:

• Por la reducción del valor de X1, el valor de la función objetivo disminuiría en: 2(3) = 6
• Por el incremento del valor de X2, la función objetivo aumentaría en: 1(5) = 5

El efecto neto de hacer S1=1, es una reducción del valor de la función objetivo en: –6+5 = 1. Puede afirmarse que el
valor del recurso es $1 por que es el impacto que causa sobre la función objetivo; no es el precio de mercado, sino el
valor que tiene para el modelo.

Página 6

También podría gustarte