Sei sulla pagina 1di 18

UNIVERSIDAD DE ANTIOQUIA

FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA INDUSTRIAL

APUNTES DEL CURSO DE PROGRAMACIÓN LINEAL

Profesor: Hugo García Jiménez

EL MÉTODO SIMPLEX ALGEBRAICO

Noviembre de 2003
METODO SIMPLEX ALGEBRAICO

INTRODUCCIÓN

Vamos a conocer en este capítulo la primera de las dos formas como podemos entender
matemáticamente el Método Simplex para la solución de modelos de Programación
Lineal. Veremos que un requisito inicial para aplicar este enfoque es organizar el modelo,
de tal forma que todas las restricciones sean del tipo < y todos los términos del lado
derecho sean no negativos.

Al cumplirse lo anterior, tendremos la garantía de que escribiendo el modelo en formato


estándar, el sistema de ecuaciones resultante tendría una solución básica de inicio trivial,
la cual obviamente estará compuesta por las variables de holgura.

A pesar de que con este procedimiento pueden resolverse modelos con cualquier número
de variables y de ecuaciones, no es el método utilizado en la practica para resolver los
modelos reales de P.L. Los nuevos conocimientos que se adquirirán al estudiar este
método serán la base para comprender otras formas de utilizarlo, como son el enfoque
tabular y el enfoque matricial que presentaremos en capítulos siguientes.

Al final se aprenderá la forma analítica de identificar el tipo de la solución obtenida y su


equivalencia con las conclusiones en este sentido obtenidas en el análisis gráfico.

ALGORITMO DE SOLUCIÓN

Paso inicial: Hallar una solución básica factible inicial.

Después de escribir el modelo en formato estándar, se escoge, por comodidad en los


cálculos, a las variables de holgura como variables básicas iniciales. Las variables
originales quedarán como variables no básicas. Hecho lo anterior se procede a obtener la
solución básica factible inicial, así:

a. Expresar las variables básicas en términos de las no básicas, en cada una de las
ecuaciones del modelo.
b. Reemplazar el valor (cero) de las variables no básicas en las expresiones del paso a,
obteniendo así que las variables de holgura son iguales a los términos del lado
derecho de cada ecuación.

Igualmente remplazar los valores de las variables no básicas, en la función objetivo


obteniendo que esta es igual a cero.

Paso 1: Determinar si la solución básica factible actual puede mejorarse o si ya


es la óptima.

Prueba de mejorabilidad

(para un problema de maximización de la función objetivo)


Consiste en verificar si en la función objetivo hay alguna variable no básica que tenga
coeficiente positivo. Si la respuesta es afirmativa esto indica que al aumentar el valor de
esa variable se incrementará proporcionalmente el valor de la función objetivo, motivo por
el cual nos interesa darle a esa variable el mayor valor posible.

Cuando hay más de una variable no básica con coeficiente objetivo positivo, al
incrementar el valor de cualquiera de ellas se incrementará el valor de la función
objetivo. En este algoritmo incrementaremos el valor de la variable no básica que tenga el
mayor coeficiente, aunque debe tenerse en cuenta que no siempre esto garantiza que
arribemos con mayor rapidez a la solución óptima. La variable seleccionada para
aumentarle su valor se conoce como variable de entrada a la solución básica.

Si hay dos o más variables empatadas como variable de entrada, podemos romper el
empate arbitrariamente.

Prueba de optimalidad:

Si en la prueba de mejorabilidad la respuesta es negativa, es decir, si todas las variables


no básicas tienen coeficiente objetivo negativo o cero, la solución básica actual es
inmejorable, o sea que es la solución óptima y se termina el algoritmo.

Paso 2: Obtener la nueva solución básica factible mejor.

a. Identificar la variable de salida:

Se toma como variable de salida de la solución básica actual a aquella que primero
llegue a valer cero al aumentar el valor de la variable de entrada definida en el paso
anterior. En caso de empate se elige arbitrariamente una de ellas.

Si ninguna de las variables básicas tiende a volverse cero al aumentar el valor de la


variable de entrada entonces la función objetivo puede crecer indefinidamente y se dice
que la solución es óptima ilimitada.

