Você está na página 1de 39

CENTRO DE TECNOLOGIA E URBANISMO - CTU

DEPARTAMENTO DE ENGENHARIA ELÉTRICA - DEEL


PROGRAMA MESTRADO E DOUTORADO EM ENGENHARIA ELÉTRICA - MEEL

Otimização Linear
2ELE134

Tópicos Especiais em Programação Linear


2ELE066

Aula No. 6
Grupo de Pesquisa
Prof. Luis Alfonso Gallego Pareja Planejamento e Operação
luispareja@uel.br Ótima de Sistemas
Elétricos

1
O Método Simplex

2
O Segredo do Método Simplex: A Capacidade de Verificar
se uma SBF (Ponto Extremo) é Ótimo

Suponhamos que tem-se disponível uma SBF: como verificar se está é ótima ou não?

min 𝑐𝑥
Seja o PL: !𝑠. 𝑎. 𝐴𝑥 = 𝑏
𝑥≥0

Sendo 𝐴 uma matriz 𝑚×𝑛 e de posto igual a 𝑚. A base B representa o ponto extremo
(SBF), B é ótima?
𝑥4
𝐵⇒𝑥= 𝑥 ; 𝐴= 𝐵 𝑁
5

𝑥
𝐴𝑥=𝑏 ⇒ 𝐵 𝑁 𝑥 4 = 𝑏 ⇒ 𝐵𝑥4 + 𝑁𝑥5 = 𝑏 ⇒ 𝑥4 = 𝐵 9: 𝑏 − 𝐵 9: 𝑁𝑥5
5

3
4
R é o conjunto de índices das variáveis não básicas, 𝑎< são as colunas da matriz N

5
6
Com estas modificações tem-se o seguinte PL equivalente:

𝑥4 𝑐𝑜𝑛𝑗𝑢𝑛𝑡𝑜 𝑑𝑎𝑠 𝑣𝑎𝑟𝑖á𝑣𝑒𝑖𝑠 𝑏á𝑠𝑖𝑐𝑎𝑠


𝑥< 𝑐𝑜𝑛𝑗𝑢𝑛𝑡𝑜 𝑑𝑎𝑠 𝑣𝑎𝑟𝑖á𝑣𝑒𝑖𝑠 𝑛ã𝑜 𝑏á𝑠𝑖𝑐𝑎𝑠

7
As variáveis básicas aparecem simplesmente como variáveis de folga e podem ser
eliminadas e ter um PL equivalente:

8
O PL equivalente está representando um espaço reduzido, empregando a base B
(SBF). O ponto representado pela base B é o seguinte:

Podemos também chegar a outro ponto 𝑥 ∈ 𝑋 combinando os valores de 𝑥5 .

Se 𝒛𝒋 − 𝒄𝒋 ≤ 𝟎 ∀𝒋 𝝐 𝑹 (ao não existir outro ponto de melhor qualidade)

A solução ótima 𝑧 ∗ cumpre com: 𝑧 ∗ ≤ 𝑧T ≤ 𝑧 𝑥

Conclusão: existe uma forma adequada de descobrir se uma SBF é ótima ou não!

9
1. se 𝑧< − 𝑐< ≤ 0 ∀𝑗 𝜖 𝑅 ⇒ a SBF atual é ótima. Mais importante ainda é constatar
de que essa conclusão é encontrada analisando somente o ponto extremo ou SBF
representada pela B (sem analisar explicitamente os outros pontos extremos).

2. Se algum 𝑧< − 𝑐< > 0 ⇒ o incremento de essa variável 𝑥< de seu valor atual de
zero, permite diminuir a função objetivo atual.

10
𝑥
Exemplo: Verificar se 𝑥4 = 𝑥: é ótimo ou não:
X

min 4𝑥: − 𝑥X
𝑠. 𝑎.
−𝑥: + 𝑥X ≤ 2
Seja o PL: −𝑥: + 2𝑥X ≤ 6
𝑥: ≥ 0
𝑥X ≥ 0

Transformação:
(PL) (PLE)

min 4𝑥: − 𝑥X min 𝑧 = 4𝑥: − 𝑥X


