Anda di halaman 1dari 18

UNIVERSIDADE DE AVEIRO

DEPARTAMENTO DE MATEM

ATICA
Notas das aulas teoricas de Optimizacao Linear.
Dualidade em Programacao Linear.
Metodo Simplex Dual.
Tatiana Tchemisova
Dezembro/2004
1 Denicao do problema dual. Correlacoes da du-
alidade.
Consideremos o problema de PL na forma geral:

jJ
c
j
x
j
max,
s.a.

jJ
a
ij
x
j
= b
i
, i I;

jJ
a
ij
x
j
b
i
, i K,
x
j
0, j J

J,
(1)
onde J, K, I sao conjuntos nitos de ndices.
Ao problema de Programacao Linear

iKI
b
i
y
i
min,
s.a.

iKI
a
ij
y
i
= c
j
, j J/J

iKI
a
ij
y
i
c
j
, j J

,
y
i
0, i K,
(2)
chamamos o problema dual do problema (1), ou, simplesmente, o problema dual;
sendo o problema (2) o problema primal.
Da denicao introduzida podemos concluir que para o problema de PL na forma
normal:
c

x max, Ax , x 0, (3)
1
o problema dual tem a forma:

x min, A

y c, y 0. (4)
O problema dual para o problema de PL na forma canonica
c

x max, Ax = b, x 0, (5)
tem a forma
b

y min, A

y c. (6)

E facil de vericar que se considerar o problema (2) como problema primal, ent ao o
problema dual vai ter a forma (1). (Verique.)
Considerando os pares dos problemas mutuamente duais (1) e (2), podemos elab-
orar uma regra de construcao do problema dual:
1. O problema dual e o problema de minimizac ao duma forma linear cujos coe-
cientes coincidem com os coecientes livres nas condicoes principais do problema
primal.
2.
`
A cada i-esima restricao principal do problema primal corresponde i-esima
variavel y
i
do problema dual. Neste caso as seguintes condic oes para a variavel
y
i
estao satisfeitas:
a) a vari avel dual y
i
nao tem nenhuma restric ao para o sinal caso i-esima re-
stricao do problema primal tem a forma da igualdade;
b) y
i
0 (y
i
0) caso i-esima restricao do problema primal tem a forma de
desigualdade com sinal ().
3.
`
A cada j-esima variavel x
j
do problema primal corresponde a j-esima restricao
principal do problema dual. Alem disso, a forma da j-esima restric ao principal
do problema dual determina-se pelas seguintes condic oes:
a) esta restric ao tem a forma de igualdade caso a variavel x
j
do problema primal
nao tem nenhuma restric ao para sinal;
b) esta restricao tem a forma de desigualdade () caso x
j
0 (x
j
0 ).
2
2 Teoria de Dualidade.
Consideremos um par dos problema duais que consiste do problema geral de PL (1)
e o problema dual correspondente (2).
Ao vector x = (x
i
, i J) que satisfaz todas as restric oes do problema primal (1)
chamamos solucao admissvel primal; ao vector y = (y
j
, j KI) que satisfaz todas
as restricoes do problema dual (2) chamamos solucao admissvel dual.
A soluc ao do problema (1) diz-se solucao optima primal, sendo a soluc ao do prob-
lema (2) solucao optima dual.
Teorema 2.1 (Teorema da dualidade). Se um dos problemas mutuamente duais
(1) e (2) admite a solucao optima, entao o outro problema tambem tem a solucao
optima. Neste caso para cada par das solucoes optimas x
0
= (x
0
j
, j J) e y
0
=
(y
0
i
, i K I) a seguinte igualdade esta satisfeita:

jJ
c
j
x
0
j
=

iKI
b
i
y
0
i
. (7)
Corolario 2.1. [Teorema da existencia] Um dos problemas dum par dos problemas
duais admite uma solucao optima se e somente se cada dos problemas deste par admite
pelo menos uma solucao admissvel.
Corolario 2.2. Para que um dos problemas duais admitir as solucoes admissveis e o
outro problema ter o conjunto de solucoes admissveis vazo e necessario e suciente
que a funcao objectivo do primeiro problema nao seja limitada em conjunto das suas
solucoes admissveis.
Corolario 2.3. Para cada par das solucoes admissveis x = (x
j
j J), y = (y
i
, i
K I) dos problemas duais (1) e (2) respectivamente a desigualdade

