23
Obtendo uma solução básica factível inicial Método Simplex duas fases

Obtendo uma solução básica factível inicialicmc.usp.br/~mari/segundo2011/aula_5_10.pdf · Para resolver o problema artificial, aplicamos o método simplex. Fase I : Partição

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Obtendo uma solução básica factível inicialicmc.usp.br/~mari/segundo2011/aula_5_10.pdf · Para resolver o problema artificial, aplicamos o método simplex. Fase I : Partição

Obtendo uma solu ção básica factível inicial

Método Simplex duas fases

Page 2: Obtendo uma solução básica factível inicialicmc.usp.br/~mari/segundo2011/aula_5_10.pdf · Para resolver o problema artificial, aplicamos o método simplex. Fase I : Partição

Base inicial – FASE I

• Como determinar uma partição básica factível inicial (A=(B, N)).

• Algumas classes de problemas de otimização linear oferecem naturalmente a solução básica factível

Minimizar f(x) = cTx

sujeito a: Ax ≤ b

x ≥ 0

em que b ≥ 0.

Page 3: Obtendo uma solução básica factível inicialicmc.usp.br/~mari/segundo2011/aula_5_10.pdf · Para resolver o problema artificial, aplicamos o método simplex. Fase I : Partição

Base inicial – FASE IMinimizar f(x) = cTx

sujeito a: Ax ≤ b

x ≥ 0

em que b ≥ 0.

Após a introdução das variáveis de folga, digamos, xf, temos:

Minimizar f(x) = cTx

sujeito a: Ax + xf = b

x ≥ 0, xf ≥ 0,

A matriz dos coeficientes das restrições agora é dada por [A I] euma partição básica factível é dada por:

• B = I : as variáveis básicas são as variáveis de folga xB = xf

• N = A: as variáveis não-básicas são as variáveis originais xN = x,

e a solução básica factível é dada por:

==

≥==

.

,

0xx

0bxx

N

B f

Page 4: Obtendo uma solução básica factível inicialicmc.usp.br/~mari/segundo2011/aula_5_10.pdf · Para resolver o problema artificial, aplicamos o método simplex. Fase I : Partição

• Suponha agora que as restrições são, originalmente, de igualdade:

• Precisamos encontrar uma partição básica factível de A, isto é, uma partição da forma:

tal que existe e

Base inicial – FASE I

Page 5: Obtendo uma solução básica factível inicialicmc.usp.br/~mari/segundo2011/aula_5_10.pdf · Para resolver o problema artificial, aplicamos o método simplex. Fase I : Partição

Quantas partiçõ es existem ?

• Tome A10 x 20

Precisamos identificar dez colunas L.I. de A para formar B, e o sistema Bxb = b, tem que ter xB ≥ 0.

• Procedimento possível:– 1. Escolher dez (m) colunas– 2. Verificar se xB ≥0.

– 3. Se não, escolher outras dez colunas e retornar ao passo 2.

Page 6: Obtendo uma solução básica factível inicialicmc.usp.br/~mari/segundo2011/aula_5_10.pdf · Para resolver o problema artificial, aplicamos o método simplex. Fase I : Partição

Quantas poss íveis parti ções existem ?

• Se formos testar partição a partição, quantos testes temos que fazer ?

impraticável para problemasgrandes!

Page 7: Obtendo uma solução básica factível inicialicmc.usp.br/~mari/segundo2011/aula_5_10.pdf · Para resolver o problema artificial, aplicamos o método simplex. Fase I : Partição

Introduzindo novas vari áveis de folga

• Quando tínhamos variáveis de folga, funcionava, pois:

• Se não for o caso, podemos forçar variáveis de folga:

uma partição [I N] onde as variáveis de folga começam como as variáveis básicas.

Page 8: Obtendo uma solução básica factível inicialicmc.usp.br/~mari/segundo2011/aula_5_10.pdf · Para resolver o problema artificial, aplicamos o método simplex. Fase I : Partição

Fase I

• Obviamente, essas variáveis não podem aparecer na solução final (pois elas não existem - são variáveis artificiais).

• Método duas-fases: resolvemos primeiro um problema:

Page 9: Obtendo uma solução básica factível inicialicmc.usp.br/~mari/segundo2011/aula_5_10.pdf · Para resolver o problema artificial, aplicamos o método simplex. Fase I : Partição

Fase I

