Você está na página 1de 17
Programação Linear Inteira - PLI Prof. Me.William de Sousa Dias Mestre em Engenharia de Produção
Programação Linear Inteira - PLI

Programação Linear Inteira - PLI

Programação Linear Inteira - PLI Prof. Me.William de Sousa Dias Mestre em Engenharia de Produção e
Programação Linear Inteira - PLI Prof. Me.William de Sousa Dias Mestre em Engenharia de Produção e

Prof. Me.William de Sousa Dias Mestre em Engenharia de Produção e Sistemas UNISINOS

william.dias@catolica-to.edu.br

Pesquisa Operacional
Pesquisa Operacional
Pesquisa Operacional  Nem sempre se pode dividir o valor de uma variável: meia máquina, produzir
Pesquisa Operacional  Nem sempre se pode dividir o valor de uma variável: meia máquina, produzir

Nem sempre se pode dividir o valor de uma variável: meia máquina, produzir meio produto etc.

(c) William Dias

PL

≥0

PLI

+

2
2
Pesquisa Operacional
Pesquisa Operacional
Pesquisa Operacional  Utilizada quando há necessidade de expressar variáveis inteiras nos modelos de otimização

Utilizada quando há necessidade de expressar variáveis inteiras nos modelos de otimização

Exemplos:

Variáveis Dicotômicas (Binárias)

0: não acontece

1: acontece

Variáveis Inteiras

0, 1, 2, 3,

: número de pessoas alocadas numa tarefa

3
3
Pesquisa Operacional
Pesquisa Operacional
 Um empresa
 Um
empresa

A

capacidade total de trabalho por semana é de 50 horas. O produto A requer 3 horas de trabalho e propicia lucro de

R$ 300,00. O produto B precisa de 5 horas para ser terminado e

400,00.

produz lucro

Quantas unidades de A e B devem ser produzidas de modo a maximizar o lucro?

produz

dois

tipos

de

produtos,

A

e

B.

de

R$

Modelo de Programação Linear

a: número de unidades A b: número de unidades B

maximizar z = 300 a + 400 b sujeito a 3 a + 5 b <= 50

4
4
Pesquisa Operacional
Pesquisa Operacional
Pesquisa Operacional  Modelo de Programação Linear no Lindo max 300 a + 400 b st

Modelo de Programação Linear no Lindo

max 300 a + 400 b st

3 a + 5 b <= 50

Qual o significado desta solução? 1 REDUCED COST 0.000000
Qual o significado desta
solução?
1
REDUCED COST
0.000000

100.000000

end

Solução

LP OPTIMUM FOUND AT STEP OBJECTIVE FUNCTION VALUE

5000.000

VARIABLE

VALUE

A

B

16.666666

0.000000

ROW

SLACK OR SURPLUS

2)

NO. ITERATIONS=

0.000000

1

DUAL PRICES

100.000000

5
5
Pesquisa Operacional
Pesquisa Operacional
Pesquisa Operacional  Tentativa 1: a = 17 b = 0 Lucro = 300 * a

Tentativa 1:

a = 17

b = 0

Lucro = 300 * a + 400 * b = 5.100,00

Mas: 3 * a + 5 * b = 51 > 50

A solução não é válida!!!

Tentativa 2:

a = 16

b = 0

Lucro = 300 * a + 400 * b = 4.800,00

É a melhor solução?

6
6
Pesquisa Operacional
Pesquisa Operacional
Pesquisa Operacional  Reescrevendo o modelo: Indicam que “a” e “b” devem ser inteiros max 300

Reescrevendo o modelo:

Indicam que “a” e “b” devem ser inteiros
Indicam que “a” e “b”
devem ser inteiros

max 300 a + 400 b st 3 a + 5 b <= 50 end gin a gin b

 Solução LP OPTIMUM FOUND AT STEP 1 OBJECTIVE VALUE = 5000.00000 NEW INTEGER SOLUTION