Para determinar cual de la variables básicas debe salir de la solución se procede así:

1. Calcular el cociente entre el valor de cada variable básica y el correspondiente


coeficiente de la variable de entrada en la ecuación de esa variable básica
2. Seleccionar como variable de salida a aquella variable básica que corresponda al
menor de los cocientes calculados.

b. Transformar el sistema actual para reflejar el cambio de variable básica y


conformar la nueva solución básica.

Al cambiar la variable de salida por la variable de entrada, se obtiene un sistema de


ecuaciones equivalente al actual pero que refleje la nueva solución básica. El cambio se
realiza utilizando el método de reemplazo así:

1. En la ecuación correspondiente a la variable de salida se despeja la variable


de entrada.
2. Se reemplaza la expresión recién obtenida para la variable de entrada en las
ecuaciones de las otras variables básicas y en la expresión de la función
objetivo.

A continuación se repite el algoritmo desde el paso 1, hasta que mediante la condición de


optimalidad lleguemos a encontrar la solución optima.

Ejemplo de Solución de un Modelo utilizando El Método Algebraico

Para comprender la lógica y el algoritmo del método simplex en forma algebraica vamos a
resolver el modelo de mezcla productiva que ya resolvimos por el método gráfico. Se
repite acá la información para mayor comodidad en las explicaciones.

Una compañía produce dos tipos de artículos, mediante un proceso que se compone de
tres actividades. Los datos importantes del proceso se dan en la tabla:

Tiempo
Actividad (minutos / unidad) Capacidad
(minutos / día)

Artículo 1 Artículo 2

Formado 4 8 800
Corte 4 3 600
Ensamble 6 2 600

Utilidad neta
($/unidad) 10 6

Resuelva el modelo de programación lineal para determinar el número de unidades de


cada tipo de producto que deben fabricarse para maximizar la utilidad neta total.

El problema tiene el siguiente modelo de P.L.:

Maximizar: Z = 10 X1 + 6 X2

Sujeto a: 4 X1 + 8 X2 ≤ 800 Formado (min./día)


4 X1 + 3 X2 ≤ 600 Corte (min./día)
6 X1 + 2 X2 ≤ 600 Ensamble (min./día)

con X1, X2 ≥ 0 condición de no negatividad

Aplicaremos ahora el algoritmo del método simplex algebraico para hallar la solución
óptima del modelo.
Paso inicial: Hallar una solución básica factible inicial:

Modelo en formato estándar

Max: Z = 10X1 + 6X2 + 0H1 + 0H2 + 0H3 (Z.0)

Sujeta a:
4X1 + 8X2 + H1 = 800
4X1 + 3X2 + H2 = 600 Sistema Inicial
6X1 + 2X2 + H3 = 600

Con X1, X2, H1, H2, H3 ≥ 0

Si seleccionamos como variables básicas a las variables de holgura (H1, H2, H3), las no
básicas serán entonces las variables originales (X1,X2).
De cada una de las ecuaciones del sistema anterior despejamos las correspondientes
variables básicas en términos de las no básicas, obteniendo el siguiente sistema
modificado:

H1 = 800 - 4X1 - 8X2 (F.0)


H2 = 600 - 4X1 - 3X2 (C.0) Sistema inicial modificado
H3 = 600 - 6X1 -2X2 (E.0)

Como las variables no básicas X1 y X2 valen cero la solución inicial del modelo es:

H1 = 800
H2 = 600
H3 = 600

Y el valor de la función objetivo es Z = 0

Es lógico que la utilidad sea cero ya que no se esta produciendo ningún articulo. Además
nótese que como las variables de holgura en este problema indican la cantidad sobrante
de cada recurso, la interpretación es que de todos los recursos está sobrando una
cantidad igual a la cantidad disponible en el problema.

Paso 1: determinar si la solución actual es mejorable o si ya es la óptima.

Prueba de mejorabilidad.

Para facilidad en el análisis escribamos acá de nuevo la función objetivo


Z = 10X1 + 6X2 + 0H1 + 0H2 + 0H3 (Z.0)

