Está en la página 1de 43

GESTIN DE INVESTIGACIN DE

OPERACIONES (GIO) ILN250






PROF. FRANCISCO YURASZECK E.
INGENIERO COMERCIAL UTFSM
MAGSTER EN MARKETING UAI
SOCIO INSTITUTO CHILENO DE INVESTIGACIN OPERATIVA (ICHIO)
E-MAIL: FRANCISCO.YURASZECK@USM.CL





DEPARTAMENTO DE INDUSTRIAS
UNIVERSIDAD TCNICA FEDERICO SANTA MARA
GESTIN DE INVESTIGACIN DE OPERACIONES
Segundo Semestre 2013
Temario


II.1. Introduccin.
II.2. Resolucin grfica de problemas.
II.3. Modelos de Programacin Lineal.
II.4. El Mtodo Simplex.
II.5. Dualidad en Programacin Lineal.
II.6. Anlisis de Sensibilidad o Post-Optimal

En lo que sigue consideremos el siguiente problema
de programacin lineal en su forma estndar.

Min c
1
x
1
+ c
2
x
2
+ ... + c
n
x
n
sa a
11
x
1
+ a
12
x
2
+ ... + a
1n
x
n
= b
1
a
21
x
1
+ a
22
x
2
+ ... + a
2n
x
n
= b
2
... ... ...
a
m1
x
1
+ a
m2
x
2
+ ... + a
mn
x
n
= b
m

x
i
> 0, i = 1, 2, ..., n y m s n

Algoritmos de PL: Mtodo Simplex
Algoritmos de PL: Mtodo Simplex
Matricialmente escrito como:

Min c
T
x

sa Ax = b

x > 0

No existe prdida de la generalidad al suponer
que un problema viene dado en la forma estndar.
En efecto, si tuvisemos el siguiente problema:

P) Max 9u + 2v + 5z

sa 4u + 3v + 6z s 50

u + 2v - 3z > 8
2u 4v + z = 5
u,v > 0
z e IR

Es posible reformular de manera equivalente el
problema anterior usando que:

Algoritmos de PL: Mtodo Simplex
1) Siempre es posible llevar un problema de
maximizacin a uno de minimizacin. Si f(x) es la
funcin objetivo a maximizar y x
*
es la solucin
ptima:
f(x
*
) > f(x) , x factible
- f(x
*
) s - f(x) , x factible

x
*
es tambin mnimo de

- f(x)

Algoritmos de PL: Mtodo Simplex
2) Cada restriccin del tipo s puede ser llevada a
una ecuacin de igualdad usando una (nueva)
variable de holgura no negativa, con un coeficiente
nulo en la funcin objetivo.

3) De igual modo, cada restriccin del tipo > puede
ser llevada a una ecuacin de igualdad usando una
(nueva) variable de exceso no negativa.

4) Siempre es posible escribir una variable libre de
signo como la diferencia de dos variables no
negativas.

Algoritmos de PL: Mtodo Simplex
Considerando la siguiente notacin:

u = x
1

v = x
2

z = x
3
- x
4

s
1
= x
5 (HOLGURA)

s
2
= x
6 (EXCESO)

Algoritmos de PL: Mtodo Simplex
El problema P) puede ser escrito de manera
equivalente como

Min - 9x
1
- 2x
2
- 5x
3
+ 5x
4
+ 0x
5
+ 0x
6

sa: 4x
1
+ 3x
2
+ 6x
3
- 6x
4
+ x
5
=50
x
1
+ 2x
2
- 3x
3
+ 3x
4
- x
6
= 8
2x
1
- 4x
2
+ x
3
- x
4
= 5
x
i
>

0, i=1,2,3,4,5,6.



Algoritmos de PL: Mtodo Simplex
La bsqueda de la solucin ptima se
restringe a encontrar un vrtice ptimo.
Cada vrtice del conjunto de las
restricciones del problema, esto es del
conjunto { x / Ax=b, x >

0 }, corresponde
en trminos algebraicos a una solucin
bsica factible del sistema Ax = b.

