Clase Semana 03

También podría gustarte

Está en la página 1de 40

EL MÉTODO SIMPLEX

El método simplex es un procedimiento algebraico, sin embargo sus conceptos


fundamentales son geométricos. Es un proceso iterativo que converge al óptimo si
este existe.
Si el problema es de maximización, la solución básica inicial factible empieza
con un valor de Z bajo; si es de minimización con un valor de Z alto
El método simplex se desarrolla en forma tabular, para sus cálculos en las
iteraciones utiliza operaciones elementales de matrices (Método de Gauss Jordan).
El modelo matemático que se va a resolver manualmente debe estar en forma
estándar que incluya una matriz de identidad de orden m, denominada matriz BASE
En cada iteración del método simplex existen dos condiciones: Condición de
optimalidad y condición de factibilidad que garantizan la solución del problema. Su
inventor fue el matemático de EEUU. GEORGE DANTZIG
CONDICIÓN DE OPTIMALIDAD
Asegura que en cada iteración del método simplex, nunca se encontrará una solución
peor a la solución actual. Esto quiere decir que el valor de la función objetivo va
mejorando hasta llegar al óptimo.
Ejemplo, si en una iteración de un problema de maximización Z = $ 120 en la siguiente
iteración si no es igual será mayor.

CONDICIÓN DE FACTIBILIDAD.
La condición de factibilidad garantiza que a partir de una solución básica inicial
factible, en todas las iteraciones únicamente se encontrarán soluciones básicas factibles.

MATRIZ BASE
Es la matriz identidad de coeficientes tecnológicos formada en el conjunto equivalente
de ecuaciones restrictivas de un problema de programación lineal. Es de orden m, m es el
número de restricciones del problema
EJEMPLO
MAXIMIZAR Z = 7x1 + 5x2
sujeto a:
3x1 + 8x2 ≤ 200
5x1 + 2x2 ≤ 270
x1, x2 ≥ 0 Es equivalente a:
MAXIMIZAR Z = 7x1 + 5x2 + 0s1 + 0s2
sujeto a
3x1 + 8x2 + s1 + 0s2 = 200
5x1 + 2x2 + 0s1 + s2 = 270
x1, x2, s1, s2 ≥ 0
s1 y s2 son variables de holgura que convierten al sistema de inecuaciones del modelo original en un
sistema equivalente de ecuaciones y cuyos coeficientes forman una matriz unitaria (matriz identidad) o
base.
Si se hace x1 = x2 = 0 resulta s1 = 200 y s2 = 270, lo cual constituye una SOLUCIÓN INICIAL del problema.
Las variables s1 y s2 reciben el nombre de VARIABLES BÁSICAS; mientras que x 1 y x2, el nombre de
VARIABLES NO BÁSICAS.
VARIABLE ARTIFICIAL (Ai, Ai >= 0)
La variable artificial no tiene unidades dimensionales, se usa como artificio matemático para resolver el problema

Cuando el modelo original tiene una o más restricciones del tipo mayor igual o igual, no se puede formar la
base con solo agregar variables de holgura y/o superfluas.
EJEMPLO
  Se tiene el siguiente conjunto de restricciones de un PL, en el cual se va ha formar una base
7x1 + 5x2 ≤ 400
3x1 + 8x2 ≥ 200
5x1 + 2x2 = 250
x 1, x 2 ≥ 0
Se transforma en un sistema equivalente de ecuaciones agregando una variable de holgura s 1 y una variable
superflua s2.
7x1 + 5x2 + s1 + 0s2 = 400
3x1 + 8x2 + 0s1 - s2 = 200
5x1 + 2x2 + 0s1 + 0s2 = 250
x1, x2, s1, s2 ≥ 0
Como se puede observar, no se cuenta con una base. Para conseguirla es necesario utilizar VARIABLES
ARTIFICIALES.
ADICIÓN DE VARIABLES ARTIFICIALES

Agregando las variables artificiales A2, A3 y ordenando los términos se obtiene el


siguiente sistema equivalente.
  7x1 + 5x2 + 0s2 + s1 + 0A2 + 0A3 = 400
3x1 + 8x2 - s2 + 0s1 + A2 + 0A3 = 200
5x1 + 2x2 + 0s2 + 0s1 + 0A2 + A3 = 250
x1, x2, s1, s2, A2, A3 ≥ 0
 Los coeficientes de s1, A2 y A3 forman la matriz base. El nuevo sistema es
