• Nenhum resultado encontrado

TÓPICOS EM PESQUISA OPERACIONAL AULA 6 – Programação Linear

N/A
N/A
Protected

Academic year: 2019

Share "TÓPICOS EM PESQUISA OPERACIONAL AULA 6 – Programação Linear"

Copied!
24
0
0

Texto

(1)

© UNESP 6 Agosto 2008

Autor: Anibal Tavares de Azevedo

Limeira, 17 de Abril 2013

TÓPICOS EM PESQUISA OPERACIONAL

AULA 6 – Programação Linear

2

FORMULAÇÃO MATEMÁTICA

EXERCÍCIO 1:Em uma fábrica deve ser decidido a quantidade de produção x1 e x2 de dois produtos P1 e P2. O lucro com o produto P1 é de R$ 5,00 por unidade e do produto P2 é de R$ 2,00 por unidade. Existe uma máquina para processar apenas o produto P1 cuja capacidade máxima é de 3 unidades de tempo e para o produto P2, 4 unidades. Nestas duas máquinas gasta-se 1 unidade de tempo para processar 1 produto. Existe uma máquina capaz de processar tanto o produto P1 como o produto P2 cuja capacidade máxima de tempo é de 9 unidades de tempo. Assumindo que nesta máquina o tempo para processar o produto P2 é o dobro do gasto para processar o produto P1 e P1 gasta-se 1 unidade de tempo, pede-se:

(2)

© UNESP 6 Agosto 2008

x

1

x

2

Máquina 1

3 unidades

de tempo

Máquina 2

4 unidades

de tempo

x

1

x

2

Máquina 3

9 unidades

de tempo

x

2

x

1

Tempo

1x

Tempo

2x

Tempo

1x

Tempo

1x

4

© UNESP 6 Agosto 2008

Max Z=5x

1

+ 2x

2

S.a.: x

1

≤ 3

x

2

≤ 4

x

1

+ 2x

2

≤ 9

x

1

, x

2

≥ 0

Max Z=5x

1

+ 2x

2

S.a.: x

1

+ x

3

= 3

x

2

+ x

4

= 4

x

1

+ 2x

2

+ x

5

= 9

x

1

, x

2

, x

3

, x

4

, x

5

≥ 0

MÉTODO SIMPLEX TABULAR

(3)

© UNESP 6 Agosto 2008

variáveis, as constantes das restrições e quais variáveis são básicas e não-básicas.

Z -5x

1

–2x

2

= 0

x

1

+x

3

= 3

x

2

+x

4

= 4

x

1

+ 2x

2

+x

5

= 9

Z = 5x

1

+ 2x

2

x

1

+ x

3

= 3

x

2

+ x

4

= 4

x

1

+ 2x

2

+ x

5

= 9

Z x1 x2 x3 x4 x5 rhs VB

Z X3

X4

X5

Exercício

1:

Completar

o “tableau” inicial !!

6

O método simplex anteriormente empregado é chamado de Simplex analítico. Uma alternativa é empregar a forma tabular (“tableau”) que armazena apenas os coeficientes das variáveis, as constantes das restrições e quais variáveis são básicas e não-básicas.

Z -5x

1

–2x

2

= 0

x

1

+x

3

= 3

x

2

+x

4

= 4

x

1

+ 2x

2

+x

5

= 9

Z = 5x

1

+ 2x

2

x

1

+ x

3

= 3

x

2

+ x

4

= 4

x

1

+ 2x

2

+ x

5

= 9

Z x1 x2 x3 x4 x5 rhs VB

1 -5 -2 0 0 0 0 Z

0 1 0 1 0 0 3 X

(4)

© UNESP 6 Agosto 2008

Início

Determine uma solução inicial

Z tem coef. positivos?

Encontrou a solução ótima

Fim

1. Escolha uma variável

não-básica xi com

coeficiente positivo.

2. Determine a variável básica xj que limita xi

e vira não-básica.

3. Modifique as equações

das restrições e a

função objetivo.

Sim

Não

Algoritmo para resolução analítica

8

© UNESP 6 Agosto 2008

Z x1 x2 x3 x4 x5 rhs VB

1 -5 -2 0 0 0 0 Z

0 1 0 1 0 0 3 X3