• Se conseguimos uma solução de custo zero para o problema acima (fase I), a base final não contém nenhuma variável artificial (por quê ?)

• Neste caso, a base final do problema da fase I éuma base inicial para o problema real (fase II).

Page 10: Obtendo uma solução básica factível inicialicmc.usp.br/~mari/segundo2011/aula_5_10.pdf · Para resolver o problema artificial, aplicamos o método simplex. Fase I : Partição

Fase I

• E se não conseguimos uma solução de custo zero ? (Isto é, na solução ótima da fase I, existe uma variável artificial na base).

(Não existe solução factível para o nosso problema)

Page 11: Obtendo uma solução básica factível inicialicmc.usp.br/~mari/segundo2011/aula_5_10.pdf · Para resolver o problema artificial, aplicamos o método simplex. Fase I : Partição

Exemplo

Forma padrão

Page 12: Obtendo uma solução básica factível inicialicmc.usp.br/~mari/segundo2011/aula_5_10.pdf · Para resolver o problema artificial, aplicamos o método simplex. Fase I : Partição

Qual o problema da fase I a resolver ?

• Caso A: introduzimos uma variável artificial pra cada restrição:

e minimizamos o custo destas variáveis.

Page 13: Obtendo uma solução básica factível inicialicmc.usp.br/~mari/segundo2011/aula_5_10.pdf · Para resolver o problema artificial, aplicamos o método simplex. Fase I : Partição

Qual o problema da fase I a resolver ?

• Caso B: note que x4 já fornece uma coluna da matriz identidade. Assim, a rigor, precisamos apenas de uma variável artificial:

e minimizamos o custo desta variável.

Page 14: Obtendo uma solução básica factível inicialicmc.usp.br/~mari/segundo2011/aula_5_10.pdf · Para resolver o problema artificial, aplicamos o método simplex. Fase I : Partição

Exemplo

Obtenha a solução do problema original.

Page 15: Obtendo uma solução básica factível inicialicmc.usp.br/~mari/segundo2011/aula_5_10.pdf · Para resolver o problema artificial, aplicamos o método simplex. Fase I : Partição

Outra possibilidade

• Em vez de resolver um problema auxiliar (fase I) para encontrar a base, simplesmente penalizamos as variáveis artificiais no problema original (fase II), de modo a garantir que elas sejam nulas na solução ótima:

valor suficientemente grande para garantir que xvalor suficientemente grande para garantir que x55 nnãão aparece na soluo aparece na soluçãção o óótima.tima.

Page 16: Obtendo uma solução básica factível inicialicmc.usp.br/~mari/segundo2011/aula_5_10.pdf · Para resolver o problema artificial, aplicamos o método simplex. Fase I : Partição

Considere o Exemplo

3,2,1i,0x

4x3xx

3xxx

x2xxf

i

321

321

321

=≥≤+−=+++−=

2

:asujeito

)(minimizar x

4,...,1i,0x

4xx3xx

3xxx

x0x2xxf

i

4321

321

4321

=≥=++−

=++++−=

2

:asujeito

)(minimizar x

Forma Padrão

Variável artificial apenas primeira restrição:Obter uma solução Inicial para o problema.

5,...,1i,0x

4xx3xx

3xxxx

xx,...,xf

i

4321

5321

551a

=≥=++−=+++

=

2

:asujeito

)(minimizar

Page 17: Obtendo uma solução básica factível inicialicmc.usp.br/~mari/segundo2011/aula_5_10.pdf · Para resolver o problema artificial, aplicamos o método simplex. Fase I : Partição

Exemplo

5,...,1i,0x

4xx3xx

3xxxx

xx,...,xf

i

4321

5321

551a

=≥=++−=+++

=

2

:a sujeito

)(minimizar

Para resolver o problema artificial, aplicamos o método simplex.

Fase I: Partição básica factível inicial: 41 =B 52 =B 11 =N 22 =N

33 =N

=01

10B e

−=

312

111N

1a. Iteração

1. Solução básica:

Resolva o sistema bxB =Bˆ , cuja matriz aumentada é

4

3

01

10 e obtenha a

solução:

=

=

3

4

x

5

4Bx

Page 18: Obtendo uma solução básica factível inicialicmc.usp.br/~mari/segundo2011/aula_5_10.pdf · Para resolver o problema artificial, aplicamos o método simplex. Fase I : Partição

Exemplo

5,...,1i,0x

4xx3xx

3xxxx

xx,...,xf

i

4321

5321

551a

=≥=++−=+++

=

2

:a sujeito

)(minimizar

1. Teste de otimalidade:

i) Vetor multiplicador: Resolva o sistema BT cλB = , cuja matriz aumentada

