otimização linear - icmcconteudo.icmc.usp.br/pessoas/mari/otm12012/aulalinear2parte2.pdf · o...

69
Otimização Linear Conceitos básicos Álgebra Linear Introdução ao método simplex

Upload: lykhanh

Post on 11-Feb-2019

216 views

Category:

Documents


0 download

TRANSCRIPT

Otimiza ção Linear

Conceitos b ásicos Álgebra LinearIntrodu ção ao m étodo simplex

Revis ão de Álgebra Linear

• Denomina-se posto ou Rank de uma matriz A, um número k tal que:

• a)existe pelo menos uma sub-matriz quadrada de A de ordem k, cujo determinante é não nulo .

• b)Toda sub-matriz quadrada de A, de ordem maior que k, tem determinante nulo.

• (de outro modo: Amxn. O rank linha é igual ao número máximo de linhas linearmente independente de A. O rank coluna é igual ao número máximo de colunas linearmente independentes de A. Pode-se mostrar posto linha=posto coluna).

Revis ão de Álgebra Linear

• Amxn, Posto (A) ≤mínimo{m,n}. Se posto(A)=mínimo{m,n}, então A tem posto completo.

• Amxn tem posto k se e somente se:

00

QkI

Revis ão de Álgebra Linear

• Seja Amxn e considere o sistema Ax=b e (A,b) de ordem m x (n+1).

• Se posto(A,b) > posto(A), o sistema é incompatível (b não pode ser escrito como combinação linear de a1,a2,...,an).

• Se posto(A,b)=posto(A)=k então:

kApostobAposto

xkbnxkAbA

bAbA

==

=

)1()1,1(

,)1(),(1,22

11),(

Revis ão de Álgebra Linear

• Restrições A2x=b2 são redundantes.• Posto(A1)=k, pode-se pegar k colunas linearmente

independentes de A1.• A1=(B,N), B(k x k) é uma matriz não singular e

chamada de matriz básica e N (k x(n-k)) échamada de matriz não básica.

kApostobAposto

xkbnxkAbA

bAbA

==

=

)1()1,1(

,)1(),(1,22

11),(

Álgebra linear

• Resumindo (Seja o sistema Ax=b, Amxn.)

• Se posto (A,b)>posto(A), Ax=b não tem solução.• Se posto(A,b)=posto(A)=k=n, o sistema tem

solução única.• Se posto (A,b)=posto(A)=k<n, Ax=b tem infinitas

soluções.

Álgebra linear

• Seja o sistema Ax=b, Amxn. Suponha que posto(A)=posto(A,b)=m<n.

• A=(B,N), onde Bmxn (matriz básica), Nmx(n-m) (matriz não-básica).

• x=(xB,xN), xB –Variáveis básicas e XN – variáveis não básicas.

NNxBbBBx

BDet

bNNxBBxbAx

11

0)(

−−−=

≠=+⇔=

Solução geral – Infinitas soluções,Há Cm,n maneiras de escolher a partição

Partiçã o básica

• Seja Ax=b, onde Amxn , bmx1 , xnx1 (m< n). Supor que posto(A)=m.

• É 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 que 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)

• A partição de A em [B N] cria uma partição das variáveis:

variáveis básicas

variáveis não básicas

Solu ção 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.

• Se xB>0 dizemos que a solução básica factível énão degenerada.

^̂̂

Exemplo

• Considere a seguinte região factível no R2

Forma padrão

variáveis de folga

Exemplo

Alguns pontos

Factíveis (Por quê ?) (((construconstruçãção e no e nããoo--negatividadenegatividade)))

Alguns pontos

No interior da região factível (todas as variáveis de folga são positivas).

Alguns pontos

Na fronteira (alguma variável se anula)!

VariVariááveis nulas indicam restriveis nulas indicam restriçõções ativas!es ativas!Mais de uma variMais de uma variáável se anula: vvel se anula: véértice (mais de uma rtice (mais de uma restrirestriçãção ativa)!o ativa)!

Outros pontos

InfactInfactííveis:veis:

Respeitam o sistema Ax = bRespeitam o sistema Ax = bmas nmas nãão respeitam as restrio respeitam as restriçõções de nes de nããoo--negatividade!negatividade!

Considere o exemplo (Vértice D)

Solução básica factível...

Voltando ao exemplo

• Vértice F:

Solução básica não-factível...

Propriedades

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

• 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

Idéia:

•Partir de uma solução básica factível

