o m´eto do simplex para programa¸c˜ao linear - ufjf.br · o m´etodo simplex pesquisa a...

89
O M´ etodo Simplex para Programa¸ ao Linear

Upload: trinhthuy

Post on 19-Sep-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

O Metodo Simplex para

Programacao Linear

Formas de Programas Lineares

O problema de Programacao Matematica con-

siste na determinacao do valor de n variaveis

x1, x2, . . . , xn que tornam mınimo ou maximo o

valor da funcao

f(x1, x2, . . . , xn)

sujeito a m restricoes

gi(x1, x2, . . . , xn) ≥ bi, i = 1,2, . . . , m

podendo ainda ter-se

xj ≥ 0, j = 1,2, . . . , n.

1

Em Programacao Linear as funcoes f e g sao li-

neares, obtendo-se a chamada Forma Canonica:

Minimize c1x1 + c2x2 + . . . + cnxn

sujeito a a11x1 + a12x2 + . . . + a1nxn ≥ b1a21x1 + a22x2 + . . . + a2nxn ≥ b2...am1x1 + am2x2 + . . . + amnxn ≥ bm

Funcao a minimizar: funcao objectivo.

Inequacoes: restricoes.

Conjunto de solucoes que satisfazem as res-

tricoes: solucoes admissıveis.

Solucao admissıvel que minimiza a funcao ob-

jectivo: solucao optima.

Coeficientes cj: coeficientes de custo.

Coeficientes aij: coeficientes tecnologicos.

2

Coeficientes bi: termos independentes.

Viu-se que no entanto nem sempre um pro-grama linear se apresenta na forma canonica.Seguidamente veremos como fazer a conversao.

• Qualquer problema de maximizacao pode-se converter num problema de minimizacao,uma vez que

maxn∑

j=1

cjxj = −minn∑

j=1

cjxj

Apos a resolucao do novo problema, o valorda funcao objectivo pretendido e o simetricodo obtido.

• Qualquer inequacao do tipo ≤ e convertıvelnuma inequacao do tipo ≥, multiplicandoambos os membros por −1:

ai1x1 + ai2x2 + . . . + ainxn ≤ bim

−ai1x1 − ai2x2 − . . .− ainxn ≥ −bi

3

• Qualquer restricao de igualdade pode ser

convertida em duas inequacoes:

ai1x1 + ai2x2 + . . . + ainxn = bim{

ai1x1 + ai2x2 + . . . + ainxn ≤ biai1x1 + ai2x2 + . . . + ainxn ≥ bi

• Qualquer variavel xj sem restricao de si-

nal pode ser substituıda por x′j − x′′j , com

x′j, x′′j ≥ 0.

4

Outra forma de escrever um Programa Linear ea Forma Normal. Nesta todas as restricoes saoigualdades e todas as variaveis teem valoresnao negativos:

Minimize cTxsujeito a Ax = b

x ≥ 0

Note-se que toda a desigualdade da forma ≥pode ser transformada numa igualdade, intro-duzindo uma variavel adicional.

Consideremos a desigualdade

ai1x1 + ai2x2 + . . . + ainxn ≤ bi

que pode ser escrita na forma

ai1x1 + ai2x2 + . . . + ainxn − xn+i = bi

com xn+i ≥ 0.

As novas variaveis xn+i da-se o nome de variaveisde folga, ou variaveis slack.

5

Resolucao grafica de Programas Lineares

Como exemplo, consideremos o programa li-near

Minimize x1 − 2x2sujeito a x1 + x2 ≤ 1

x1 − x2 ≤ 1/2

Graficamente,

........................................................................

......................................

......................................

................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

................................................................................................................................................................................................................................................................................................................................................................................................................................................................

......................................................................................................

......................

......................

.................... ......................................

......................

......................

.................... ......................................

......................................................................................................

...................................... ........

..............................

......................................

......................................

................................ ................................................................

................................................................................................

................................................................................................................................

................................................................................................................................................................

................................................................................................................................................................................................

................................................................................................................................................................

................................................................................................................................

..............................................................................................................................................................................................................................................................................

....................

....................

....................

....................

....................

....................

....................

....................

....................

....................

....................

....................

....................

..........

....................

....................

....................

....................

....................

....................

....................

....................

....................

....................

....................

....................

....................

..........

......................................

x1 − 2x2 = 0

x1 − 2x2 = −2

solucao optima

Constata-se que a solucao optima e x∗ = (0,1)com valor para a funcao objectivo z = −2.

6

Solucao optima finita unica- Nas figuras se-

guintes esquematizamos em que situacoes po-

demos ter solucao optima finita unica, que

tera que corresponder a um ponto extremo da

regiao admissıvel.

........................................................................ .........

...............................................................

......................................

......................................

.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

.......................................

................................................................................................

................................................................................................................................................

................................................................................................................................................................................................

................................................................................................................................................................................................................

................................................................................................................................................................................................................................

................................................................................................................................................................................................................................................................

................................................................................................................................................................................................................

................................................................................................................................................................

....................

....................

....................

....................

....................

..............

..................................................................................................................

......................................

......................................

......................................

..............................................................................................................................................

................................................................

................................................................

................................................................

................................................................

..........

....................

....................

....................

....................

....................

..............

..................................................................................................................

................................................................................................................................................................................................

................................................................................................................................................................................................................................................................

................................................................................................................................................................................................................................................................................................................................

................................................................................................................................................................................................................................................................................................................................................................................................

................................................................................................................................................................................................................................................................................................................................................................................................................ ................................................................................................................................................................................................................................................................................................................................................................................................

................................................................................................................................................................................................................................................................................................................................

................................................................................................................................................................................................................................................................

................................................................................................................................................................................................

......................................

...................................................................................................................................

..........................................................

optimo unico

(a) (b)

7

Optimos finitos alternativos- Ocorrem quandoo hiperplano que caracteriza a funcao objec-tivo e paralelo a uma das arestas da regiaoadmissıvel, e estao representados nas figurasseguintes.

......................................

......................................

.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

.......................................

................................................................................................

................................................................................................................................................

................................................................................................................................................................................................

................................................................................................................................................................................................................

................................................................................................................................................................................................................................

................................................................................................................................................................................................................................................................

................................................................................................................................................................................................................

................................................................................................................................................................

......................................

......................................

..............................................................................................................................................

................................................................

................................................................

................................................................

................................................................

..........

................................................................................................................................................................................................

................................................................................................................................................................................................................................................................

................................................................................................................................................................................................................................................................................................................................

................................................................................................................................................................................................................................................................................................................................................................................................

................................................................................................................................................................................................................................................................................................................................................................................................................ ................................................................................................................................................................................................................................................................................................................................................................................................

................................................................................................................................................................................................................................................................................................................................

................................................................................................................................................................................................................................................................

................................................................................................................................................................................................

...................................................................................................................................

..........................................................

.......... .......... .......... .......... .......... .......... .......... .......... .......... .......... .......... .......... .......... .......... .......... .......... ..........

....................

....................

....................

....................

....................

....................

....................

....................

..........

....................................................................................................................................................................................................................................................................

(a) (b)

optimassolucoes

optimassolucoes

Solucao ilimitada - A regiao admissıvel e o va-lor da solucao optima sao ilimitados.

......................................

......................................

..........................................................................................................................................................

...................................

...................................

...................................

...................................

...................................

..

................................................................................................................................................................................................................................................................

................................................................................................................................................................................................................................................................................................................................

................................................................................................................................................................................................................................................................

................................................................................................................................................................................................

................................................................................................................................

................................................................

....................................................................................................................................................................................

....................................................................................................................................................................................

....................................................................................................................................................................................

....................................................................................................................................................................................

8

O Metodo Simplex

O Metodo Simplex pesquisa a solucao optimaapenas entre as solucoes basicas admissıveis,atraves de um processo iterativo efectuado demodo que o valor da funcao objectivo decrescaem cada iteracao. Considere-se o programalinear na sua forma normal:

Minimize cTxsujeito a Ax = b

x ≥ 0

Podemos transformar a funcao objectivo z =c1x1 + c2x2 + . . . + cnxn numa restricao

c1x1 + c2x2 + . . . + cnxn − z = 0

sendo entao possıvel escrever o problema naforma tabular seguinte:

x1 x2 . . . xn −za11 a12 . . . a1n 0 b1a21 a22 . . . a2n 0 b2. . . . . . . . . . . . . . . . . .am1 am2 . . . amn 0 bm

c1 c2 . . . cn 1 0

9

O algoritmo requer uma solucao basica ad-missıvel inicial. Supohamos que sem perda degeneralidade, tal solucao corresponde a J ={1, . . . , m}. Usando Eliminacao de Gauss-Jordane possıvel obter o seguinte quadro:

x1 x2 . . . xm xs . . . xn −z

x1 1 0 . . . 0 a1s . . . a1n 0 b1x2 0 1 . . . 0 a2s . . . a2n 0 b2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xm 0 0 . . . 1 ams . . . amn 0 bm

−z 0 0 . . . 0 cs . . . cn 1 −z

Assim, a solucao basica e dada por

xi = bi, i = 1, . . . , m e xj = 0, j = m+1, . . . , n

e o valor da funcao objectivo e z = z. Alemdisso, b ≥ 0, por se tratar de uma solucao ad-missıvel.

Do quadro, tem-se

z = z + cm+1xm+1 + . . . + csxs + cnxn

10

Se cj ≥ 0 para todo o j 6∈ J entao o valorda funcao objectivo em qualquer outra solucaobasica admissıvel e maior ou igual a z, e por-tanto a solucao basica corrente e a optima, eo metodo termina.

Suponhamos que existe pelo menos uma com-ponente cj negativa e seja

cs = min{cj : cj < 0}Entao a variavel xs (nao basica) deve ver o seuvalor aumentado (passando a basica) porquee ela que promove uma maior diminuicao dafuncao objectivo. No entanto, o aumento naopode ser arbitrario, para nao tornar negativanenhuma das variaveis basicas.

Assim, xs deve tomar o valor θ ≥ 0 tal quex1 = b1 − θa1s ≥ 0x2 = b2 − θa2s ≥ 0

...xm = bm − θams ≥ 0

11

Se ais ≤ 0 para todo i = 1, . . . , m entao θ pode

aumentar indefinidamente e o problema e ili-

mitado.

Se pelo contrario existe um i ∈ {1, . . . , m} tal

que ais > 0 entao θ tem que satisfazer a condicao

θ ≤ bi

ais, para todo i ∈ {1, . . . , m} tal que ais > 0

Seja

br

ars= min

{bi

ais: ais > 0

}

Se xs tomar o valor

θ =br

ars

entao xr = 0 e passa a nao basica por troca

com xs.

12

No quadro de eliminacao troca-se xs com xr,

obtendo-se uma nova solucao basica admissıvel,

a qual esta associado um valor da funcao ob-

jectivo dado por

z − csbr

ars≤ z

O processo e novamente repetido ate se atin-

gir uma solucao optima. Resumidamente, o

Metodo Simplex e composto dos seguintes pas-

sos:

13

Passo 0 : Seja x uma solucao basica admissıvel

inicial associada a um conjunto J.

Passo 1: Se cj ≥ 0 para todo j 6∈ J, termine:

x e solucao optima. De outro modo, de-

termine cs a partir de cs = min{cj : cj < 0}.

Passo 2: Se ais ≤ 0 para todo i = 1, . . . , m,

termine: o problema e ilimitado. De outro

modo, calcule r a partir de

br

ars= min

{bi

ais: ais > 0

}Actualize o conjunto J para

J → J − {t} ∪ {s}com t a variavel basica associada a r-esima

linha no quadro. Actualizar o quadro usando

Eliminacao de Gauss-Jordan e regressar ao

Passo 1.

14

Fase 1 do Metodo Simplex

Como se afirmou anteriormente, o metodo sim-plex necessita de uma solucao basica admissıvelinicial. Em geral, tal solucao e difıcil de obter,pelo que vamos apresentar a chamada Fase1 do metodo simplex, desenvolvida com esseproposito.

Seja o programa linear

min cTxs.a Ax = b

x ≥ 0

Seja J o conjunto das variaveis basicas associ-adas a uma solucao basica do sistema Ax = b,e

B = [A.j]j∈J

Entao

BxJ + NxL = b

com L = {1, . . . , n} − J e N = [A.j]j∈L.

15

Como B e nao singular,

xJ + B−1NxL = B−1b

Substituindo em z = cTx, vem

z = cTJ xJ + cT

LxL

= cTJ

(B−1b−B−1NxL

)+ cT

LxL

= cTJ B−1b +

(cTL − cT

J B−1N)

xL

A forma tabular associada a esta solucao eentao

xJ xL −zxJ I AL 0 b−z 0 cL 1 −z

com

A.j = B−1A.j

cj = cJ − cTJ A.j = cJ − πTA.j

para j ∈ L e π tal que BTπ = cJ .

16

Alem disso

b = B−1b ⇔ Bb = b

e a solucao basica fornecida pelo quadro ante-

rior e admissıvel se b ≥ 0.

Suponhamos que existe uma linha i tal que

bi < 0. Consideremos a introducao de uma

variavel artificial x0, que seria igual a zero em

qualquer solucao admissıvel do problema. Para

isso introduz-se um vector p no quadro anterior

tal que p ≤ 0 e pi < 0 se bi < 0. Entao o quadro

toma a seguinte forma:

xJ xL x0 −zxJ I AL p 0 b−z 0 cL 0 1 −z

O objectivo na Fase 1 vai ser encontrar uma

solucao do sistema alargado com x0 = 0.

17

Para isso procura-se resolver o programa linear

min x0s.a −z + cTx = 0

Ax + (Bp)x0 = bx ≥ 0, x0 ≥ 0

A seguir mostramos que e facil obter uma solucaobasica admissıvel inicial para este programa li-near. Sem perda de generalidade, suponha-mos J = {1, . . . , m} e construamos o quadrona forma:

x1 x2 . . . xm xm+1 . . . xn x0 −z

x1 1 0 . . . 0 a1,m+1 . . . a1n p1 0 b1x2 0 1 . . . 0 a2,m+1 . . . a2n p2 0 b2...

...... . . . ...

......

......

xm 0 0 . . . 1 am,m+1 . . . amn pm 0 bm

−z 0 0 . . . 0 cm+1 . . . cn 0 1 −z

Da definicao de p, sabemos que existe um valorpara x0 para o qual

xi = bi − pix0 ≥ 0, i = 1, . . . , m

Como pi = 0 para bi ≥ 0 entao

pix0 ≤ bi

para todo o i tal que bi < 0.

18

Entao

x0 ≥bi

pipara todo o i tal que bi < 0

Deste modo, se r for definido por

br

pr= max

{bi

pi: pi < 0

}entao a troca de x0 com xr estabelece umasolucao basica admissıvel para o programa li-near alargado.

Ao resolvermos este programa linear usando ometodo simplex, duas situacoes podem ocor-rer:

1. minx0 = 0 e obtem-se uma solucao basicaadmissıvel para o programa linear original;

2. minx0 > 0 e o conjunto admissıvel do pro-grama linear original e vazio.

19

Se ocorrer o primeiro caso, entao a variavel

x0 e suprimida e o metodo simplex e iniciado

com a solucao basica obtida. No segundo caso

o algoritmo para e o programa linear nao tem

qualquer solucao admissıvel.

Assim, a Fase 1 do metodo simplex consiste

em considerar uma variavel artificial x0 e uma

coluna p tal que

pi ≤ 0 e pi < 0 para bi < 0

Depois x0 e introduzida na base por troca com

a variavel basica que se encontra na linha r de-

finida anteriormente. Finalmente o programa

linear alargado e resolvido pelo metodo sim-

plex. Na pratica, as componentes negativas

de p costumam ser iguais a −1.

20

Exemplo: consideremos o programa linear

min x1 + 2x2s.a x1 + x2 ≤ 2

x1 − x2 ≥ 1x1, x2 ≥ 0

Este problema tem que ser convertido na forma

normal:

min x1 + 2x2s.a x1 + x2 + x3 = 2

x1 − x2 − x4 = 1x1, x2, x3, x4 ≥ 0

Se multiplicarmos ambos os membros da res-

tricao x1 − x2 − x4 = 1 por −1, obtem-se de

imediato uma solucao basica cuja matriz base

e a identidade, e que tem a seguinte forma

tabular:

x1 x2 x3 x4 −zx3 1 1 1 0 0 2x4 -1 1 0 1 0 -1−z 1 2 0 0 1 0

21

Esta solucao nao e admissıvel, uma vez que

b2 < 0. Deveremos introduzir a variavel x0 e o

vector

p =

[0

−1

]obtendo-se a seguinte solucao basica do pro-

grama linear alargado:

x1 x2 x3 x4 x0 −zx3 1 1 1 0 0 0 2x4 -1 1 0 1 -1 0 -1−z 1 2 0 0 0 1 0

A variavel x0 passa a basica por troca com

a variavel que esta na linha r definida pelo

criterio anterior. Neste caso, p2 e a unica com-

ponente negativa de p pelo que r = 2. Entao

x0 vai trocar com x4 e obtem-se o quadro

x1 x2 x3 x4 x0 −zx3 1 1 1 0 0 0 2x0 1 -1 0 -1 1 0 1−z 1 2 0 0 0 1 0

22

Deste quadro tem-se

x0 = −x1 + x2 + x4 + 1,

pelo que x1 deve aumentar de valor para mi-nimizar x0. Isto quer dizer que em geral avariavel a escolher para entrar na base deveser aquela que tenha coeficiente mais positivona linha da variavel x0.

Se a linha r de x0 tiver coeficientes fj, j 6∈ J,ha duas possibilidades:

1. fj ≤ 0 para todo j 6∈ J e minx0 = br >

0. Neste caso, a fase 1 termina com aindicacao de que o conjunto admissıvel doprograma linear e vazio.

2. existe pelo menos um j 6∈ J tal que fj > 0.Escolhe-se a variavel nao basica xs a incluirna base a partir de

fs = max{fj : fj > 0

}23

No nosso exemplo concreto, temos por este

criterio s = 1, sendo x1 a variavel escolhida

para passar a basica. A escolha da variavel

que devera passar a nao basica por troca com

x1 e feita usando o criterio do quociente usado

no simplex usual, surgindo

min{2

1,1

1

}⇒ r = 2

devendo por isso x0 saır da base. Da troca

obtem-se o seguinte quadro:

x1 x2 x3 x4 x0 −zx3 0 2 1 1 -1 0 1x1 1 -1 0 -1 1 0 1−z 0 3 0 1 -1 1 -1

Donde x0 = 0 e a Fase 1 termina com uma

solucao basica admissıvel para o programa li-

near dado. A variavel pode pois ser suprimida

pelo que a solucao e dada por x1 = x3 = 1,

x2 = x4 = 0 e o conjunto associado e J =

{3,1}.24

O quadro correspondente a esta solucao e dado

por

x1 x2 x3 x4 −zx3 0 2 1 1 0 1x1 1 -1 0 -1 0 1−z 0 3 0 1 1 -1

que facilmente se constata ser a solucao optima.

Consideremos agora o programa linear

min x1 + 2x2s.a x1 + x2 ≤ 1

x1 − x2 ≥ 2x1, x2 ≥ 0

que pode ser escrito na forma

min x1 + 2x2s.a x1 + x2 + x3 = 1

−x1 + x2 + x4 = −2x1, x2, x3, x4 ≥ 0

25

Tendo em conta o termo independente da se-

gunda restricao, justifica-se o recurso a Fase 1

do metodo simplex, atraves do seguinte qua-

dro:

x1 x2 x3 x4 x0 −zx3 1 1 1 0 0 0 1x4 -1 1 0 1 -1 0 -2−z 1 2 0 0 0 1 0

Facilmente se constata que x4 tem que trocar

com x0, obtendo-se entao o quadro:

x1 x2 x3 x4 x0 −zx3 1 1 1 0 0 0 1x0 1 -1 0 -1 1 0 2−z 1 2 0 0 0 1 0

26

Como f1 > 0 e f2, f4 ≤ 0, entao x1 entra na

base. Alem disso, pelo criterio do quociente,

min{1

1,2

1

}= 1 ⇒ r = 1

e e x3 que vai saır da base por troca com x1:

x1 x2 x3 x4 x0 −zx1 1 1 1 0 0 0 1x0 0 -2 -1 -1 1 0 1−z 0 1 -1 0 0 1 -1

Como fj ≤ 0 para todo o J 6∈ J e b2 = 1 > 0

entao minx0 > 0 e a Fase 1 termina indicando

que o conjunto admissıvel e vazio.

27

Optimos alternativos e degenerescencia

Consideremos um programa linear na formanormal:

min cTxs.a Ax = b

x ≥ 0

e seja J o conjunto de ındices correspondenteas variaveis basicas da solucao optima desseprograma. Se suposermos sem perda de ge-neralidade que J = {1, . . . , m}, entao podemosconsiderar o quadro

x1 x2 . . . xm xm+1 . . . xn −z

x1 1 0 . . . 0 a1,m+1 . . . a1n 0 b1x2 0 1 . . . 0 a2,m+1 . . . a2n 0 b2... ... ... . . . ... ... . . . ... ... ...

xm 0 0 . . . 1 am,m+1 . . . amn 0 bm

−z 0 0 . . . 0 cm+1 . . . cn 1 −z

Alem disso cj ≥ 0 para todo j 6∈ J. Destequadro conclui-se que

z = z + cm+1xm+1 + . . . + cnxn = z +∑i 6∈J

cjxj

28

Se cj > 0 para todo j 6∈ J entao a solucao

optima e unica. Caso contrario, havera variaveis

que com valores diferentes conduzirao ao mesmo

valor da funcao objectivo, pelo que estamos

perante optimos alternativos.

Consideremos o programa linear

min x2s.a x1 + x2 ≤ 1

2x1 + x2 ≤ 2x1, x2 ≥ 0

Introduzindo as variaveis de folga x3 e x4, a

solucao basica admissıvel inicial tem associada

o conjunto J = {3,4} e a forma tabular:

x1 x2 x3 x4 −zx3 1 1 1 0 0 1x4 2 1 0 1 0 2−z 0 1 0 0 1 0

29

Constata-se facilmente que estamos perante

uma solucao optima, mas como c1 = 0, esta

solucao nao e unica, e o aumento do valor de

x1 nao acarretara qualquer alteracao no va-

lor da funcao objectivo. Entao x1 pode pas-

sar a basica por troca com uma das variaveis

basicas, x3 ou x4. Pelo criterio do quociente:

min

{bi

ai1: ai1 > 0

}= min

{1

1,1

2

}= 1

Como se verifica empate, estabelece-se r = 1,

e x1 troca com x3. Obtem-se assim uma nova

solucao basica, a qual corresponde o quadro:

x1 x2 x3 x4 −zx1 1 1 1 0 0 1x4 0 -1 -2 1 0 0−z 0 1 0 0 1 0

Esta solucao basica corresponde ao mesmo va-

lor da funcao objectivo. No exemplo apresen-

tado ocorreu um empate no criterio de quo-

ciente mınimo. Neste caso, estamos em pre-

senca de uma solucao basica degenerada.

30

Tratamento de variaveis sem restricao desinal

Consideremos o programa linear

min cTxs.a Ax = b

xj ≥ 0, j ∈ S

com S um subconjunto de {1, . . . , n} tal queas variaveis xi, com i 6∈ S nao tem restricaode sinal. Quando o numero de variaveis semrestricao de sinal e maior ou igual a m, o pro-blema e em geral ilimitado, pelo que iremosapenas considerar o caso em que e menor quem.

Essas variaveis vao ser introduzidas na baseainda antes da Fase 1 do metodo simplex, eserao obrigadas a permanecer basicas, pelo quenao terao qualquer influencia no desenrolar dometodo. Para isso o criterio do quociente naodevera considerar as linhas das variaveis semrestricao de sinal para efeitos de saıda da base.

31

Consideremos o seguinte exemplo:

min x1 + x2 + x3s.a x1 + x2 − x3 ≤ 1

x1 − x2 + 2x3 ≤ 2x1, x2 ≥ 0

onde a variavel x3 nao tem restricao de sinal.

Introduzindo as slacks x4 e x5 obtemos a se-

guinte solucao basica admissıvel:

x1 x2 x3 x4 x5 −zx4 1 1 -1 1 0 0 1x5 1 -1 2 0 1 0 2−z 1 1 1 0 0 1 0

Como x3 nao tem restricao de sinal, essa variavel

deve de imediato passar a basica, e por aplicacao

do criterio do quociente e x5 que deve saır da

base. Mesmo que so haja elementos negativos

ou nulos na coluna de x3, a escolha recairia

sobre qualquer um dos elementos estritamente

negativos.

32

A troca previamente referida conduz a seguinte

solucao basica admissıvel:

x1 x2 x3 x4 x5 −zx4 3/2 1/2 0 1 1/2 0 2x3 1/2 -1/2 1 0 1/2 0 1−z 1/2 3/2 0 0 -1/2 1 -1

Uma vez colocada x3 na base, e possıvel iniciar

o metodo simplex, de forma a que x3 doravante

nao saia da base. Deste modo, x5 reentra na

base por troca com x4, obtendo-se o quadro:

x1 x2 x3 x4 x5 −zx5 3 1 0 2 1 0 4x3 -1 -1 1 -1 0 0 -1−z 2 2 0 1 0 1 1

Com este quadro chegamos a solucao optima

x1 = x2 = 0, x3 = −1, x4 = 0 e x5 = 4.

33

Forma Revista do Metodo Simplex

A forma revista do metodo simplex revela-se

mais adequada a resolucao de Programas Li-

neares de grande dimensao (muitas variaveis

e/ou muitas restricoes). Consideremos o Pro-

grama Linear na forma normal:

min cTxs.a Ax = b

x ≥ 0

com A de ordem m × n. Seja x uma solucao

basica admissıvel deste programa, a qual esta

associado o conjunto J de ındices, e seja L =

{1, . . . , n}− J. Se B = [A.j]j∈J , entao x e dada

por {xL = 0XJ = b

com

Bb = b

34

Alem disso, se N = [A.j]j∈L, entao{xJ = B−1b−B−1NxL

z = cTJ B−1b +

(cL − cT

J B−1N)

xL

Como se tem xL = 0, entao o valor da funcao

objectivo e

z = cTJ B−1b

Seja agora π ∈ m o vector definido por

BTπ = cJ

Entao

z =((

B−1)T

cJ

)Tb = πTb

e

z = z +∑j∈L

(cj −

((B−1

)TcJ

)A.j

)xj

35

Podemos entao concluir que

z = z +∑j∈L

cjxj

com

cj = cj − πTA.j, z = πTb

No metodo simplex, a solucao basica e optimase cj ≥ 0 para j ∈ L. De outro modo, escolhe-se a coluna s tal que

cs = min{ci : i ∈ L, ci < 0}

A variavel xs deve aumentar o seu valor. Poremcomo todas as outras variaveis nao basicas semantem nulas, tem-se que

xJ = b−(B−1A.s

)xs

Se A.s for dada por

BA.s = A.s

entao

xJ = b−A.sxs

36

Se A.s ≤ 0 entao a funcao objectivo tende para

−∞ no conjunto admissıvel do programa linear.

De outro modo, seja r tal que

θ =br

ars= min

{bi

ais: ais > 0

}

O conjunto J e actualizado por

J = J − {t} ∪ {s}em que t e o ındice da variavel basica corres-

pondente a linha r. As componentes de b sao

actualizadas da seguinte forma:{br = θbi = bi − aisθ, i 6= r

A solucao basica corrente sera dada por xJ = b

e xL = 0. O processo e posteriormente repe-

tido.

37

Passo 0: Sejam J e L = {1, . . . , n} − J e B =

[A.j]j∈J dados. Calcule b dado por Bb = b

(b ≥ 0).

Passo 1: Calcule

BTπ = cJ

z = πTb

cj = cj − πTA.j, j ∈ L

Passo 2: Se cj ≥ 0 para todo j ∈ L, termine:

(xJ = b, xL = 0) e a solucao optima do

problema. De outro modo seja

cs = min{cj : j ∈ L, cj < 0}

38

Passo 3: Calcule A.s a partir de

BA.s = A.s

Se ais ≤ 0 para todo o i = 1, . . . , m termine:

o problema e ilimitado. De outro modo,

calcule

θ =br

ars= min

{bi

ais: ais > 0

}

Passo 4: Actualize J atraves de

J = J − {t} ∪ {s}com t o ındice da variavel basica corres-

pondente a linha r. Faca{br = θbi = bi − aisθ, i 6= r

Volte ao Passo 1.

39

Consideremos o seguinte exemplo:

min x1 − 2x2 + 4x4s.a x1 + x2 + x3 + x4 = 2

x1 − x2 = 1x1, x2, x3, x4 ≥ 0

Se J = {1,3}, entao L = {2,4}. Alem disso

B =

[1 11 0

]e

Bb = b ⇔[

1 11 0

] [b1b2

]=

[21

]⇔

{b1 = 1b2 = 1

Portanto a solucao basica (xJ = b, xL = 0) e

admissıvel e pode servir como solucao inicial

do metodo simplex. Assim, no Passo 1 temos

que resolver o sistema BTπ = cJ, ou seja,[1 11 0

] [π1π2

]=

[10

]

40

obtendo-se

π =

[01

]e z = πTb =

[01

]T [21

]= 1

Como L = {2,4}, vem

c2 = c2 − πTA.2 = −2−[

01

]T [1−1

]= −1

c4 = c4 − πTA.4 = 4−[

01

]T [10

]= 4

De onde a solucao obtida nao e optima e s = 2.No Passo 3 resolve-se o sistema BA.2 = A.2,ou seja[

1 11 0

] [a12a22

]=

[1−1

]⇔

{a12 = −1a22 = 2

Entao a22 e o unico elemento positivo da co-luna 2 e nesse caso r = 2. Como x3 e a variavelbasica correspondente a r = 2, entao os con-juntos J e L sao actualizados atraves de

J = J − {3} ∪ {2} = {1,2}, L = {3,4}41

e o vector b a partir de b2 = θ = b2a22

= 12

b1 = b1 − θa12 = 1−(12

)(−1) = 3

2

A nova solucao basica e dada por

(xJ = b, xL = 0)

ou seja x1 = 32, x2 = 1

2, x3 = x4 = 0.

A matriz base associada a esta solucao e

B = [A.j]j∈J =

[1 11 −1

]Voltando ao Passo 1, executa-se uma nova

iteracao, comecando por calcular o vector π

a partir de BTπ = cJ, ou seja[1 11 −1

] [π1π2

]=

[1−2

]⇔

{π1 = −1

2π2 = 3

2

42

Entao

z = πTb =

[−1

232

]T [21

]=

1

2

c3 = c3 − πTA.3 = 0−[−1

232

]T [10

]=

1

2

c4 = c4 − πTA.4 = 4−[−1

232

]T [10

]=

9

2

Como cj ≥ 0 para j ∈ L, estamos perante a

solucao optima, dada por x1 = 32, x2 = 1

2,

x3 = x4 = 0, com valor optimo igual a z = 12.

43

Dualidade Linear

Dado o Programa Linear, designado por Pri-

mal,

min cTxs.a Ax = b

x ≥ 0

define-se o correspondente Dual como sendo

o Programa Linear:

max bTu

s.a ATu ≤ c

Na seguinte tabela apresentamos a correspondencia

entre primal e dual, supondo que a matriz A e

de ordem m× n:

Primal DualN de restricoes m nN de variaveis n m

Variaveis ≥ 0 restricoes ≤Restricoes igualdade variaveis s/ restricoes

Matriz A AT

coeficientes de custo c btermos independentes b c

44

A tıtulo de exemplo, construamos o dual do

seguinte programa:

min x1 + x2 − x3s.a x1 − 2x2 + 3x3 = 1

2x1 + x3 = −1x1, x2, x3 ≥ 0

De acordo com a tabela anterior, o dual deste

programa tomara o seguinte aspecto:

max u1 − u2u1 + 2u2 ≤ 1−2u1 ≤ 13u1 + 3u2 ≤ −1

No caso de o programa primal ter desigualda-

des do tipo ≥ ou variaveis sem restricao de

sinal, aplica-se a tabela:

Primal DualDesigualdade ≥ Variavel ≥ 0

Variavel sem restricao Restricao de igualdade

45

Determinemos o dual do seguinte programa:

min x1 − x2x1 + 2x2 ≥ 1−x1 − x2 + x3 = 0x1, x3 ≥ 0

Aplicando as duas tabelas anteriores, conclui-

mos que o dual deste programa e dado por

max u1u1 − u2 ≤ 12u1 − u2 = −1u2 ≤ 0u1 ≥ 0

Suponhamos um programa primal apenas com

desigualdades:

min cTxs.a Ax ≥ b

x ≥ 0

46

O seu dual tem a forma:

max bTu

s.a ATu ≤ cu ≥ 0

De notar que quer o primal quer o dual estao

na forma canonica, sendo por isso designados

de duais canonicos.

Seguidamente estabelecemos algumas proprie-

dades dos programas duais:

• O dual do dual de um programa linear e o

programa primal.

47

• Se

KP = {x ∈ n : Ax = b, x ≥ 0}e

KD ={u ∈ m : ATu ≤ c

}sao os conjuntos admissıveis do programa

primal e do programa dual respectivamente,

entao quaisquer que sejam x ∈ KP e u ∈KD,

bTu ≤ cTx

Esta ultima propriedade mostra que o valor ob-

jectivo de qualquer solucao admissıvel do dual

e sempre menor ou igual ao valor da funcao ob-

jectivo de qualquer solucao admissıvel do pri-

mal.

48

1. O primal tem solucao optima de valor z se

e so se o dual tem solucao optima de valor

w e alem disso z = w.

2. Se o primal e ilimitado inferiormente, o

dual e nao admissıvel.

3. Se o dual e ilimitado superiormente, o pri-

mal e nao admissıvel.

4. Se os programas primal e dual sao admissıveis,

entao ambos os programas admitem solucoes

optimas e os valores optimos sao iguais.

49

Podemos reunir os varios casos possıveis no

quadro seguinte:

......................................................................................................................................................................................................................................................................................................................................

Primal

Dual

Admissıvel Nao

Admissıvel

Admissıvel

Nao

Admissıvel

z = w

finitosw →∞

z → −∞ (Impossıvel)

50

Vejamos agora algumas situacoes concretas:

Caso I: KP 6= ∅, KD 6= ∅. Consideremos oprograma

min x1 − x2s.a x1 + x2 ≤ 1

x1, x2 ≥ 0

O seu dual e

max u1s.a u1 ≤ 1

u1 ≤ −1

Geometricamente, a situacao e a seguinte:

........................................................................

......................

......................

......................

......................

......................

......................

......................

......................

......................

......................

......................

......................

......................

......................

......................

......................

................

................................................................................................................................................................................................................................................................................................................................................................................................................

................................ ................................................................

................................................................................................

................................................................

................................................................................................

................................................................

................................

.................................................................................................................................................................

......................................

KP

Primal

−1 0 1

optimo (w = −1)

optimo (z = −1)

Dual

KD

51

Caso II: KP 6= ∅, KD = ∅. Consideremos o

programa

min −x1 − x2s.a x1 − x2 = 2

x1, x2 ≥ 0

O seu dual e

max 2u1s.a u1 ≤ −1

−u1 ≤ −1

Geometricamente,

................................................................................................................................................................................................

................................................................................................................................

qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

Primal

−1

Dual

KP

0 1

KD = ∅

52

Caso III: KP = ∅, KD 6= ∅. Consideremos o

programa

min x1s.a −x1 = 4

x1 ≥ 0

O seu dual e

max 4u1s.a −u1 ≤ 1

Geometricamente,

Primal

−1

Dual

KD

−4 0

KP = ∅

53

Caso IV: KP = ∅, KD = ∅. Consideremos o

programa

min −x1 − x2s.a −x1 + x2 = 4

x1 − x2 = 4x1, x2 ≥ 0

O seu dual e

max 4u1 + 4u2s.a −u1 + u2 ≤ −1

u1 − u2 ≤ −1

Geometricamente,

................................................................................................................................................................................................

................................................................................................................................................................................................

................................................................................................................................................................................................................................................................................................................................................................................................................................................................

................................................................................................................................................................................................................................................................................................................................

................................................................................................................................................................................................

................................................................................................................................

......................................................................................................

......................................................................................................

......................................................................................................

......................

......................

.................... ......................................

......................

......................

.................... ......................................

......................

......................

.................... ......................................

Primal Dual

4

4

KP = ∅

1

1 KD = ∅

54

Propriedade dos Desvios Complementares

Trata-se de um resultado que estabelece relacoes

importantes entre o programa primal e o seu

dual, e que pode ser enunciado da forma se-

guinte:

Consideremos os programas (P) e (D) dados

por, respectivamente,

min cTxs.a Ax ≥ b

x ≥ 0

e

max bTu

s.a ATu ≤ cu ≥ 0

55

Se x e u sao solucoes optimas de (P) e de (D),respectivamente, entao:

1. xi > 0 ⇒ (ATu− c)i = 0;

2. (ATu− c)i < 0 ⇒ xi = 0;

3. ui > 0 ⇒ (Ax− b)i = 0;

4. (Ax− b)i > 0 ⇒ ui = 0.

Esta propriedade tambem e conhecida como oTeorema de Complementaridade de Slacks.

Se x e u sao solucoes admissıveis de (P) e de(D) respectivamente, tais que

xT (ATu− c) = uT (Ax− b) = 0

Entao

cTx = xTc = xTAu = uTATx = uTb = bTu

56

Neste caso, x e u sao solucoes optimas de (P)

e de (D) respectivamente.

Desta forma, pode-se concluir que x e solucao

optima de (P) e u e solucao optima de (D) se

e so se (x, u) satisfaz ao sistema:

Ax ≥ bx ≥ 0ATu ≤ cu ≥ 0xT (ATu− c) = 0uT (Ax− b) = 0

Por outro lado, se o primal for da forma

min cTxs.a Ax = b

x ≥ 0

entao o dual e da forma

max bTu

ATu ≤ c

57

Desta forma x e u serao optimos respectiva-mente do primal e do dual se (x, u) satisfizera:

Ax = bx ≥ 0ATu ≤ c

xT (ATu− c) = 0

Como exemplo, consideremos o programa

min x1 − x2s.a x1 + x2 = 1

x1, x2 ≥ 0

O seu dual e

max u1s.a u1 ≤ 1

u1 ≤ −1

e teremos um sistema da forma

x1 + x2 = 1x1, x2 ≥ 0u1 ≤ 1u1 ≤ −1x1(u1 − 1) + x2(u1 + 1) = 0

58

De notar que, uma vez que u1 − 1 ≤ 0, u1 +

1 ≤ 0 e x1, x2 ≥ 0, entao x1(u1 − 1) ≤ 0 e

x2(u1+1) ≤ 0. Logo a 5 expressao desdobra-

se em

x1(u1 − 1) = 0

x2(u1 + 1) = 0

Por outro lado, como u1 ≤ −1 entao u1 < 1 e

u1 − 1 < 0, logo x1 = 0. Substituindo na 1

expressao, temos x2 = 1. Entao necessaria-

mente u1 + 1 = 0 e u1 = −1.

59

O Metodo Dual Simplex

Consideremos o seguinte Programa Linear:

min cTxs.a Ax = b

x ≥ 0

Em cada iteracao do simplex e determinada

uma solucao basica primal admissıvel, satisfa-

zendo a

xJ = b ≥ 0, xL = 0

com J o conjunto das variaveis basicas, L o

conjunto das variaveis nao basicas e

Bb = b

com B = [A.j]j∈J .

Recordemos que em cada iteracao o vector π ∈m e determinado a partir de

BTπ = cJ

60

No caso de existir solucao optima o algoritmo

termina com

cj = cj − πTA.j ≥ 0, j ∈ L

Consideremos agora o dual do programa ante-

rior:

max bTu

s.a ATu ≤ c

E possıvel demonstrar que o vector π acima e

uma solucao admissıvel do dual. Deste modo o

metodo simplex utiliza em cada iteracao solucoes

primal admissıveis, terminando quando se obtem

uma solucao dual admissıvel. Se nao existir ne-

nhuma solucao dual admissıvel, obviamente o

dual e inadmissıvel e entao o primal e ilimitado.

61

O metodo dual simplex resolve o programa

primal usando solucoes dual admissıveis e pa-

rando quando encontra uma solucao primal ad-

missıvel. Assim, em cada iteracao tem-se

cj = cj − πTA.j ≥ 0, j 6∈ J

com BTπ = cJ, e procura-se uma solucao de

base B tal que

Bb = b, b ≥ 0

Passemos agora a descrever uma iteracao do

metodo dual simplex. Suponhamos sem perda

de generalidade que J = {1, . . . , m}. O quadro

simplex correspondente ira ser

x1 x2 . . . xm xm+1 . . . xs . . . xn −z

x1 1 0 . . . 0 a1,m+1 . . . a1s . . . a1n 0 b1x2 0 1 . . . 0 a2,m+1 . . . a2s . . . a2n 0 b2...

...... . . . ...

......

......

...xm 0 0 . . . 1 am,m+1 . . . ams . . . amn 0 bm

−z 0 0 . . . 0 cm+1 . . . cs . . . cn 1 −z

62

Como esta solucao e dual admissıvel, entao

tem-se

cj ≥ 0, j 6∈ J

Se alem disso b ≥ 0, entao a solucao e tambem

primal admissıvel e nesse caso sera optimo, ter-

minando aqui o processo.

Suponhamos entao sem perda de generalidade

que bm < 0. Entao xm saira da base por troca

com uma variavel nao basica. Porem, do qua-

dro anterior tem-se que

xm = bm−am,m+1xm+1−. . .−amsxs−. . .−amnxn

Se amj ≥ 0 para todo o j 6∈ J, entao xm vai ser

negativo para todo o j 6= m desde que xj ≥ 0.

Entao o primal e inadmissıvel e o dual ilimi-

tado.

63

De outro modo, existe pelo menos um j 6∈ J

tal que amj < 0, e entao xm troca com uma

variavel nao basica. Vejamos agora como es-

colher esta variavel xs.

Pretende-se que os custos sejam actualizados

por forma que

cj − csamj

ams≥ 0

Isto implica que ha duas possibilidades:

Se amj ≥ 0 entao cj mantem-se nao negativo.

De outro modo, tem-se que seleccionar xs de

maneira que

cs

−ars= min

{cj

−arj: arj < 0, j 6∈ J

}

Em seguida passamos a resumir os passos do

metodo dual simplex:

64

Passo 0: Seja x uma solucao basica dual ad-missıvel associada a um conjunto J (cj ≥ 0para todo j 6∈ J).

Passo 1: Se b ≥ 0, termine: (xJ = b, xL = 0) esolucao optima do programa linear. De outromodo, seja

br = min{bi : bi < 0}

Passo 2: Se arj ≥ 0 para todo j 6∈ J, termine:o programa nao e admissıvel. De outro modo,calcule s com base em

cs

−ars= min

{cj

−arj: arj < 0, j 6∈ J

}

Passo 3: Actualize J atraves de

J = J − {t} ∪ {s}em que t e o ındice da variavel basica corres-pondente a r-esima linha do quadro.

Passo 4: Utilize as operacoes elementares paraactualizar o quadro e regresse ao Passo 1.

65

Problema de Transportes

Este problema consiste em programar a distri-

buicao optima de um produto que:

1. se encontra disponıvel em m origens com

quantidades fixas ai > 0, i = 1, . . . , m (oferta);

2. e necessario em n destinos com quantida-

des bj > 0, j = 1, . . . , n (procura);

3. deve ser enviado para os destinos, esgo-

tando as disponibilidades de cada origem e

satisfazendo as necessidades em cada des-

tino.

Alem disso procura-se minimizar o custo total

envolvido no programa de distribuicao desse

produto.

66

Sabendo que o custo unitario de transporte do

produto da origem i para o destino j e dado

por cij, o programa de distribuicao do pro-

duto pode ser representado graficamente da

seguinte forma:

........

......................

.................................................................................................................................. ........

......................

..................................................................................................................................

........

......................

.................................................................................................................................. ........

......................

..................................................................................................................................

........

......................

.................................................................................................................................. ........

......................

..................................................................................................................................

...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

.................................................

.................................................

.................................................

.................................................

..................................................

.................................................

.................................................

................................................

...........................

......................................

...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

......................................

.................................................

.................................................

.................................................

.................................................

.................................................

.................................................

.................................................

.................................................

........................................................

......................................

1 1

i j

m n

Oferta Procura

a1

ai

am

b1

bj

bn

c11

c1j

c1n

ci1cij

cin

cm1cmj

cmn

Este tipo de representacao e conhecido por

Grafo, denotado por G = (V, E), em que V

e o conjunto de vertices e E o conjunto das

arestas.

67

A formulacao matematica do problema de trans-

portes e a seguinte:

minm∑

i=1

n∑j=1

cijxij

sujeito am∑

i=1

xij = ai, i = 1, . . . , m

n∑j=1

xij = bj, j = 1, . . . , n

xij ≥ 0, i = 1, . . . , m, j = 1, . . . , n

onde as variaveis xij representam as quantida-

des a enviar da origem i para o destino j. Para

que o problema seja possıvel de resolver e ne-

cessario que a quantidade a enviar seja igual a

que chega aos destinos, ou seja,

m∑i=1

ai =n∑

j=1

bj

68

A tıtulo de exemplo, suponhamos que uma em-

presa possui dois armazens A1 e A2 com 100 e

50 unidades de um determinado produto com

que abastece tres mercados M1, M2 e M3 que

consomem respectivamente 80, 30 e 40 unida-

des. Alem disso os custos de transporte dos

armazens Ai para os mercados Mj sao dados

pela seguinte tabela:

M1 M2 M3A1 5 3 2A2 4 2 1

O grafo associado a este problema e o se-

guinte:

........

......................

..................................................................................................................................

........

......................

..................................................................................................................................

........

......................

..................................................................................................................................

........

......................

.................................................................................................................................

........

......................

.................................................................................................................................

..................................

...................................

...................................

...................................

...................................................

.....................................................................................................................................................................................

......................................................................................................................................................................................................................................................

......................................................................................................................................................................................................................................................

................................................................

...............................................................

...................................................

..............................................................................................................................................................................................

1

2

1

2

3

53

24

2

1

100

50

80

30

40

ai bj

69

A formulacao matematica deste problema e a

seguinte:

min 5x11 + 3x12 + 2x13 + 4x21 + 2x22 + x23s.a x11 + x12 + x13 = 100

x21 + x22 + x23 = 50x11 + x21 = 80x12 + x22 = 30x13 + x23 = 40xij ≥ 0, i = 1,2, j = 1,2,3

Seguidamente apresentamos dois resultados fun-

damentais para a resolucao deste tipo de pro-

blemas:

1. O problema de transportes tem solucao

optima.

2. Se Ax = d sao as restricoes de igualdade

do problema de transportes, entao a carac-

terıstica de A e igual a m + n− 1.

70

Daqui podem-se tirar os resultados seguintes:

1. Se ai e bj sao numeros inteiros, entao qual-

quer solucao basica admissıvel tem valores

inteiros.

2. Se cij sao numeros inteiros, entao qualquer

solucao dual basica tem valores inteiros.

Estamos agora em condicoes de investigar a

utilizacao do metodo simplex aplicado a este

tipo de problemas. O processo ira consistir em

duas fases, na primeira das quais se obtera uma

solucao basica admissıvel inicial, que ira iniciar

a segunda fase, na qual se obtera uma solucao

optima. Iremos constatar que estas duas fases

sao no caso do problema de transportes mais

simples que no caso geral.

71

Determinacao de uma solucao basica

admissıvel inicial

Em ambas as fases do processo iremos usar

quadros da forma:

DestinosOrigens 1 2 . . . n Oferta

c11 c12 c1n1 x11 x12 . . . x1n a1

c21 c22 c2n2 x21 x22 . . . x2n a2

......

......

......

cm1 cm2 cmnm xm1 xm2 . . . xmn am

Procura b1 b2 . . . bn

Vejamos como fica o quadro aplicado ao nosso

exemplo anterior. A solucao basica{x11 = 80, x12 = 20, x22 = 10, x23 = 40x13 = x21 = 0

DestinosOrigens 1 2 3 Oferta

5 3 21 80 20 100

4 2 12 10 40 50

Procura 80 30 40

72

Facilmente se constata neste quadro que as

somas dos valores das variaveis em cada linha

(coluna) sao iguais ao valor de oferta (procura)

referente a essa linha (coluna). Isto significa

que a solucao dada neste quadro satisfaz as

relacoes de igualdade do problema de trans-

portes. Como alem disso todos os valores das

variaveis sao nao negativos, trata-se de uma

solucao admissıvel do problema.

Regra do Canto Noroeste: processo de ob-

tencao de uma solucao basica admissıvel ini-

cial.

Comeca-se por dar um valor nao negativo a

variavel situada na entrada a noroeste (x11).

Este valor e atribuido de modo a nao violar ne-

nhuma das restricoes de igualdade e ao mesmo

tempo esgotar uma das ofertas ou procura.

Assim

x11 = min{a1, b1}73

Primeiro Caso: x11 = a1 < b1. A oferta na

linha 1 e esgotada, mas a procura na coluna 1

fica por satisfazer e tera o valor b1 − a1. Por-

tanto todas as variaveis dessa linha serao nulas

(nao basicas) e essa linha deixa de ser consi-

derada.

Segundo Caso: x11 = b1 < a1. E a situacao

inversa da anterior. A procura na coluna 1 e

esgotada enquanto a linha 1 passa a ter uma

oferta de a1 − b1. A coluna 1 deixa de ser

considerada em futuros desenvolvimentos, ou

seja, as restantes variaveis dessa coluna sao

nao basicas com valor nulo.

Terceiro Caso: x11 = a1 = b1. Neste caso

quer a oferta quer a procura sao esgotadas.

No entanto nao podemos tornar nao basicas

as variaveis nulas, pois isso iria conduzir a uma

solucao basica com menos de m+n−1 variaveis.

74

Neste caso consideram-se nao basicas apenas

as variaveis correspondentes a linha 1 ficando

apenas a oferta esgotada. A procura ficara

com valor zero, pelo que a solucao basica sera

degenerada.

Este tipo de processo e repetido e m + n −1 iteracoes conduzirao a uma solucao basica

admissıvel. Aplicando ao nosso exemplo,

x11 = min{80,100} = 80

e esgota-se a procura na coluna 1. Entao a

outra variavel dessa coluna, x21 sera nula e nao

basica. A oferta na linha 1 passara a ser 100−80 = 20. Portanto apos a primeira iteracao

teremos o quadro:

DestinosOrigens 1 2 3 Oferta

5 3 21 80 20

4 2 12 nb 50

Procura 0 30 40

75

A regra do canto noroeste vai agora determinar

o valor da variavel

x12 = min{20,30} = 20

A oferta fica esgotada e a procura nessa colunavai ficar igual a 30 − 20 = 10, obtendo-se oseguinte quadro:

DestinosOrigens 1 2 3 Oferta

5 3 21 80 20 nb 0

4 2 12 nb 50

Procura 0 10 40

A regra do Canto Noroeste escolhe agora

x22 = min{10,50} = 10

obtendo-se

DestinosOrigens 1 2 3 Oferta

5 3 21 80 20 nb 0

4 2 12 nb 10 40

Procura 0 0 40

76

Finalmente, x23 = min{40,40} = 40 e obtem-se

DestinosOrigens 1 2 3 Oferta

5 3 21 80 20 nb 0

4 2 12 nb 10 40 0

Procura 0 0 0

que corresponde a solucao admissıvel que apre-

sentamos anteriormente.

77

Metodo Simplex para o Problema de

Transportes

O metodo simplex consiste nos seguintes pas-

sos:

Primeiro: Determinacao da variavel nao basica

xs que passa a basica, a partir de

crs = min{cij, (i, j) ∈ L}com L o conjunto dos ındices (i, j) nao basicas.

Alem disso

cij = cij − πTAij

com π ∈ n+m uma solucao dual. Se cij ≥ 0

para todo o (i, j) ∈ L entao a solucao basica

admissıvel corrente e optima.

78

Segundo: Determinacao da variavel basica a

passar a nao basica: A variavel xrs escolhida

no passo primeiro deve tomar o valor positivo

θ tal que nenhuma variavel basica viole as res-

tricoes de nao negatividade e de igualdade do

problema. Esse valor θ e atingido para um

certo par (l, k) e xlk passa a nao basica com

valor igual a zero.

Vamos discutir como efectuar estes passos usando

a estrutura apresentada anteriormente. O pri-

mal e o dual deste problema podem ser escritos

da seguinte forma:

minz = c11x11 + . . . +c1nx1n + . . . +cm1xm1 + . . . +cmnxmn

≥ ≥ ≥ ≥s.a(u1) x11 . . . +x1n = a1

. . . ...(um) xm1 + . . . +xmn = am

(v1) x11 +xm1 = b1. . . . . . ...

(vn) x1n xmn = bn

79

Tendo em conta o teorema da complementa-

ridade de slacks, tem-se

ui + vj = cij, para todo (i, j) ∈ J

com J o conjunto dos ındices (i, j) das variaveis

basicas. Como J tem m + n − 1 elementos e

as variaveis ui e vj sao m + n, entao o sistema

assim formado e indeterminado. Uma solucao

pode ser obtida fazendo u1 = 0 e obtendo as

restantes variaveis. Consideremos o exemplo

da seccao anterior. Iremos obter:u1 + v1 = 5u1 + v2 = 3u2 + v2 = 2u2 + v3 = 1

Fazendo u1 = 0 facilmente se obtem as res-

tantes variaveis, obtendo-se v1 = 5, v2 = 3,

u2 = −1 e v3 = 2.

80

Na pratica os valores de ui e vj sao calculadoscom recurso ao quadro seguinte:

vj 5 3 2Destinos

ui Origens 1 2 3 Oferta5 3 2

0 1 80 20 1004 2 1

−1 2 10 40 50Procura 80 30 40

Para calcular os coeficientes dos custos reduzi-dos associados as variaveis nao basicas (i, j) ∈L usa-se a formula

cij = cij − πTAij

Para o problema de transportes e possıvel mos-trar que

cij = cij − (ui + vj)

Estas formulas sao muito faceis de calcular di-rectamente a partir do quadro, onde as assi-nalaremos a negrito:

vj 5 3 2Destinos

ui Origens 1 2 3 Oferta5 3 2

0 1 80 20 0 1004 2 1

−1 2 0 10 40 50Procura 80 30 40

81

Constata-se que neste caso estamos perante a

solucao optima, uma vez que cij ≥ 0, (i, j) ∈ L.

Vamos agora considerar o problema da deter-

minacao do valor maximo θ que uma variavel

xrs escolhida pode tomar. Essa variavel per-

tence a uma linha r e a uma coluna s. O caso

mais simples e aquele em que o aumento do

valor de xrs de zero para θ apenas afecta duas

variaveis basicas xrj e xis, segundo o esquema:

..........

..........

..........

..........

..........

..........

......................................

......................................

...................................... ...........................

...........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

−θ

−θ

r

i

j s

Se aumentarmos xrs de zero para um valor θ >

0 entao as variaveis xrj e xis vao ter que reduzir

os seus valores em exactamente θ.82

Isso vai implicar que a variavel basica xij au-

mente θ de modo a equilibrar as equacoes i e

j referentes a origem i e destino j. Esse valor

θ e calculado atraves de

θ = min{xrj, xis}Entao pelo menos uma dessas variaveis fica

nula e passa a nao basica. Se ambas as variaveis

ficarem nulas, entao passamos xrj a nao basica

ficando a outra variavel basica com valor nulo.

Acabamos de descrever um ciclo com quatro

variaveis correspondente a variavel nao basica

escolhida e a tres variaveis basicas. Podera

acontecer formarem-se ciclos com 6 ou qual-

quer outro numero par de variaveis.

83

Seguidamente apresentamos um ciclo com 6

elementos.

......................................

......................................

......................................

...................................... ...........................

........... ...........................

...........

−θ

+θ −θ

+θ −θ

+θr

t

i

j t s

Procedendo como anteriormente tem-se

θ = min{xis, xlt, xrj}Entao uma dessas variaveis basicas fica nula

e passa a nao basica, podendo tambem algu-

mas variaveis basicas ficar nulas. Nesse ultimo

caso e tal como anteriormente procura-se pas-

sar a nao basica a variavel que esgota a oferta

deixando a outra (ou outras) variaveis basicas

com valor nulo.

84

Consideremos o problema representado pelo

seguinte grafo:

........

......................

.................................................................................................................................

..............................

..................................................................................................................................

........

......................

.................................................................................................................................

..............................

..................................................................................................................................

..............................

..................................................................................................................................

..............................

..................................................................................................................................

..............................

..................................................................................................................................

.................................................

................................................

.................................................

.................................................

..................................................

.............................

......................................

.............................................................................................................................................................................................................................................................................................................................

......................................................................................................................................................................................................................................................................................................................................................................................................................................

...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

......................................................................................................................................................................................................................................................................................................................................................................................................

.................................................

.................................................

.................................................

.................................................

................................................

....................

........................

................................................................................................................................................................................................................................................................................................

......................................................................................................................................................................................................................................................................................................................................................................................

...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

......................................................................................................................................................................................................................................................................................................................................................................................................

.................................................

.................................................

.................................................

.................................................

................................................

....................

........................

................................................................................................................................................................................................................................................................................................

1

2

3

4

3

2

1

8

3

59

17

46

3 8

2

4

200

700

100

250

350

200

200

Usando a regra do Canto Noroeste obtem-se aseguinte solucao basica admissıvel inicial:

DestinosOrigens 1 2 3 4 Oferta

8 3 5 91 200 200

1 7 4 62 50 350 200 100 700

3 8 2 43 100 100

Procura 250 350 200 200

85

As variaveis duais ui (i = 1,2,3) e vj (j =1,2,3,4) e os coeficientes de custo reduzidosdas variaveis nao basicas sao calculados comoanteriormente e os valores sao apresentados noquadro seguinte:

vj 8 14 11 13Destinos

ui Origens 1 2 3 4 Oferta8 3 5 9

0 1 200 -11 -6 -4 2001 7 4 6

-7 2 50 350 200 100 7003 8 2 4

-9 3 4 3 0 100 100Procura 250 350 200 200

Entao (r, s) = (1,2) e forma-se o ciclo

.....................

................................................................................ ........

.............................................................................................

.....................

................................................................................ ........

.............................................................................................

x11 = 20 x12 = 0

x22 = 350x21 = 50

86

Portanto θ = min{200,350} = 200 e a solucao

basica e actualizada modificando os valores das

variaveis basicas da forma seguinte:

.....................

................................................................................ ........

.............................................................................................

.....................

................................................................................ ........

.............................................................................................

x11 = 200− 200 = 0

x21 = 50 + 200 = 250

x12 = 0 + 200 = 200

x22 = 350− 200 = 150

No proximo quadro apresentamos a nova solucaobasica admissıvel, bem como os valores dasvariaveis duais e os custos reduzidos das novasvariaveis nao basicas:

vj -3 3 0 2Destinos

ui Origens 1 2 3 4 Oferta8 3 5 9

0 1 11 200 5 7 2001 7 4 6

4 2 250 150 200 100 7003 8 2 4

2 3 4 3 0 100 100Procura 250 350 200 200

87

Entao

cij ≥ 0 para todo (i, j) ∈ L

com L o conjunto das variaveis nao basicas.

Portanto a solucao basica dada pelo quadro

e optima e e representada pelo seguinte dia-

grama:

........

......................

.................................................................................................................................

..............................

..................................................................................................................................

........

......................

.................................................................................................................................

..............................

..................................................................................................................................

..............................

..................................................................................................................................

..............................

..................................................................................................................................

..............................

..................................................................................................................................

.............................................................................................................................................................................................................................................................................................................................

......................................................................................................................................................................................................................................................................................................................................................................................................

................................................................................................................................................................................................................................................................................................

......................................................................................................................................................................................................................................................................................................................................................................................

................................................................................................................................................................................................................................................................................................

..................................................

.................................................

.................................................

.................................................

.................................................

..................

........................

1

2

3

4

3

2

1

200

700

100

250

350

200

200

200

250 150

200

100

100

88