Академический Документы
Профессиональный Документы
Культура Документы
Programação
Inteira/Mista
105
106 Capı́tulo 4. Programação Inteira/Mista
x2
6
PSfrag replacements
5
4
3
Solução de
2 (PLIR)
1
0 1 2 3 4 x1
7x1 + 8x2 = 28
2x1 + x2 = 6
360 − 320
' 11%.
360
Problema da Mochila
O chamado problema da mochila (knapsack problem) descreve a seguinte si-
tuação: certo indivı́duo possui uma mochila com capacidade para armazenar b
kilogramas. O indivı́duo precisa escolher as quantidades de n diferentes itens a
armazenar na mochila, sabendo que cada unidade do item i pesa ai kilogramas.
O indivı́duo atribui o valor pi a cada unidade do item i. O problema consiste em
maximizar o valor total dos itens a armazenar na mochila respeitando o seu limite
de capacidade.
108 Capı́tulo 4. Programação Inteira/Mista
Exemplo 4.2 Uma empresa está considerando investir em quatro novos projetos.
Os projetos gerariam um lucro lı́quido presente de $16000, $22000, $12000 e $8000.
(O lucro lı́quido presente, NPV em inglês, seria o lucro obtido ao longo dos anos
referido ao momento no qual a decisão de investimento é tomada.) Os projetos exi-
giriam investimentos de $5000, $7000, $4000 e $3000, respectivamente. A empresa
dispõe de um total de $14000 para investimento nos quatro projetos. O objetivo da
empresa é determinar quais projetos devem receber investimentos para que o seu
lucro seja máximo.
x1 + x 2 + x 3 + x 4 ≤ 2
x2 ≤ x 1 .
2
4.3. Modelos de Programação Inteira 109
Para que ocorra um tour, exatamente uma cidade deve ser visitada depois da
cidade i, o que se traduz nas n restrições
n
X
xij = 1, i = 1, 2, . . . , n. (4.1)
j=1,j6=i
x2
6
5 PSfrag replacements
4
3
2
1
0 1 2 3 4 5 x1
2x1 + 3x2 = 9
2x1 + x2 = 6
Algoritmo Branch–and–bound
O algoritmo branch–and–bound para problemas de maximização pode ser des-
crito em três passos principais:
maximizar z = 3x1 + 4x2
sujeito a 2x1 + x2 ≤ 6,
2x1 + 3x2 ≤ 9,
(P6)
x2 ≥ 2,
x1 ≤ 1,
x2 ≤ 2,
maximizar z = 3x1 + 4x2
sujeito a 2x1 + x2 ≤ 6,
2x1 + 3x2 ≤ 9,
(P7)
x2 ≥ 2,
x1 ≥ 2,
x2 ≥ 3,
z ∗ = 11.5 z ∗ = 11
P2 P6
(2.5, 1) (1, 2)
z ∗ = 12.75 z ∗ = 12.33
P1 P4
(2.25, 1.5) (1, 2.33)
z ∗ = 12.5 z ∗ = 12
P3 P7
(1.5, 2) (0, 3)
P5 Infactı́vel