Solução
LP OPTIMUM FOUND AT STEP
1
OBJECTIVE VALUE =
5000.00000
NEW INTEGER SOLUTION OF 4900.00 AT BRANCH 0 PIVOT 1
RE-INSTALLING BEST SOLUTION
OBJECTIVE FUNCTION VALUE
Esta é a melhor solução
inteira!
1)
4900.000
VARIABLE
VALUE
REDUCED COST
A
15.000000
-300.000000

B

ROW

2)

1.000000

-400.000000

SLACK OR SURPLUS

DUAL PRICES

0.000000

0.000000

NO. ITERATIONS=

BRANCHES=

1

0 DETERM.= 1.000E

0

7
7
Pesquisa Operacional
Pesquisa Operacional
Pesquisa Operacional Modelos Inteiros podem ser resolvidos por diversos algoritmos, em geral complexos e que necessitam

Modelos Inteiros podem ser resolvidos por diversos algoritmos,

em geral complexos e que necessitam uso de computadores.

As estratégias dos Algoritmos de PLI envolvem 3 etapas:

Etapa 1. Relaxe a região de soluções da PLI eliminando a restrição inteira imposta a todas as variáveis inteiras e substituindo qualquer variável binária y pela faixa continua 0<=y<=1. O resultado é uma PL normal.

Etapa 2. Resolva a PL e identifique a solução ótima continua.

Etapa 3. Começando do ponto ótimo continuo, adicione

restrições especiais que modifiquem iterativamente a região de soluções da PL de maneira que, a certa altura, resultará em um ponto extremo ótimo que satisfaz os requisitos inteiros.

(c) William Dias

8
8
Pesquisa Operacional
Pesquisa Operacional
Pesquisa Operacional Dois métodos gerais foram desenvolvidos: 1. O método Branch -and -Bound (B&B).  Mais

Dois métodos gerais foram desenvolvidos:

1. O método Branch -and -Bound (B&B).

Mais antigo

Desenvolvido 1960 por A. Land e G. Doig

Resolução de problemas misto e geral

Mais confiável

2. O método de planos de corte.

Difícil Incerto

Erros de arredondamento

(c) William Dias

9
9
Pesquisa Operacional
Pesquisa Operacional
max 300 a + 400 b st a = 16,667 3 a + 5 b
max 300 a + 400 b
st
a
= 16,667
3 a + 5 b <= 50
end
gin a
gin b
b
= 0
L
= 5.000,00
a = 16
b = 0,400
L = 4.960,00
a = 17
b = ?
Inviável
a = 16
b = 0
a = 15
b = 1
L = 4.800,00
L = 4.900,00
Melhor
solução inteira!
10
Pesquisa Operacional
Pesquisa Operacional
Pesquisa Operacional Exemplo PLI no Solver Uma empresa deseja desenvolver e otimizar um modelo de Programação

Exemplo PLI no Solver

Uma empresa deseja desenvolver e otimizar um modelo de Programação Linear que estabeleça o lucro ótimo: Sabe-se que a

produção do produto P1 deve ser de no mínimo 80 unidades, a

produção de P2 deve ser de no mínimo 100 unidades e por fim a produção de P3 também deve ser de no mínimo 100 unidades. Formule e otimize o problema abaixo:

 

P1

P2

P3

Disponível

Lucro unitário

R$2.100,00

R$1.200,00

R$600,00

 

Horas homens

6

4

6

3.400

Horas Máquinas

12

6

2

3.200

(c) William Dias

11
11
Pesquisa Operacional
Pesquisa Operacional
Pesquisa Operacional Maximizar Z = 5x1 +4x2 x1 + x2 <= 5 10x1 + 6x2 <=
Pesquisa Operacional Maximizar Z = 5x1 +4x2 x1 + x2 <= 5 10x1 + 6x2 <=
Pesquisa Operacional Maximizar Z = 5x1 +4x2 x1 + x2 <= 5 10x1 + 6x2 <=
Pesquisa Operacional Maximizar Z = 5x1 +4x2 x1 + x2 <= 5 10x1 + 6x2 <=
Pesquisa Operacional Maximizar Z = 5x1 +4x2 x1 + x2 <= 5 10x1 + 6x2 <=