Observamos que las dos variables no básicas X1 y X2 que actualmente valen cero tienen
coeficiente positivo, lo cual indica que si por ejemplo X1 aumenta su valor a 5 el valor de Z
aumenta en 10*5 = 50.

Algo similar ocurrirá si aumentamos el valor de X2. Si por ejemplo X2 fuera igual a 8,
entonces Z tomaría el valor 80 ( = 0+10*8)
Como se dijo podemos aumentar el valor de cualquiera de estas variables para obtener
un aumento proporcional en el valor de la función objetivo. Aunque podemos hacerlo con
cualquiera de ellas, tomaremos a X2 como aquella a la cual le aumentaremos su valor lo
máximo posible, es decir, la tomaremos como variable de entrada a la nueva solución
básica.

Como X1 tiene el mayor coeficiente objetivo, la tomamos como variable de entrada a la


solución básica. Téngase en cuenta que vamos a incrementar el valor de X1 mientras que
el valor de X2 permanecerá en cero ya que sigue siendo no básica. Recordemos que una
solución básica tiene tantas variables como ecuaciones tenga el sistema. Por eso al
entrar X1 a la solución básica debemos sacar de esta una de las variables básicas
actuales, para que el número total de variables se conserve.

Paso 2:
a. Identificar la variable de salida: (Prueba de factibilidad)

En el sistema inicial de ecuaciones modificado podemos observar que cuando la variable


de entrada (X1) aumenta su valor, en uno, simultáneamente se disminuye en cuatro el
valor de H1, en cuatro el valor de H2 y en seis el valor de H3. Estos valores (4,4,6) que
son los coeficientes de X1 en la correspondiente ecuación de cada variable básica, son
los coeficientes de sustitución o de intercambio de la variable de entrada X1, con las
variables básicas actuales.

Por ejemplo si aumentamos a X1 en 10 unidades el valor de H1 será 800 – 4*10; el valor


de H2 será 600 – 4*10 y el valor de H3 será 600 – 6*10.

Si continuamos aumentando el valor de X1 llegará un momento en el que alguna de las


variables básicas llegue a valer cero, mientras las otras tomen aún valores positivos.

El valor de X1 para el cual se hace cero una variable básica es el cociente entre el valor
actual de la variable y el coeficiente de intercambio con la variable de entrada. Para
nuestro modelo los cálculos son;

Para H1à X1 = 800/4 = 200


Para H2à X1 = 600/4 = 150
Para H3à X1 = 600/6 = 100

Estos cocientes indican que cuando X1 valga 100 la variable básica H3 tomará el valor
cero, mientras que se requiere que valga 150 para hacer cero a la variable básica H2 y
que valga 200 para que H1 se haga cero. Es decir la variable H3 es la que limita el
crecimiento de X1 pues se vuelve cero primero que las demás, al incrementar el valor de
X1. Por ello se escoge a X1 como variable de salida.

Analicemos que pasaría si X1 superara el valor de 100 y tomara por ejemplo el valor 101.
En este punto los valores de las variables básicas serían :

H1 = 800 - 4(101) = 396


H2 = 600 - 4(101) = 196
H3 = 600 - 6(101) = -6

Hemos detectado que la variable H1 tomaría un valor negativo lo cual llevaría a que la
solución sea infactible. Se comprueba que 100 es el máximo valor que puede tomar la
variable X1 sin hacer infactible la solución actual. Por esto la prueba para determinar la
variable de salida se conoce como prueba de factibilidad.

b. Transformar el sistema actual para reflejar el cambio de variable básica y obtener la


nueva solución básica mejor que la actual.

En la ecuación correspondiente a la variable de salida se despeja la variable de entrada.

Para nuestro caso en la ecuación de H3, se despeja X1, obteniendo la siguiente


ecuación:

X1 = 100 – 1/3X2 – 1/6H3 (F.1)

Luego vamos a reemplazar la expresión recién obtenida para la nueva variable básica en
las ecuaciones de las otras variables básicas, así:

En H1
H1 = 800 – 4(100 – 1/3X2 – 1/6 H3) – 8X2
H1 = 400 – 20/3X2 + 2/3H3 (C.1)