equivalente al sistema anterior, solo si las variables artificiales tienen valor cero
en la solución óptima.
 Para evitar que las variables artificiales aparezcan en la solución óptima con
valor positivo se penaliza en la FO. con coeficientes económicos +M si el
problema es de minimización o con –M si el problema es de maximización, M es
un número positivo bien alto.
EL MÉTODO SIMPLEX PARA PROBLEMAS DE
MAXIMIZACIÓN

El algoritmo simplex para problemas de maximización en


programación lineal se basa en las siguientes pasos:
Paso1.- Se plantea el modelo de programación lineal en forma
estándar, de tal manera que incluya una base (matriz identidad de
orden m).
Paso 2.- Se elabora una TABLA SIMPLEX (inicial) cuya estructura es la
siguiente:
TABLA INICIAL DEL MÉTODO SIMPLEX

       
VARIABLES NO BASICAS VARIABLES BASICA INICIALES
INICIALES
  cj c1 c2 ... cn Cn+1 cn+2 ... cn+m  
CBi XBi X1 X2 ... Xn Xn+1 Xn+2 ... Xm+n bi
CB1 XB1 a11 a12 ... a1n 1 0 ... 0 b1
CB2 XB2 a21 a22 ... a2n 0 1 ... 0 b2
. . .............................. .................................. .
. . ……...................... .................................. .
. . .............................. .................................. .
CBm XBm am1 am2 ... amn 0 0 ... 1 bm

  Zj Z1 Z2 ... Zn Zn+1 Zn+2 ... Zn+m Z


  Zj-Cj Z1-c1 Z2-c2 Zn-cn Zn+1-cn+1 Zn+2-cn+2 Zn+m-cn+m  
EL MÉTODO SIMPLEX PARA PROBLEMAS DE
MAXIMIZACIÓN
XBi y CBi denota la i-ésima variable básica y su respectivo coeficiente económico.
m
Z = Σ CBibi , es el valor actual de la función objetivo
i=1
m
Zj = Σ CBiaij ; j=1, 2,..., m+n
i=1
  La solución básica actual está dado por:
variables básicas : XBi = bi , i=1, 2,...,m
variables no básicas : Todas iguales a cero
Valor de la función objetivo: Z
Paso 3.-Si todo Zj-Cj ≥ 0, entonces la solución básica actual es ÓPTIMA FACTIBLE y
el procedimiento termina. En caso contrario se continúa con el paso 4
EL MÉTODO SIMPLEX PARA PROBLEMAS DE MAXIMIZACIÓN

Paso 4.- Se selecciona la VARIABLE QUE ENTRA A LA BASE de acuerdo a la


siguiente CONDICION DE OPTIMALIDAD: La variable que entra a la base es
aquella variable no básica que corresponde al mínimo de Zj-Cj. En caso de
empate, éste se rompe arbitrariamente. Sea Xk la variable seleccionada.
 
Paso 5.- Se selecciona la VARIABLE QUE SALE DE LA BASE de acuerdo a la
siguiente CONDICION DE FACTIBILIDAD: La variable que sale es la r-ésima
variable básica siempre que:
br/ark = min(bi/aik), aik>0, i=1, 2,...,m

En caso de empate este se rompe arbitrariamente. Si todo aik≤0 entonces


el problema no tiene solución óptima finita. El elemento ark se llama
ELEMENTO PIVOTE.
EL MÉTODO SIMPLEX PARA PROBLEMAS DE MAXIMIZACIÓN

Paso 6.- Se ejecutan operaciones matriciales elementales y se elabora una nueva tabla
simplex, logrando que el ELEMENTO PIVOTE se convierta en uno y los restantes
elementos de su columna en cero, formando un vector unitario. Los nuevos valores de
aij y bi son:
 
âij = aij/ark, para i=r, j=1, 2,...,m+n
 
âij = aij - (aik/ark)arj para i ≠ r, j=1, 2,...,m+n
 
b'i = bi/ark, para i=r
 
b'i = bi - (aik/ark)br, para i ≠ r, j=1, 2,...,n
 
Con los cuales se calcula los nuevos valores de Z j y Zj-Cj, j=1,2,...,m+n y se regresa al paso
3.
EJEMPLO

La empresa TAKAMURA S.A. fabrica 3 productos a través de tres


operaciones diferentes. Los tiempos (en minutos) requeridos para
procesar cada unidad de producto, la capacidad diaria de las
operaciones (en minutos por día) y la ganancia de cada unidad de
producto (en dólares) se muestran en la siguiente tabla.
Se requiere determinar el número de unidades de cada producto
que debe ser fabricado por TAKAMURA S.A. a fin de maximizar su
ganancia total.
TABLA