jJ
c
j
x
j

iKI
b
i
y
i
e valida.
3
Corolario 2.4. As solucoes admissveis x = (x
j
, j J), y = (y
i
, i KI) de um
par dos problemas duais (1) e (2) sao optimas sse

jJ
c
j
x
j
=

iKI
b
i
y
i
.
Teorema 2.2 (Teorema da complementaridade). As solucoes admissveis x pri-
mal e y dual dos problemas primal na forma canonica e o seu dual sao optimas sse
y
i
(a
i
x b
i
) = 0, i I,
(c
j
y

A
j
)x
j
= 0, j J.
Aqui a
i
e i-esima linha da matriz a; A
j
e j-esima coluna da matriz A.
Exemplo 1. Formular o problema dual para seguinte problema de PL:
x
1
10x
2
+ 2x
3
x
4
+ 7x
5
max,
s.a. 2x
1
x
2
1,
x
1
x
2
+ 2x
3
x
4
+ x
5
4,
x
2
+ x
3
x
4
= 0,
x
1
x
3
+ 2x
5
3,
x
i
0, i J

= {1, 3}.
Resolucao. Reescrevemos o problema dado na forma (1):
x
1
10x
2
+ 2x
3
x
4
+ 7x
5
max,
s.a. 2x
1
x
2
1,
x
1
+ x
2
2x
3
+ x
4
x
5
4, ()
x
1
+ x
3
2x
5
3,
x
2
+ x
3
x
4
= 0,
x
i
0, i J

= {1, 3}.
4
Agora, aplicando as regras de construc ao do problema dual obtemos:
y
1
4y
2
3y
3
min,
s.a. 2y
1
y
2
y
3
1,
y
1
+ y
2
+ y
4
= 10,
2y
2
+ y
3
+ y
4
2, ()
y
2
y
4
= 1,
y
2
2y
3
= 7,
y
i
0, i I

= {1, 2, 3}.
Notemos que o problema primal na forma (*) tem a matriz das restric oes A =

2 1 0 0 0
1 1 2 1 1
1 1 2 0 0
0 1 1 1 0

, o vector de restric oes b =

1
4
3
0

e o vector de custos
c = (1, 10, 2, 1, 7)

, quando o problema dual (**) tem a matriz de restricoes A

,
vector das restricoes c e o vector de custos b.
Exerccio 1. Escrever o problema dual ao problema de PL dado:
a)
x
1
+ 10x
2
x
3
max,
s.a. x
1
+ x
2
+ x
3
1,
x
1
x
2
x
3
2,
x
2
0;
b)
x
1
+ 2x
2
+ 3x
3
min,
s.a. x
1
+ x
2
4x
3
1,
x
1
x
2
+ x
3
= 2,
x
1
0;
c)
x
1
+ x
2
+ x
3
x
4
+ x
5
max,
s.a. x
1
x
2
+ x
3
x
4
x
5
2,
x
1
+ x
2
x
3
x
4
+ x
5
1,
x
1
x
2
x
3
x
4
+ x
5
0,
x
i
0, i = 1, 4
2.1 O signicado fsico das variaveis duais.
No cada problema pratico os elementos do problema inicial (primal) tem um sig-
nicado fsico determinado. Embora a construcao do problema dual tem a caracter
formal, para muitos problemas e possvel de atribuir um signicado fsico tambem
5
para problemas duais e para as correlac oes de dualidade que permite obter uma in-
formac ao adicional sobre as soluc oes de problema primal.
Primeiro, vamos demonstrar um Lema auxiliar.
Lema 2.1. Se x
0
e uma s.b.a. nao degenerada do problema canonico primal (5),
entao o problema dual admite uma unica solucao y
0
que coincide com o vector dos
potenciais construdo para x
0
:
u

= c

B
A
1
B
.
Demonstracao. Para u e para a soluc ao admissvel dual arbitraria y calculamos:
b