0 0 1 0 1 0 4 X4

0 1 2 0 0 1 9 X5

1

Fornecer solução básica factível inicial:

(x1, x2, x3, x4, x5) = (0, 0, 3, 4, 9)

Determinar qual variável não-básica (x1, x2) deverá se tornar

básica (“sair do nível zero”).

(5)

© UNESP 6 Agosto 2008

Z x1 x2 x3 x4 x5 rhs VB

1 -5 -2 0 0 0 0 Z

0 1 0 1 0 0 3 X3

0 0 1 0 1 0 4 X4

0 1 2 0 0 1 9 X5

Coluna pivô

Usando o critério do maior aumento ou do primeiro aumento, escolhe-se a variável x1 para ser básica (ou entrar na base).

10

Z x1 x2 x3 x4 x5 rhs VB Raio

1 -5 -2 0 0 0 0 Z

0 1 0 1 0 0 3 X3 3

0 0 1 0 1 0 4 X4

0 1 2 0 0 1 9 X5 9

3

Determinar variável que sai da base: x3

Linha pivô

Deve-se determinar qual variável sairá da base. Verificando-se qual o maior incremento possível, obtém-se que

•••• x3 limita o aumento de x1 em até 3.

(6)

© UNESP 6 Agosto 2008

Z x1 x2 x3 x4 x5 rhs VB

1 -5 -2 0 0 0 0 Z

0 1 0 1 0 0 3 X3

0 0 1 0 1 0 4 X4

0 1 2 0 0 1 9 X5

4

Obter nova base: (x1, x4, x5).

Linha pivô

Para indicar que x3 passou a ser variável não-básica, deve-se

atualizar o quadro de modo que todas as variáveis básicas sejam escritas em função de x3 e não mais em função de x1 (que

agora é básica). O procedimento computacional equivale à subtrair a linha de x3 das demais de modo a “zerar” os valores

contidos na coluna x1. Na antiga linha de x3 deixar apenas o

coeficiente 1 na coluna correspondente à variável x1.

12

© UNESP 6 Agosto 2008

Z x1 x2 x3 x4 x5 rhs VB

1 -5 -2 0 0 0 0 Z

0 1 0 1 0 0 3 X1

0 0 1 0 1 0 4 X4

0 1 2 0 0 1 9 X5 Manter!

Z x1 x2 x3 x4 x5 rhs VB

1 -5 -2 0 0 0 0 Z

0 1 0 1 0 0 3 X1

0 0 1 0 1 0 4 X4

0 1 2 0 0 1 9 X5

××××

(-1)

4

Obter nova base: (x1, x4, x5).

(7)

© UNESP 6 Agosto 2008

Z x1 x2 x3 x4 x5 rhs VB

1 -5 -2 0 0 0 0 Z

0 1 0 1 0 0 3 X1

0 0 1 0 1 0 4 X4

0 0 2 -1 0 1 6 X5

××××

(5)

Z x1 x2 x3 x4 x5 rhs VB

1 0 -2 5 0 0 15 Z

0 1 0 1 0 0 3 X1

0 0 1 0 1 0 4 X4

0 0 2 -1 0 1 6 X5

14

4

Obter nova solução básica factível:(x

1, x2, x3, x4, x5) = (3, 0, 0, 4, 6).

Z x1 x2 x3 x4 x5 rhs VB

1 0 -2 5 0 0 15 Z

0 1 0 1 0 0 3 X1

0 0 1 0 1 0 4 X4

0 0 2 -1 0 1 6 X5

Ao final da primeira iteração é possível perceber que ainda é possível obter uma solução melhor (uma das variáveis não-básicas, x2, ainda possível coeficiente negativo).

1

(8)

© UNESP 6 Agosto 2008

Z x1 x2 x3 x4 x5 rhs VB

1 0 -2 5 0 0 15 Z

0 1 0 1 0 0 3 X1

0 0 1 0 1 0 4 X4

0 0 2 -1 0 1 6 X5

2

Determinar variável não-básica que entra

na base: x2

Coluna pivô

Usando o critério do maior aumento ou do primeiro aumento, escolhe-se a variável x2 para ser básica (ou entrar na base).

16

© UNESP 6 Agosto 2008

Z x1 x2 x3 x4 x5 rhs VB Raio