𝑠. 𝑎. 𝑠. 𝑎.
−𝑥: + 𝑥X ≤ 2 −𝑥: + 𝑥X + 𝑥\ = 2
−𝑥: + 2𝑥X ≤ 6 −𝑥: + 2𝑥X + 𝑥] = 6
𝑥: ≥ 0 𝑥: ≥ 0
𝑥X ≥ 0 𝑥X ≥ 0
𝑥\ ≥ 0
𝑥] ≥ 0

11
𝑥:
Se 𝑥4 = 𝑥
X

12
13
14
15
Solução atual

16
Teste de
optimalidade

17
Exemplo: Verificar se o ponto extremo (SBF) é ótima ou não:

Dado o seguinte PL:

𝑥: 2
Verificar se a SBF: 𝑥4 = 𝑥 = satisfaz a condição de otimalidade
X 4

18
Como 𝑧] − 𝑐] = 3 > 0 então 𝑥\ não é um ponto extremo ótimo:

Então temos:

Como podemos observar no PLE, 𝑧_ = 4 não pode ser a solução ótima do PL, já
que incrementando o valor da variável 𝑥] de seu valor atual de zero, é possível
obter um 𝑧 𝑥 < 4. então 𝑥\ não é um ponto ótimo do PL original.

19
Se 𝑥a aumenta em uma unidade então, todas variáveis básicas variam em uma
quantidade igual a 𝑦:a , 𝑦Xa , … , 𝑦ea (particularmente quando 𝑦fa > 0 as variáveis
básicas diminuem)

20
Quanto pode incrementar 𝑥] ?

21
Troca de base e variável de bloqueio

Pode-se observar facilmente que se a variável não básica 𝑥a incrementa de valor,


de seu valor atual de zero, então as variáveis básicas mudam de valor de acordo
com os valores de 𝑦a .
𝑥4: 𝑏i: 𝑦:a
𝑥4X 𝑏iX 𝑦Xa
⋮ ⋮ − ⋮ 𝑥
𝑥4h = 𝑏ha a
𝑏ih
⋮ ⋮ ⋮
𝑥4e 𝑏ie 𝑏ea

• Se 𝑦a tem componentes positivas, então as variáveis básicas associadas a esse


elemento de 𝑦a diminuem de valor.
• Neste caso, 𝑥a não pode incrementar de valor de forma indefinida, já que
essas variáveis básicas com 𝑦fa > 0 assumiram valores negativos.
• Assim, o máximo incremento de 𝑥a está limitado (controlado) pela primeira
variável básica que assume o valor de zero.
• Esta variável básica 𝑥4h é chamada de variável de bloqueio.
• Assim 𝑥4h sai da base e 𝑥a entra na base produzindo a mudança de base.

22
𝑥4: = 𝑏i: − 𝑦:a 𝑥a
𝑥4X = 𝑏iX − 𝑦Xa 𝑥a

𝑥4h = 𝑏ih − 𝑦ha 𝑥a

i
𝑥4e = 𝑏e − 𝑦ea 𝑥a

• Qual variável básica chega primeiro ao valor de zero, quando 𝑥a aumenta de


seu valor de zero?
• Só aquelas variáveis básicas que tem seu 𝑦fa > 0 podem diminuir de valor.
Obviamente a primeira variável básica que chega a zero é aquela que tem a
ji k
menor relação . Assim, a primeira variável básica que chega a zero se
lkm
denomina 𝑥4h , então:

23
Se a SBF atual não degenerada, então 𝑏ih > 0 e como 𝑧a − 𝑐a > 0 então a nova
função objetivo diminui assim:

Assim, na nova SBF, existe uma diminuição da função objetivo.

𝑥4h que era básica passa a ser não básica.

𝑥a que era não básica passa a ser básica.

24
Na nova SBF temos que:

Todos os outros 𝑥< = 0

𝑥4h é também chamada variável que sai da base ou variável de bloqueio.

𝑥a também chamada variável que entra na base.

25
𝑥X
2. O ponto extremo 𝑥4 = 𝑥 é ótimo?
]