y b

u = (y u)

b = (y

A
B
c

B
)x
0
B
.
Da ultima expressao temos que b

y b

u > 0 caso x
0
B
> 0, y

A
B
c

B
= 0. Logo, a
cada solucao optima dual y
0
tem de coincidir com u. O lema esta demonstrado.
Teorema 2.3. Seja x
0
= x
0
b
uma s.b.a. nao degenerada optima do problema canonico
(5), correspondente ao vector b. Neste caso as componentes da solucao optima dual
y
0
satisfazem as igualdades :
y
0
i
=
c

x
0
b
b
i
=

b
i
max
Ax=b,x0
c

x, i = 1, m. (8)
Demonstracao. Seja matriz basica A
B
correspondente `a s.b.a. x
0
. A desigual-
dade x
0
B
= A
1
B
b > 0 para b sucientemente pequeno, implica a desigualdade
A
1
B
(b + b) > 0, i.e. o vector x
0
b+b
= {A
1
B
(b + b), x
0
(J
N
) = 0} e a s.b.a. nao
degenerada do problema (5) onde o vector b esta substitudo pelo b + b. Uma vez
que as solucoes admissveis basicas x
0
b
e x
0
b+b
tem matrzes basicas comuns, ent ao
as estas solucoes corresponde a mesma solucao dual optima y
0
. Assim, utilizando a
correlac ao de dualidade (7) obtemos as igualdades:
c

x
0
b+b
c

x
0
b
= y
0
(b + b) y
0
b = y
0
b,
que contem a outra formula cao das igualdades (8). O Teorema esta demonstrado.
6
2.2 A solucao admissvel dual basica.
Consideramos um par dos problemas duais que consiste de problema canonico na
forma (5) e do seu problema dual (6)
1
. Supomos que em (5) A = (a
ij
, i I, j
J), rankA = m, m = |I|.
Ao vector y = (y
i
, i I) chamamos a solucao admissvel dual se A

y c.
`
A soluc ao admissvel dual y = (y
i
, i I) chamamos a solucao dual basica caso
existe um conjunto J
B
J tal que:
1) |J
B
| = m;
2) (A
j
)

y = c
j
, j J
B
;
3) det A
B
= 0 onde A
B
= (A
j
, j J
B
).
Como e habitual, vamos dizer que o conjunto J
B
e a base ou o conjunto dos ndices
basicos, sendo matriz A
B
a matriz basica. Ao conjunto J
N
: J
N
= J/J
B
chama-se
conjunto dos ndices nao-basicos.

E facil de vericar que dado o conjunto dos ndices basicos J


B
a solucao admissvel
dual basica encontra-se unicamente pelas formulas:
y

= c

B
A
1
B
onde c
B
= (c
j
, j J
B
).
A soluc ao admissvel dual basica y e nao degenerada caso (A
j
)

y > c
j
, j J
N
.
Seja y uma solucao admissvel dual basica com a base J
B
correspondente. Ao
vector = (
j
, j J) cujas componentes sao construdas pelas formulas

j
= 0, j J
N
;
B
= (
j
, j J
B
) = A
1
B
b
chama-se pseudosolucao do problema (5) que corresponde a base J
B
.
1
Os resultados obtidos nesta seccao podem ser generalizados para um par qualquer dos problemas
duais.
7
Propriedade 1. Se todas as componentes basicas da pseudosolucao sao nao neg-
ativas:
j
0, j J
B
, entao esta pseudosolucao e a solucao optima do problema
primal (5). Alem disso, a s.b.a. dual y que determina a pseudosolucao e a solucao
do problema (6).
Propriedade 2. Supomos que uma das componentes basicas da pseudosolucao e
negativa:
j
s
J
B
= {j
1
, j
2
, . . . , j
m
} :
j
s
< 0.
Supomos, ainda, que estao satisfeitas as desigualdades:

j
= e