En H2
H2 = 600 – 4(100 – 1/3X2 – 1/6H3) – 3X2
H2 = 200 – 5/3X2 + 2/3H3 (E.1)

Reemplazamos también en la función objetivo Z.0, obteniendo la función objetivo


modificada Z.1.

Z = 10(100 – 1/3X2 – 1/6H3) + 6X2 + 0H1 + 0H2 + 0H3


Z = 1000 + 8/3X2 + 0H1 + 0H2 – 5/3H3 (Z.1)

Escribiendo el sistema de ecuaciones modificado quedaría:

Max: Z = 1000 + 0X1 + 8/3X2 + 0H1 + 0H2 – 5/3H (Z.1)


H1 = 400 – 20/3X2 + 2/3H3 (F.1)
H2 = 200 – 5/3X2 + 2/3H3 (C.1) Sistema 1 modificado
X1 = 100 – 1/3X2 – 1/6H3 (E.1)

Ahora las variables básicas son H1, H2, X1 y las no básicas son X2 y H3 (ambas valen
cero), por lo cual la nueva solución básica factible es:

H1 = 400
H2 = 200
X1 = 100
Y el valor de la función objetivo es Z = 1000.

Ya tenemos una solución básica factible mejor que la anterior, pero debemos verificar si
es posible encontrar otra todavía mejor. Para ello vamos a repetir el algoritmo desde el
paso 1 para determinar si la solución actual es mejorable o ya es la óptima.

Paso 1: ¿Será mejorable la solución actual?

En la función objetivo modificada (Z.1) observamos que el coeficiente de la variable no


básica X2 es 8/3, lo cual indica que por cada unidad que aumente X2, el valor de Z
aumentará en 8/3. Ahora X2 es la nueva variable de entrada.

Paso 2: Obtener la nueva solución básica factible mejorada

a. Identificación de la variable de salida.

En las ecuaciones del sistema 1 modificado, observamos que los coeficientes de


intercambio de X2 son 20/3, 5/3, 1/3, lo cual significa que si aumentamos en uno el valor
de X2, entonces se disminuye en 20/3 el valor de H1, en 5/3 el valor de H2 y en 1/3 el
valor de X1.

Al efectuar los cocientes entre los valores de cada variable básica y su correspondiente
coeficiente de sustitución con X2, obtenemos:

Para H1 à X2 = 400/(20/3) = 60
Para H2 à X2 = 200/(5/3) = 120
Para X1 à X2 = 100/(1/3) = 300

Sabemos que: Máximo valor de X2 = mínimo cociente entre ( 60,120,300) = 60,


que corresponde a la variable básica H1, la cual se toma como variable de salida.

Obtención del nuevo sistema equivalente

Como se hizo antes, en la ecuación correspondiente a la variable de salida despejamos la


variable de entrada, o sea en la ecuación (F.1) despejamos a X2 y obtenemos:

X2 = 60 – 3/20H1 + 1/10H3 (F.2)

Y reemplazando esta nueva expresión en las otras ecuaciones de sistema modificado 1:

H2 = 200 – 5/3(60 – 3/2H1 + 1/10H3) + 2/3H3


H2 = 100 + 1/4H1 + 1/2H3 (C.2)

X1 = 100 – 1/3(60 – 3/2H1 + 1/10H3) – 1/6H3


X1 = 80 + 1/20H1 – 1/5H3 (E.2)

Z = 1000 + 0X1 + 8/3(60 – 3/2H1 + 1/10H3) + 0H1 + 0H2 – 5/3H3


Z = 1160 + 0X1 + 0X2 – 2/5H1 + 0H2 – 7/5H3 (Z.2)

Escribiendo el segundo sistema de ecuaciones modificado, tendríamos:

Max: Z = 1160 + 0X1 + 0X2 – 2/5H1 + 0H2 – 7/5H3 (Z.2)

S.a: X2 = 60 – 3/20H1 + 1/10H3 (F.2)


H2 = 100 + 1/4H1 + 1/2H3 (C.2) Sistema 2 modificado
X1 = 80 + 1/20H1 – 1/5H3 (E.2)

