pesquisa operacional método simplex - .::dcc ... · pesquisa operacional método simplex ......

19
Pesquisa Operacional Método Simplex Profa. Alessandra Martins Coelho setembro/2013

Upload: vantruc

Post on 20-Nov-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Pesquisa OperacionalMétodo Simplex

Profa. Alessandra Martins Coelho

setembro/2013

Método SIMPLEXSeja resolver o seguinte PPL:

0,322

2max

21

21

2

1

21

≥≤+≤≤

+

xxxxx

xxx

Fundamentação do Método SIMPLEX

x1

x2

x2 ≤ 2

x1 ≤ 2

x1 + x

2 ≤ 3

AB

C

DE

F

G

(0,0) (2,0)

(2,1)

(1,2)(0,2)

(0,3)

(3,0)H

max z=x1 + 2x

2

z = 4

x* = (1,2), z* = 5

0,322

2max

21

21

2

1

21

≥≤+≤≤

+

xxxxx

xxx

Teorema Fundamental da Programação Linear

A solução ótima de um PPL, se existir, ocorre em pelo menos um vértice do conjunto de soluções viáveis.

Casos especiais:1) Múltiplas soluções ótimas2) Z ilimitada3) Não existe solução ótima4) Solução ótima degenerada

Forma-padrão de um PPL Um PPL está na forma padrão quando é posto na forma:

∑=

=n

jjjxcz

1(max)ou(min)

mibxan

jijij ,...,1

1=∀=∑

=

njx j ,...,10 =∀≥

mibi ,...,10 =∀≥sendo

0,322

2max

21

21

2

1

21

≥≤+≤≤

+

xxxxx

xxx

0,,,,322

0002max

54321

521

42

31

54321

≥=++=+=+

++++

xxxxxxxx

xxxx

xxxxx

=

322

100110101000101

5

4

3

2

1

xxxxx

Ax b

Forma Padrão

Z=Z=

Redução de um PPL qualquer à forma padrão

Restrições do tipo ≤

532 21 ≤+ xx

Restrições do tipo ≥

532 321 =++ xxx

76 421 =−+ xxx76 21 ≥+ xxx4 ≥ 0

x3 ≥ 0

Variável de folga

Variável de excesso

Princípio de funcionamento do Algoritmo SIMPLEX

SBF inicial

Determine VB que deve deixar a base

Determine VNB que deve entrar na base

Pare: Esta SBFé ótima

Encontre nova SBF

Esta SBF podeser melhorada?

Não

SimDescrição Geral do AlgoritmoInício: o problema deve estar na forma padrãoPasso 1: encontrar uma SBF inicial para o problema de PLSBF = SBF atualPasso 2: verificar se a SBF atual é a solução ótima do problema de PL enquanto a SBF atual não é a solução ótima do problema de PL faça Encontrar uma SBF adjacente com melhor valor na função objetivo SBF adjacente = SBF atual fim-enquanto

Princípio de funcionamento do Algoritmo SIMPLEX

PPL na forma canônica: Base é a identidade e coeficientes das VB’s na função objetivo são todos nulos.

=

322

100110101000101

5

4

3

2

1

xxxxx

Z – x1 -x

2 +x

3+x

4+x

5 = 0

VB Z x1 x2 x3 x4 x5 const1 -1 -2 0 0 0 0

x3 0 1 0 1 0 0 2x4 0 0 1 0 0 0 2x5 0 1 1 0 1 1 3

Passo 1: encontrar uma Solução Básica Factível - SBF inicial

Solução inicial:

x(0) = (0 0 2 2 3)t ; z = 0

VB = {x3 = 2, x4 = 2, x5 = 2}

VNB = {x1 = 0, x2 = 0}

VB Z x1 x2 x3 x4 x5 const1 -1 -2 0 0 0 0

x3 0 1 0 1 0 0 2x4 0 0 1 0 0 0 2x5 0 1 1 0 1 1 3

Passo 2: Teste de otimalidade

Solução inicial:

x(0) = (0 0 2 2 3)t ;

z = 0

Como x1 e x2 são negativos, a SBF não é ótima, pois quaquer incremento em uma das duas variáveis resultará em SBF adjacente melhor do que a SBF atual.

Iteração 1: Determinar uma SBF adjacente melhor

determinar a variável não básica que entrará na base (maior coeficiente)

Determinar a variável básica que sairá da base

Princípio de funcionamento do Algoritmo SIMPLEX

L2 ← L1

L1 ← L1 + 2L3

Transformações elementares:

VB Z x1 x2 x3 x4 x5 const1 -1 -2 0 0 0 0

x3 0 1 0 1 0 0 2x4 0 0 1 0 0 0 2x5 0 1 1 0 1 1 3

L3=L

3/1

L4 ← L4 -1L3

Princípio de funcionamento do Algoritmo SIMPLEX

VB = {x3 = 2, x2 = 2, x5 = 1}

VNB = {x1 = 0, x4 = 0}

Final da Iteração 1:

x(1) = (0 2 2 0 1)t ; z = 4

Z x1 x2 x3 x4 x5 const1 -1 0 0 0 0 4

x3 0 1 0 1 0 0 2x2 0 0 1 0 0 0 2

x5 0 1 0 0 1 1 1

Princípio de funcionamento do Algoritmo SIMPLEX

L2 ← L2 + (-1)L4

L1 ← L1 + (1)L4

Z x1 x2 x3 x4 x5 const1 -1 0 0 0 0 4

x3 0 1 0 1 0 0 2x2 0 0 1 0 0 0 2

x5 0 1 0 0 1 1 1

Z x1 x2 x3 x4 x5 const1 0 0 0 1 1 5

x3 0 0 0 1 -1 -1 1x2 0 0 1 0 0 0 2x1 0 1 0 0 1 1 1

L3 ← L3

L4 ← L4 /1

Princípio de funcionamento do Algoritmo SIMPLEX

Z x1 x2 x3 x4 x5 const1 0 0 0 1 1 5

x3 0 0 0 1 -1 -1 1x2 0 0 1 0 0 0 2x1 0 1 0 0 1 1 1

VB = {x1 = 1, x2 = 2, x3 = 1}

VNB = {x4 = 0, x5 = 0}Final da Iteração 2:

x(2) = (1 2 1 0 0)t ; z = 5

Interpretação geométrica

(0,2)Iteração 1

Iteração 2

Situação em que a origem não pode ser solução inicial:

Exemplo 2

0,322

2max

21

21

2

1

21

≥≥+≤≤=+

xxxxx

xzxx

0,,,,322

0002max

54321

521

42

31

54321

≥=−+=+=+=++++

xxxxxxxx

xxxx

zxxxxx

=

− 322

100110101000101

5

4

3

2

1

xxxxx

Ax b

Método das penalidades (BIG M) e Método Duas Fases

x1

x2

x2 ≤ 2

x1 ≤ 2

x1 + x

2 ≥ 3

AB

E

F

G

C = (1,1)

D = (1,2) G = (2,2)

H

0,,,,322

0002max

54321

521

42

31

54321

≥=−+=+=+

++++

xxxxxxxx

xxxx

xxxxx