1 0 -2 5 0 0 15 Z

0 1 0 1 0 0 3 X1

0 0 1 0 1 0 4 X4 4

0 0 2 -1 0 1 6 X5 3

3

Determinar variável que sai da base: x5

Linha pivô

Deve-se determinar qual variável sairá da base. Verificando-se qual o maior incremento possível, obtém-se que:

•••• x4 limita o aumento de x2 em até 4.

x5 limita o aumento de x2 em até 3.

Logo, x5 deve deixar de ser básica (sair da base).

(9)

© UNESP 6 Agosto 2008

Z x1 x2 x3 x4 x5 rhs VB

1 0 -2 5 0 0 15 Z

0 1 0 1 0 0 3 X1

0 0 1 0 1 0 4 X4

0 0 2 -1 0 1 6 X5

Linha pivô

Para indicar que x5 passou a ser variável não-básica, deve-se

atualizar o quadro de modo que todas as variáveis básicas sejam escritas em função de x5 e não mais em função de x2 (que

agora é básica). O procedimento computacional equivale à subtrair a linha de x5 das demais de modo a “zerar” os valores

contidos na coluna x2. Na antiga linha de x5 deixar apenas o

coeficiente 1 na coluna correspondente à variável x2.

18

Z x1 x2 x3 x4 x5 rhs VB

Dividir por 2 !

4

Obter nova base: (x1, x2, x4).

Z x1 x2 x3 x4 x5 rhs VB

1 0 -2 5 0 0 15 Z

0 1 0 1 0 0 3 X1

0 0 1 0 1 0 4 X4

0 0 2 -1 0 1 6 X2

Exercício 2: Atualizar o quadro

com a operação anterior!!

(10)

© UNESP 6 Agosto 2008

Z x1 x2 x3 x4 x5 rhs VB

1 0 -2 5 0 0 15 Z

0 1 0 1 0 0 3 X1

0 0 1 0 1 0 4 X4

0 0 1 -1/2 0 1/2 3 X2

Dividir por 2 !

4

Obter nova base: (x1, x2, x4).

Z x1 x2 x3 x4 x5 rhs VB

1 0 -2 5 0 0 15 Z

0 1 0 1 0 0 3 X1

0 0 1 0 1 0 4 X4

0 0 2 -1 0 1 6 X2

20

© UNESP 6 Agosto 2008

Z x1 x2 x3 x4 x5 rhs VB

1 0 -2 5 0 0 15 Z

0 1 0 1 0 0 3 X1

0 0 1 0 1 0 4 X4

0 0 1 -1/2 0 1/2 3 X2

××××

(-1)

4

Obter nova base: (x1, x2, x4).

Z x1 x2 x3 x4 x5 rhs VB

Exercício 3: Atualizar o quadro

com a operação anterior!!

(11)

© UNESP 6 Agosto 2008

Z x1 x2 x3 x4 x5 rhs VB

1 0 -2 5 0 0 15 Z

0 1 0 1 0 0 3 X1

0 0 1 0 1 0 4 X4

0 0 1 -1/2 0 1/2 3 X2

××××

(-1)

Z x1 x2 x3 x4 x5 rhs VB

1 0 -2 5 0 0 15 Z

0 1 0 1 0 0 3 X1

0 0 0 1/2 1 -1/2 1 X4

0 0 1 -1/2 0 1/2 3 X2

22

Z x1 x2 x3 x4 x5 rhs VB

4

Obter nova base: (x1, x2, x4).

Z x1 x2 x3 x4 x5 rhs VB

1 0 -2 5 0 0 15 Z

0 1 0 1 0 0 3 X1

0 0 0 1/2 1 -1/2 1 X4

0 0 1 -1/2 0 1/2 3 X2

××××

(2)

Exercício 4: Atualizar o quadro

com a operação anterior!!

(12)

© UNESP 6 Agosto 2008

Z x1 x2 x3 x4 x5 rhs VB

1 0 0 4 0 1 21 Z

0 1 0 1 0 0 3 X1

0 0 0 1/2 1 -1/2 1 X4

0 0 1 -1/2 0 1/2 3 X2

4

Obter nova base: (x1, x2, x4).

Z x1 x2 x3 x4 x5 rhs VB

