Está en la página 1de 11

UNIVERSIDAD MARIANO GALVEZ

SEDE ZACAPA

Investigacin de Operaciones
Ing. Alejandro Chinchilla

EJERCICIOS METODO SIMPLEX PRIMAL

Pedro Jos Alonzo Loyo


Carn: 1190-10-3810
Noveno Ciclo

METODO SIMPLEX PRIMAL


F.O.:
S.A.:

Max Z = 100X1 + 200X2


4X1 +
2X2 < 16 (Ecuacin 1)
8X1 +
8X2 < 16 (Ecuacin 2)
2X2 < 10 (Ecuacin 3)
X 1 , X2 > 0

Primer paso: Convertir las inecuaciones en ecuaciones (agregar las variables de


holgura necesarias)
F.O.:
S.A.:

Max Z = 100X1 + 200X2 + 0S1 + 0S2 + 0S3 = 0


4X1 + 2X2 + S1
= 16 (Ecuacin 1)
8X1 + 8X2
+ S2
= 16 (Ecuacin 2)
2X2
+ S3 = 10 (Ecuacin 3)
X 1, X2, 0S1, 0S2, 0S3 > 0

Segundo paso: Determinar las variables bsicas y las no bsicas.


BASICAS
S1
S2
S3

NO BSICAS
X1
X2

Tercer paso: Elaborar la tabla inicial del Simplex.


Variable
Bsica
S1
S2
S3
Z

X1
8
4
0
-100

X2
8
2
1
-200

Variables
S1
1
0
0
0

S2
0
1
0
0

S3
0
0
1
0

Solucin
16
16
10
0

Cuarto paso: Eleccin de la columna pivote (variable que entra).


El coeficiente de Z ms negativo = Columna X2
Quinto paso: Eleccin de la fila pivote (variable que sale).
Razn = Solucin / Coeficiente columna pivote
Razn Menor = Fila perteneciente a S1

Variable
Bsica
S1

X1
8

X2
8

Variables
S1
1

S2
0

S3
0

Solucin

Razn

16

4
0
-100

S2
S3
Z

0
0
0

2
1
-200

1
0
0

0
1
0

16
10
0

8
10

Sexto paso: Elaborar la nueva tabla del simplex.


a. Nueva fila pivote = Fila Pivote / Elemento Pivote
8

16

1/8

a. Nueva filas = Fila Anterior Coeficiente de la Columna Pivote x Fila Pivot


e
Fila de S2

16

1/8

-1/4

12

0
1
1
0

0
1
1/8
-1/8

1
1
0
0

10
1
0
1

2
8

Fila de S3

1 1
2 1
1
-1
Fila de Z

-100 -200 0
-20

-200 -200 -200 -200 -200

1/8

100

25

200

400

Nueva tabla del simplex:

Variable

Variables

Solucin

Razn

Bsica
X2
S2
S3
Z

X1
1
2
-1
100

X2
1
0
0
0

S1
1/8
-1/4
-1/8
25

S2
0
1
0
0

S3
0
0
1
200

2
12
8
400

NOTA: No hay ms iteraciones debido a que no existen coeficientes de Z


negativos en la nueva tabla.
R/ El valor mximo se alcanza para un X2 = 2, con un Z = 400.

Simplex Primal:
El mtodo Simplex se basa en una premisa supremamente lgica: la
solucin tiene que encontrarse en un punto extremo del rea de
soluciones factibles. Claro! Recuerda el mtodo grfico? Cada

restriccin que matemticamente la representabamos como una