26
Como 𝑧< − 𝑐< < 0 ∀ 𝑗 ∈ 𝑅 𝑧: = −3 e 𝑧\ = −1 ⇒ 𝑥X é um ponto extremo
ótimo do PL. esta afirmação pode ser verificada observando seguinte PLE:

É evidente que o ótimo do (PLE) é 𝑧 ∗ = −2 e as variáveis 𝑥: e 𝑥\ devem


permanecer em seus valores atuais de zero.

27
Motivação Geométrica do Método Simplex
No espaço das variáveis não básicas, a região factível é determinada pela interseção
de n semi-espaços, dos quais m estão associados à restrições de desigualdade e os
outros p = n – m, relacionados com as restrições de não negatividade 𝑥< ≥ 0.

Associado com cada semi-espaço, existe uma variável que assume o valor de zero
quando o hiperplano associado ao semi-espaço esta ativo. Estas variáveis são as
variáveis básicas em caso das restrições de desigualdade e as próprias variáveis 𝑗 𝜖 𝑅
no caso das restrições 𝑥< ≥ 0.

28
Motivação Geométrico do Método Simplex

Certamente deve-se passa de 𝑣:


para 𝑣X para estarmos no ótimo.

29
Analisando pontos extremos e uma trajetória simplex:

3 bases:
𝑥: , 𝑥X , 𝑥p , 𝑥\ Variáveis básicas 𝑥: , 𝑥X , 𝑥\ , 𝑥]
𝑥: , 𝑥X , 𝑥p , 𝑥] Variáveis não básicas {𝑥q , 𝑥p }
𝑥: , 𝑥X , 𝑥p , 𝑥q -C

-C

-C
Variáveis básicas 𝑥X , 𝑥] , 𝑥q , 𝑥p
Variáveis não básicas {𝑥: , 𝑥\ }

-C
d
2

Variáveis básicas 𝑥\ , 𝑥] , 𝑥q , 𝑥p d
1 Variáveis básicas 𝑥: , 𝑥\ , 𝑥] , 𝑥q
Variáveis não básicas {𝑥: , 𝑥X } Variáveis não básicas {𝑥X , 𝑥p }

30
Analisando pontos extremos e uma trajetória simplex:
3 bases:
𝑥: , 𝑥X , 𝑥p , 𝑥\ Variáveis básicas 𝑥: , 𝑥X , 𝑥\ , 𝑥]
𝑥: , 𝑥X , 𝑥p , 𝑥] Variáveis não básicas {𝑥q , 𝑥p }
𝑥: , 𝑥X , 𝑥p , 𝑥q -C

-C

-C
Variáveis básicas 𝑥X , 𝑥] , 𝑥q , 𝑥p
Variáveis não básicas {𝑥: , 𝑥\ } O caminho seguido a
través de 𝑣: , 𝑣X , 𝑣\ , 𝑣] é
conhecido como trajetória
2 -C
simplex

Variáveis básicas 𝑥\ , 𝑥] , 𝑥q , 𝑥p
Variáveis não básicas {𝑥: , 𝑥X }

31
Simplex
Um simplex em p dimensões é a envolvente convexa de um
plano de (p+1) pontos não coplanares (é dito coplanar, se
todos os pontos estão no mesmo plano geométrico) em 𝐸 u ,
isto é, pontos que não estão no mesmo hiperplano em 𝐸 u .
Assim, para p = 1 o simplex é um segmento de uma linha, para
p = 2 é um triangulo e para p = 3 é um tetraedro.

32
• A envolvente convexa do vértice atual e p pontos que estão nas direções extremas
definem um simplex em 𝐸 u já que o cone poliedral gerado a partir do vértice
identifica as direções e compreende toda a região factível do PL.
• Examinando essas direções o método simplex verifica se o vértice atual é ótimo ou se
existe uma direção que permite encontrar outro vértice melhor que o vértice atual.
• Método Simplex ⇒ examina um simplex, depois pois outro, e em cada caso verifica
se o simplex atual é ótimo ou não.

33
Uma Iteração do Método Simplex: Análise algébrico
Considerando o PL representado no espaço das variáveis não básicas:
min z = zo - å ( z j - c j ) x j
jÎR

s.a
å ( y )x
jÎR
j j + xB = b Þ m hiperplanos

