Programação Programação Matemática

Propaganda
Programação
Matemática
Maristela Santos
Instituto de Ciências Matemáticas e de Computação
Universidade de São Paulo
Forma Padrão - Definição
ç
„Características
9Problema
da forma padrão:
de minimização
9Todas
as restrições são de igualdade
9Todas
as variáveis são não
não-negativas
negativas
9
Considerar b ≥ 0.
Partição
ç básica
• Seja Ax=b,
Ax=b onde Amxn , bmx1 , xnx1 (m< n).
n)
• Se é possível reorganizar as colunas de A de tal
modo A=[B,N] e que:
• Bmxm é formada por m colunas linearmente
independentes de A dada por:
Onde B1, B2,,...,, Bm são os índices das colunas
escolhidas da matriz A (índices básicos)
Partição
ç básica
• Nmx (n-m) - formada pelas n-m colunas restantes de
A.
• N pode ser escrita como:
Onde N1, N2,..., Nm são os índices das colunas da
matriz A q
que p
pertencem a N ((índices não-básicos))
Esta reorganização é definida como partição básica
Partição básica (partição das variáveis)
• Consequentemente, a partição de A em [B N]
cria
i uma partição
ti ã d
das variáveis:
iá i
variáveis básicas
variáveis não básicas
Solução
ç g
geral do sistema
• A última expressão de xB é conhecida como
solução geral do sistema.
Solução
ç básica
• Considere uma partição básica A=[B,N]. Uma
solução é dita básica quando:
^
• Se xB≥0 então temos uma solução básica
factível. Caso contrário, temos uma solução
básica não-factível.
que a solução
ç básica factível é
• Se xB>0 dizemos q
não degenerada.
Voltando ao exemplo
Solução básica factível..
Voltando ao exemplo
p
• Vértice F:
Solução básica não-factível..
Propriedades
p
Se um problema de otimização linear tem uma
solução
ç ótima,, então existe um vértice ótimo
Considere a região factível S={x∈Rn tal que Ax=b, x≥0}.
Um ponto x ∈ S é um vértice se e somente se x for uma
solução básica factível.
Método possível
p
• Enumerar todas as soluções básicas factíveis
(vértices)
x1, x2, ... xK
• Escolher aquela com melhor função objetivo.
• Problema:
K pode ser muito grande!
Simplex
p
Idéia:
•Partir de uma solução básica factível
•Visitar apenas as soluções básicas factíveis
melhores que ela.
Mét d Si
Método
Simplex
l
Simplex
p
Perguntas
g
• Dada uma solução básica factível (ou
j , um vértice))
seja,
• 1) Esta solução é ótima ?
• 2)Caso não seja ótima, como encontrar
uma
ma sol
solução
ção básica factí
factível
el melhor ?
Pergunta 1: A solução atual é ótima ?
• Considere uma solução básica factível:
• E a solução geral do sistema usando a
es a partição
pa t ção :
mesma
⎡ xB ⎤
x=⎢ ⎥
⎣ xN ⎦
Pergunta 1: A solução atual é ótima ?
• A função objetivo pode ser expressa
considerando a partição básica:
⎡ xB ⎤
x=⎢ ⎥
⎣ xN ⎦
Pergunta 1: A solução atual é ótima ?
valor da solução básica associada a esta partição:
•
Então
Pergunta 1: A solução atual é ótima ?
• Definição (vetor multiplicador simplex): O
vetor λmx1, dado por:
é chamado vetor multiplicador simplex (ou
t bé vetor
também,
t de
d variáveis
iá i d
duais).
i )
O vetor multiplicador
p
simplex
p
p
pode ser
obtido por:
λ
T
= cTB B −1
( ) c B ⇔ BT λ = c B
⇔λ= B
−1 T
Retornando ... Pergunta 1: A solução atual é ótima ?
Vamos expressar por coluna:
Custos relativos
Definição: Os coeficientes
das variáveis
não-básicas
não
básicas na função objetivo descrito acima são
chamados custos relativos ou custos reduzidos.
Exemplo
p (Arenales
(
et al,, 2.22))
• Considere o problema:
reescrito na forma padrão:
• Resolução gráfica:
Intersecção
ç das retas:
x1 + x2 = 4 e x1 = 3
• x1 + x2 = 4
(variável de folga associada: x3)
• x1 = 3
(variável de folga associada: x4)
Logo, o vértice (solução básica) deve ser
obtido com a partição:
B = (1,2,5) , N = (3,4)
• Atribuindo zero às variáveis não-básicas:
x3=x4 = 0
Todos positivos: solução básica factível.
• Vamos calcular os custos relativos:
n-m variáveis nãonão-básicas
B = (B1,B2,B3) = (1,2,5) , NB = (NB1,NB2) = (3,4)
m variáveis básicas
Vamos calcular os custos relativos
Vamos calcular os custos relativos
outra
t maneira
i de
d calcular
l l λT
λ
T
= cTB B −1
( ) c B ⇔ BT λ = c B
⇔λ= B
−1 T
Vamos calcular os custos relativos
Condição
ç de otimalidade
Solução
básica
factível e custos relativos
maiores que zero
problema de minimização
Solução
ótima
Resumo
• Já vimos:
– Soluções básicas estão associadas a vértices
(pontos extremos)
– Se há uma solução ótima, então há um ponto
extremo
t
(solução
( l ã bá
básica)
i ) óti
ótima.
– Podemos definir os custos relativos de variáveis não
básicas como:
– Se, em um problema de minimização (maximização),
para uma dada solução básica
básica, todos os custos
relativos são positivos (negativos), a solução é ótima.
Perguntas
g
• 1) A solução atual é ótima ?
Respondida
p
((ver último item do slide anterior))
• 2)) Como
C
encontrar uma solução básica
factível melhor ?
A solução
ç não é ótima
• Existe ao menos uma variável não-básica
para a q
qual:
xNk p
(Ou a p
propriedade
op edade 2.3
3 esta
estaria
a ate
atendida
d da e a
solução seria ótima).
*problema de minimização
Exemplo
p
Exemplo
p
(B = B-11 = I))
A solução
ç não é ótima
Estratégia
g simplex
p
•Vamos perturbar a solução básica factível de modo a
diminuir o valor da função objetivo .
•Definição
D fi i ã ((estratégia
t té i simplex).
i l ) Ch
Chamamos d
de estratégia
t té i
simplex a perturbação de uma solução básica factível que
consiste em alterar as variáveis não básicas por:
isto é
é, escolhemos uma variável com custo relativo
negativo e adicionamos uma pequena perturbação.
Estratégia
g simplex
p
A nova função objetivo vale:
Resultado na função
ç objetivo
j
Pergunta: a solução perturbada é factível ?
Si se a perturbação
Sim,
t b ã é suficientemente
fi i t
t pequena e a solução
l ã
básica original é não degenerada.
qual o maior ε ?
Direção simplex e tamanho do passo
• Mudando as variáveis não-básicas,
obrigatoriamente temos que mudar as variáveis
básicas:
direção simplex!
Direção simplex e tamanho do passo
• As novas variáveis básicas (perturbadas)
devem continuar não-negativas:
• A rigor
rigor, d = ((− y,
y ek) é a direção simplex
simplex,
de modo que a nova solução é x = x^+εd,
Direção simplex e tamanho do passo
• Temos,
Temos pois:
Oq
que acontece se...
• Se no momento de calcular o passo máximo,
todos os yi são negativos...
... significa que para qualquer valor de ε, a nova
solução é factível
factível. Como quanto maior ε, maior
o decrescimento da função objetivo, a solução
ótima será ilimitada!
Exemplo
p
Considere o exemplo anterior:
(obtida para xNi =0)
Exemplo
p
A solução é ótima ?
Não é ótima. (Por quê ?)
Exemplo
p
A direção simplex indica a maneira como as variáveis básicas se modificam
modificam, ao
se aumentar uma dada variável nãonão-básica (no caso, N1=1)
Exemplo
p
No caso geral:
g
• Ao resolvermos:
determinamos a variável da base que vai se
anular (sair da base).
• Anteriormente, ao escolhermos uma variável
não-básica com custo relativo negativo,
escolhemos a variável não-básica que vai
assumir valor positivo (entrar na base).
No caso geral
g
• Partição anterior:
escolhida para entrar
(custo relativo negativo)
escolhida para sair
(primeira ao se an
anular
lar ao a
aumentarmos
mentarmos xNk)
A nova solução
ç
• Pode-se mostrar que a nova matriz B é
invertível.
• Como os valores das variáveis da nova B são
não-negativos, trata-se de uma solução factível.
• Seu custo é:
Graficamente,, no exemplo
p
* Índice da variável não-básica escolhida para entrar (N1 = 1)
(escolhemos aquela com menor custo relativo)
* Índice da variável básica escolhida para sair (B2 = 4)
((escolhemos aquela
q
q
que p
primeiro se anulava ao aumentarmos ε.))
Nova partição: B = (3,1,5) N=(4,2)
Simplex
p
- Fase II
Simplex
p
- Fase II
Simplex
p
- fase II
Introduzindo variáveis de folga, temos:
temos:
Fácil, pois os coeficientes das variáveis de folga formam uma matriz identidade.
26 Sep 2008 . 22:00
26 Sep 2008 . 22:00
Exercício: continue até obter a solução ótima
Download