inecuacin de desiguadad (<=, >=) se representaba graficamante
como un rea. Cada rea estaba delimitada por los ejes y claro, por una
recta extrema que resultaba de tomar la desigualdad como una
igualdad. En la grfica arriba se puede ver una recta extrema por
ejemplo la formada por el extremo CD, y el rea de soluciones factibles
en ABCD. La solucin, ha de estar en alguno de los puntos extremos de
ABCD, y nunca DENTRO, pues si estuviera adentro, ya fuera moviendose
a la derecha, a izquierda, arriba o abajo, se tendra alguna mejora
factible...
... Y si la solucin se encuentra en un punto extremo, el problema se
reduce a encontrar dichas soluciones extremas y encontrar la forma de
iterar de una solucin extrema a una mejor, hasta encontrar la ptima...
y es eso lo que hace el mtodo Simplex Primal.
De una manera similar a que en el mtodo grfico la igualdad asociada a
cada inecuacin representa un extremo del rea de soluciones factibles,
el mtodo simplex requiere trabajar no con inecuaciones o
desigualdades si no con igualdades... para que? para ignorar, si se
puede decir as, todas aquellas soluciones en el volumen interno e irse
desplazando por los puntos realmente extremos. Cuando convertimos
estas inecuaciones en ecuaciones para preparlas para el mtodo,
decimos que lo convertimos enEl Modelo Estndar; en este modelo,
por ejemplo, en vez de expresar una restriccin de la siguiente manera:
Material Usado en el Producto A + Material Usado en el Producto
B <= Material Disponible decimos:
Material Usado en A + Material Usado en B + Material no usado
= Material Disponible.
Vemos como para llevar del formato inicial al Modelo Estndar es
necesario
usar
variables
adicionales.
Estas
variables
son
llamadas Variables de Holgura, y son las que contendran los valores
que no sean usados por las restricciones. El mtodo requiere otro tipo de
variables, usadas cuando hay restricciones de tipo >= e =, y son
llamadas Variables Artificiales. Estas variable no tienen ningun
significado fsico, si no que son un artificio matemtico requerido por el
mtodo para estos dos tipos de restricciones.
Cuando tengamos restricciones de tipo >= o =, y por lo tanto
aparezcan variables artificiales, ser necesario usar una variante del
Simplex llamado: Mtodo de la Gran M. En este tipo de situacin

tambin se puede usar el Mtodo de las DOS


modernamente el Mtodo Empujar y Halar.

FASES y ms

Cuando ya tenemos el programa lineal en formato de modelo estndar


es posible usar el algebra de matrices para encontrar los puntos
extremos que hablabamos anteriormente. Tal vez recuerde de sus clases
de algebra lineal que para que un sistema de ecuaciones tenga solucin
nica es necesario que el nmero de variables y el nmero de
ecuaciones fuera igual; pero en nuestro caso, al llevar al formato de
modelo estndar aadimos variables tanto de holgura como artificiales
haciendo que el nmero de variables sea mayor que el nmero de
restricciones, por lo que tendremos que para hallar una solucin (un
punto extremo) hacer cierto nmero de estas variables iguales a cero.
Para este efecto definimos dos grupos en cada iteracin (mencion que
el mtodo simplex es de caracter iterativo?) uno llamado Variables
Bsicas y otro llamado No bsicas. Las variables no bsicas son las
que le damos valor de cero y las variables bsicas son las que usaremos
con valor dentro de las iteraciones.
En cada iteracin se define la base y usando el mtodo de Gauss-Jordan
se encuentra el valor del punto extremo. Para mejorar la solucin
encontrada es necesario desplazarse a otro punto modificando la base:
Sacando una variable de ella y metiendo otra. Por lgica vamos a
escoger para la variable que entra aquella que mejore en mayor
proporcin a la funcin objetivo y para salir escogermos aquella variable
que ms restrinja el modelo. A la interseccin entre la columna de la
variable que entra y la de la fila de la variable que sale, lo llamamos
pivote. Debemos convertir por operaciones entre filas y columnas a este
pivote en 1 y basandonos en este pivote se aplica gauss-jordan para
convertir en cero los dems miembros de la columna. En cada iteracin
se hace una verificacin de optimalidad, se pregunta si hemos llegado al
ptimo: Si ya ninguna variable que entre va a majorar ms el resultado,
si es as hemos terminado, de lo contrario, hacemos una nueva iteracin.
En esta verificacin tambin se examina la factibilidad del problema, tal
vez se encuentre con que el problema no est acotado, o que tenga
infinito nmero de soluciones.
Ejemplo:
Resolver:
Max Z = 18.5X1 + 20 X2
Sujeto a:

0.05X1 + 0.05X2 <= 1100