1 0 -2 5 0 0 15 Z

0 1 0 1 0 0 3 X1

0 0 0 1/2 1 -1/2 1 X4

0 0 1 -1/2 0 1/2 3 X2

××××

(2)

24

© UNESP 6 Agosto 2008

Z x1 x2 x3 x4 x5 rhs VB

1 0 0 4 0 1 21 Z

0 1 0 1 0 0 3 X1

0 0 0 1/2 1 -1/2 1 X4

0 0 1 -1/2 0 1/2 3 X2

4

Obter nova solução básica factível:(x

1, x2, x3, x4, x5) = (3, 3, 0, 1, 0).

Ao final da segunda iteração é possível perceber a solução ótima foi obtida, pois nenhuma das variáveis não-básicas, x3 ou

x5, tem coeficiente negativo. A função objetivo nesta solução

é, de acordo com o “Tableau”, Z = 21. De fato, para (x1, x2,

x3, x4, x5) = (3, 3, 0, 1, 0), têm-se:

Z = 5x1 + 2x2 = 5*3 + 2*3 = 15 + 6 = 21.

(13)

© UNESP 6 Agosto 2008

4

0

3

3

1

(3,3)

x

1

+ 2x

2

+ x

5

=9

x

1

5

x

2

+ x

4

= 4

RESUMO RESOLUÇÃO

26

4

x

2

3

(1,4)

(3,3)

x

1

+ 2x

2

+ x

5

=9

Solução: z = 0 ( x1, x2, x3, x4, x5 )

=

(0, 0, 3, 4, 9)

x

1

+ x

3

= 3

(14)

© UNESP 6 Agosto 2008

4

x

2

0

3

3

1

(1,4)

(3,3)

x

1

+ 2x

2

+ x

5

=9

x

1

5

x

1

+ x

3

= 3

x

2

+ x

4

= 4

A variável não-básica x1(valor zero) vira básica e

passa a valer 3.

28

© UNESP 6 Agosto 2008

4

x

2

0

3

3

1

(1,4)

(3,3)

x

1

+ 2x

2

+ x

5

=9

x

1

5

x

1

+ x

3

= 3

x

2

+ x

4

= 4

Solução: z = 15 ( x1, x2, x3, x4, x5 )

=

( 3, 0, 0, 4, 6 )

(15)

© UNESP 6 Agosto 2008

4

0

3

3

1

(3,3)

x

1

+ 2x

2

+ x

5

=9

x

1

5

x

2

+ x

4

= 4

A variável não-básica x2(valor zero) vira básica e

passa a valer 3.

30

4

x

2

3

(1,4)

(3,3)

x

1

+ 2x

2

+ x

5

=9

x

1

+ x

3

= 3

x

2

+ x

4

= 4

Solução: z = 21 ( x1, x2, x3, x4, x5 )

=

( 3, 3, 0 , 1 , 0 )

(16)

© UNESP 6 Agosto 2008

4

x

2

0

3

3

1

(1,4)

(3,3)

x

1

5

Max Z =

21 – 4x

3

- x

5

Solução ótima

32

© UNESP 6 Agosto 2008

4

x

2

0

3

3

1

(1,4)

(3,3)

x

1

5

(17)

© UNESP 6 Agosto 2008

S.a.: x

1

+ x

3

= 3

x

2

+ x

4

= 4

x

1

+ 2x

2

+ x

5

= 9

x

1

, x

2

, x

3

, x

4

, x

5

≥ 0

1

0

0

2

1

0

1

0

1

0

0

0

1

0

1

                5 4 3 2 1 x x x x x

3 2 1

b

b

b

=

A

x

b

34

ÁLGEBRA DO MÉTODO SIMPLEX

1

0

0

2

1

0

1

0

1

0

0

0

1

0

1

                5 4 3 2 1 x x x x x

9

4

3

=

A

x

b

[ x

N

x

B

]

(18)

© UNESP 6 Agosto 2008

1

0

0

2

1

0

1

0

1

0

0

0

1

0

1

                5 4 3 2 1 x x x x x

9

4

3

=

A

x

b

N

B

[ x

N

x

B

]

Variáveis básicas Variáveis não-básicas Colunas das variáveis não-básicas Colunas das variáveis básicas 36

© UNESP 6 Agosto 2008