TIEMPO REQUERIDO POR UNIDAD CAPACIDAD DE


  OPERACIÓN
OPERACIÓN
PRODUCTO 1 PRODUCTO 2 PRODUCTO 3

A 2 4 2 500
B 6 -- 4 600
C 2 8 -- 640
GANANCIA 6 4 10  
SOLUCIÓN
MODELO MATEMÁTICO

VARIABLES DE DECISIÓN.
x1: Número de unidades del producto 1
x2: Número de unidades del producto 2
x3: Número de unidades del producto 3

MAXIMIZAR Z = 6x1 + 4x2 + 10x3


sujeto a:
2x1 + 4x2 + 2x3 ≤ 500
6x1 + 4x3 ≤ 600
2x1 + 8x2 ≤ 640
xj ≥ 0, j =1, 2, 3
Paso 1.- Forma estándar del modelo con matriz base:

MAXIMIZAR Z = 6x1 + 4x2 + 10x3 + 0s1 + 0s2 + 0s3


sujeto a:
2x1 + 4x2 + 2x3 + s1 = 500
6x1 + 4x3 + s2 = 600
2x1 + 8x2 + s3 = 640
xj ≥ 0, j = 1, 2, 3
si ≥ 0, i = 1, 2, 3
Las variables s1, s2 y s3 son variables de holgura .
Paso 2.- Tabla inicial del método simplex

  Cj 6 4 10 0 0 0  
CBi XBi X1 X2 X3 S1 S2 S3 bi

0 S1 2 4 2 1 0 0 500
0 S2 6 0 4 0 1 0 600
0 S3 2 8 0 0 0 1 640
  Zj 0 0 0 0 0 0 0
  Zj-Cj -6 -4 -10 0 0 0  
Solución básica inicial.

Variables básicas : s1 = 500, s2 = 600, s3 = 640


Variables no básicas : x1 = x2 = x3 = 0
Valor función objetivo : Z = 0
Paso 3.- No todo Zj - Cj ≥ 0, la solución básica actual no es óptima.
Se continúa con el paso 4.
Paso 4.- Se selecciona la variable no básica x3 que entra a la base, por corresponder
al min(Zj - Cj)
Paso 5.- Se selecciona la variable básica s2 para que salga de la base, por
corresponder al mínimo cociente de los bi entre los respectivos coeficientes ai3 (es
decir los coeficientes tecnológicos de la variable que entra)
min(500/2, 600/4) = 600/4 = b2/a23
El denominador con valor cero no se toma en cuenta (a33 = 0)
El elemento pivote es a23 = 4
Paso 6.- Se ejecutan operaciones matriciales elementales para
convertir el pivote en 1 y los restantes elementos de su
columna en 0. la nueva tabla simplex es la siguiente.

  Cj 6 4 10 0 0 0  
CBi XBi X1 X2 X3 S1 S2 S3 Bi

0 S1 -1 4 0 1 -1/2 0 200
10 X3 3/2 0 1 0 1/4 0 150
0 S3 2 8 0 0 0 1 640
  Zj 15 0 10 0 5/2 0 1500
  Zj-Cj 9 -4 0 0 5/2 0  
Solución básica actual.

Variables básicas : s1 = 200, x3 = 150, s3 = 640


Variables no básicas : x1 = x2 = s2 = 0
Valor función objetivo : 1500
Se regresa al paso 3.
Paso 3.- No todo Zj - Cj ≥ 0. La solución actual no es óptima.
Paso 4.- Variable que entra es x2
Paso 5.- Variable que sale es s1
Elemento pivote es a12 = 4
Paso 6.- Nueva tabla simplex.
Paso 6.- Nueva tabla simplex.

  Cj 6 4 10 0 0 0  
Cbi XBi X1 X2 X3 S1 S2 S3 Bi

4 X2 -1/4 1 0 1/4 -1/8 0 50


10 X3 3/2 0 1 0 1/4 0 150
0 S3 4 0 0 -2 1 1 240
  Zj 14 4 10 1 2 0 1700
  Zj-Cj 8 0 0 1 2 0  
Solución básica actual.
Variables básicas : x2 = 50, x3 = 150, s3 = 240
Variables no básicas : x1 = s1 = s2 = 0
Valor función objetivo : Z = 1700
Se regresa al paso 3
Paso 3.- Todo Zj - Cj ≥ 0, la solución básica es ÓPTIMA FACTIBLE y el procedimiento termina.
  La empresa TAKAMURA S. A. debe producir:
x2 = 50 unidades del producto 2
x3 = 150 unidades del producto 3
Para obtener una ganancia total de Z = $ 1700
  El producto 1 (x1) no es rentable producirlo, por tanto la variable que lo representa
permanece como variable no básica cuyo valor es cero.
  En la operación C hay un excedente de capacidad de 240 minutos (s3), que se interpreta como
tiempo no utilizado.
SOLUCIÓN CON SOFTWARE POMforwin
TABLA DE DATOS
SOLUCIÓN CON SOFTWARE POMforwin
EL MÉTODO SIMPLEX PARA PROBLEMAS DE MINIMIZACIÓN 

TÉCNICA DE VARIABLES ARTIFICIALES


Los problemas de minimización pueden ser resueltos como problemas de maximización usando la
transformación:
 MINIMIZAR Z = MAXIMIZAR (-Z) 
Si el problema tiene solución óptima finita, se verifica que:
 MINIMO Z = - [MAXIMO (-Z)]
  Sin embargo, el método simplex puede ser aplicado directamente para resolver problemas de
minimización, haciendo un cambio solamente en los pasos 3 y 4, permaneciendo los otros pasos sin
ninguna modificación.
 Pasos 3 y 4 para problemas de minimización:
 Paso 3.- Si todo Zj-Cj ≤ 0, entonces la solución básica actual es OPTIMA FACTIBLE y el procedimiento
termina. En caso contrario se continúa con el paso 4
 Paso 4.- Se selecciona la VARIABLE QUE ENTRA A LA BASE de acuerdo a la siguiente CONDICION DE
OPTIMALIDAD: La variable que entra a la base es aquella variable no básica que corresponde al
máximo de Zj-Cj. En caso de empate, éste se rompe arbitrariamente. Sea X k la variable seleccionada.
EJEMPLO

El señor Felix Santa María desea preparar una dieta con dos alimentos A y B, estos alimentos
consisten exclusivamente de dos nutrientes (I, II). El alimento A cuesta $ 3 el kilogramo y contiene 90%
del nutriente I. El alimento B cuesta $ 6 el kilogramo y contiene 60% del nutriente I. ¿Qué cantidad de
cada uno de estos alimentos proporciona al menos 4 kilogramos del nutriente I y 2 kilogramos del
nutriente II a un costo mínimo?.

MODELO MATEMÁTICO.
x1: Kg. de alimento A
x2: Kg. de alimento B
MINIMIZAR Z = 3x1 + 6x2
sujeto a
0.9x1 + 0.6x2 ≥ 4
0.1x1 + 0.4x3 ≥ 2
xj ≥ 0, j =1, 2
PASO 1.- Forma estándar del modelo, incluye matriz base

MINIMIZAR Z = 3x1 + 6x2 + 0s1 + 0s2 + MA1 + MA2


sujeto a
0.9x1 + 0.6x2 - s1 + A1 =4
0.1x1 + 0.4x2 - s2 + A2 = 2
xj ≥ 0, j = 1, 2
si ≥ 0, i = 1, 2
Ai ≥ 0, i = 1, 2
 
Las variables s1 y s2 son variables superfluas.
Las variables A1 y A2 son variables artificiales
Paso 2.- Tabla inicial del método simple

  Cj 3 6 0 0 M M  
CBi XBi X1 X2 S1 S2 A1 A2 bi

M A1 0.9 0.6 -1 0 1 0 4
M A2 0.1 0.4 0 -1 0 1 2
  Zj M M -M -M M M 6M
  Zj-Cj M-3 M-6 -M -M 0 0  
Solución básica inicial
Variables básicas : A1 = 4, A2 = 2
Variables no básicas : x1 = x2 = s1 = s2 = 0
Valor función objetivo : Z = 6M
 
Paso 3.- No todo Zj - Cj ≤ 0, la solución básica actual no es óptima.
Se continúa con el paso 4.
Paso 4.- Se selecciona la variable no básica x1 para que entre a la base, por tener el max(Zj -
Cj).
Paso 5.- Se selecciona la variable básica A1 para que salga de la base, por tener el mínimo
cociente de los bi entre los respectivos coeficientes ai1 (es decir los coeficientes tecnológicos
de la variable que entra)
 
min(4/0.9, 2/0.1) = 4/0.9 = b1/a11
 
El elemento pivote es a11 = 0.9
Paso 6.- Se ejecutan operaciones matriciales elementales para convertir el pivote
en 1 y los restantes elementos de su columna en 0. Se tiene la nueva tabla simplex

  Cj 3 6 0 0 M M  