•Visitar apenas as soluções básicas factíveis melhores que ela.

Método Simplex

Perguntas

• Dada uma solução básica factível (ou seja, um vértice)

• 1) Esta solução é ótima ?

• 2)Caso não seja ótima, como encontrar uma solução básica factível 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 mesma partição :

=N

B

x

xx

Pergunta 1: A solu ção atual é ótima ?

• A função objetivo pode ser expressa considerando a partição básica:

=N

B

x

xx

• Então

valor da solução básica associada a esta partição:::

Pergunta 1: A solução atual é ótima ?

• Definição (vetor multiplicador simplex): O vetor λmx1, dado por:

é chamado vetor multiplicador simplex (ou também, vetor de variáveis duais).

O vetor multiplicador simplex pode ser obtido por:

Pergunta 1: A solução atual é ótima ?

( ) BT

BTT

BT cBcBBc =⇔=⇔= −− λλλ 11

Vamos expressar por coluna:

Retornando ... Pergunta 1: A solução atual é ótima ?

Custos relativos

Definição: Os coeficientes das variáveis não-básicas na função objetivo descrito acima são chamados custos relativos ou custos reduzidos.

Exemplo (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: soluTodos positivos: soluçãção bo báásica factsica factíível.vel.

• Vamos calcular os custos relativos:

B = (B1,B2,B3) = (1,2,5) , NB = (NB1,NB2) = (3,4)

m variáveis básicas

nn--m varim variááveis nveis nããoo--bbáásicassicas

Vamos calcular os custos relativos

outra maneira de calcular λT

( ) BT

BTT

BT cBcBBc =⇔=⇔= −− λλλ 11

Vamos calcular os custos relativos

Vamos calcular os custos relativos

Condiçã o de otimalidade

SoluSoluçãção o bbáásicasica

factfactíível e custos relativos vel e custos relativos maiores que zeromaiores que zero

problema de minimizaproblema de minimizaçãçãoo

SoluSoluçãçãooóótimatima

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 (solução básica) ó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, todos os custos relativos são positivos (negativos), a solução é ótima.

Perguntas

• 1) A solução atual é ótima ?Respondida (ver último item do slide anterior)

• 2) Como 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 xNkpara a qual:

*problema de minimização

Exemplo

Exemplo

(((B = B-1 = I)))

A solu ção não é ótima

Estratégia simplex

•Vamos perturbar a solução básica factível de modo a diminuir o valor da função objetivo .•Definição (estratégia simplex). Chamamos de estratégia 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 simplex

A nova função objetivo vale:

Resultado na fun ção objetivo

Pergunta: a solução perturbada é factível ? Sim, se a perturbação é suficientemente pequena e a soluçãobásica original é não degenerada.

qual o maior 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:

diredireçãção simplex!o simplex!

Direção simplex e tamanho do passo

• As novas variáveis básicas (perturbadas) devem continuar não-negativas:

Direção simplex e tamanho do passo

• Temos, pois:

O 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. Como quanto maior ε, maior o decrescimento da função objetivo, a solu ção ótima será ilimitada !

Exemplo

Considere o exemplo anterior:

(obtida para x(obtida para xNNii=0) =0)

Exemplo

A solução é ótima ?

NNãão o éé óótima. (Por qutima. (Por quêê ?)?)

Exemplo

A direA direçãção simplex indica a maneira como as vario simplex indica a maneira como as variááveis bveis báásicas se modificam, ao sicas se modificam, ao se aumentar uma dada varise aumentar uma dada variáável nvel nããoo--bbáásica (no caso, Nsica (no caso, N11=1)=1)

Exemplo

No caso geral:

• 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

• Partição anterior:

escolhida para entrarescolhida para entrar(custo relativo negativo)(custo relativo negativo)

escolhida para sairescolhida para sair(primeira ao se anular ao aumentarmos x(primeira ao se anular ao aumentarmos xNNkk

))

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

* Í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 que primeiro se anulava ao aumentarmos ε.)

Nova partição: B = (3,1,5) N=(4,2)

Simplex - Fase II

Simplex - Fase II

Simplex - fase II

Introduzindo variIntroduzindo variááveis de folga, temosveis de folga, temos:::

26 Sep 2008 . 22:00

Fácil, pois os coeficientes das variáveis de folga formam uma matriz identidade.

26 Sep 2008 . 22:00

ExercExercíício: continue atcio: continue atéé obter a soluobter a soluçãção o óótimatima