Algoritmos de PL: Mtodo Simplex
Esta solucin bsica factible, corresponde
a su vez a aquellas soluciones que resultan
de resolver el sistema para exactamente m
variables, fijando las restantes n-m en
cero, llamadas respectivamente variables
bsicas y no-bsicas, que adems deben
satisfacer condiciones de no-negatividad.

Algoritmos de PL: Mtodo Simplex
Teorema Fundamental de la
Programacin Lineal
Cada problema de PL en su forma estndar
cumple con las siguientes tres propiedades:
Si el problema no tiene solucin ptima
entonces es no-acotado o infactible.
Si tiene una solucin factible, tiene una solucin
bsica factible.
Si el problema tiene solucin ptima, tiene una
solucin bsica factible ptima.
En lo que sigue suponemos que ran (A)=m y que
por lo tanto existe una matriz invertible B de
mxm, que sin prdida de la generalidad
asumimos corresponde a aquella que definen las
m primeras columnas de A
Lo anterior induce una particin de las variables
y parmetros del modelo como lo muestra la
siguiente diapositiva:

Algoritmos de PL: Mtodo Simplex
B D
A =
m
n
m
n-m
B : es llamada una matriz de base
m n
m
D
B
m n
m
D
B
n
c
c
c
x
x
x
x
x