s
A
1
B
A
j
0, j J
N
. (9)
Entao, a funcao objectivo do problema dual (6) nao e limitada inferiormente em
conjunto das suas solucoes admissveis e, ainda, as restricoes do problema primal (5)
nao sao compatveis.
Propriedade 3. Sejam a s.b.a. dual y nao degenerada cuja base correspondente e
J
B
= {j
1
, j
2
, . . . , j
m
} e o vector
B
= (
j
, j J
B
) construdo para base J
B
. Se entre
as componentes de
B
existe uma componente negativa,
j
s
para qual min
jJ
N

j
< 0,
entao podemos passar de y para uma nova s.b.a. dual y tal que o valor correspondente
da funcao objectivo e melhor:
b y < b

y.
Construmos a nova s.b.a. dual y e a base correspondente

J
B
pelas formulas:
y = y +
0
y,

J
B
= (J
B
/{j
s
}) {j
0
},
onde y

= e

s
A

B
,
0
= min
jJ
N
,
j
<0
c
j
(A
j
)

j
, j
0
- um ndice qualquer do conjunto
{j J
N
:
j
< 0,
c
j
(A
j
)

j
=
0
.}
(Verique.)
8
2.3 O Metodo Simplex Dual.
Ao metodo de resoluc ao do problema canonico de Programacao Linear (problema
primal) considerado anteriormente, vamos chamar a partir de agora o Metodo Sim-
plex Primal.
Neste captulo vamos estudar o Metodo Simplex Dual que e um algoritmo es-
pecial de construc ao da soluc ao optima do problema primal de PL na forma (5),
atravez da transformac ao de soluc oes admissveis do problema dual (6).
Para resolver o problema (5) pelo Metodo Simplex Dual precisamos os dados
iniciais: c, b, A e, ainda, na cada iterac ao deste metodo (Iteracao dual) precisamos
os seguintes parametros:
1. a s.b.a. dual actual y;
2. a base J
B
= {j
1
, j
2
, . . . , j
m
} correspondente a solucao dual y;
3. mm matriz B = A
1
B
inversa a matriz basica A
B
= (A
j
, j J
B
).
Vamos considerar os passos da iteracao geral do Metodo Simplex Dual
Passo 1. Construmos as componentes basicas da pseudosoluc ao correspondente a
base J
B
:
B
= (
j
, j J
B
) = Bb.
Passo 2. Se as desigualdades
j
0, j J
B
estao satisfeitas, ent ao STOP: o
vector = (
B
,
N
= 0) e a soluc ao optima do problema (5) e o vector y e a solucao
optima do problema (6). Caso contr ario passamos para o Passo 3.
Passo 3. Entre os ndices basicos J
B
= {j
1
, j
2
, . . . , j
m
} escolhemos o ndice j
s
para
qual
j
s
< 0. Construmos o m-vector y e o vector = (
j
, j J
N
) pelas formulas:
y

= e

s
B,
j
= y

A
j
, j J
N
.
Se todos
j
0, j J
N
, entao STOP: as restricoes do problema inicial (5) nao sao
compatveis e a funcao objectivo do problema dual (6) nao e limitada inferiormente
em conjunto das soluc oes admissveis. No caso contr ario passamos para o Passo 4.
Passo 4. Encontramos o mnimo

0
= min
jJ
N
,
j
<0
c
j
(A
j
)

j
9
e escolhemos um ndice arbitrario j
0
do conjunto
{j J
N
:
j
< 0,
c
j
(A
j
)

j
=
0
}.
Passo 5. Construmos a nova s.b.a. dual y e a base correspondente
Passo 6. Calculamos a matriz

B inversa a nova matriz basica

A
B
= (A
j
, j

J
B
)
pelas regras descritos no Passo 6 do Metodo Simplex Primal.
Passamos para proxima iteracao com os novos valores de soluc ao basica admissvel
dual y, base

J
B
e matriz

