Teorema Fundamental da Programação Linear

Propaganda
A04-1
Teorema Fundamental da Programação Linear
• Dado um problema de Programação Linear na forma padrão
min c.x
s.a. Ax = b
x0
onde A é uma matriz (m x n) de “rank” m,
i) se existir uma solução factível, existe uma solução
básica factível;
ii) se existir uma solução factível óptima, existe uma
solução básica factível óptima.
Teorema da Equivalência entre pontos extremos e soluções básicas
• Seja A uma matriz m x n e b um vector de m componentes.
Seja K o polítopo convexo consistindo de todos os vectores
x de tamanho n que satisfazem
Ax = b
x0
Um vector x é um ponto extremo de K sse x é uma solução
básica factível.
A04-2
Corolário 1: Se o conjunto convexo K correspondente a
Ax = b
x0
é não vazio, possui pelo menos um ponto extremo.
Corolário 2: Se existir uma solução óptima finita para um problema
de programação linear, existe uma solução óptima finita que é um extremo do conjunto de restrições.
Corolário 3: O conjunto de restrições K correspondente a Ax = b,
x  0 possui, no máximo, um número finito de
pontos extremos.
Corolário 4: Se o conjunto K (polítopo convexo) for limitado, então
K é um poliedro convexo, i.e., K consiste de pontos
que são combinações lineares de um número finito de
pontos.
Proposição: Uma função objectivo linear, cx, atinge o seu mínimo
sobre um poliedro convexo K num ponto extremo de
K.
A05-1
Teorema:
Dada uma solução básica factível não degenerada com
custo z0, suponha-se que para algum j se verifica
cj - zj < 0. Então existe uma solução factível com
custo z < z0.
Se a coluna aj puder ser substituída por algum vector
na base original que conduza a uma nova solução
básica factível, esta nova solução tem z < z0.
Se aj não puder ser substituída, então o conjunto K de
soluções factíveis é não limitado e a função objectivo
pode ser feita arbitrariamente pequena.
Teorema:
Se para alguma solução básica factível cj - zj 0 para
todo o j, então a solução é óptima.
A07-1
O método Simplex
Passo1: Calcular os coeficientes de custo relativo
r = cD - cBB-1D.
Primeiro calcular l = cBB-1 e depois o vector de custo
relativo cD - lD. Se r  0 parar; a solução presente é
óptima.
Passo 2: Determinar que vector aj entra na base selecionando
aquele para o qual o custo relativo é mais negativo;
calcular yj = B-1aj que expressa aj na base presente.
Passo 3: Calcular os valores yi0/yij para determinar que vector sai
da base.
Passo 4: Actualizar B-1 e a solução presente é B-1b. Voltar ao
Passo 1.
Dados de partida: Uma base e B-1 correspondente com a solução
respectiva dada por xB = y0 = B-1b.
A07-2
PRIMAL
min c.x
s.a. Ax = b
x0
(1)
DUAL
min lb
s.a. lA  c
(2)
Lema 1: Se x e l são factíveis para (1) e (2), respectivamente,
então cx  lb.
Corolário: Se x0 e l0 são factíveis para (1) e (2), respectivamente, e
se cx0 = l0b, então x0 e l0 são óptimos para os seus
problemas respectivos.
PORQUÊ?...
Teorema da Dualidade:
Se qualquer dos problemas (1) ou (2) possuir uma solução
óptima finita, também o outro a possui, e os valores das
funções objectivo são iguais.
Se qualquer dos problemas tiver uma função objectivo não
limitada, o outro não tem qualquer solução factível.
A07-3
Teorema:
Seja o problema de programação linear (1) com uma solução
básica factível óptima correspondente à base B.
Então o vector l = cBB-1 é uma solução óptima para o
problema dual (2).
Os valores óptimos para ambos os problemas são iguais.
Teorema 1: (Complementary Slackness - forma assimétrica)
Seja x e l soluções factíveis para o problema primal e dual,
na forma assimétrica, respectivamente. Uma condição
necessária e suficiente para que ambas sejam óptimas é que
para todo o i:
i) xi > 0  lai = ci
ii) xi = 0  lai < ci
em que ai é a i-ésima coluna de A.
Teorema 2: (Complementary Slackness - forma simétrica)
Sejam x e l soluções factíveis para o problema primal e dual,
na forma simétrica, respectivamente. Uma condição
necessária e suficiente para que ambas sejam óptimas é que
para todo o i e j:
i) xi > 0  lai = ci
ii) xi = 0  lai < ci
iii) lj > 0  ajx = bj
iv) lj = 0  aix > bj
em que aj é a j-ésima linha de A e ai é a i-ésima coluna de A.
Download