ÁLGEBRA DO MÉTODO SIMPLEX

Seja o P.P.L.:

0 x >

b A x =

ctx

z = (MAX)

s.a.

Onde: A (m x n) , n > m . Para calcular uma solução básica a partir de um conjunto de variáveis básicas e não-básicas, basta empregar:

x

B

= B

-1

b - B

-1

N x

N

Bx

B

+ Nx

N

= b

(19)

© UNESP 6 Agosto 2008

x

B

= B

-1

b - B

-1

N x

N

1

0

0

2

1

0

1

0

1

0

0

0

1

0

1

x

N

= 0

                5 4 3 2 1 x x x x x

9

4

3

=

b

B

Logo:           =                     =           − 9 4 3 9 4 3 1 0 0 0 1 0 0 0 1 1 5 4 3 x x x

0

38

ÁLGEBRA DO MÉTODO SIMPLEX

Exemplo 2: Seja o ponto no qual as variáveis básicas são (x1, x2, x4)e as variáveis não-básicas são (x3, x5) = (0, 0). Então:

1

0

0

2

1

0

1

0

1

0

0

0

1

0

1

x

N

= 0

                5 4 3 2 1 x x x x x

9

4

3

=

b

B

Logo:       

x 1 0 0 −1 3 3

(20)

© UNESP 6 Agosto 2008

Seja o P.P.L.:

0 x >

b A x =

ctx

z = (MAX)

s.a.

Seja uma base qualquer factível:

FORMA PADRÃO

cBBBBtxB B B B + cNNNNt xN N N N = z (MAX) B xB B B B + N xN N N N = b

xB B B B > 0, xN N N N > 0

cB cNNNN

B N

xBBBB

xNNNN

m

n - m

z

b

=

A (m ××××

n), n > m

40

© UNESP 6 Agosto 2008

ÁLGEBRA DO MÉTODO SIMPLEX

Seja:

x

B

= B

-1

b - B

-1

N x

N

c

B

t

(B

-1

b - B

-1

N x

N

) + c

N

t

x

N

= z (MAX)

Substituindo na função objetivo:

c

B

t

B

-1

b + (c

N

t

- c

B

t

B

-1

N )x

N

= z (MAX)

ππππ

z

0

0 x

BBBB

+ (c

Nt

-

ππππ

N) x

N N N N

= z (MAX) - z

0

I x

B B B B

+ B

-1

N x

N N N N

= B

-1

b

x

B B B B

> 0 , x

N N N N

> 0

(21)

© UNESP 6 Agosto 2008

Z x1 x2 x3 x4 x5 rhs VB

1 -5 -2 0 0 0 0 Z

0 1 0 1 0 0 3 X3

0 0 1 0 1 0 4 X4

0 1 2 0 0 1 9 X5

0 x

BBBB

+ (c

Nt

-

ππππ

N) x

N N N N

= z (MAX) - z

0

I x

B B B B

+ B

-1

N x

N N N N

= B

-1

b

x

B B B B

> 0 , x

N N N N

> 0

42

Z x1 x2 x3 x4 x5 rhs VB

1 -5 -2 0 0 0 0 Z

0 1 0 1 0 0 3 X3

0 0 1 0 1 0 4 X4

0 1 2 0 0 1 9 X5

MÉTODO SIMPLEX TABULAR

Exemplo 3: Seja o ponto no qual as variáveis básicas são (x3, x4, x5)e as variáveis não-básicas são (x1, x2) = (0, 0). Então:

0 x

BBBB

+ (c

Nt

-

ππππ

N) x

N N N N

= z (MAX) - z

0

I x

+ B

-1

N x

= B

-1

b

A

B

(22)

© UNESP 6 Agosto 2008

Z x1 x2 x3 x4 x5 rhs VB

1 -5 -2 0 0 0 0 Z

0 1 0 1 0 0 3 X3

0 0 1 0 1 0 4 X4

0 1 2 0 0 1 9 X5

Exemplo 3: Seja o ponto no qual as variáveis básicas são (x3, x4, x5)e as variáveis não-básicas são (x1, x2) = (0, 0). Então:

0 x

BBBB

+ (c

Nt

-

ππππ

N) x

N N N N

= z (MAX) - z

0

I x