B.
Nota 1. A escolha do ndice j
s
J
B
durante passo 3 e a escolha do ndice j
0
J
N
durante passo 4 pode nao ser unicamente determinada, havendo mais do que um
candidato para entrar na base e mais do que um candidato para sair da base . Este
pode resultar (como no caso do Metodo Simplex Primal) em entrada do algoritmo
no ciclo. Para prevenir a entrada do Metodo Dual em ciclo podemos utilizar as re-
gras analogas `as regras elaboradas para o Metodo Simplex Primal. Por exemplo, a
regra de Blend adaptada ao Metodo Simplex Dual consiste em seguinte procedimento:
no passo 3 o ndice j
s
determina-se unicamente pela condicao:
j
s
= min j
i
, i {k {1, 2, . . . , m} :
j
k
< 0};
no passo 4 o ndice j
0
determina-se unicamente pela formula:
j
0
= min j, j {J
N
:
j
< 0,
c
j
(A
j
)

j
=
0
}.
Nota 2.

E facil de vericar que se a s.b.a. dual e nao degenerada, ent ao para a
nova s.b.a. { y,

J
B
} esta satisfeito: b

y < b

y. (No caso geral tem-se: b

y b

y.)
Nota 3. O problema de construc ao da soluc ao basica inicial dual {y, J
B
} nao e
o problema trivial. Para resolver este problema o Metodo Simplex Dual das Duas
Fases pode ser elaborado.
10
Exemplo 2. Resolver pelo Metodo Simplex Dual o problema de PL:
x
1
+ x
2
2x
3
3x
4
max,
s.a. x
1
x
2
+ 3x
3
2x
4
= 1,
x
1
5x
2
+ 11x
3
6x
4
9,
x
i
0, i = 1, 4 ,
sendo a soluc ao basica inicial y = (
3
2
,
1
2
) e a base J
B
= {1, 2}.
Resolucao.
`
A base J
B
= {1, 2} corresponde a matriz basica A
B
= (A
1
, A
2
) =

1 1
1 5

. Construmos matriz B = A
1
B
=
1
4

5 1
1 1

e comecamos a primeira
iterac ao do metodo.
Iteracao 1.
Passo 1. Calculamos as componentes basicas da pseudosolucao correspondente
`a base J
B
:

B
= (
1
,
2
) = Bb =
1
4

5 1
1 1

1
9

1
2.

Passo 2. A condicao
j
0, j J
B
nao esta satisfeita, por isso passamos para o
passo 3.
Passo 3. Na qualidade do ndice j
s
J
B
= {j
1
, j
2
, . . . , j
m
}, para qual
j
s
< 0
escolhemos o ndice j
s
= j
2
= 2. Calculamos o vector y e os valores
j
= y

A
j
, j
J
N
= {3, 4} :
y

= e

2
B =
1
4
(0, 1)

5 1
1 1

= (
1
4
,
1
4
);
3
= 2,
4
= 1.
Passamos para o passo 4, uma vez que entre os valores
3
,
4
temos um valor negativo
(
3
< 0).
Passo 4. Encontramos o mnimo

0
= min
jJ
N
,
j
<0
(c
j
(A
j
)

y)

j
=
(c
3
(A
3
)

y)
2
=
1
2
.
11
Neste exemplo a escolha do ndice j
0
e unicamente possvel: j
0
= 3.
Passo 5. Construmos a nova s.b.a. dual y e a base correspondente

J
B
pelas
formulas
y = y +
0
y =
1
8

13
5

;

J
B
= (J
B
/{j
s
}) {j
0
} = {1, 3}.
Passo 6. Pela regras descritas no passo 6 do Metodo Simplex Primal calculamos
a matriz

B =
1
8

11 3
1 1

que e inversa `a matriz basica



A
B
= (A
1
, A
3
) =

1 3
1 11

.
Com os novos valores da soluc ao basica dual y, base

J
B
e matriz

B comecamos a
segunda iteracao do metodo.
Iteracao 2.
Passo 1. Calculamos as componentes basicas da pseudosoluc ao que corresponde
`a base

J
B
:

B
= (
1
,
3
) =

Bb =
1
8

11 3
1 1

1
9

2
1

.
Passo 2. Uma vez que a primeira componente de
B
e negativa, passamos para o
passo 3.
Passo 3. Vector
B
tem uma unica componente negativa:
1
= 2 , por isso nao
temos d uvida na escolha do ndice j
s
: j
s
= j
1
= 1. Calculamos:
y

= e

B =
1
8
(11, 3) e
2
= y

A
2
=
1
2
,
4
= y

A
4
=
1
2
.
Uma vez que um dos valores
2
,
4
e negativo:
4
=
1
2
< 0, passamos para o Passo 4.
Passo 4. Calculamos:

0
=
(c
4
(A
4
)

y)

4
= 7.
Na qualidade de ndice

j
0
podemos escolher somente o ndice

j
0
= 4.
12
Passo 5. Construmos a nova s.b.a. dual y e a base correspondente

J
B
:
y = y +
0
y =
1
8

90
26

;

J
B
= (

J
B
/{

j
s
}) {

j
0
} = {4, 3}.
Passo 6. Calculamos a matriz

B =


11
4
3
4

3
2
1
2

inversa `a matriz basica nova