Maximizar Z = 5x1 +4x2

x1 + x2 <= 5

10x1 + 6x2 <= 45 x1, x2 inteiras, não negativas

(c) William Dias

12
12
Pesquisa Operacional
Pesquisa Operacional
Pesquisa Operacional Solver: Cinco projetos estão sob avaliação dentro de uma projeção de planejamento de três
Pesquisa Operacional Solver: Cinco projetos estão sob avaliação dentro de uma projeção de planejamento de três
Pesquisa Operacional Solver: Cinco projetos estão sob avaliação dentro de uma projeção de planejamento de três

Solver: Cinco projetos estão sob avaliação dentro de uma

projeção de planejamento de três anos. A tabela a seguir dá os

retornos esperados para cada projeto e os desembolsos anuais associados.

 

Desembolso em milhões/ ano

 

Projeto

1

2

3

Retorno milhões

1

5

1

8

20

2

4

7

10

40

3

3

9

2

20

4

7

4

1

15

5

8

6

10

30

Fundos disponíveis em milhões

25

25

25

 

Quais projetos devem ser selecionados na projeção de três anos? Responda “sim-ou-não” para cada projeto

(c) William Dias

13
13
Pesquisa Operacional
Pesquisa Operacional
Pesquisa Operacional Três empresas de telefonia me consultaram para que eu assinasse seus serviços de longa
Pesquisa Operacional Três empresas de telefonia me consultaram para que eu assinasse seus serviços de longa

Três empresas de telefonia me consultaram para que eu

assinasse seus serviços de longa distância (Claro, Vivo e Oi). A

Claro cobrará uma taxa fixa de R$16 por mês, mais R$0,25 por

min. A Vivo cobrará R$25 por mês, mas reduzirá o custo por minuto para R$0,21. Quanto à Oi, a taxa fixa mensal é R$18 e o custo por minuto é R$0,22. De modo geral, gasto uma média

mensal de 200 minutos em chamadas de longa distância.

Considerando que eu não pague a taxa fixa a menos que eu faça

chamadas e as distribua entre todas as três empresas à vontade, como eu poderia usar as três empresas para minimizar minha

conta telefônica mensal?

y1 = 1 se x1>0 e 0 se x1 = 0 y2 = 1 se x2>0 e 0 se x2 = 0 y3 = 1 se x3>0 e 0 se x3 = 0

(c) William Dias

x1 = minutos de chamadas de longa distância por mês pela Claro x2 = minutos de chamadas de longa

distância por mês pela Vivo x3 = minutos de chamadas de longa

distância por mês pela Oi

14
14
Pesquisa Operacional
Pesquisa Operacional
Pesquisa Operacional Minimizar Z = 0,25x1 + 0,21x2 + 0,22x3 + 16y1 + 25y2 + 18y3
Pesquisa Operacional Minimizar Z = 0,25x1 + 0,21x2 + 0,22x3 + 16y1 + 25y2 + 18y3

Minimizar Z = 0,25x1 + 0,21x2 + 0,22x3 + 16y1 + 25y2 + 18y3

Sujeito a

x1 + x2 + x3 = 200 x1<= 200y1

x2<= 200y2

x3<= 200y3

Isso garante que yj será igual a 1 se xj for positiva

Xj <= Myj; j =1,2,3 O valor de M deve ser suficientemente grande de modo a não restringir a variável xj artificialmente, por isso 200, que é aproximadamente o número de chamadas por mês. Se xj = 0 na solução forçará yj também ter valor 0 na solução.

(c) William Dias

15
15
Pesquisa Operacional
Pesquisa Operacional
Pesquisa Operacional  TAHA, H. A. Pesquisa Operacional . 8. ed. São Paulo: Pearson, 2008. (c)

TAHA, H. A. Pesquisa Operacional. 8. ed. São Paulo: Pearson,

2008.

(c) William Dias

31
31
Pesquisa Operacional
Pesquisa Operacional

POR HOJE É SÓ

32
32