B B B B

+ B

-1

N x

N N N N

= B

-1

b

x

B B B B

> 0 , x

N N N N

> 0

C

C

D

D

44

© UNESP 6 Agosto 2008

Z x1 x2 x3 x4 x5 rhs VB

1 -5 -2 0 0 0 0 Z

0 1 0 1 0 0 3 X3

0 0 1 0 1 0 4 X4

0 1 2 0 0 1 9 X5

MÉTODO SIMPLEX TABULAR

Exemplo 3: Seja o ponto no qual as variáveis básicas são (x3, x4, x5)e as variáveis não-básicas são (x1, x2) = (0, 0). Então:

0 x

BBBB

+ (c

Nt

-

ππππ

N) x

N N N N

= z (MAX) - z

0

I x

B B B B

+ B

-1

N x

N N N N

= B

-1

b

x

B B B B

> 0 , x

N N N N

> 0

E

E

F

(23)

© UNESP 6 Agosto 2008

0 x

BBBB

+ (c

Nt

-

ππππ

N) x

N N N N

= z (MAX) - z

0

I x

B B B B

+ B

-1

N x

N N N N

= B

-1

b

x

B B B B

> 0 , x

N N N N

> 0

Z x1 x2 x3 x4 x5 rhs VB

1 0 -2 5 0 0 15 Z

0 1 0 1 0 0 3 X1

0 0 1 0 1 0 4 X4

0 0 2 -1 0 1 6 X5

A

A

B

B

46

MÉTODO SIMPLEX TABULAR

0 x

BBBB

+ (c

Nt

-

ππππ

N) x

N N N N

= z (MAX) - z

0

I x

+ B

-1

N x

= B

-1

b

Z x1 x2 x3 x4 x5 rhs VB

1 0 -2 5 0 0 15 Z

0 1 0 1 0 0 3 X1

0 0 1 0 1 0 4 X4

0 0 2 -1 0 1 6 X5

C

C

D

(24)

© UNESP 6 Agosto 2008

0 x

BBBB

+ (c

Nt

-

ππππ

N) x

N N N N

= z (MAX) - z

0

I x

B B B B

+ B

-1

N x

N N N N

= B

-1

b

x

B B B B

> 0 , x

N N N N

> 0

Z x1 x2 x3 x4 x5 rhs VB

1 0 -2 5 0 0 15 Z

0 1 0 1 0 0 3 X1

0 0 1 0 1 0 4 X4

0 0 2 -1 0 1 6 X5

E

F

E

F

Exemplo 4: Seja o ponto no qual as variáveis básicas são (x1, x4, x5)e as variáveis não-básicas são (x2, x3) = (0, 0). Então:

48

© UNESP 6 Agosto 2008

OBRIGADO !!!

Referências

Documentos relacionados

Entre o roseiral e o parque, num lugar sombrio, solitário e verde, havia um pequeno jardim rodeado de árvores altíssimas que o cobriam com os seus ramos.. No

vassourar – varrer... Que género de texto acabaste de ler? Justifica a tua resposta. Transcreve alguns versos que ilustrem a azáfama da vassoura. A dona da casa está descontente com

5- Bruno não percebeu (verbo perceber, no Pretérito Perfeito do Indicativo) o que ela queria (verbo querer, no Pretérito Imperfeito do Indicativo) dizer e, por isso, fez

a) O polícia disse um palavrão, após ter saído da casa de Adrian. Corrige as falsas.. A mãe também está com gripe. “Quase que não consegui ficar calado quando vi que não

A noite de Maio com as suas sombras e os seus brilhos, os seus perfumes, as suas flores e os seus murmúrios parecia uma história fantástica.. As folhas no ar mexiam-se levemente

A noite de Maio com as suas sombras e os seus brilhos, os seus perfumes, as suas flores e os seus murmúrios parecia uma história fantástica.. As folhas no ar mexiam-se levemente

À volta da casa de Berlim havia outras ruas também com grandes casas e as ruas que iam dar ao centro da cidade estavam sempre cheias de pessoas a passearem que paravam para

Quando o Gaspar chegou, a primeira coisa que a amiga lhe pediu foi que abrisse um pouco a janela, pois a mãe já voltara de novo para a fábrica, e ela não estava nada preocupada