Ahora las variables básicas son X2, H2, X1 y las no básicas son H1 y H3 (ambas valen
cero), por lo cual la nueva solución básica factible es:

X2 = 60
H2 = 100
X1 = 80

Y el valor de la function objetivo es Z = 1160.

Como antes, cada vez que tiene una solución mejorada, se repite el algoritmo desde el
paso 1 para determinar si la solución actual es mejorable o si ya es la óptima.

Observamos en Z.2 que las variables básicas (H1 y H3), tienen coeficiente negativo, lo
cual indica que no es posible mejorar más el valor de la función objetivo y por lo tanto se
concluye que la solución actual es la óptima.

Comparación entre la solución gráfica y la solución algebraica

Con el fin de entender la gran eficiencia del algoritmo simplex, vamos a observar de
nuevo la figura 3.4 que nos muestra la solución gráfica de este modelo
Nótese que el método algebraico se inicia con una solución básica factible en la cual las
variables originales valen cero, es decir una solución equivalente al punto extremo (0,0).
(Punto O). Luego, en el paso 1, el algoritmo nos condujo a incrementar el valor de X1
(¿recuerda por que?), hasta un valor máximo de 100, (¿también recuerda por qué?), en el
cual se hace cero a la variable básica H3. Al hacer las operaciones correspondientes
obtuvimos que la nueva solución básica factible mejorada es:

H1 = 400
H2 = 200
X1 = 100

En la gráfica esto equivale a movernos desde el punto O(0,0) hasta el punto A(100, 0),
que es un vértice adyacente.

Advirtamos además que los otros intersectos con el eje X1, son en X1 = 150 y X1 = 200,
y se corresponden con los otros cocientes obtenidos cuando en el paso 2 literal b,
estabamos efectuando los primeros cocientes para determinar la variable de salida.
(¿ puedes explicar que significado tiene esta relación ?)

Cuando repetimos el algoritmo a partir del paso 1, determinamos que la solución aún es
mejorable al entran X2 en lugar de H1 y obtuvimos que la nueva solución básica es
X1 = 80, X2 = 60, H2 = 100.

Esta solución es el punto B(80,60), es decir gráficamente nos movimos desde el punto
A(100,0) hasta el punto adyacente B(80,60), en el cual se obtiene un mejor valor de Z.
Finalmente el algoritmo detectó que esta solución no es mejorable, por lo cual se concluye
que es la solución óptima, tal como lo habíamos hecho en la solución gráfica.
En el proceso descubrimos que las soluciones básicas son equivalentes, en términos
gráficos, a los intersectos de las rectas generadas por las ecuaciones (incluyendo las
rectas de las condiciones de no negatividad) y mas aún las soluciones básicas factibles
son equivalentes a los vértices o puntos extremos de la región de factibilidad.

Hemos visto como no hubo necesidad de evaluar el valor de Z en todas las soluciones
básicas, ni tampoco tuvimos que evaluar en todas las soluciones básicas factibles, sino
que solo evaluamos algunos de ellas.

En este ejemplo sencillo dejamos de evaluar solo el punto extremo (0,100), pero en
problemas mas grandes, el ahorro en puntos no evaluados es apreciablemente mayor.

Con base en lo anterior podemos afirmar que el método simplex sigue un “camino
abreviado”, que a partir de una solución básica factible inicial, va buscando otras
soluciones cada vez mejores hasta encontrar la óptima. He aquí una de las grandes
ventajas del método.

REPRESENTACIÓN TABULAR DELMETODO SIMPLEX

Al seguir el algoritmo del método simplex algebraico para la solución de este modelo,
obtuvimos tres modelos modificados, el inicial, y los que denominamos: sistema 1
modificado y sistema 2 modificado.

Para facilitar el análisis, escribamos los modelos modificados en formato estándar tal
como está el modelo inicial, con lo cual obtenemos:

Sistema inicial
Max Z = 10X1 + 6X2 + 0H1 + 0H2 + 0H3

Sujeta a 4X1 + 8X2 + 1H1 + 0H2 + 0H3 = 800

4X1 + 3X2 + 0H1 + 1H2 + 0H3 = 600

