Monografia - Metodo Simplex
Monografia - Metodo Simplex
Monografia - Metodo Simplex
Y LA SEGURIDAD ALIMENTARIA”
Tema
MONOGRAFIA – METODO SIMPLEX
Docente
Ing. JENSEN NOVOA HERNÁNDEZ
Asignatura
METODOS DE OPTIMIZACION
Alumno
JHORLIN RODAS HERNÁNDEZ.
V - Ciclo
2013 - I
Deberá tenerse en cuenta que este método sólo trabaja para restricciones que tengan
un tipo de desigualdad "≤" y coeficientes independientes mayores o iguales a 0, y
habrá que estandarizar las mismas para el algoritmo. En caso de que después de éste
proceso, aparezcan (o no varíen) restricciones del tipo "≥" o "=" habrá que emplear
otros métodos, siendo el más común el método de las Dos Fases.
Si en nuestro modelo, deseamos minimizar, podemos dejarlo tal y como está, pero
deberemos tener en cuenta nuevos criterios para la condición de parada (deberemos
parar de realizar iteraciones cuando en la fila del valor de la función objetivo sean
todos menores o iguales a 0), así como para la condición de salida de la fila. Con objeto
de no cambiar criterios, se puede convertir el objetivo de minimizar la función F por el
de maximizar F·(-1).
Ventajas: No deberemos preocuparnos por los criterios de parada, o condición de
salida de filas, ya que se mantienen.
Inconvenientes: En el caso de que la función tenga todas sus variables básicas
positivas, y además las restricciones sean de desigualdad "≤", al hacer el cambio se
quedan negativas y en la fila del valor de la función objetivo se quedan positivos, por lo
que se cumple la condición de parada, y por defecto el valor óptimo que se obtendría
es 0.
Solución: En la realidad no existen este tipo de problemas, ya que para que la solución
quedara por encima de 0, alguna restricción debería tener la condición "≥", y entonces
entraríamos en un modelo para el método de las Dos Fases.
Deberemos preparar nuestro modelo de forma que los términos independientes de las
restricciones sean mayores o iguales a 0, sino no se puede emplear el método Simplex. Lo
único que habría que hacer es multiplicar por "-1" las restricciones donde los términos
independientes sean menores que 0.
Ventaja: Con ésta simple modificación de los signos en la restricción podemos aplicar el
método Simplex a nuestro modelo.
Inconvenientes: Puede resultar que en las restricciones donde tengamos que modificar los
signos de las constantes, los signos de las desigualdades fueran ("=", "≤"), quedando ("=","≥")
por lo que en cualquier caso deberemos desarrollar el método de las Dos Fases. Este
inconveniente no es controlable, aunque nos podría beneficiar si sólo existen términos de
desigualdad ("≤","≥"), y los "≥" coincidieran con restricciones donde el término independiente
es negativo.
Si en nuestro modelo aparece una inecuación con una desigualdad del tipo "≥", deberemos
añadir una nueva variable, llamada variable de exceso si, con la restricción si ≥ 0. La nueva
variable aparece con coeficiente cero en la función objetivo, y restando en las inecuaciones.
Surge ahora un problema, veamos cómo queda una de nuestras inecuaciones que contenga
una desigualdad "≥" :
Como todo nuestro modelo, está basado en que todas sus variables sean mayores o iguales
que cero, cuando hagamos la primera iteración con el método Simplex, las variables básicas no
estarán en la base y tomarán valor cero, y el resto el valor que tengan. En este caso nuestra
variable xs, tras hacer cero a x1 y x2, tomará el valor -b1. No cumpliría la condición de no
negatividad, por lo que habrá que añadir una nueva variable, xr, que aparecerá con coeficiente
cero en la función objetivo, y sumando en la inecuación de la restricción correspondiente.
Quedaría entonces de la siguiente manera:
Una vez que hemos estandarizado nuestro modelo, puede ocurrir que necesitemos
aplicar el método Simplex o el método de las Dos Fases. Véase en la figura como
debemos actuar para llegar a la solución de nuestro problema.
Explicaremos paso a paso los puntos de cada método, concretando los aspectos que
hay que tener en cuenta.
Método Simplex
- Construcción de la primera tabla: En la primera columna de la tabla aparecerá lo que
llamaremos base, en la segunda el coeficiente que tiene en la función objetivo cada variable
que aparece en la base (llamaremos a esta columna Cb), en la tercera el término
independiente de cada restricción (P0), y a partir de ésta columna aparecerán cada una de las
variables de la función objetivo (Pi). Para tener una visión más clara de la tabla, incluiremos
una fila en la que pondremos cada uno de los nombres de las columnas. Sobre ésta tabla que
tenemos incluiremos dos nuevas filas: una que será la que liderará la tabla donde aparecerán
las constantes de los coeficientes de la función objetivo, y otra que será la última fila, donde
tomará valor la función objetivo. Nuestra tabla final tendrá tantas filas como restricciones.
Tabla
C1 C2 ... Cn
Base Cb P0 P1 P2 ... Pn
Pi1 Ci1 bi1 a11 a12 ... a1n
Pi2 Ci2 bi2 a21 a22 ... a2n
... ... ... ... ... ... ...
Pim Cim bim am1 am2 ... amn
Z Z0 Z1-C1 Z2-C2 ... Zn-Cn
- Elección de la variable que sale: Una vez obtenida la variable entrante, obtendremos
la variable que sale, sin más que seleccionar aquella fila cuyo cociente P0/Pj sea el
menor de los estrictamente positivos (teniendo en cuenta que sólo se hará cuando Pj
sea mayor de 0). La intersección entre la columna entrante y la fila saliente nos
determinará el elemento pivote.
- Actualización de la tabla: Las filas correspondientes a la función objetivo y a los títulos
permanecerán inalterados en la nueva tabla. El resto deberá calcularse de dos formas
diferentes:
Si es la fila pivote cada nuevo elemento se calculará:
Nuevo Elemento Fila = Elemento Fila Pivote actual - (Elemento Columna Pivote
en la fila actual * Nuevo Elemento Fila).
FASE 1
En esta primera fase, se realiza todo de igual manera que en el método Simplex
normal, excepto la construcción de la primera tabla, la condición de parada y la
preparación de la tabla que pasará a la fase 2.
- Construcción de la primera tabla: Se hace de la misma forma que la tabla inicial del
método Simplex, pero con algunas diferencias. La fila de la función objetivo cambia
para la primera fase, ya que cambia la función objetivo, por lo tanto aparecerán todos
los términos a cero excepto aquellos que sean variables artificiales, que tendrán valor
"-1" debido a que se está minimizando la suma de dichas variables (recuerde que
minimizar F es igual que maximizar F·(-1)).
La otra diferencia para la primera tabla radica en la forma de calcular la fila Z. Ahora
tendremos que hacer el cálculo de la siguiente forma: Se sumarán los productos Cb·Pj
para todas las filas y al resultado se le restará el valor que aparezca (según la columna
que se éste haciendo) en la fila de la función objetivo.
Tabla
C0 C1 C2 ... Cn-k ... Cn
Base Cb P0 P1 P2 ... Pn-k ... Pn
Pi1 Ci1 bi1 a11 a12 ... a1n-k ... a1n
Pi2 Ci2 bi2 a21 a22 ... a2n-k ... a2n
... ... ... ... ... ... ... ... ...
Pim Cim bim am1 am2 ... amn-k ... amn
Z Z0 Z1 Z2 ... Zn-k ... Zn
Siendo Zj = Σ(Cb·Pj) - Cj y los Cj = 0 para todo j comprendido entre 0 y n-k (variables de
decisión, holgura y exceso), y Cj = -1 para todo j comprendido entre n-k y n (variables
artificiales).
Método Simplex
Introducción
El método algebraico es muy dispendioso, en razón a que trabaja con todos los datos de las
ecuaciones, para mejorar éste aspecto se creó el método simplex cuya gran virtud es su
sencillez, método muy práctico, ya que solo trabaja con los coeficientes de la función
objetivo y de las restricciones. Ilustraremos su funcionamiento mediante un ejemplo, pero
previamente mostraremos las reglas de decisión para determinar la variable que entra, la
que sale, la gran M, y cómo determinar que estamos en el óptimo; Todas éstas reglas de
decisión fueron deducidas del método algebraico, solamente que aquí se han acomodado
para ser usadas en el tipo de tablero simplex que se usará.
Método Simplex
• Si en el tablero simplex de la solución óptima queda al menos una variable de Super avit
ó artificial dentro de las variables básicas, con un valor > 0 , el problema no tiene
solución, esto quiere decir que al menos existen dos restricciones excluyentes, por lo
tanto no existe área de soluciones factible y menos una solución , en éste caso se debe
revisar la formulación del problema.
• Si al escoger la variable que sale, ninguna de las variables básicas restringe el
crecimiento de la variable no básica escogida para entrar, el problema tiene solución
indeterminada y se debe revisar la formulación en busca de una nueva restricción que no
se tuvo en cuenta en la formulación inicial.
• Si en el tablero simplex del óptimo, al menos una de las variables no básicas tiene
coeficiente cero (0) en la función objetivo, esto es su Zj – Cj = 0, el problema tiene
múltiples soluciones y se nos está ofreciendo una de ellas.
Ejemplo 1
Maximizar Z = X 1
+X 2
Todo problema de programación lineal que
C.S.R. se formule de la forma Maximice, con todas
5X 1 + 3X 2< 15 sus restricciones < y con la condición de no
3X 1 + 5X 2
< 15 negatividad, se le llama Forma Estándar ó
Xj > 0 ; j = 1, 2 Forma Normal
Aquí, al igual que en el método algebraico, debemos conseguir una solución básica factible,
empleando las variables de holgura y/o artificiales, quedando el sistema de ecuaciones así:
Maximizar Z = X 1
+X 2
Las variables básicas son X3 y X4 y por su
C.S.R. puesto en la función objetivo Z.
5X 1 + 3X 2+ X 3= 15 Este ejercicio es el ejemplo 1 del capitulo
3X 1 + 5X 2
+ X4 = 15 de método algebraico. Compare los
Xj > 0 ; j = 1,2,3,4 resultados entre los dos métodos.
las variables básicas en la función objetiva original por el vector columna de los términos
independientes b
CXB = Vector fila de los coeficientes en la función objetivo original de las variables básicas
actuales, sus valores se encuentran en la primera columna del tablero.
Recuerde que la columna de b/a se calcula, siempre y cuando el denominador sea a > 0 ; de lo
contrario la variable básica respectiva no restringe el valor de la variable escogida para
entrar, los valores de a, están en el respectivo vector apuntador de la variable j-ésima
Método Simplex
escogida para entrar, en ésta iteración son 5 y 3 y el calculo respectivo 15/5 = 3 y 15/3 = 5;
Lo que significa que la variable básica X 3 restringe el crecimiento de la variable que entra
X1 hasta 3 (no la deja tomar valores superiores a 3) y la variable básica X 4 restringe el
crecimiento de la variable que entra X 1 hasta 5 (no la deja tomar valores superiores a 5).
Por supuesto la variable básica que restringe más el crecimiento de la variable que entra X 1
es X3 por lo tanto es la variable básica escogida para salir.
La fila de la variable básica escogida para salir se divide por el elemento que se encuentra
en la intersección de dicha fila con la columna de la variable que entra, la fila resultante es
la fila pivote y se coloca en un nuevo tablero, desde el que se suman múltiplos de la fila
pivote a las demás filas del tablero anterior de tal forma que se eliminen de cada una de
ellas la variable escogida para entrar, en nuestro caso X1 , este procedimiento se denomina,
hacer un uno (1) en la intersección y el resto de la columna ceros (0), por lo tanto en dicha
columna aparecerá un vector unitario, el procedimiento se repite en cada iteración, hasta
que todos los Zj – Cj sean mayores ó iguales a cero en el caso de maximizar ó menores ó
iguales a cero en el caso de minimizar.
A continuación se muestran todas las iteraciones y en cada fila los valores por los cuales
fueron multiplicadas para ser sumadas a otras filas, ello se expresa como sumar múltiplos
de una fila a otra.
Fíjese que se suman múltiplos de las restricciones a la función objetivo para eliminar las
variables básicas de ella.
Conclusiones:
Ejemplo 2
Ejemplo 3
Aquí, se muestra el método simplex aplicado al ejemplo 3 del capítulo de método algebraico.
3X 1 + 2X 2 +X 6 +X 7 = 5.000
2X 4 + X5 + X 6 = 15.000
X 2
+3X 3
+ 2X 5
+X 6
+ 2X 7
= 5.000
Xj >= 0 ; j = 1,2,3,4,5,6,7
Adicionando las variables artificiales necesarias para obtener una solución básica factible,
el problema queda expresado de la siguiente forma:
Xj >= 0 ; j = 1,2,3,4,5,6,7,8,9,10
Variables básicas X 8
,X 9
yX 10
Método Simplex
Solución:
Variables de Decisión: X 1
*= X 2*= X 3
* = X 5 * = X 7 * = 0 ; X*4= X *6 = 5.000 ; Z* = 200.000
Interpretación: Para que halla un mínimo de desperdicio de 200.000 cm de lámina y cumplir exactamente con los
pedidos, hay que cortar 5.000 láminas de la forma 4 y 5.000 láminas
de la forma 6
Ejemplo 4
En este ejemplo se muestra como resolver un problema en donde no todas las variables deben cumplir la condición de
no negatividad, dicho de otra manera, con variables irrestrictas. Aquí el secreto consiste en reemplazar cada una de las
variables irrestrictas por la diferencia de dos variables que si deban cumplir la condición de no negatividad.
Método Simplex
Maximizar Z = 4X 1
+ 5X 2
+ 2X 3
–X 4
Aquí X 3 tiene libertad en el signo, esto
C.S.R. es puede tomar valores positivos ó
X1 + X 2 + 2X 3 – X 4> 1 negativos. Hacemos X 3 = K – W , en
2X 1 + 2X 2
- 3X 3
+ X 4< 3 donde K y W deben ser positivas, K > 0 y
X1 + 4X 2
+ 3X 3
+ 2X 4
< 5 W>0
Xj > 0 ; j = 1, 2, 4
Fíjese que si K > W => X 3 será positiva, si K = W => X 3 será igual a cero (0) y si K < W => X 3
será negativa.
Lo que hemos conseguido es convertir un problema que es irrestricto en su variable X 3 en
uno que es restringido en todas sus variables, el problema queda así:
Maximizar Z = 4X 1 + 5X 2
+ 2K – 2W – X 4 – MX 6 Aquí las variables básicas son:
C.S.R. X6 , X 7 , y X 8
X1 + X 2 + 2K – 2W – X 4
– X 5 + X6 = 1
2X 1 + 2X 2
- 3K + 3W + X4 X7 = 3
X1 + 4X 2 + 3K – 3W + 2X 4 + X8 < 5
Xj > 0 ; j = 1, 2, 4 ; K > 0 ; W > 0
Método Simplex
Ejemplo 5
En este ejemplo observaremos que a pesar de que el sistema tiene 4 variables, el número de
iteraciones es apenas de 2
Cj 3 -9 -5 -4 0 0
b/a
V.B. b X 1 X2 X3 X4 X5 X6
0 X 5 8 1 4 5 8 1 0 2 (1/4)
0X 6 41 2 640 1 2
Zj - Cj 0 -3 9 5400
Cj 3 -9 -5 -4 0 0 Solución: X 1
*= 0 X5 * = 0
V.B. b X 1X 2 X 3 X4 X5 X6 X2 * = 2 X6 * = 0
-9 X 2 2 1/4 1 5/4 2 1/4 0 X3 * = 0
0X 0 1/2 0 7/2 0 -1/2 1 X4 * = 0
6
Zj - Cj -18 -21/4 0 -25/4 -14 -9/4 0 Z * = -18
Ejemplo 6
Minimizar Z = 0,1X 1
+ 0,04X 2
+ 0,06X 3
Min Z = 1/10X 1
+ 1/25X 2
+ 3/50X 3
C.S.R. C.S.R.
X1 - X 2 + X 3 > 0 X 1- X 2+ X3 > 0
X1 + X 2 < 1,6 X 1
+ X 2 < 8/5
0,9X 1 – 0,1X 2
– 0,1X 3
> 0 9/10X 1
– 1/10X 2
– 1/10X 3
> 0
-0,1X 1 + 0,9X 2– 0,1X 3> 0 -1/10X 1+ 9/10X 2– 1/10X 3> 0
-0,1X 1 – 0,1X 2
+ 0,9X 3
> 0 -1/10X 1
– 1/10X 2
+ 9/10X 3
> 0
X1 + X2+ X3 > 2 X 1
+ X2 + X3 > 2
Xj > 0 ; j = 1, 2, 3 Xj > 0 ; j = 1, 2, 3
Conclusión
El método simplex es más práctico que el método algebraico, pero para problemas de un
gran número de variables y restricciones, fácilmente se vuelve dispendioso por el número de
iteraciones y por supuesto demorado para obtener la solución óptima, es aquí donde el uso
del computador se hace indispensable y útil en términos de eficiencia, para ello existe el
software adecuado, los más conocidos son:
.
Método Simplex
Problemas propuestos
1. Suponga que una persona acaba de heredar $6.000 y desea invertirlos. Al oír ésta
noticia, dos amigos distintos le ofrecen la oportunidad de participar como socio en dos
negocios, cada negocio planteado por cada amigo. En ambos casos, la inversión significa
dedicar un poco de tiempo el siguiente verano, al igual que invertir efectivo. Con el
primer amigo, al convertirse en socio completo, tendría que invertir $5.000 y 400 horas,
y la ganancia estimada (ignorando el valor del tiempo) sería de $4.500. Las cifras
correspondientes a la proposición del segundo amigo son $4.000 y 500 horas, con una
ganancia estimada de $4.500. Sin embargo, ambos amigos son flexibles y le permitirían
entrar en el negocio con cualquier fracción de la sociedad; la participación en las
utilidades sería proporcional a esa fracción. Como de todas maneras, ésta persona está
buscando un trabajo interesante para el verano (600 horas a lo sumo), ha decidido
participar en una ó ambas propuestas, con la combinación que maximice la ganancia total
estimada. Formule y resuelva el problema.
Solución:
X1 * = $3.333,3 X3 * = X 4 * = 0 Precio sombra, para el capital: $0,50
X2 * = $2.666,6 Precio sombra, para el tiempo: $5,00
Z * = $6.000
Máxima utilidad a lograr $6.000
Con el amigo 1, invertirá $3.333,33 y obtendrá una utilidad de $3.000
Con el amigo 2, invertirá $2.666,66 y obtendrá una utilidad de $3.000
Con el amigo 1, trabajará 266,6 horas
Con el amigo 2, trabajará 333,3 horas
Por cada peso ($) adicional que invierta, incrementará la utilidad en $0,50
Por cada hora adicional que trabaje, incrementará la utilidad en $5
Fresadora 500
Torno 350
Rectificadora 150
Fresadora 9 3 5
Torno 5 4 0
Rectificadora 3 0 2
El departamento de ventas ha indicado que las ventas potenciales para los productos 1 y
2 exceden la tasa máxima de producción y que las ventas potenciales del producto 3 son
20 unidades por semana. La ganancia unitaria sería $50, $20 y $25, respectivamente,
para los productos 1, 2 y3 . El objetivo es determinar cuántos productos de cada tipo
debe producir la compañía para maximizar la ganancia.
Solución:
3. Se ha concedido permiso a una empresa de turismo para realizar vuelos entre Ibagué y
las islas de San Andrés e interinsulares. para ello, debe comprar turborreactores con
los que cubrir los vuelos entre I bagué y las islas, así como aviones de hélice y / o
helicópteros con los que atender los vuelos interinsulares. El presupuesto de compra es
de 2.800 millones de pesos. Las características de los aparatos que puede comprar se
resumen en la tabla.
Método Simplex
Solución:
Solución:
Debe producir 882 congeladores tipo A y 764 congeladores tipo B con un beneficio
óptimo de $34’684.000
Por cada hora de ensamble adicional (dentro del intervalo 4.268,5 ; 4.725) el beneficio
aumentará en $3.530
Producto P 1 P2 P3 P4 Disponibilidad
2
Área (m /und.) 10 30 80 40 900
Trabajadores /und. 2 1 1 3 80
Costos /unidad 20 30 45 58
Solución
De producto 1 debe producir 10 unidades y de producto 4, 20 unidades; de los productos
2 y 3 no debe producir.
2
Por cada m adicional de bodega el beneficio aumenta en $680
Por cada trabajador adicional el beneficio aumenta en $1.600
.