xj ³ 0 "j Î R Þ p = (n - m) semi - espaços queestão ativos


xB ³ 0 Þ m semi - espeços com hiperplanos não ativos

Na SBF atual existem n hiperplanos ativos (os hiperplanos das restrições de


igualdade e os p = (n-m) hiperplanos ativos dos 𝑥< 𝜖 𝑅)

34
a) A SBF é ótima?

𝑥< = 0 ∀< ∈ 𝑅
Se 𝑧< − 𝑐< ≤ 0 ∀< ∈ 𝑅 ⇒ ! 𝑥4 = 𝑏i = 𝐵 9: 𝑏
é uma solução ótima do PL

• Se a SBF atual não é ótima, então devemos passar para uma SBF adjacente que
permita diminuir a função objetivo.

• Se na SBF atual estão ativos p hiperplanos do tipo 𝑥< = 0; 𝑗 ∈ 𝑅 , então uma


SFB adjacente tem (p-1) desses hiperplanos ativos.

35
Estratégia para encontrar uma SBF adjacente
• Relaxar (hiperplanos) um dos hiperplanos ativos dentro dos p ativos do tipo
𝑥< = 0, isto é, um hiperplano dos p hiperplanos deixara de estar ativo.
• Se 𝑥a = 0, este hiperplano ativo será relaxado. Então mantendo os outros (p-
1) hiperplanos ativos [𝑥< = 0] podemos incrementar o valor de 𝑥a de seu valor
atual de zero, até o máximo possível. Este incremento é feito a través dos
deslocamento pela arista.
• O incremento de 𝑥< é bloqueado em algum momento porque algum dos semi-
espaços 𝑥4 ≥ 0 fica ativo, isto é, um hiperplano do conjunto 𝑥4 ≥ 0 fica ativo.
• Nesta parte a variável 𝑥a que era não básica [𝑥4 = 0] passo a ser básica [𝑥4 ≠
0] e uma variável [𝑥4h ] que era normalmente ≠ 0 se transforma em não básica
[𝑥4h = 0]. Este passo, de uma SBF para outra SBF adjacente, é conhecida como
uma iteração do método simplex.

36
Qual variável não básica deve ser escolhida ?
Que hiperplano dever ser relaxado?
Dentro 𝑥< , ∀𝑗 ∈ 𝑅 se seleciona uma que deve produzir uma diminuição da função
objetivo, isto é, se seleciona uma 𝑥a , 𝑘 ∈ 𝑅 tal que:

𝑧a − 𝑐a > 0

E de preferencia aquela que seja a mais positiva entre as candidatas.

Seja 𝑥a a variável não básica com valor atual de zero e que pode crescer e todas as
outra variáveis não básicas permanecem no valor atual de zero. Então temos:

𝑧 = 𝑧_ − 𝑧a − 𝑐a 𝑥a

37
• Interpretação 𝑧a − 𝑐a

𝑧a − 𝑐a > 0 é o critério para que uma variável não básica seja selecionada como
candidata para entrar na base.

Sabemos que a função objetivo assume a seguinte forma: 𝑧 = 𝑐4 𝑏i − 𝑧a − 𝑐a 𝑥a

𝑧a = 𝑐4 𝐵 9: 𝑎a = 𝑐4 𝑦a = „ 𝑐4f 𝑦fa
f…:

Sendo 𝑐4f é o coeficiente de custo da i-ésima variável básica.

38
Assim, 𝑧a representa a economia obtida ao incrementar 𝑥a em uma unidade.

Por outro lado, o incremento da variável não básica em uma unidade, produz um
incremento na função objetivo igual a 𝑐a .

Então: 𝑧a − 𝑐a representa uma economia liquida na função objetivo ao


incrementar 𝑥a em uma unidade. Então: 𝑧a − 𝑐a > 0 existe uma diminuição da
função de custo ao incrementar 𝑥a .

1. 𝑧a − 𝑐a > 0 é vantajoso, já que produz uma diminuição de z.


2. 𝑧a − 𝑐a < 0 não é vantajoso, já que produz uma incremento de z.
3. 𝑧a − 𝑐a = 0 não produz cambio em z.

39

Você também pode gostar