CBi bi
XBi X1 X2 S1 S2 A1 A2

3 X1 1 2/3 -10/9 0 10/9 0 40/9


M A2 0 1/3 1/9 -1 -1/9 1 14/9

  Zj 3 (M+6)/3 (M-30)/9 -M (-M+30)/9 M (14M+120)/9


  Zj-Cj 0 (M-12)/3 (M-30)/9 -M (-10M+30)/9 0  
Solución básica actual

Variables básicas : x1 = 40/9, A2 = 14/9


Variables no básicas : x2 = s1 = s2 = A1 = 0
Valor función objetivo : (14M + 120)/9
Se regresa al paso 3.
Paso 3.- No todo Zj - Cj ≤ 0. La solución actual no es óptima.
Paso 4.- Variable que entra es x2
Paso 5.- Variable que sale es A2
Elemento pivote es a22 = 1/3
Paso 6.- Nueva tabla simplex.

  Cj 3 6 0 0 M M  
CBi bi
XBi X1 X2 S1 S2 A1 A2

3 X1 1 0 -12/9 2 12/9 -2 4/3


6 X2 0 1 1/3 -3 -1/3 3 14/3

  Zj 3 6 -2 -12 2 12 32
  Zj-Cj 0 0 -2 -12 2-M 12-M  
Solución básica actual

Variables básicas : x1 = 4/3, x2 = 14/3


Variables no básicas : s 1 = s2 = A 1 = A 2 = 0
Valor función objetivo : Z = 32
Se regresa al paso 3
Paso 3.- Todo Zj - Cj ≤ 0, la solución básica es ÓPTIMA FACTIBLE y el
procedimiento termina.
El señor Félix Santa María debe utilizar 4/3 kilogramos del alimento
A (x1) y 14/3 kilogramos del alimento B (x2) para preparar la dieta que
cumpla con los requerimientos mínimos de los nutrientes I y II, el costo
mínimo de esta dieta (Z) es $ 32
SOLUCIÓN CON SOFTWARE POMforwin
VARIANTES EN LA APLICACIÓN DEL MÉTODO SIMPLEX

1.- DEGENERACION.
Se presenta cuando una o más variables básicas tienen valor cero.
Se produce cuando hay un empate entre las variables básicas que salen
de la base (es decir que tienen el mismo cociente). La degeneración
puede ser temporal o permanente. Es temporal cuando la
degeneración se pierde en alguna iteración del método simplex y es
permanente cuando la degeneración llega hasta la solución óptima.
Algunas veces el problema entra en un ciclo vicioso, es decir la variable
que entra a la base vuelve a salir de ella en la siguiente iteración.
SOLUCIÓN ÓPTIMA DEGENERADA (TAHA, HAMDY A. 2012)
2.- SOLUCIONES ÓPTIMAS ALTERNATIVAS

En este caso es cuando existe más de una solución óptima del


problema, esta variante del método simplex, lejos de ser un problema
es una ventaja para el tomador de decisiones, porque le permite tener
varias soluciones óptimas del mismo modelo para manejar con
eficiencia los resultados del problema. Se reconoce cuando el vector de
la función objetivo es linealmente dependiente con el vector de una
restricción activa del modelo que se está analizando.
SOLUCIONES ÓPTIMAS ALTERNATIVAS (TAHA, HAMDY A. 2012)
3.- SOLUCIONES NO ACOTADAS

Es cuando el espacio de soluciones es ilimitado o sea no acotado, el


valor de la función objetivo aumenta indefinidamente, es decir el
problema no tiene solución finita. Se reconoce cuando los coeficientes
en la tabla del método simplex de la variable que entra a la base son
negativos y/o ceros.
SOLUCIÓN NO ACOTADA (TAHA, HAMDY A. 2012)
4.- SOLUCIÓN NO FACTIBLE

Es cuando no existe un espacio de solución que forme un polígono


convexo, es decir las restricciones del problema son inconsistentes, el
conjunto de solución es vacío. Se reconoce cuando en la solución
óptima aparecen una o más variables artificiales con valor positivo, no
teniendo sentido esta solución, porque las variables artificiales en la
solución óptima deben tener valor cero por no tener unidades
dimensionales, solamente se usan como artificio matemático para
formar la matriz identidad del método simplex y poder resolver el
problema.
SOLUCIÓN NO FACTIBLE (TAHA, HAMDY A. 2012)

También podría gustarte