(
(
(
(

=
(
(
(
(

=
(
(
(
(

=
1
x
B
:variables bsicas.
x
D
:variables no bsicas.
c
B
:costos bsicos.
c
D
:costos no bsicos.
Algoritmos de PL: Mtodo Simplex
De este modo, el sistema Ax = b equivale a:





donde esta ltima expresin da el valor de la
solucin bsica asociado a la actual base B, en este
caso asociada a las m primeras variables

D B
D B
D B
x D B b B x
x D b Bx
b x D Bx
1 1
=
=
= +
Algoritmos de PL: Mtodo Simplex
Criterio de optimalidad:



( )
( )
D
T
B
T
D
T
B
D
T
D D
T
B
D
T
D B
T
B
T
x D B c c b B c
x c x D B b B c
x c x c x c
1 1
1
1

+ =
+ =
+ =
valor
actual
funcin
objetivo
vector de
costos
reducidos.
Algoritmos de PL: Mtodo Simplex
La ecuacin que define cada uno de los costos
reducidos es:

donde j es el ndice de variable no-bsica y A
j
la respectiva columna en A de esa variable.
La actual solucin bsica factible es ptima
ssi r
j
> 0 j, En caso contrario, existe una
variable no bsica x
p
con costo reducido
negativo, que entra a la nueva base y que
permite reducir el valor de la funcin objetivo
respecto de la actual solucin.

Algoritmos de PL: Mtodo Simplex
j
1 T
B j j
A B c c r

=
Para decidir quin deja la base, es necesario calcular el mayor
valor que puede tomar la variable entrante que garantiza la
factibilidad de la nueva solucin bsica. Con:





y se debe calcular:

(
(
(
(
(

=
(
(
(
(
(

=

p m
p
p
p
m
y
y
y
A B
y
y
y
b B
2
1
1
0
0 2
0 1
1
base la deja x 0 y /
y
y
Min
y
y
k ip
ip
0 i
kp
0 k

)
`

> =
Algoritmos de PL: Mtodo Simplex
La tabla del Mtodo Simplex mantiene la siguiente estructura:







Donde:
I: Matriz Identidad
0: Costos reducidos asociados a las variables bsicas
B: Matriz de variables bsicas
D: Matriz de variables no bsicas
b: Lado derecho
Cb: Coeficientes en la funcin objetivo asociados a las variables bsicas
Cd: Coeficientes en la funcin objetivo asociados a las variables no bsicas

Algoritmos de PL: Mtodo Simplex
Ejemplo
Resolver el siguiente problema de P.L.

Max 40x + 60y
sa: 2x + y s 70
x + y s 40
x + 3y s 90
x,y > 0

En primer lugar se deben agregar 3 variables de
holgura (introducimos x
1
, x
2
, x
3
-

var.bsicas), y
llevar a forma estndar (usamos x
4
= x y x
5
= y).

Min -40x
4
60x
5
sa: x
1
+ 2x
4
+ x
5
= 70
x
2
+ x
4
+ x
5
= 40
x
3
+ x
4
+ 3x
5
= 90
x
i
> 0, i = 1, 2, 3, 4, 5

Algoritmos de PL: Mtodo Simplex
Tabla Inicial: Mtodo Simplex
x
1
x
2
x
3
x
4
x
5
1 0 0 2 1 70
0 1 0 1 1 40
0 0 1 1 3 90
0 0 0 -40 -60 0
Usamos como variable entrante a la base x
5
(pues
su costo reducido r
5
<0).





Se calcula min { 70/1, 40/1, 90/3 } = 90/3=30,
por lo tanto sale x
3
.

x
1
x
2
x
3
x
4
x
5
1 0 0 2 1 70
0 1 0 1 1 40
0 0 1 1 3 90
0 0 0 -40 -60 0
Algoritmos de PL: Mtodo Simplex
Actualizando, queda la siguiente tabla (no ptima),
donde la variable entrante a la base es x
4
(pues
r
4
<0).




Como
min{40/(5/3),10/(2/3),30/(1/3)}=10/(2/3)=15,
la variable x
2
deja la base actual.

x
1
x
2
x
3
x
4
x
5
1 0 -1/3 5/3 0 40
0 1 -1/3 2/3 0 10
0 0 1/3 1/3 1 30
0 0 20 -20 0 1800
Algoritmos de PL: Mtodo Simplex
Actualizando, queda la siguiente tabla final:




Como todos los costos reducidos son mayores o
iguales que cero nos encontramos en la solucin
ptima.

x
1
x
2
x
3
x
4
x
5
1 -5/2 0 0 15
0 3/2 -1/2 1 0 15
0 -1/2 0 1 25
0 30 10 0 0 2100
Algoritmos de PL: Mtodo Simplex




z* = - 40*15 60*25 = - 2100

En la formulacin inicial, tenemos como solucin
ptima x
*
=15, y
*
=25, con valor ptimo 2100.
(

=
(

=
(
(
(

=
(
(
(

=
0
0
x
x
x
25
15
15
x
x
x
x
3
2
D
5
4
1
B
Algoritmos de PL: Mtodo Simplex
Resumen del Mtodo Simplex
Paso 0: Escribir el problema de programacin
lineal en su forma estndar.

Paso 1: Escoger una solucin bsica factible
inicial.

Paso 2: Escoger una variable no-bsica con costo
reducido negativo que determina la variable
entrante y seguir al Paso 3. Si todos los costos
reducidos son mayores o iguales que cero, parar
ya que la actual solucin bsica factible es
ptima.
Paso 3: Calcular el criterio de factibilidad que
determina que variable deja la base. Si todos
los cuocientes son negativos el problema es no-
acotado, parar.

Paso 4: Actualizar la tabla de modo de
despejar el valor de las nuevas variables
bsicas, los costos reducidos y el valor de la
funcin objetivo. Volver al Paso 2.

Resumen del Mtodo Simplex
No siempre es inmediata la obtencin de una solucin
bsica factible inicial, en las variables originales del
modelo. Para conseguir esto existen varios
procedimientos como son:

Mtodo Simplex de dos fases.
Mtodo de la M grande.

Mtodo Simplex de dos Fases
Mtodo Simplex de dos Fases
Fase 1: Se considera un problema auxiliar que
resulta de agregar tantas variables auxiliares a
las restricciones del problema, de modo de
obtener una solucin bsica factible. Resolver
por Simplex un nuevo problema que considera
como funcin objetivo la suma de las variables
auxiliares. Si el valor ptimo es cero ir a la Fase
2. En caso contrario, no existe solucin factible.
Mtodo Simplex de dos Fases
Fase 2: Resolver por Simplex el problema
original a partir de la solucin bsica factible
inicial hallada en la Fase1.

Ejemplo: Max 2x
1
+ x
2
sa: 10x
1
+ 10x
2
s 9
10x
1
+ 5x
2
> 1
x
1
,x
2
> 0

Se debe agregar una variable de holgura (x
3
) y
una variable de exceso (x
4
), y llevarlo a su
forma estndar.

Min -2x
1
- x
2
sa: 10x
1
+ 10x
2
+x
3
=

9
10x
1
+ 5x
2
- x
4
= 1
x
1
,x
2
, x
3
, x
4
> 0

Mtodo Simplex de dos Fases
Aplicamos Simplex de dos Fases :

Fase 1: Min x
5
sa: 10x
1
+ 10x
2
+x
3
=

9
10x
1
+ 5x
2
- x
4
+ x
5
= 1
x
1
,x
2
, x
3
, x
4
, x
5
> 0

Mtodo Simplex de dos Fases
Queda la siguiente tabla inicial:

x
1
x
2
x
3
x
4
x
5
10 10 1 0 0 9
10 5 0 -1 1 1
0 0 0 0 1 0
(
(
(

=
(
(
(

=
(

=
(

=
0
0
0
x
x
x
x
1
9
x
x
x
4
2
1
D
5
3
B
donde:
Mtodo Simplex de dos Fases
Luego se hace cero el costo reducido de la
variable x
5
en la tabla anterior, y queda la
siguiente tabla para iniciar el uso de Simplex.

x
1
x
2
x
3
x
4
x
5
10 10 1 0 0 9
10 5 0 -1 1 1
-10 -5 0 1 0 -1
Mtodo Simplex de dos Fases
Usamos como variable entrante a x
1
( pues r
1
<
0).






Calculamos min { 9/10, 1/10}= 1/10, por lo
tanto sale x
5
.


x
1
x
2
x
3
x
4
x
5
10 10 1 0 0 9
10 5 0 -1 1 1
-10 -5 0 1 0 -1
Mtodo Simplex de dos Fases
Obtenindose la siguiente tabla final:

x
1
x
2
x
3
x
4
x
5
0 5 1 1 -1 8
1 0 -1/10 1/10 1/10
0 0 0 0 1 0
(
(
(

=
(
(
(

=
(

=
(

=
0
0
0
x
x
x
x
8
10 / 1
x
x
x
5
4
2
D
3
1
B
Mtodo Simplex de dos Fases
Una vez obtenida la solucin ptima del
problema en la Fase 1, con valor ptimo 0,
tomamos x
1
y x
3
como variables bsicas
iniciales para la Fase 2.
Fase 2:
x
1
x
2
x
3
x
4
0 5 1 1 8
1 0 -1/10 1/10
-2 -1 0 0 0
Mtodo Simplex de dos Fases
En la tabla hacemos 0 los costos reducidos de
variables bsicas




Luego la variable entrante a la base es x
4
(pues
r
4
<0), calculando min { 8/1, } = 8, se tiene que
deja la base x
3
.

x
1
x
2
x
3
x
4
0 5 1 1 8
1 0 -1/10 1/10
0 0 0 -1/5 1/5
Mtodo Simplex de dos Fases
Actualizando la tabla queda:



de donde la solucin ptima del problema
resulta ser:

x
1
x
2
x
3
x
4
0 5 1 1 8
1 1
1/10
0 9/10
0 1 1/5 0 9/5
(

=
(

=
(

=
(

=
0
0
x
x
x
8
10 / 9
x
x
x
3
2
D
4
1
B
Mtodo Simplex de dos Fases
Casos Especiales
1) Problema Infactible. Esta situacin se
detecta cuando el valor ptimo del problema de
la Fase 1 es distinto a cero.

Ejemplo: Max 3x
1
+ 2x
2
s.a: 2x
1
+ x
2
s 2
3x
1
+ 4x
2
>

12
x
1
,x
2
> 0

Casos Especiales
2) Mltiples Soluciones ptimas. Esta situacin
se detecta cuando existen costos reducidos
iguales a cero en una o ms de las variables no
bsicas ptimas.

Ejemplo: Max 2x
1
+ 4x
2
s.a: x
1
+ 2x
2
s 5
x
1
+ x
2
s 4
x
1
,x
2
> 0

3) Problema No Acotado. Esta situacin se detecta
cuando al realizar el clculo de la variable que
deja la base, todos los elementos y
kj
de la columna j
en la tabla, son negativos para j el ndice de una
variable no bsica con costo reducido negativo.

Ejemplo: Max 2x
1
+ x
2
s.a: x
1
- x
2
s 10
2x
1
s 40
x
1
,x
2
> 0

Casos Especiales