6X1 + 2X2 + 0H1 + 0H2 + 1H3 = 600

Acá las variables básicas son H1, H2, H3

Sistema 1
Max Z = 0X1 + 8/3X2 + 0H1 + 0H2 - 5/3H3

Sujeta a 0X1 + 20/3X2 + 1H1 + 0H2 - 2/3H3 = 400

0X1 + 5/3X2 + 0H1 + 1H2 - 2/3H3 = 200

1X1 + 1/3X2 + 0H1 + 0H2 + 1/6H3 = 100


Acá las variables básicas son H1, H2, X1

Sistema 2
Max Z = 0X1 + 0X2 - 2/5H1 + 0H2 - 7/5H3

Sujeta a 0X1 + 1X2 + 3/20H1 + 0H2 - 1/10H3 = 60

0X1 + 0X2 - 1/4H1 + 1H2 - 1/2H3 = 100

1X1 + 0X2 - 1/20H1 + 0H2 + 1/5H3 = 80

Acá las variables básicas son X2, H2, X1

Si analizamos la estructura de los tres sistemas anteriores, constatamos que en cada uno
de ellos, el vector formado con los coeficientes de las variables básicas, en las tres
restricciones, es un vector unitario y que además en los tres sistemas las variables
básicas tienen un cero como coeficiente objetivo. También observamos que cada variable
de entrada tiene un vector unitario en el sistema siguiente, mientras que la variable básica
de salida, que antes tenia vector unitario ya no lo tiene. Esta característica nos permite
obtener un sistema a partir del anterior, simplemente realizando las operaciones
necesarias para que el vector de la variable de entrada se convierta en un vector unitario.
En realidad lo que necesitamos hacer es efectuar operaciones elementales entre filas
mediante la operación de pivoteo para convertir en uno el coeficiente de la variable de
entrada en la ecuación correspondiente a la variable de salida y convertir en cero el
coeficiente en el resto de las ecuaciones y en la función objetivo.

Para realizar con mayor comodidad el paso de un sistema al siguiente, se acostumbra


organizar los valores en tablas conocidas como tableros simplex, en las cuales se
escribe el modelo junto con otras columnas y filas que nos permiten reconocer e
interpretar otros datos importantes del proceso de solución.

La tabla contiene una columna encabezada con el nombre de cada variable del modelo.
Encima del nombre se escribe el coeficiente objetivo y debajo los coeficientes
tecnológicos que le corresponden en cada restricción, con lo cual quedara que la primera
fila contiene la función del objetivo y las filas a partir de la tercera contienen las
restricciones del modelo.
La penúltima se encabeza con el nombre solución y debajo se escriben los términos del
lado derecho de las restricciones.

Para efectuar fácilmente algunos cálculos posteriores e interpretar las sucesivas


soluciones obtenidas en la búsqueda de la solución óptima, se agregan a la tabla las
siguientes columnas y filas:
a. Columna CB con los coeficientes objetivo de las variables básicas .
b. Columna XB con los nombres de las variables básicas.
c. Fila Zj cuyos elementos se calculan como el producto escalar del vector CB y el
vector Sj compuesto por los coeficientes que forman la columna de la variable
Xj. En esta fila y debajo de los nombres de las variables básicas se escribe el
nombre de la función objetivo ( el nombre genérico es Z ), y a la izquierda el
valor correspondiente ( inicialmente este valor es cero).
d. Fila Ej cuyos elementos, llamados efectos netos, se calculan como la
diferencia Cj – Zj.

Nótese que el valor de Z se calcula como el producto escalar de CB por la columna


solución, lo cual es lógico ya que el vector CB contiene los coeficientes objetivo de las
variables básicas y la columna solución contiene el valor de esas variables.

Para nuestro modelo los tableros simplex correspondientes a los sistemas obtenidos son
los siguientes:

Tablero inicial

Cj 10 6 0 0 0

CB X1 X2 H1 H2 H3 Solución XB

0 4 8 1 0 0 800 H1

0 4 3 0 1 0 600 H2

0 6 2 0 0 1 600 H3

Zj 0 0 0 0 0 0 Z

Ej 10 6 0 0 0