0.05X1 + 0.1X2 <= 1800
0.1 X1 + 0.05 X2 <= 2000
C.N.N.(Condicin de No Negatividad)
1. Convertir al Modelo Estndar:
Cada restriccin debe ser convertida de inecuacin a una igualdad,
agregando variables como se requiera. Con las restricciones de tipo <=,
es supremamente fcil. Simplemente se agrega una en cada restriccin
con coeficiente 1 en la misma restriccin y con coeficiente cero en la
funcin objetivo. Por ejemplo:
0.05X1 + 0.05 X2 <= 1100 queda:
0.05X1 + 0.05 X2 + S1 = 1100
La primera restriccin se puede leer como que 0.05 por las unidades de
X1 ms 0.05 por las unidades de X2, no puede exceder a 1100, pero lo
mismo da decir que 0.05 por las unidades de X1 ms 0.05 por las
unidades de X2, ms lo que sobre guardado en S1 sea totalmente igual
a 1100. De esta forma se agregan tres variables, una por cada
restriccin y queda como se ve abajo. Para el caso de restricciones del
tipo mayor o igual, se ver en el ejemplo de minimizacin.
Max Z = 18.5X1 + 20 X2 + 0S1 + 0S2 + 0S3
Sujeto a:
0.05X1 + 0.05X2 + S1
0.05X1 + 0.1X2
0.1 X1 + 0.05 X2

= 1100
+ S2

= 1800
+ S3

= 2000

C.N.N.(Condicin de No Negatividad)
2. Escribir en formato de Tabla Simplex.
Si lo escribimos como una matriz, indicando los nombres de las variables
en negro queda asi:

Max
Z
R1
R2
R3

X1

X2

S1 S2

S3

18.5
0.05
0.05
0.1

20
0.05
0.1
0.05

0
1
0
0

0
0
0
1

0
0
1
0

RHS
1,100
1,800
2,000

Dnde X1, X2 son las variables de decisin, S1, S2 y S3 son las variables
de Holgura (Se suelen llamar con S, por que en ingls se escribe
Surplus).
R1,
R2,
R3
son
las
restricciones
y
RHS
son
las disponibilidades de las restricciones, se llama as por que
significa Right Hand Side, como lo encontraran en los textos gringos,
"el lado derecho".
Para facilitar el procesoiterativo se construyen tablas. Hay muchos
formatos de tablas Simplex, que significan exactamente lo mismo. Lo
importante es entender que significa cada cosa, y lo dems ya vendr
por aadidura. En la primera fila (fondo negro), colocamos los
coeficientes de la funcin objetivo (18.5,20,0,0,0) y los ttulos de las
dems columnas.
Recuerda que le dije anteriormente, que haba que definir un nmero de
variables que ivan a tomar el valor de cero? Las No Bsicas, para poder
resolver el sistema de ecuaciones de manera nica. Entonces como
tenemos 3 restricciones y 5 variables hay que dejar 2 como No Bsicas o
sea iguales a cero. Siempre se escoge las de holgura (S1, S2, S3) para
estar en la base en el inicio y dejamos las variables de decisin como no
bsicas. Fijemonos en la tabla siguiente que no las colocamos en la
columna de la base.
En la primera columna vamos a colocar los coeficientes de las variables
de la base. (Los coeficientes que tienen en la funcin objetivo). En la
segunda columna como ya dijimos anteriormente, los nombres de las
variables que tenemos actualmente en la base. De la tercera columna
en adelante copiamos los coeficientes de las restricciones, luego en la
columna RHS, colocamos cuanto tenemos de disponibilidad de las
restricciones, lo que los gringos llaman "lado derecho" o RHS. La ltima
columna vamos llamarla theta, ms adelante la explico.
3. Definir la variable que entra.
Observemos un momento la tabla abajo; definamos dos filas adicionales.
La fila Z y la fila Cj-Zj. En la fila Z vamos a colocar la suma del producto
de los coeficientes de las variables que hay actualmente en la base por
los coeficientes actuales en el rea de las restricciones. Hagamos el

ejemplo para el primero: 0x0.05 + 0x0.05+ 0x0.1 = 0 y lo colocamos


