You are on page 1of 31

Tema4:Programacinlinealconvariablescontinuas:mtododelSimplex g p

Objetivos del tema: Objetivos del tema:


Resolver de forma grfica un problema de programacin lineal continuo
Estudiar las formas equivalentes de representacin de los problemas de programacin lineal
Aprender los conceptos bsicos de lgebra lineal necesarios para resolver programas lineales continuos
Resolver un problema de programacin lineal continua por enumeracin exhaustiva de soluciones bsicas.
Resolver un problema de programacin lineal continua utilizando la versin algebraica del mtodo del simplex Resolver un problema de programacin lineal continua utilizando la versin algebraica del mtodo del simplex
Resolver un problema de programacin lineal continua utilizando la versin tabular del mtodo del simplex
1
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL
Resolucindeproblemasdeprogramacinlineal
En este tema abordamos la forma de resolver problemas de programacin lineal continua. El objetivo fundamental es entender la
naturaleza del problema y el perfil computacional a que dan lugar estos mtodos. Desde un punto de vista prctico los
procedimientos manuales de resolucin no tienen mucho inters porque hoy da existen abundantes herramientas informticas que
implementan de manera muy eficiente estos procedimientos y, como estudiamos en el tema anterior, permiten utilizarlos desde
l j d d l d potentes lenguajes de modelado.
Aunque el tema se centra fundamentalmente en el algoritmo del Simplex, propuesto por Dantzig en 1947, comenzaremos
introduciendo el mtodo de resolucin grfico, que resulta muy intuitivo para entender la correspondencia entre la versin
puramente algebraica de estos problemas y su representacin geomtrica.
A continuacin estudiaremos una serie de transformaciones que nos van a permitir llevar los problemas de programacin lineal a
una forma estndar, que es el punto de partida del algoritmo del Simplex.
Despus estudiaremos el concepto de solucin bsica factible, que juega un papel fundamental en la resolucin de los problemas de
programacin lineal ya que una solucin ptima ser siempre una solucin bsica factible y adems porque el nmero de soluciones programacin lineal, ya que una solucin ptima ser siempre una solucin bsica factible y adems porque el nmero de soluciones
bsicas factibles de un problema lineal continuo es finito, lo que acota considerablemente el procedimiento de bsqueda de la
solucin.
Antes de abordar de manera precisa el mtodo del Simplex utilizaremos un ejemplo para introducir de manera ms intuitiva los
conceptos fundamentales que operan en este algoritmo conceptos fundamentales que operan en este algoritmo.
A continuacin estudiaremos los fundamentos tericos del mtodo y los criterios de operacin que resumiremos en una versin
algebraica del algoritmo del Simplex. Despus lo aplicaremos a un ejemplo.
Despus veremos la versin tabular de este algoritmo que simplifica su utilizacin manual y la aplicaremos al mismo ejemplo. Despus veremos la versin tabular de este algoritmo que simplifica su utilizacin manual y la aplicaremos al mismo ejemplo.
Finalmente introduciremos los mtodos que se utilizan para obtener una solucin bsica factible inicial para el mtodo del Simplex
cuando hay que introducir variables artificiales en el problema original para llevarlo a su forma estndar.
2
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL
Resolucingrfica
La resolucin grfica de los problemas de programacin lineal no es muy prctica porque slo se puede aplicar cuando el nmero de variables La resolucin grfica de los problemas de programacin lineal no es muy prctica porque slo se puede aplicar cuando el nmero de variables
es de 2 o 3. Sin embargo es bastante til para interpretar visualmente los conceptos y procedimientos utilizados posteriormente. Para
resolver grficamente un problema de programacin lineal seguimos los siguientes pasos:
1) Dibujamoslareginfactibleutilizandolasecuacionesdelasrectasqueresultandeconvertirlasrestriccionesenigualdades.
2) Determinamoslospuntosextremosdelareginfactible:puntosdeinterseccinentrelasrectasyquepertenecenalareginfactible.
) l l f i bj i l d i l d l i
z 3 2
: 2 18
Maximizar x y
sujetoa x y
= +
+ s
3) Evaluamoslafuncinobjetivoenlospuntosextremosydeterminamoseldevalorptimo
Vamosaresolvergrficamenteelsiguienteproblema:
y
2 18 +
dvar f l oat + x;
Este mismo problema lo utilizaremos
posteriormente para ilustrar los restantes
mtodos de resolucin
2 3 42
3 24
0, 0
x y
x y
x y
+ s
+ s
> >
3 24 x y + =
2 18 x y + =
dvar f l oat + y;
maxi mi ze 3*x+2*y;
subj ect t o
{
2*x + y <= 18;
2*x + 3*y <= 42;
OPL
(0,14);z=28
3 24 x y +
y ;
3*x + y <= 24;
}
//solution(optimal)withobjective33
x=3;
(3,12);z=33
3 2 33 x y + =
La interseccin de la recta de isocoste (en
verde) con la regin factible determina las
soluciones factibles de igual coste. Moviendo
esta recta de forma paralela en el sentido
y=12;
(6,6);z=30
x
2 3 42 x y + =
esta recta de forma paralela en el sentido
creciente de z, se puede determinar tambin la
solucin al problema: ltima interseccin de la
recta con los puntos extremos.
3
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL
(0,0);z=0
(8,0);z=24
x
Formas equivalentes de un problema de programacin lineal
En el tema 1 vimos que la forma general de un problema de programacin lineal continuo era la siguiente: En el tema 1 vimos que la forma general de un problema de programacin lineal continuo era la siguiente:
1 1 2 2
11 1 12 2 1 1
...
:
...
n n
n n
Maximizar Minimizar z c x c x c x
sujeta a
a x a x a x b
= + + +
+ + + s > =
21 1 22 2 2 2
1
...
...

