Professional Documents
Culture Documents
= = = = = 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