é

1

0

01

10 e obtenha

=0

ii) Custos relativos

11 =N : 1cc 1T

11 −=−= aλ ← 1Nx = x1 entra na base

22 =N : 1cc 2T

22 −=−= aλ

33 =N : 1cc 3T

33 −=−= aλ

Page 19: Obtendo uma solução básica factível inicialicmc.usp.br/~mari/segundo2011/aula_5_10.pdf · Para resolver o problema artificial, aplicamos o método simplex. Fase I : Partição

Exemplo

5,...,1i,0x

4xx3xx

3xxxx

xx,...,xf

i

4321

5321

551a

=≥=++−=+++

=

2

:a sujeito

)(minimizar

1. Direção simplex: Resolva o sistema 1aBy = , cuja matriz aumentada é

2

1

01

10 e obtenha y =

1

2

1. Tamanho do passo

1

Bi

i

B

y

x2

1

3,

2

4min0y

y

xmin 1i ==

=

>=ε (1Bx = x4 sai da base)

2. Atualização

1B1 = 5B2 = 4N1 = 2N2 = 3N3 =

=02

11B e

−=

311

110N

Page 20: Obtendo uma solução básica factível inicialicmc.usp.br/~mari/segundo2011/aula_5_10.pdf · Para resolver o problema artificial, aplicamos o método simplex. Fase I : Partição

Exemplo

5,...,1i,0x

4xx3xx

3xxxx

xx,...,xf

i

4321

5321

551a

=≥=++−=+++

=

2

:a sujeito

)(minimizar2a. Iteração: 1B1 = 5B2 = 4N1 = 2N2 = 3N3 =

1. Solução básica: Resolva o sistema bxB =Bˆ :

4

3

02

11 e obtenha

=1

2ˆ Bx

2. Teste de otimalidade

i) Vetor multiplicador: Resolva o sistema BT cλB = :

1

0

01

21 e obtenha

λλλλ =

− 21

1

ii) Custos relativos

4N1 = : 21

444 =−= aλTcc

22 =N : 23

222 −=−= aλTcc ← 2Nx = x2 entra na base

3N3 = : 31

3T

33 cc =−= aλ

Page 21: Obtendo uma solução básica factível inicialicmc.usp.br/~mari/segundo2011/aula_5_10.pdf · Para resolver o problema artificial, aplicamos o método simplex. Fase I : Partição

Exemplo

5,...,1i,0x

4xx3xx

3xxxx

xx,...,xf

i

4321

5321

551a

=≥=++−=+++

=

2

:a sujeito

)(minimizar

1. Direção simplex: resolva o sistema 2aBy = :

− 1

1

02

11 e obtenha

−=

2321

y

2. Tamanho do passo

2

B32

23i

i

B

y

x;

1min0y

y

xmin 2i ==

=

>=ε (2Bx = x5 sai da base - Variável

artificial )

1. Atualização:

1B1 = 2B2 = 41 =N 5N2 = 3N3 =

−=

12

11B

Fim da FASE I

Page 22: Obtendo uma solução básica factível inicialicmc.usp.br/~mari/segundo2011/aula_5_10.pdf · Para resolver o problema artificial, aplicamos o método simplex. Fase I : Partição

Exemplo – FASE II

5,...,1i,0x

4xx3xx

3xxxx

xx,...,xf

i

4321

5321

551a

=≥=++−=+++

=

2

:a sujeito

)(minimizar

FASE I – Problema Artificial

Fase II: Aplicar o método simplex a partir da base obtida na Fase I. A variável

artificial (segunda variável não básica: N2 = 5) é descartada e os índices não

básicos são redefinidos: N1 = 4, N2 = 3. �

Page 23: Obtendo uma solução básica factível inicialicmc.usp.br/~mari/segundo2011/aula_5_10.pdf · Para resolver o problema artificial, aplicamos o método simplex. Fase I : Partição

Exerc ício

Obtenha a uma base factível inicial do problema.

1 2

1 2

1 2

1 2

3 4

:

4

2 3 1 8

0 , 0

M i n i m i z e x x

s u j e i t o a

x x

x x

x x

− +

+ ≤+ ≥

≥ ≥