n n
m
a x a x a x b
a x
+ + + s > =
1 2 2 1
1 2
...
0, 0,..., 0
m mn n
a x a x b
x x x
+ + + s > =
> > >
Vamos a analizar una serie de transformaciones que convierten el problema en otro equivalente, entendiendo como equivalente otro
problema que tiene las mismas valores para las variables de decisin y funcin objetivo.
Maximizacin y minimizacin
1 2
0, 0,..., 0
n
x x x > > >
y
Es evidente que siempre se cumple la siguiente relacin:
Luego un problema de maximizacin siempre podemos convertirlo en uno de minimizacin equivalente y viceversa. Por tanto no se
pierde generalidad si suponemos que siempre el problema es de maximizacin. Para trabajar con uno de minimizacin basta cambiar los
1 1 2 2 1 1 2 2
... ...
n n n n
Mximo c x c x c x Mnimo c x c x c x + + + =
signos de los coeficientes de la funcin de coste y resolver el problema de maximizacin resultante. El mnimo buscado ser el opuesto
del mximo obtenido.
Variables no restringidas
Como en la mayora de los problemas las variables de decisin x
j
representan cantidades fsicas, su no negatividad aparece de forma
j
natural. Sin embargo hay ocasiones en las que es necesario tratar con variables de decisin que puedan tomar valores positivos y
negativos, por ejemplo, en problemas de flujo para especificar el sentido del mismo. Estas variables se denominan no restringidas. Si x
j
es
una variable no restringida siempre podemos sustituirla por la diferencia de dos variables no negativas, resultando un problema
equivalente pero con ms variables:
0 0 x x x con x x ' '' ' '' = > >
4
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL
0, 0
j j j j j
x x x con x x = > >
Cambio de igualdad a desigualdad
Una restriccin de igualdad de la forma: Una restriccin de igualdad de la forma:
podemos sustituirla por dos restricciones de desigualdad de la forma:
...
i1 1 i2 2 in n i
a x a x a x b + + + =
y la segunda podemos sustituirla por otra del mismo sentido que la primera cambiando de signo ambos miembros:
...
...
i1 1 i2 2 in n i
i1 1 i2 2 in n i
a x a x a x b
a x a x a x b
+ + + s
+ + + >
Cambio de desigualdad a igualdad: variables de holgura
...
...
i1 1 i2 2 in n i
i1 1 i2 2 in n i
a x a x a x b
a x a x a x b
+ + + s
s
g g g
Una restriccin de desigualdad de la forma:
podemos sustituirla por otra restriccin de igualdad introduciendo una nueva variable no negativa denominada de holgura:
...
i1 1 i2 2 in n i
a x a x a x b + + + s
podemos sustituirla por otra restriccin de igualdad introduciendo una nueva variable no negativa denominada de holgura:
Anlogamente, una restriccin de desigualdad de la forma:
... 0
i1 1 i2 2 in n n 1 i n 1
a x a x a x x b con x
+ +
+ + + + = >
Anlogamente, una restriccin de desigualdad de la forma:
podemos sustituirla por otra restriccin de igualdad introduciendo una nueva variable de holgura:
...
0
i1 1 i2 2 in n i
a x a x a x b
b
+ + + >
+ + + >
5
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL
... 0
i1 1 i2 2 in n n 1 i n 1
a x a x a x x b con x
+ +
+ + + = >
Forma cannica de un problema de programacin lineal
Teniendo en cuenta las transformaciones anteriores, un problema lineal siempre podemos transformarlo en uno equivalente de
maximizacin con todas las restricciones de tipo denominado forma cannica: s maximizacin con todas las restricciones de tipo denominado forma cannica:
1 1 2 2
11 1 12 2 1 1
...
:
...
n n
n n
Maximizar z c x c x c x
sujeta a
a x a x a x b
= + + +
+ + + s
s
21 1 22 2 2 2
1 1 2 2 1
...
...
...
n n
m m mn n
a x a x a x b
a x a x a x b
+ + + s
+ + + s
1 2
0, 0,..., 0
n
x x x > > >
Forma estndar de un problema de programacin lineal
De la misma manera un problema de programacin lineal siempre podemos transformarlo en su equivalente en forma estndar en el que
slo existen restricciones de igualdad:
1 1 2 2
... Maximizar z c x c x c x = + + +
1 1 2 2
11 1 12 2 1 1
21 1 22 2 2 2
...
:
...
...
n n
n n
n n
Maximizar z c x c x c x
sujeta a
a x a x a x b
a x a x a x b
+ + +
+ + + =
+ + + =
En forma matricial la forma estndar de un problema de programacin lineal adoptara la forma general:
1 1 2 2
...
...
m m mn n m
a x a x a x b + + + =
1 2
0, 0,..., 0
n
x x x > > >
T
Maximizar z = c x a a x b c ( ( ( (
1j
a (
(
Es evidente que aunque hayamos utilizado la misma notacin para la matriz A y los vectores b, c y x en las dos formas cannica y



Maximizar z
sujeto a
=
=
>
c x
Ax b
x 0
11 1 1 1 1
1
...
... ... ... ; ... ; ... ; ... ;
...
n
m mn n m n
a a x b c
a a x b c
( ( ( (
( ( ( (
= = = =
( ( ( (
( ( ( (

A x b c
1
1
... ; ... ...
j
j j n
mj
a
(
( = =
(
(

a A a a a
6
q q y p y , y y
estndar, cuando un mismo problema se lleva a ambas formas se obtienen en general matrices y vectores diferentes.
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL
Ejemplo de paso a la forma estndar
Vamos a transformar el siguiente problema de programacin lineal en otro equivalente que est en la forma normal.
z 3 2
: 2 18
Maximizar x y
sujetoa x y
= +
+ s
2 3 42
3 24
0, 0
j y
x y
x y
x y
+ s
+ s
> >
Para ello introducimos las tres variables de holgura que convierten las desigualdades en igualdades:
z 3 2
: 2 18
Maximizar x y
sujetoa x y h
= +
+ + =
, , 0 h s d >
En forma matricial sera:
2 3 42
3 24
, , , , 0
x y s
x y d
x y h s d
+ + =
+ + =
>
x x
y 2 1 1 0 0 y 18
( (
( (
( (
( (
( (
| |
Maximizar 3 2 0 0 0 h sujeto a : 2 3 0 1 0 h = 42
s 3 1 0 0 1 s 24
d d
( (
( (
( (
( (
( (
( (

( (
( (

7
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL
Conceptos bsicos de programacin lineal
Dado el siguiente problema de programacin lineal continua en la forma estndar: Dado el siguiente problema de programacin lineal continua en la forma estndar:



T
Maximizar z
sujeto a
=
=
>
c x
Ax b
x 0
11 1 1 1 1
1
...
... ... ... ; ... ; ... ; ... ;
...
n
m mn n m n
a a x b c
a a x b c
( ( ( (
( ( ( (
= = = =
( ( ( (
( ( ( (

A x b c
1
1
... ; ... ...
j
j j n
mj
a
a
(
(
( = =
(
(

a A a a a
definimos los siguientes trminos:
Solucin factible: valores de x que satisfacen todas las restricciones, incluidas las de no negatividad
S l i f tibl ti l l i f tibl i l ti l f i bj ti

Solucin factible ptima: la solucin factible que proporciona el ptimo para la funcin objetivo
Base o matriz bsica: una matriz cuadrada B de dimensin y rango m extrada de las columnas de A
Matriz no bsica: matriz residual N formada por las columnas de A que no estn en B
Variables bsicas: las m variables x de x asociadas a las columnas de B Variables bsicas: las m variables x
B
de x asociadas a las columnas de B
Variables no bsicas: las nm restantes variables x
N
de x
Solucin bsica
Si expresamos la matriz A y el vector x descompuestos en variables bsicas y no bsicas tenemos:
1
si hacemos 0, se convierte en cuya solucin es que es la solucin bsica de asociada a
N B B

= = = = = x Ax b Bx b x B b Ax b B
| | | | ; se puede escribir como: :
B B
B N
N N
o bien
( (
= = = = + =
( (

x x
A B N x Ax b B N b Bx Nx b
x x
Una solucin bsica ser , pues, una solucin del problema lineal en la que nm variables de decisin toman valor cero.
Solucin bsica factible: una solucin bsica que adems es factible, es decir
Funcin de coste de una solucin bsica factible
| |
0
B
B B N B B
z
(
= =
(

x
c c c x
0
B
> x
8
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL
| |
0
B B N B B (

Correspondencia:puntosextremos<>solucionesbsicasfactibles
Lassolucionesbsicasfactiblesdeunproblemalinealestndarsecorrespondenconlospuntosextremosdelareginfactible:
1
> B b 0
4
B
x
1
2
1
1
1
2
1
........................
B
B
B i

= >
= >
= >
x B b 0
x B b 0
x B b 0
2
B
x
4
B
i
B
x
1
.........................

i
p
B i
B p
i
son p bases factibles

= > x B b 0
B
1
B
x
x
Paraentendermsintuitivamenteestacorrespondenciaconsideremoselproblemaanterior:
3
B
x
p
B
x
Puntos extremos Variables nulas Variables no nulas
A x, y s, h, d
B h d
z 3 2
: 2 18
Maximizar x y
sujeto a x y h
= +
+ + =
3 24 x y + =
B x, s y, h, d
C s, d x, y, h
D d, h x, y, s
E y, h x, s, d
2 3 42
3 24
0, 0
x y s
x y d
x y
+ + =
+ + =
> >
y
B
C
3 24 x y + =
2 3 42 x y + =
2 18 x y + =
C
D
0
s=0
d=0
y
CadapuntodelareginfactibleABCDEvieneidentificadoporunatupla devaloresparax,y,h,s,d
Losvaloresdelasvariablesx ey danlascoordenadasdelpuntoenelplano(x,y)
Losvaloresdelasvariables h,s,d danlaseparacindelpunto(x,y)alarectadefinidaporla
i i di
x
A
D
x=0
y=0
h=0
restriccincorrespondiente.
Lospuntossituadossobrelasaristasdelpolgonoqueformalareginfactibletienenuna
componentenula.
Lospuntosextremosdelpolgono(vrtices)queestnsobredosrestricciones(interseccinde
dos rectas) tendrn dos variables nulas y por tanto sern soluciones bsicas factibles
9
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL
A
E
dosrectas)tendrndosvariablesnulasyportantosernsolucionesbsicasfactibles.
Ejemplodecorrespondencia:puntosextremos<>solucionesbsicasfactibles
1 2 3
1
z=
. .
5
5
Max x x x
s a
x
x
+ +
s
s
1 2 3
1 1
z=
. .
5
Max x x x
s a
x s
+ +
+ =
1 0 0 1 0 0
0 1 0 0 1 0 ;
0 0 1 0 0 1
[ ];
T
x x x s s s
(
(
=
(
(

A
x
Formaestndar
2
3
1 2 3
5
5
, , 0
x
x
x x x
s
s
>
1 0 0 5 5 ( ( (
2 2
3 3
5
5
x s
x s
+ =
+ =
! 6! | |
1 2 3 1 2 3
[ ];
[1 1 1 0 0 0];
[5 5 5];
T
T
x x x s s s =
=
=
x
c
b
Todas las submatrices B
i
de A de orden 3 son singulares salvo las 8 correspondientes a las siguientes variables bsicas:
1
1 2 3
1 0 0 5 5
( ) 0 1 0 5 5
0 0 1 5 5
B
base x x x

( ( (
( ( (
= = =
( ( (
( ( (

x B b =
! 6!
20
!( )! 3!3!
slo 8 tienen inversa y son factibles:
n
n
N mximo de soluciones bsicas
m m n m
| |
= = = =
|

\ .
Todaslassub matricesB
i
deA deorden3sonsingularessalvolas8correspondientesalassiguientesvariablesbsicas:
* * *
1 2 3

( ) bsicas no bsicas x x x
Solucionesbsicasfactibles
(555)
(0,5,5)
Puntosextremos
x
2
1 2 3
1 2 3 1 2 3
1 2 3 1 2 3
1 2 3 1 2 3
( )
( ) ( ) (5 5 5)
( ) ( ) (5 5 0)
( ) ( ) (5 0 5)
( ) ( ) (5 0 0)
x x x s s s
x x s s s x
x s x s x s
x s s s x x
(5,5,5)
(0,5,0) (5,5,0)
x
3
1 2 3 1 2 3
1 2 3 1 2 3
1 2 3 1 2
( ) ( ) (5 0 0)
( ) ( ) (0 5 5)
( ) (
x s s s x x
s x x x s s
s x s x s
3
1 2 3 1 2 3
) (0 5 0)
( ) ( ) (0 0 5)
x
s s x x x s
(0,0,0) (5,0,0)
(5,0,5)
(0,0,5)
x
1
10
1 2 3 1 2 3
( ) ( ) (0 0 0) s s s x x x
( ) ( )
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL
Bsquedaexhaustivadesolucionesbsicas
El teorema fundamental de la programacin lineal asegura que si un problema de programacin lineal tiene solucin ptima finita, entonces
necesariamente existe un punto extremo de la regin factible en el que alcanza dicha solucin ptima. Por tanto este resultado resuelve necesariamente existe un punto extremo de la regin factible en el que alcanza dicha solucin ptima. Por tanto este resultado resuelve
tericamente el problema de la programacin lineal, puesto que la solucin se puede encontrar examinando el valor de la funcin objetivo en
un nmero finito de puntos.
Vamos a utilizar este resultado para obtener el punto extremo ptimo del anterior problema de programacin lineal:
| |

x x
y 2 1 1 0 0 y 18
Maximizar 3 2 0 0 0 h sujeto a : 2 3 0 1 0 h = 42
s 3 1 0 0 1 s 24
( (
( (
( (
( (
( (
( (
( (
( (
( (

( (
z 3 2 0 0 0
: 2 =18
2 3 s =42
3 d=24
Maximizar x y h s d
sujeto a x y h
x y
x y
= + + + +
+ +
+ +
+ +
Lamatrizdeesteproblemaadmite10submatricescuadradasde3X3candidatasapuntosextremosdelareginfactible:
s 3 1 0 0 1 s 24
d d
( (

( (
( (

3 d 24
, , , , 0

x y
x y h s d
+ +
>
( ) x y h s d
! 5! 5 4 3 2
10
!( )! 3!2! 3 2 2
n
n
m m n m
| |
= = = =
|

\ .
( ) y
2 1 1 0 0
A= 2 3 0 1 0
3 1 0 0 1
(
(
(
(

Estassubmatricessonlassiguientes:
2 1 1 2 1 0 2 1 0 2 1 0 2 1 0 2 0 0 1 1 0 1 1 0 1 0 0 1 0 0 ( ( ( ( ( ( ( ( ( (
( ( ( ( ( ( ( ( ( (
2 3 0 ; 2 3 1 ; 2 3 0 ; 2 0 1 ; 2 0 0 ; 2 1 0 ; 3 0 1 ; 3 0 0 ; 3 1 0 ; 0 1 0
3 1 0 3 0 0 3 0 1 3 0 0 3 0 1 3 0 1 1 0 0 1 0 1 1 0 1 0 0 1
( ( ( ( ( ( ( ( ( (
( ( ( ( ( ( ( ( ( (
( ( ( ( ( ( ( ( ( (

11
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL
Enumeracindelassolucionesbsicasfactibles
1 T
B b

Vamosacalcularcadaunadelassolucionesbsicasfactiblesyelvalorcorrespondientedelafuncinobjetivo:
1
2 0 0 0.5 0 0 9
2 1 0 ; 1 1 0 ; 24
3 0 1 1.5 0 1 3
B
x
B B x s
d

( ( ( (
( ( ( (
= = = =
( ( ( (
( ( ( (

1
2 1 1 0 -0.14 0.43 4.29
2 3 0 ; 0 0.43 -0.29 ; 11.14
3 1 0 0.33 -0.05 -0.19 -0.57
B
x
B B x y
h

( ( ( (
( ( ( (
= = = =
( ( ( (
( ( ( (

1
;
T
B B B B B
x B b z c x = =
1
3 0 1 1.5 0 1 3
no factible porque es negativo
1 1 0 0 0 1
3 0 1 ; 1 0 1 ;
1 0 0 0 1 3
B
d
d
y
B B x h

( ( ( (

( ( (
( (
= = =
( (
( (

24
6
30
(
( (
=
( (
( (

1
3 1 0 0.33 0.05 0.19 0.57
no factible porque es negativa
2 1 0 1 0 1
2 3 1 ; 3 0 -2
3 1 0 7 1 4
h
h
B B

( ( ( (

( (
( (
= =
(
(

;
12
6
6
B
x
x y
( (
( (
= =
( ( (
( ( (

1 0 0 0 1 3 s ( (

1
30
no factible porque y son negativos
1 1 0 0 0.333 0
3 0 0 ; 1 0.333 0 ; 4
14
B
h s
y
B B x h

( (

( ( ( (
( ( ( (
= = = =
( ( ( (
3 1 0 -7 1 4 (

1
12
factible: ,
3

2 1 0 0.75 0.25 0
2 3 0 ; 0.5 0.5 0 ; 12
B
B
s
z 30 x =6, y =6
x
B B x y

( ( (

=
( ( ( (
( ( ( (
= = = =
( ( ( (
1 0 1 0 0.333 1 10
factible:
1 0 0
3 1 0
B
d
z = 28, x =0, y =14
B
( ( ( (
( ( ( (

=
1
1 0 0 18
; 3 1 0 ; 12
y
B x s

( ( ( (
( ( ( (
= = =
( ( ( (
3 1 1 1.75 0.25 1 3
factible:
B
d
z =3
( ( ( (
( ( ( (

1
2 1 0 0 0 0.33
2 0 1 ; 1 0 067 ; 2
8
3, x =3, y =12
x
B B x h

( ( ( (
( ( ( (
= = = =
( ( ( (
3 1 0
1 0 1
B = ; 3 1 0 ; 12
1 0 1 6
no factible porque es negativo
1 0 0 1 0 0 18
B
B x s
d
s
h
= = =
( ( ( (
( ( ( (

( ( (
( ( (
(
(
2 0 1 ; 1 0 0.67 ; 2
3 0 0 0 1 0.67 26
factible: , 8 0
2 1 0 0 0.5 0
B
B
B B x h
s
z 24 x = , y =
= = = =
( ( ( (
( ( ( (

=
(
(
21 x ( ( (
( ( ( 1
0 1 0 ; 0 1 0 ; 42
0 0 1 0 0 1 24
B
B B x s
d
( ( (
= = = =
( ( (
( ( (

factible: 0
B
z , x =0, y =0
(
(
(

=
1
2 0 0 ; 1 1 0
3 0 1 0 1.5 1
B B
(
= =
(
(

; 24
39
no factible porque y son negativos
B
x h
d
h d
( ( (
= =
( ( (
( ( (

12
Slo5sonbsicasfactibles,ylaqueproducevalormximoalafuncindecostees:
B
z =33, x = 3, y =12
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL
Mtodo del Simplex
Hemos visto que el teorema fundamental de la programacin lineal permite resolver estos problemas examinando el valor de la funcin
objetivo en un nmero finito de puntos Sin embargo el nmero de puntos extremos de un problema puede ser muy elevado por lo que objetivo en un nmero finito de puntos. Sin embargo, el nmero de puntos extremos de un problema puede ser muy elevado por lo que
se hace necesaria alguna estrategia que examine los puntos extremos de una manera eficiente, es decir, que recorra a ser posible en
primer lugar los ms prometedores como candidatos a ptimos, y que disponga de un criterio que determine que se ha alcanzado la
solucin ptima sin haber realizado un recorrido completo de todos puntos extremos.
El mtodo del simplex rene estas caractersticas ya que parte de un punto extremo inicial cualquiera(solucin bsica factible) y mediante El mtodo del simplex rene estas caractersticas ya que parte de un punto extremo inicial cualquiera(solucin bsica factible) y mediante
unos criterios muy precisos opera de forma iterativa pasando de un punto extremo a otro adyacente (slo se diferencia en una variable
que en uno es bsica y el otro no) que mejora (o por lo menos no empeora) la funcin objetivo de procedencia, alcanzado la solucin
ptima en un nmero finito de pasos.
Solucin ptima Solucinptima
Iteracionesdelmtodosimplex
Solucinbsicafactibleinicial
13
Es evidente que cuanto mejor sea la solucin bsica de partida ms eficiente resultar el mtodo, llegndose antes a la solucin ptima.
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL
Introduccinalmtododelsimplex
Vamosaintroducirelmtododelsimplexdeunamaneraintuitivautilizandoelejemploanteriorenformaestndar:
Maximizar z =3x+2y
sujeto a : 2x+ y+h =18
2x+3y+ s =42
3x+ y+ d = 24 x y h s d 0 >
Expresinmatricial:
2 1 1 0 0
= 2 3 0 1 0
(
(
(
(
A
, , , , 3x+ y+ d = 24 x y h s d 0 >
| |
3 2 0 0 0
T
= c
| |
T
x y h s d = x



T
Maximizar z
sujeto a
=
=
>
c x
Ax b
x 0
Partiremosdeunabaseinicialeiremospasandoensucesivasiteracionesporbasesdemejorcostehastaalcanzarelptimo
0)Eleccindeunabaseinicial
3 1 0 0 1 (

[18 42 24]
T
= b
El algoritmo del simplex parte de una solucin bsica factible inicial correspondiente a un punto extremo de la regin factible. En nuestro caso, y
aprovechando las variables de holgura introducidas, resulta fcil obtener una solucin bsica haciendo x=0 e y=0 y resolviendo el sistema
1 0 0 (
x =0
y =0

2 1 1 0 0
(
y
resultante en h, s yd : que corresponde a la base: de
1
1 0 0
0 1 0
0 0 1
(
(
=
(
(

B
h =18
s =42
d = 24
0

h=18 2x y

2 1 1 0 0
= 2 3 0 1 0
3 1 0 0 1
(
(
(
(

A
Podemosreescribirelsistemadeecuacionesdespejandolasvariablesbsicas:
z =0

h =18 2x y
s =42 2x 3y
d = 24 3x y
z =0+3x+2y

(0,0);z=0
x
Seobservaqueesposiblemejorarz introduciendo x oy enlabaseysacandoh,s od.Introduciremos x queaportamsquey az (3frentea2).
14
y

J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL
1)Primeraiteracin
Introducir x en la base significa que aumentamos su valor de cero a un valor positivo. Es evidente que cuanto mayor sea este valor mayor
aportacin har x a z Sin embargo el valor de x no debe salir de la regin factible lo que significa que debe respetar las restricciones incluidas
h =18 2x 0 h =18 2x s 0 h >
18
x
2
42
s
18 42 24

aportacin har x a z. Sin embargo, el valor de x no debe salir de la regin factible, lo que significa que debe respetar las restricciones, incluidas
las de no negatividad. Puesto que y va a seguir fuera de la base seguir valiendo y =0 y tendremos:
d eslavariablequedeterminaelmximovalorque
puedeaportarx alafuncinobjetivo,8
s =42 2x
d = 24 3x

0
0
s =42 2x
d = 24 3x
s
s
0
0
s
d
>
>

42
x
2
24
x
3
s
s
{ }
18 42 24
x Min , , Min 9,21,8 8
2 2 3

s = =
`
)
8 0 x d d = =
x =8
y =0
h 2
h =18 - 28 = 2
s =42 - 28 = 26
Cuandodejalabase.Portantohemossacadoad delabaseyhemosintroducidoax.Losnuevosvaloresdelas
variablessern: y
h = 2
s = 26
d =0
z = 24
d = 24 - 38 =0
z =3x+2y =38 = 24
(0,0);z=0 (8,0);z=24
z 24
h =18 2x y
s =42 2x 3y

1
h =18 - 2 (24 - y - d) - y
3
1
s =42 - 2 (24 - y - d) - 3y
3

1 2
h = 2 - y+ d
3 3
7 2
s = 26 y+ d

Despejemosenelsistemalasvariablesbsicas:
x
s 42 2x 3y
d = 24 3x y
z =0+3x+2y

s 42 2 (24 y d) 3y
3
1
x = (24 - y - d)
3
z =(24 - y - d) +2y

7 2
s = 26 - y+ d
3 3
1 1
x =8 - y - d
3 3
z = 24+ y - d

15
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL
Seobservaqueesposiblemejorarz introduciendo y enlabaseysacandoah os.
2)Segundaiteracin
Introduciry enlabasesignificaqueaumentamossuvalordeceroaunvalorpositivo.Esevidentequecuantomayorseaestevalormayor
aportacin har y a z Sin embargo el valor de y no debe salir de la regin factible lo que significa que debe respetar las restricciones incluidas aportacinhar y a z.Sinembargo,elvalorde y nodebesalirdelareginfactible,loquesignificaquedeberespetarlasrestricciones,incluidas
lasdenonegatividad.Puestoque d vaaseguirfueradelabaseseguirvaliendod =0 ytendremos:
1
h = 2 - y
3
7
0
1
h = 2 - y
3
7
s
0 h >
y 6 s
C d d j l b P t t h d h d l b h i t d id L l d l
7
s = 26 - y
3
1
x =8 - y
3
0
0
7
s = 26 - y
3
1
x =8 - y
3
s
s
0
0
s
x
>
>
y 11,4
y 24
s
s
{ }
y Min 6,11,4,24 6 s =
6 h 0 h Cuandodejalabase.Portantohemossacadoah delabaseyhemosintroducidoay.Losnuevosvaloresdelas
variablessern:
y 6 h 0 h = =
x =6
y =6
h=0
1
h = 2 - 6 =0
3
7
s = 26 6 =12
y
h 0
s =12
d =0
z =30
7
s = 26 - 6 =12
3
1
x =8 - 6 =6
3
z =3x+2y =36 +26 =30
(0,0);z=0
(8,0);z=24
(6,6);z=30
x
Despejemosenelsistemalasvariablesbsicas:
1 2
h = 2 - y+ d
3 3
7 2
26 + d

y =6 - 3h+2d
12+7h 4d

7 2
s = 26 - y+ d
3 3
1 1
x =8 - y - d
3 3
z = 24+ y - d

s =12+7h - 4d
x =6 +h - d
z =30 - 3h+d

16
Seobservaqueesposiblemejorarz introduciendo d enlabase.
3)Terceraiteracin
Introducird enlabasesignificaqueaumentamossuvalordeceroaunvalorpositivo.Esevidentequecuantomayorseaestevalormayor
aportacin har d a z Sin embargo el valor de d no debe salir de la regin factible lo que significa que debe respetar las restricciones incluidas aportacinhar d a z.Sinembargo,elvalorde d nodebesalirdelareginfactible,loquesignificaquedeberespetarlasrestricciones,incluidas
lasdenonegatividad.Puestoque h vaaseguirfueradelabaseseguirvaliendoh =0 ytendremos:
y =6 +2d 0 y >
0 y =6 +2d s 3 d s
{ }
d Mi 3 6 3 s
C d d j l b P t t h d d l b h i t d id d L l d l
s =12 - 4d
x =6 - d
0
0
s
x
>
>
0
0
s =12 - 4d
x =6 - d
s
s
3
6
d
d
s
s
{ }
d Min 3,6 =3 s
d 3 0
Cuandodejalabase.Portantohemossacadoas delabaseyhemosintroducidoad.Losnuevosvaloresdelas
variablessern:
y
d 3 s 0 s = =
y =6 +23=12
x =3
y =12
(6,6);z=30
(3,12);z=33
s = 12 - 12=0
x =6 - 3=3
z =3x+2y =33+212=33
y
h =0
s =0
d =0
Despejemosenelsistemalasvariablesbsicas:
(0,0);z=0 (8,0);z=24
x
z =33
y =6 - 3h+2d
12+7h 4d

y =
7 1
d h

s =12+7h - 4d
x =6 +h - d
z =30 - 3h+d

7 1
d =3+ h - s
4 4
x =
5 1
z =33- h - s
4 4

17
Yanoesposiblemejorarz puestoqueloscoeficientesdelasvariablesnobsicassontodosnegativos.Luegohemosalcanzadoelptimo

T
Maximizar z = c x
A b
Fundamentosdelmtododelsimplex
Los trminos ( ) son los .
Determinanlaaportacindelasvariables
j j
z c costes reducidos
11 1 1 1 1 1
1


...
... ... ... ; ... ; ... ; ... ; ... ; ... ...
n j
j j n
sujeto a
a a x b c a
=
>
(
( ( ( (
(
( ( ( (
( = = = = = =
(
( ( ( (
Ax b
x 0
A x b c a A a a a
Determinan la aportacin de las variables
no bsicas a la funcin objetivo
1
...
S
j j
m mn n m n mj
a a x b c a
(
( ( ( (
(
( ( ( (


{ }
1 2
ea ... ... una submatriz de formada por columnas de y de rango
Sean: , ,..., =conjunto de ndices de las columnas de
j1 j2 jm
m
m m
I j j j
( =

=
B a a a A A
B
{ } ,..., conjunto de ndices de las column J 1,2 n I = =
| | | |
as de que no estn en
; se puede escribir: o bien: (1)
si hacemos 0 seconvierteen
B B
B N
N N
( (
= = = = + =
( (

= =
A B
x x
A B N x Ax b B N b, Bx Nx b
x x
x Ax b Bx
1
cuyasolucines:

= = b x B b si hacemos 0, se convierte en
N
= = x Ax b Bx
| |
1
1
cuya solucin es
0
0
0
B B
B
B
:
Supongamos que de manera que es una solucin bsica factible
z

= =
(
>
(

(
= = + =
(
b x B b
x
B b
x
c c c x c c B b
Expresindelsistemaderestriccionesconrespecto
alasvariablesnobsicas(sistemaexplcito)
| |
1 1
1 1
0
0

llamando = tenemos: =
y
B B N B B N B
B N
B N B
z


= = + =
(

+ =
+ =
c c c x c c B b
x B Nx B b
Y B N x Yx B b x
multiplicandopor laecuacionanterior tenemos + = c c x c Yx c x
Apartirdelsistemaexplicitose
extraenlasconclusionestericas
y multiplicando por la ecuacion anterior tenemos
restando de la ecuacin anterior

B B B B N B B
B B N N
N N B N B B
N B N N B N
z
z z z
( ) z z z z ( )
+ =
+
= =
= = +

c c x c Yx c x
= c x c x
c x c Yx c x
c c Y x c c Y x
necesariasparaencontrarlos
criteriosdelalgoritmodelsimplex
; donde [ ]
j j j j j J
j J
z z (z c )x
e
e
= + =

Y y
,
[ ]
sj s I j J
y
e e
=
18
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL
Expresindelafuncinobjetivoconrespectoalas
variablesnobsicas(sistemaexplcito)
Criteriosdelmtododelsimplex
Criteriodeptimo
LacondicinnecesariaysuficienteparaqueunasolucinbsicafactibleasociadaaunabaseB seaptimaes:
( ) 0 j J >
Criteriodeentrada
( ) 0
j j
j J z c e >
{ }
Seintroducelavariable tal que| | | |;( ) 0 x z c Mximo z c z c = <
Criteriodesalida
{ }
Se introduce la variable tal que| | | |;( ) 0
k k k j j j j
x z c Mximo z c z c = <
Si eslavariabledeentradaladesalidaserla quecumpla ; 0|
l s
x x
x x Mnimo y s I

> e
`
Criteriodenoacotacin
Si es la variable de entrada la de salida ser la que cumpla ; 0|
l s
k l sk
lk sk
x x Mnimo y s I
y y
= > e
`
)
|( ) 0 0 k J z c con y - e < < |( ) 0 0
j j k
k J z c con y - e < <
19
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL
MtododelSimplexalgebraico
Supondremosquesetratadeunproblemaqueseencuentraensuformaestndar.Encasocontrarioseintroducenlasvariables
necesariasparallevarloalaformaestndar. p



T
Maximizar z
sujeto a
=
=
>
c x
Ax b
x 0
11 1 1 1 1
1
...
... ... ... ; ... ; ... ; ... ;
...
n
m mn n m n
a a x b c
a a x b c
( ( ( (
( ( ( (
= = = =
( ( ( (
( ( ( (

A x b c
1
1
... ; ... ...
j
j j n
mj
a
a
(
(
( = =
(
(

a A a a a
1)ElprocesocomienzaapartirdeunabasefactibleconocidadeA.Sea:
2) Calculamos:
{ }
1

; 1,2,...,
B
submatriz no singular de de dimensin m m (una base factible )
I conjunto de ndices de J n I conjunto de ndices de que no estan en

= = >
= = =
B A x B b 0
B A B
2)Calculamos:
3)
1
;
( )
j j
T
j B j
j j
j J
z
z c

= e
=

y B a
c y
)
( ) 0
t
j j B B B
Si z c j J es una solucin bsica con z > e = FIN x ptima c x
{ }
1
:( ) 0 |( ) 0
j j j j
Si j J z c entonces definimos J j J z c - e < = e <
1
|
j
Si j J solucin - e s FIN y 0 no acotada
1
|
j
Si j J entonces calculamos k y l - e y > 0
{ }
: : | |; | | Clculo de k criterio de entrada Max z c j J z c e =
{ }
1
: : | |; | |
j j k k
Clculo de k criterio de entrada Max z c j J z c e =
: : ; 0;
s l
sk
sk lk
x x
Clculo de l criterio de salida Min y s I
y y

> e =
`
)
Calculamos la nueva base sustituyendo la columna l por la columna k ' B
20
Se repite el proceso con la nueva base ' B
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL
f
Ejemplo
Maximizar z =3x+2y
2 18
Maximizar z =3x+2y
2 h 18
forma
estndar
:


sujeto a 2x+ y 18
2x+3y 42
3x+ y 24
x 0 y 0
s
s
s
> >
sujeto a : 2x+ y+h =18
2x+3y+ s =42
3x+ y+ d = 24
x 0 y 0 > >
| |
2 1 1 0 0 18
3 2 0 0 0 2 3 0 1 0 42
x x
y y
M i i h j t h
( (
( (
( (
( (
( (
( (
, x 0 y 0 > > , x 0 y 0 > >
| |
3 2 0 0 0 : 2 3 0 1 0 42
3 1 0 0 1 24
Maximizar h sujeto a h
s s
d d
( (
( ( =
( (
( (
( (

( (
( (

2 1 1 0 0
2 3 0 1 0
3 1 0 0 1
( )
(
(
=
(
(

x y h s d
A
dvar f l oat + x;
dvar f l oat + y;
dvar f l oat + h;
dvar f l oat + s;
dvar f l oat + d;
dvar f l oat + x;
dvar f l oat + y;
maxi mi ze 3*x+2*y;
subj ect t o
{
OPL OPL
3 1 0 0 1 (

| |
3 2 0 0 0
T
= c
| |
T
x y h s d = x
maxi mi ze 3*x+2*y;
subj ect t o
{
2*x + y + h == 18;
2*x + 3*y + s == 42;
3*x + y + d == 24;
2*x + y <= 18;
2*x + 3*y <= 42;
3*x + y <= 24;
}
| |
x y h s d = x
[18 42 24]
T
= b
3*x + y + d == 24;
//solution(optimal)withobjective33
x=3;
y=12;
h=0;
0
//solution(optimal)withobjective33
x=3;
y=12;
21
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL
s=0;
d=3;
Ejemplo:simplexalgebraico
Unavezllevadoelproblemaalaformaestndaresevidentequelostresvectorescolumnade A correspondientesalasvariablesde
holgura constituyen una base factible que utilizaremos como punto de partida del mtodo del simplex: holguraconstituyenunabasefactiblequeutilizaremoscomopuntodepartidadelmtododelsimplex:
1)

1 0 0 1 0 0 1 0 0 18 18
( )
h ( ( ( ( ( (
( ( ( ( ( (
h s d
2)
1 1
1 1 1
0 1 0 ; 0 1 0 ; 0 1 0 42 42
0 0 1 0 0 1 0 0 1 24 24
1 0 0 2 2
s
d
( ( ( ( ( (
= = = = =
( ( ( ( ( (
( ( ( ( ( (

( ( (
B B B b
1 0 0 1 1 ( ( (
1
1
1 0 0 2 2
0 1 0 2 2 ;
0 0 1 3 3
x y

( ( (
( ( (
= = =
( ( (
( ( (

y B x y
1
1
1 0 0 1 1
0 1 0 3 3
0 0 1 1 1

( ( (
( ( (
= = =
( ( (
( ( (

( (
B y
| | | |
1 1
2 1
0 0 0 2 0; 0 0 0 3 0
3 1
x B x y B y
z z
( (
( (
= = = = = =
( (
( (

c y c y
y
3)
{ } { }
3; 2;
| | | | 32 3
x x y y
z c z c
Max z c z c entra en la base
= =
x
{ } { }
1 2 3
| |,| | 3,2 3
18 4
, , ,
2
x x y y
x x x
Max z c z c entra en la base
h s d
Min
y y y
= =

=
`
)
x
{ }
2 24
, 9,21,8 8
2 3
deja la base

= =
`
)
d
22
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL
(0,0);z=0
x
Ejemplo:simplexalgebraico
RepetimoselprocesoconlanuevabaseB
2
:
1 1
2 2 2

1 0 2 1 0 0,6667 1 0 0,6667 18 2
0 1 2 ; 0 1 0 6667 ; 0 1 0 6667 42 26
( )
h
s

( ( ( ( ( (
( ( ( ( ( (
= = = = =
( ( ( ( ( (
h s x
B B B b
p p
2
1)
2 2 2
0 1 2 ; 0 1 0,6667 ; 0 1 0,6667 42 26
0 0 3 0 0 0,3333 0 0 0,3333 24 8
1 0 0 6667
s
x
( ( ( ( ( (
( ( ( ( ( (

B B B b
1 0333 1 0 0 6667 0 0 6667 ( ( ( ( ( (
2)
1
2
1 0 0,6667
0 1 0,66
y


= = y B y
1
2
1 0,333 1 0 0,6667 0 0,6667
67 3 2,333 ; 0 1 0,6667 0 0,6667 ;
0 0 0,3333 1 0,333 0 0 0,3333 1 0,3333
d

( ( ( ( ( (
( ( ( ( ( (
= = = =
( ( ( ( ( (
( ( ( ( ( (

y B d
| |
2
0,333
0 0 2 2,333 0,666;
0,333
y B y d B
z z
(
(
= = = =
(
(

c y c | |
2
0,6667
0 0 2 0,6667 0,6666;
0,3333
d
(
(
= =
(
(

y
y
{ }
0,666 2 1,333; 0,6666;
y y d d
z c z c = = =
3)
{ } { }
{ }
| | 1,333 1,333
2 26 8
, , 6, 11,444, 24,024 6
0,333 2,333 0,333
y y
Max z c entra en la base
Min deja la base
= =

= = =
`
)
y
h
23
0,333 2,333 0,333
)
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL
(0,0);z=0 (8,0);z=24
x
Ejemplo:simplexalgebraico
RepetimoselprocesoconlanuevabaseB
3
:

1 0 2 3 0 2 3 0 2 18 6
( )
y ( ( ( ( ( (
( ( ( ( ( (
y s x
1)
1 1
3 3 3
3 1 2 ; 5 1 4 ; 7 1 4 42 12
1 0 3 2 0 1 1 0 1 24 6
s
x
( ( ( ( ( (
= = = = =
( ( ( ( ( (
( ( ( ( ( (

B B B b
2)
1
3
3 0 2 1 3
5 1 4 0 7
1 0 1 0 1
h

( (
( (
= = =
( (
( (

y B s
1
3
3 0 2 0 2
; 5 1 4 0 4
1 0 1 1 1
d

( ( ( (
( ( ( (
= = =
( ( ( (
( ( ( (

y B d
| | | |
3 3
3 2
2 0 3 7 3; 2 0 3 4 1
1 1
h B h d B d
z z
( (
( (
= = = = = =
( (
( (

c y c y
y
3; 1;
h h d d
z c z c = =
3)
{ } { } | | 1 1
12 6
, 3,
4 1
d d
Max z c entra en la base
Min Min
= =

= =
`
)
d
{ } 6 3 deja la base = s
(0 0); z 0 (8 0); z 24
(6,6);z=30
24
, ,
4 1
`
)
{ } j
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL
(0,0);z=0 (8,0);z=24
x
Ejemplo:simplexalgebraico
RepetimoselprocesoconlanuevabaseB
4
: p p
4
1)

1 0 2 0,5 0,5 0 0,5 0,5 0 18 12
( )
y ( ( ( ( ( (
( ( ( ( ( (
y d x
2)
1 1
4 4 4
3 0 2 ; 1,75 0,25 1 ; 1,75 0,25 1 42 3
1 1 3 0,75 0,25 0 0,75 0,25 0 24 3
d
x
( ( ( ( ( (
= = = = =
( ( ( ( ( (
( ( ( ( ( (

B B B b
1
4
0,5 0,5 0
1,7
h


= = y B h
1
4
1 0,5 0,5 0,5 0 0 0,5
5 0,25 1 0 1,75 ; 1,75 0,25 1 1 0,25
0,75 0,25 0 0 0,75 0,75 0,25 0 0 0,25
s

( ( ( ( ( (
( ( ( ( ( (
= = = =
( ( ( ( ( (
( ( ( ( ( (

y B s
y
3)
| |
3 3
0,5
2 0 3 1,75 1,25; 2
0,75
h B h d B d
z z
(
(
= = = = =
(
(

c y c y | |
0,5
0 3 0,25 0,25
0,25
(
(
=
(
(
(3,12);z=33
y
3)
| |

12
2 0 3 3 33
B
No es posible mejorar
y
z d
( (
( (
= = =
( (
c
( , );
| |
3
2 0 3 3 33
3
B
z d
x
( (
( (

c
(0,0);z=0 (8,0);z=24
(6,6);z=30
x
25
x
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL
Simplextabular
Esta versin del Simplex permite situar la informacin del problema inicial y las distintas iteraciones en forma tabular, que resulta ms
cmodo si el problema se resuelve de forma manual En el siguiente esquema especificamos la forma de construir la tabla inicial del cmodo si el problema se resuelve de forma manual. En el siguiente esquema especificamos la forma de construir la tabla inicial del
mtodo que corresponde a la solucin bsica factible de partida
Coeficientesdelasvariables
bsicasenlafuncinobjetivo
Nombres de todas las variables del problema
Valoresdetodosloscoeficientesdelafuncinobjetivo
1
1
1 1 11 1 1
...
...
...
n
B n B
B B n B
c c
variables bsicas x x
c x y y x
c x
Nombresdetodaslasvariablesdelproblema
Vectores columna y
j
asociados con las respectivas variables x
j
1
. . . . . .
. . . . . .
. . . . . .
...
Bm Bm m mn Bm
c x y y x
Valoresdelasvariablesbsicas
Vectorescolumnay
j
asociadosconlasrespectivasvariablesx
j
1 1
...
n n
z c z c z
Nombres de las variables bsicas
Valoresdeloscostesreducidos:indicadoresdelsimplex
Valordelafuncinobjetivo
Ejemplo:
Nombresdelasvariablesbsicas
Maximizar z =3x+2y
x y h s d
( ) 3 2 0 0 0


sujeto a : 2x+ y+h =18
2x+3y+ s =42
3x+ y+ d = 24
x 0 y 0 > >
2 1 1 0 0 18
2 3 0 1 0 42
3 1 0 0 1 24
3 2 0 0 0 0
h
s
d

0
0
0
26
, x 0 y 0 > >
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL
Simplextabular:algoritmo
1) Siexistealgnvalorqueexisteposibilidaddemejorayvamosalpaso2).
SitodolaactualsolucineslaptimayelproblemaFACTIBLE:FIN
2) SiparaalgnessuvectorasociadoelproblemaesNOACOTADO,encasocontrariovamosalpaso3)
0
j j
z c <
0
j j
z c >
0
j j
z c <
0
j
s y ) p g p , p )
3) Seleccindelasvariablesdeentradaysalida:seseleccionacomovariabledeentradaaquellaconvalormsnegativode
yladesignaremosporsiendo k lacolumnapivote.Seseleccionacomovariabledesalidaaquellaquehagamnimalarazn
0
j j
z c <
j
y
j j
z c
k
x
Lafilaconmnimaraznladesignamosporr ysedenominafilapivote.Elelementosedenomina
pivote.
4) Clculodelanuevatabla:
para 0
Bi ik ik
x y y >
rk
y
a)Seconstruyeunanuevatablavacaenlaquesesustituyelavariablebsicadesalidaporlanuevavariable bsicay
b)Lafilardelanuevatablaseobtienedividiendolafilar delaprecedenteporelpivoteylacolumnak delanuevatablaseformacon
Br
x
k
x por
Br k
c c
cerosexceptoellugardelpivotequeseponea1.
c)Losrestanteselementosdelatablalosobtenemosrestandodelosantiguoselvalorde a dadoporlasiguienteexpresin:
ij ij
y y a =

( )
rj ij
e e
i

( ) ( )
ij ij
ij ij
j j j j
x x a
z c z c a
z z a
=
=
=

con ( )
elemento en la fila pivote de la columna
elemento de la fila de la columna pivote
rj ij
rk
rj
ik
a i r
y
e j
e i
= =
=
=
27
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL
Ejemplo:simplextabular
2 1 1 0 0 18
2 3 0 1 0 42
1 0 0 1 24 3
x y h s d
h
s
d
4
0 1 3 0 2 6
0 0 7 1 12
1
1 0 0 1 6
x y h s d
y
s
x

( )
y
0 0 3 2 0 0
1 0 0 1 6
3
0 0 1 0 1 30
x

(3,12);z=33
(0,14);z=28
18 42 24
9; 21; 8
2 2 3
= = =
12 6
3; 6
4 1
= =
x y h s d
(6,6);z=30
0 0
7 1
0 0 1 3
4 4
x y h s d
y
d
12
2
0 1 0 2
3
7 2
0 0 1 26
3 3
1 1
1 0 0 8
1
3
x y h s d
h
s
x

(0,0);z=0 (8,0);z=24
x
0 1 8 1 0
x 3
33
1 1
1 0 0 8
3 3
0 1 0 0 1 4 2
x

2 26 8
6; 11,1; 24
1 7 1
3 3 3
= = =
28
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL
MtododelSimplex:solucinbsicainicial
Las variables de holgura introducidas para convertir inecuaciones en ecuaciones nos han permitido en el ejemplo anterior disponer de una
solucin bsica inicial fcil de conseguir: la correspondiente a las variables de holgura cuya matriz bsica resultaba ser la matriz unidad. Pero g p g y
si una o ms de las restricciones de desigualdad fuese de sentido opuesto, la variable de holgura habra que introducirla restando, por lo que
la correspondiente solucin bsica no sera factible. Por ejemplo, si cambiamos el sentido de la desigualdad en la primera restriccin del
ejemplo anterior tendremos:
Maximizar z =3x+2y
dvar f l oat + x;
dvar f l oat + y;
dvar f l oat + z;
Maximizar z =3x+2y
h
:


sujeto a 2x+ y 18
2x+3y 42
3x+ y 24
0 0
>
s
s
dvar f l oat + z;
maxi mi ze 3*x+2*y;
subj ect t o
{
2*x+y >= 18;
2*x + 3*y <= 42;



sujeto a : 2x+ y h =18
2x+3y+ s =42
3x+ y+ d = 24
x y h s d 0

>
forma
estndar
, x 0 y 0 > >
2*x + 3*y <= 42;
3*x + y <= 24;
//solution(optimal)withobjective35.1
x=4.2857;
y = 11 143;
, , , , x y h s d 0 >
1 1
1 1 1

1 0 0 1 0 0 1 0 0 18 18
0 1 0 ; 0 1 0 ; 0 1 0 42 42
h s d
h
s

( ( ( ( ( (
( ( ( ( ( (
= = = = = =
( ( ( ( ( (
B B x B b
B
1
es una matriz bsica pero no es factible ya que una de las variables de decisin (h) toma valor negativo (18) por lo que no se puede
utilizar para iniciar el mtodo del simplex.
Enestoscasospodemosintroducirvariablesartificialesenlascorrespondientesecuacionesparadisponerdeunabasefactible.Porejemplo,
y=11.143;
0 0 1 0 0 1 0 0 1 24 24 d
( ( ( ( ( (
( ( ( ( ( (

p f p p p j p ,
introduciendolavariableartificiala enlaprimerarestriccindelproblemaanteriortenemos:

Maximizar z =3x+2y
sujeto a : 2x+ y h+ a =18
2 3 2

1 1

1 0 0 1 0 0 1 0 0 18 18
a s d
a ( ( ( ( ( (
( ( ( ( ( (
Variableartificial
Conlaintroduccindelavariableartificiala hemosconseguidodenuevounabasefactible B
1
conlaqueiniciarelmtododelsimplex,sin


, , , , ,
2x+3y+ s =42
3x+ y+ d = 24
x y h s d a 0 >
1 1
1 1 1
0 1 0 ; 0 1 0 ; 0 1 0 42 42
0 0 1 0 0 1 0 0 1 24 24
s
d
( ( ( ( ( (
= = = = = =
( ( ( ( ( (
( ( ( ( ( (

B B x B b
Variablesdeholgura
g
1
q p ,
embargoenestecasoelproblematransformadonoesequivalente.Esevidentequeunasolucinfactibledelproblematransformado enla
quelavariablea=0,sertambinunasolucinfactibledelproblemaoriginal.
29
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL
MtododelSimplex:solucinbsicainicialconvariablesartificiales
Existendosmtodospararesolverunproblemadeprogramacinlineal(problemaoriginal)quesehaconvertidoenunoartificial(problema
aumentado)conlaintroduccindevariablesartificiales:elmtododelasdosfasesyelmtododelaspenalizaciones.
Mtododelasdosfases
Fase1:Sedeterminarsielproblemaoriginalesfactibleyencasoafirmativosecalculaunasolucinfactibleinicial.Paraellose resuelveel
problemaqueresultadesustituirlafuncinobjetivooriginalporlalasumadelasvariablesartificiales: p q j g p

: = ; , 0
a
a
a a
Minimizar t =
sujeto a

(
>
(

1 x
x
A b x x
x
Si se dispone de una solucin bsica factible de este problema auxiliar con t = 0 entonces se dispone de una solucin bsica factible del
problema original.
Fase2:Seaplicaelmtododelsimplexpartiendodelasolucinbsicafactibleobtenidaenlafase1,ahoraconlafuncinobjetivooriginal.
Mtododelaspenalizaciones
Este mtodo consiste en forzar las variables artificiales a que tomen un valor nulo en la solucin ptima introduciendo estas variables en la
funcin objetivo con unos coeficientes M para un problema de minimizacin y M para uno de maximizacin , siendo M un nmero positivo
arbitrariamente grande, es decir, un nmero siempre mayor que cualquier otro con el que se compare en la aplicacin del mtodo. Por esta
razn se le denomina como el mtodo de la gran M (big M method).
| |

: = ; , 0
a
a
a a
T
Maximizar z =
sujeto a
M M
+
(
>
(

=
m x c x
x
A b x x
x
m
| |
: = ; , 0
a
a a
T
Maximizar z =
sujeto a
M M

(
>
(

c x
x
A b x x
x
Problemaaumentado
Problemaoriginal
1) Siunodelosproblemasnotieneptimofinitoelotrotampocolotiene.
2) Todasolucinfactibledelproblemaoriginaltambinloesdelproblemaaumentado(bastatomar)
3) Todasolucinfactibledelproblemaaumentadoquenocontengavariablesartificialesestrictamentepositivasesunasolucinfactibledel
| | ... M M = m
a
= x 0
| | ...
T
M M = m
30
) p q g p
problemaoriginal.
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL
Ejercicio
Dado el siguiente problema de programacin lineal:

1 2
1 2
Maximizar z =4x +x
sujeto a : - x +2x 4 s
1 2
1 2


,
1 2
1 2
j
2x +3x 12
4x - 4x 12
x x 0
s
s
>
a) Pasarlo a la forma estndar equivalente
b) Resolverlo enumerando las soluciones bsicas factibles y calculando la funcin objetivo en cada una de ellas.
c) Resolverlo utilizando el mtodo del simplex algebraico o tabular
31
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL

You might also like