A
B
= (A
4
, A
3
).
Passamos para a terceira iteracao com os novos valores para a soluc ao basica dual
y = y, base

J
B
=

J
B
= {4, 3} e a matriz

B =

B.
Iteracao 3.
Passo 1. Calculamos as componentes basicas da pseudosoluc ao que corresponde
`a base

J
B
:

B
= (
4
,
3
) =

Bb =

4
3

.
Passo 2. Uma vez que todas as componentes de
B
sao positivas, conclumos
que o vector = (
B
,
N
= 0) = (0, 0, 3, 4) e uma soluc ao optima do problema
considerado e o vector y = (
45
4
,
13
4
)

e a sua soluc ao admissvel optima dual. O


problema esta resolvido.
Exerccio 2. Resolver os seguintes problemas pelo Metodo Simplex Dual uti-
lizando na qualidade da soluc ao inicial a solucao basica construda pela base indicada
no enunciado do problema:
(a) x
1
+ x
2
4x
3
max,
s.a. x
1
+ x
2
3x
3
= 0,
x
1
2x
2
+ x
3
= 3,
x
i
0, i = 1, 3,
J
B
= {1, 2};
(b) x
1
+ x
2
+ x
3
x
5
max,
s.a. x
1
+ x
2
4x
4
+ 2x
5
= 2,
x
2
+ x
3
+ x
4
2x
5
= 2,
x
1
+ x
3
+ 3x
4
2x
5
= 2,
x
i
0, i = 1, 5,
J
B
= {1, 2, 3};
13
(c) 3x
1
+ 2x
2
+ x
3
+ x
4
5x
5
10x
6
max,
s.a. x
1
+ 8x
2
x
3
+ 10x
4
+ 14x
5
+ 24x
6
= 4,
x
2
7x
3
+ 8x
4
5x
5
+ 3x
6
= 28,
x
3
x
4
= x
5
= 4,
x
i
0, i = 1, 6,
J
B
= {1, 2, 3}.
3 Metodo Simplex Primal-Dual
Consideremos problema de PL na forma canonica (problema primal):
Max c
T
x,
s.a. Ax = b, x 0
(10)
e o seu dual
Min y
T
b,
s.a. y

A c.
(11)
Supomos que temos uma soluc ao admissvel dual: o vector y = (y
1
, . . . , y
m
) que
satisfaz a condic ao:
c

A 0.
Introduzimos o vector c : c

= c

A 0.
Evidente que cada soluc ao admissvel primal x satisfaz: Ax = b, logo x e soluc ao
optima do problema (10) se e somente se x e uma soluc ao optima do problema
Max c

x,
s.a. Ax = b, x 0
(12)
Em particular, este criterio esta satisfeito para uma solucao do problema (10), tal que
(condic ao da complementaridade):
x
j
> 0 c
j
y

A
j
= 0,
c
j
y

A
j
< 0 x
j
= 0.
(13)
Assim, tomando em consideracao que c
j
= c
j
y

A
j
, obtemos que componente x
j
da
soluc ao optima x pode ser positiva somente no caso de c
j
= 0. O metodo Simplex
14
Primal-Dual esta baseado nesse princpio.
Dada soluc ao admissvel dual y, vamos procurar uma solucao do problema (12) tal
que J
B
J(y) = {j : c
j
= 0}, onde J
B
e base correspondente a s.b.a. x. Tal x
encontra-se da solucao do problema de PL:
Max =
m

i=1
u
i
,
s.a. Ax + Iu = b, x 0, u 0;
x
j
= 0, j J \ J(y)
(14)
comecando da soluc ao admissvel basica u
0
= b. (Evidente, que sempre podemos su-
por: b 0.)
Na solucao optima (x

, u

) do problema (14) duas situacoes sao possveis:


1. O valor optimo da funcao objectivo

= 0. Logo, u

= 0 e a soluc ao optima
x

e a s.b.a. do problema (10) tal que J


B
J(y). Uma vez que as condicoes
da complementaridade estao satisfeitas para y, temos que (x

, y

) e o par das
solucoes optimas primal e dual. O problema (10) esta , entao, resolvido.
2. O valor optimo da func ao objectivo

< 0. Esta situac ao signica que nao


existe a soluc ao admissvel do problema primal correspondente a y para qual as
condicoes de complementaridade estao satisfeitas. Logo, y nao e soluc ao optima
dual. Vamos, ent ao, modicar y pela formula y = y+

, onde

encontra-se
da soluc ao optima do problema dual ao (14):
Min b
T
,
s.a.

A
j
0, j J(y),

i
1, i I.
(15)
Da teoria da dualidade, temos:

= Max = b
T

= Min b
T

e , pela hipotese, b
T
< 0.
Doutro lado, as variaveis duais optimas

1
, . . . ,

m
do problema (15) satisfazem
as condic oes da complementaridade:
x
j
> 0
T
A
j
= 0.
15
Introduzimos o novo vector y

:
y

= y +

. (16)
Uma vez que c
j
= 0 e
T
A
j
= 0 para cada x
j
, j J
B
, ent ao devemos de ter:
c

j
= c
j
y
T
A
j

T
A
j
= c
j
= 0, J
B
e as condic oes de optimalidade devem ser satisfeitas para cada . Logo, J(y)
J(y

).
Para > 0 temos: y
T
b = y
T
b +
T
b y
T
b e para reduzir a diferenca entre
o valor da func ao objectivo dual y
T
b e o valor da func ao objectivo primal c
T
x,
vamos escolher o maior possvel valor de que satisfaz:
c

j
= c
j

T
A
j
0, j J.
Esta condic ao garante que y

continua de sera soluc ao dual admissvel.


Para j J(y) temos: c
j
= 0; uma vez que
T
A
j
0,entao as restric oes
correspondentes nao tem limite para o valor de .
Seja, agora j J \ J
B
.
Se
T
0, ent ao o valor de nao e limitado superiormente e, logo,
a func ao objectivo dual y
T
b nao e limitada inferiormente. O problema
primal (10) neste caso nao tem soluc oes admissveis.
Caso j J\J(y) tal que
T
A
j
< 0, entao o maior valor de e:

= min
j:
T
A
j
<0
{
c
j

T
A
j
}. (17)
Substitumos y pelo y

= y +

, obtendo c

j
= 0 para pelo menos um
j J\J(y).
Agora repetimos todo o procedimento do algoritmo para y

.
Nota. Na ausencia de degeneracao (se c
j
= 0, j J\J
B
) a func ao objectivo
cresce estritamente dum iterac ao para o outro, logo, as bases nao se repitam e
o metodo converge.
No caso de degenerac ao aplicamos as regras habituais de prevencao da entrada
do metodo Simplex no ciclo.
16
Algoritmo do Metodo Primal-Dual
Passo 0. Encontrar uma soluc ao admissvel dual y : y
T
A c.
Passo 1. Construir: c
T
= c
T
y
T
A; J c(y) = {j : c
j
= 0}, supor: x
j
=
0, J\J(y) e resolver o problema (14).
Passo 2. Seja (u

, x

)solucao optima do problema (14),

valor optimo da
funcao objectivo.
Se

= 0, ent ao x

solucao optima do problema (10), y soluc ao optima


do problema dual (13). STOP
Se

< 0, resolvemos o problema (15).


Passo 3. Seja

soluc ao optima do (15). Calcular

= min
j:
T
A
j
<0
{
c
j

T
A
j
}. (18)
e construir y

= y

. Passar para o Passo 1.


17