Tablero 1

Cj 10 6 0 0 0

CB X1 X2 H1 H2 H3 Solución XB

0 0 20/3 1 0 -2/3 400 H1

0 0 5/3 0 1 -2/3 200 H2

10 1 1/3 0 0 1/6 100 X1

Zj 10 10/3 0 0 5/3 1000 Z

Ej 0 8/3 0 0 -5/3

Tablero 2 ( tablero óptimo del ejemplo de maximización)


Cj 10 6 0 0 0

CB X1 X2 H1 H2 H3 Solución XB

6 0 1 3/20 0 -1/10 60 X2

0 0 0 -1/4 1 -1/2 100 H2

10 1 0 -1/20 0 1/5 80 X1

Zj 10 6 2/5 0 7/5 1160 Z

Ej 0 0 -2/5 0 -7/5

Observamos de manera clara como las columnas de las variables básicas siempre son
vectores unitarios y los efectos netos de las variables básicas siempre son cero.

Ejercicio: Un problema de minimización

Con el propósito de deducir otros detalles relacionados con la lógica del método simplex
en forma algebraica, el estudiante debe aplicar el algoritmo ya conocido, para obtener la
solución óptima del siguiente modelo:

Min: Z = - 4X1 – 2X2


Sujeta a: -1X1 + 1X2 ≤ 10
6X1 + 10X2 ≤ 120
3X1 - 5X2 ≤ 30
Con X1, X2 ≥ 0

Se presenta enseguida el tablero final, para que el estudiante lo compare con el que
obtenga después de realizar sus cálculos.

Tablero óptimo del ejemplo de mimimización


Cj -4 -2 0 0 0

CB X1 X2 H1 H2 H3 Solución XB

0 0 0 1 1/30 4/15 22 H1

-2 0 1 0 1/20 -1/10 3 X2

-4 1 0 0 5/60 1/6 15 X1

Zj -4 -2 0 -13/30 -14/30 -66 Z

Ej 0 0 0 13/30 14/30
IDENTIFICACIÓN DEL TIPO DE SOLUCIÓN

Con el método algebraico podemos resolver cualquier modelo de programación lineal,


pero por facilidad en los cálculos y análisis, lo hemos explicado mediante un modelo en el
cual todas las restricciones son del tipo ≤ y todos los bi ≥ 0. Si un modelo puede
expresarse de esta manera, siempre tendrá una solución básica factible inicial, integrada
por las variables de holgura y cuyos valores son los coeficiente recurso del modelo, es
decir siempre tendremos al menos una solución factible, así sea la inicial que como
hemos dicho es trivial, pero con la cual se descarta la inexistencia de solución o la
existencia de una solución infactible. Estas dos ultimas posibilidades las analizaremos
posteriormente cuando generalicemos el algoritmo para modelos que no cumplan las dos
condiciones de tener todas las restricciones de la forma > y todos los términos del lado
derecho con valor no negativo. En estos casos se deben incluir unas variables
artificiales que nos permita obtener cómodamente una solución básica factible inicial
artificial.

Al termino del Algoritmo Simplex Algebraico llegaremos a una solución óptima, que como
ya mencionamos en el método gráfico, puede ser única, múltiple, ilimitada.
A continuación presentamos ejemplos de modelos de maximización que conducen a cada
uno de estos casos.

Solución óptima única


Se obtiene cuando en la fila Ej de un tablero, ya todos los valores correspondientes a las
variables no básicas son menores o iguales que cero. Esto sucede en el tablero óptimo
del ejemplo de maximización, presentado antes. ( se pide al estudiante que analice el
tablero óptimo del ejemplo de minimización , para que deduzca los cambios que deben
hacerse en el algoritmo, cuando el objetivo no es maximizar sino minimizar)

Solución óptima múltiple


Ocurre cuando ninguna variable no básica tiene efecto neto positivo, pero al menos una
de ellas tiene efecto neto igual a cero. Lo anterior indica que la solución actual no es
mejorable, pero si igualable, al formar una nueva solución óptima entrando la variable no
básica con efecto neto cero. Al hacerlo se obtendrá una nueva solución, pero con el
mismo valor de la función objetivo.