en
seguida
de
la
z.
Para
la
columna
siguiente
ser:
0x0.05+0x0.1+0x0.05 = 0. y as para las dems columnas hasta llegar a
la columna RHS. Fijemonos, que he puesto una celda en esta fila de
color azul ms oscuro. En esta celda nos dir el valor de la funcin
objetivo, a medida que vamos iterando. Ah debe quedar el mejor valor
de Z cuando hayamos terminado.
En la fila Cj - Zj vamos a hacer la siguiente resta: De la fila de
coeficientes de la funcin objetivo (la que est de fondo negro),
restemos la fila que acabamos de calcular. para la primera: 18.5 - 0 =
18.5, para la segunda 20-0 = 0 y as. Esta fila es importante por que nos
dice lo siguiente: qu tanto contribuye una variable si se mete en la
funcin objetivo. X1 contribuira con 18.5 y X2 contribuira con 20, etc.
Cmo queremos hallar el mximo valor, lo que nos interesa es incluir la
variable que ms contribuya, o sea la que mayor valor tenga en esta
fila.En este caso, por supuesto, gana X2 con 20. X2 no est en la base,
entonces la marcamos para entrar, fijse que abajo le pusimos: "entra".
4. Definir la variable que sale.
Co
ef Base 18.5 20

S1

0.05 0.05

S2

0.05 0.1

S3 0.1 0.05 0
Z
0
0
0
Cj- Zj 18.5 20
0
Entra

0
0
0

1
0
0

RHS

Theta
22,00
1,100 0
18,00 Sal
1,800 0
e
40,00
2,000 0
0

La variable que sale de la base es la que ms restringe el crecimiento de


la funcin objetivo y para ello sacamos un "ratio", es decir una divisin
entre el RHS (la disponibilidad) y la columna de la variable que entra,
esta queda en la columna que llamamos Theta. Para la primera fila
queda: 1100/0.05 = 22,000. Luego de esta columna escogemos el
menor valor que sea diferente de cero o de algn valor negativo.
5. Iteracin: Gauss-Jordan.

Recuerda de sus estudios de algebra lineal el tema de la eliminacin


gaussiana? No? Pues debera pegarle una revisada al tema y volver aqu.
Si no, ser dificil que entienda la siguiente parte.
Una vez definida la variable que entra y la variable que sale, la
interseccin nos define la celda pivote. La celda pivote es la que se
tomar como base para hacer toda la iteracin de gauss-jordan. En la
tabla el pivote lo he colocado en fondo verde. Debemos, con base en
operaciones entre filas, convertir la celda pivote en 1, y con base en ella
convertir a las dems celdas en la misma columna en ceros. Entonces:
a. Convertir el pivote en 1: Para ello dividamos toda la fila en el valor
del pivote.
0.05/0.1= 0.5
0.1/0.1=1
0/0.1=0
1/0.1=10
... los resultados los copiamos reemplazando la fila que contenia el
pivote.
b. Convertir las demas celdas de la columna pivote en ceros.
0.5*(0.05*-1)+0.05 =0.025
1*(0.05*-1)+0.05 = 0
0*(0.05*-1) + 1= 1 ... y lo mismo para la tercera fila
Reemplazamos S2 por X2 con su respectivo coeficiente y
repetimos el paso 3 y 4.
Co
ef Base 18.5 20
0.02
0 S1 5
0
20 X2
0

S3
Z

0.5 1
0.07
5
0
10
20

-0.5 0

10

0
0

-0.5 1
200 0

RHS

Theta

Sal
200 8,000 e
18,00 36,00
0
0
14,66
1,100 7
360,0

00
CjZj

8.5 0
Entra

-200 0

Repetir hasta que no se llegue al ptimo. Cmo lo sabemos?


Cuando al evaluar si hay una variable que entrando mejore el resultado,
es decir que la fila Cj - Zj tenga algun valor positivo, an ser posible
mejorar la solucin, si no hay ningn valor mayor que cero, significa que
hemos llegado al ptimo, como se muestra en la siguiente y ltima
tabla.
Co
ef Base 18.5 20
19 X1 1
0

0 0
40 -20

0
0

20 X2
0 S3

-20 20
-3 1

0
1

340 30
340 -30

Z
CjZj

0
0

1
0

18.5 20
0

RHS Theta
8,000
14,00
0
500
428,0
00

También podría gustarte