Apoyados en el teorema de que si hay dos soluciones básicas que dan el mismo valor
óptimo de Z, entonces cualquier combinación lineal convexa de ellas, también da el
mismo valor, podemos concluir que el problema tiene infinitas soluciones óptimas
alternativas.

Como ejemplo, analicemos la solución del modelo:

Max: Z = 14X1 + 6X2


Sujeta a: 3X1 + 5X2 ≤ 15
8X1 - 12X2 ≤ 12
7X1 + 3X2 ≤ 14
Después de algunas iteraciones llegamos al siguiente tablero:

Cj 14 6 0 0 0

CB X1 X2 H1 H2 H3 Solución XB

0 0 0 1 0.2407 -0.7037 8.0370 H1

14 1 0 0 0.0278 1/9 1.8885 X1

6 0 1 0 -0.0648 0.0741 0.2593 X2

Zj 14 6 0 0 2 28 Z

Ej 0 0 0 0 -2

Por lo tanto la solución actual es H1 = 8.0370, X1 = 1.8885, X2 = 0.2593; Z = 28.

Observamos que este tablero es óptimo pues ninguna variable no básica tiene efecto neto
negativo. Pero la solución actual si es igualable, ya que el efecto neto de la variable no
básica H2 es cero, que no quita ni pone en el valor de la función objetivo, por lo cual al
entrarla a la solución básica esta tendrá el mismo valor de Z.

Si efectuamos los cálculos para obtener la nueva solución básica en donde H2 sea
variable básica obtenemos el siguiente tablero:

Cj 14 6 0 0 0

CB X1 X2 H1 H2 H3 Solución XB

0 0 0 4.154 1 -2.923 33.38 H2

14 1 0 -0.1154 0 0.1923 0.961 X1

6 0 1 0.2692 0 -0.1154 2.423 X2

Zj 14 6 0 0 2 28 Z

Ej 0 0 0 0 -2

Ambos tableros representan soluciones óptimas del modelo. Entonces hay solución
óptima múltiple que se expresa como:

X1* 1.89 0.96


=α + (1- α ) ; z* = 28
X2* 0.26 2.42
En donde 0 ≤ α ≤ 1

Solución ilimitada
Ocurre cuando se tiene alguna variable no básica con efecto neto positivo, la cual será
variable de entrada, pero es imposible sacar una de las variables básicas, debido a que
todos los coeficientes de intercambio de la variable de entrada son negativos o cero.

Para mejor entendimiento analicemos la solución del siguiente modelo:

Max: Z = 10X1 + 5X2

Sujeta a. - 3X1 + 4X2 ≤ 12


X1 – 2X2 ≤ 2
X1 + 2X2 > 8
Con X1, X2 ≥ 0

Al aplicar el método simplex en forma tabular obtenemos la siguiente tabla:

Cj 10 5 0 0 0

CB X1 X2 H1 H2 H3 Solución XB

5 0 1 0.1 0 -0.3 3.6 X2

0 0 0 0.4 1 -0.2 8.4 H2

10 1 0 -0.2 0 -0.4 0.8 X1

Zj 10 5 -1.5 0 -5.5 26 Z

Ej 0 0 1.5 0 5.5

Observamos que las variables H1 y H3 tienen efecto neto positivo, por lo cual pueden
entrar a la solución básica. Ya que H3 tiene el mayor efecto neto, la elegimos como
variable de entrada. Pero también notamos que al aumentar el valor de H3, ninguna de
las variables básicas disminuye, sino que por el contrario lo aumentan. Esto se debe a
que los coeficientes de intercambio de H3 con X2, H2 y con X1 son negativos. Por
consiguiente concluimos que la solución del modelo es óptima ilimitada.

Es bueno recordar acá que la aparición de soluciones óptimas múltiples o ilimitadas es


poco común en los problemas reales y cuando se presentan en algún modelo obedecen
generalmente a errores en la formulación o en los datos.

Se le recomienda al estudiante que compare las conclusiones obtenidas al resolver estos


modelos, con el método simplex tabular y las obtenidas con el método gráfico.

Potrebbero piacerti anche