Escolar Documentos
Profissional Documentos
Cultura Documentos
PROGRAMAO INTEIRA
Introduo
uma ferramenta para resolver Problemas de Programao
1!!!!!!!"!!!!"#$%!!!!!"#!"!"#"
!! =
0!!!!!!!"!!!!"#$%!!!!!"#!"!!"
Max z = c j x j
j=1
sujeito a :
n
w j x j b
j=1
x j {0,1} j
Item 2
11
Item 3
Item 4
j (j = 1, 2, ..., n).
O modelo consiste em determinar os valores de xj.
Varivel de
Deciso
Valor Presente
Lquido (U$$)
Capital
Exigido (U$$)
x1
9 milhes
6milhes
x2
5 milhes
3 milhes
x3
6 milhes
5 milhes
x4
4 milhes
2 milhes
so binrias.
1!!!!!!!"!!!!"#$%!!!!!"#!"!"#"
!! =
0!!!!!!!"!!!!"#$%!!!!!"#!"!!"
x3 x1
x4 x2
Min custo = c j x j
j=1
sujeito a :
n
aij x j bi
j=1
xj 0 j
para i = 1,2,...,m
que xj seja maior que zero apenas quanto yj for igual a 1 (0 xj M); caso
contrrio, xj = 0.
Min custo = c j x j + K j y j
j=1
j=1
sujeito a :
n
aij x j bi
para i = 1,2,...,m
j=1
x j M .y j
para j = 1,2,...,n,
xj 0 j
y j binria j
i=1
sujeito a :
m
zij = d j
para j = 1,2,...,n
i=1
n
zij M i yi
para i = 1,2,...,m,
j=1
zij 0 i e j
yi binria i
yi = 1 significa a deciso de
ativar a localizao i
zij volume transportado da
localizao i para o depsito
j.
A primeira restrio indica
que o volume recebido pelo
depsito j, vindo de todas as
localizaes, igual a
demanda dj.
A segunda restrio indica
que s h transporte a partir
da localizao i se yi = 1.
Algumas Aplicaes
Anlise de investimento
Escolha de um local
Desenhando uma rede de distribuio
Despacho de mercadorias
Programao de atividades
Programao de venda de ativos
Aplicaes em linhas areas
Algumas Aplicaes
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
solues possveis para este problema: (0, 0), (0,1), (1,0) e (1,1).
Algumas dessas solues podem no ser viveis.
complexo)
Se h ou no alguma estrutura especial para o problema
O nmero de restries tambm importante, porm menos que os trs
aspectos acima.
Relaxamento do PPI
Alguns algoritmos foram desenvolvidos para resoluo de alguns
problemas de PI.
A maioria destes algoritmos incorpora o mtodo simplex (ou o
Relaxamento do PPI
PI
Max z = x2
s/a:
x1 + x2 1/ 2
x1 + x2 7 / 2
x1 0, x2 0
x1 e x2 inteiros
Relaxamento do PI
Max z = x 2
s /a:
x1 + x 2 1/ 2
x1 + x 2 7 / 2
x1 0, x 2 0
Relaxamento do PPI
Uma alternativa resolver o relaxamento do PI; se a soluo
Relaxamento do PPI
H diversos tipos especiais de problemas de PI para os quais a
Max z = x1 + 5x 2
s /a:
x1 + x 2 1/ 2
s /a:
x1 +10x 2 20
x1 + x 2 7 / 2
x1 2
x1 0, x 2 0
x1 0, x 2 0
x1 e x 2 inteiros
x1 e x 2 inteiros
de PPI especficos.
Apesar de no garantirem uma soluo tima, eles tendem a ser mais
eficientes na resoluo de um PI que a estratgia de arredondar o
resultado encontrado para o correspondente problema relaxado.
Dentre as heursticas utilizadas para resolve PPI, destacam-se:
Algoritmos Genticos
Colnia de Formigas
Simulated Anneling
Estratgia MuliStart
Busca de Tabus
Busca em Vizinhana Varivel
Heurstica Gulosa
Branch-and-Bound
Branch-and-Bound - Ramificao e Avaliao Progressiva.
A ideia geral do algoritmo Branch-and-Bound dividir o conjunto de
Branch-and-Bound
Problema 1 (original)
Max z = 3x1 + 3x 2
x2
s /a:
x1 + 4x 2 12
Soluo tima do
relaxamento do PI
(x1 = 2,4; x2 = 2,4)
z* = 14,4
6x1 + 4x 2 24
6x1 + 4x 2 24
x1 0, x 2 0
(0,3)
(2,4, 2,4)
x1 e x 2 inteiros
x1 + 4x 2 12
(4,0)
x1
Branch-and-Bound
Escolhemos um dos dois valores para tentar torna-lo inteiro.
Problema 3
Max z = 3x1 + 3x 2
Max z = 3x1 + 3x 2
s /a:
s /a:
x1 + 4x 2 12
x1 + 4x 2 12
6x1 + 4x 2 24
6x1 + 4x 2 24
x1 2
x1 3
x1 0, x 2 0
x1 0, x 2 0
x1 e x 2 inteiros
x1 e x 2 inteiros
Branch-and-Bound
x2
6x1 + 4x 2 24
(2, 2,5)
(3, 1,5)
x1 + 4x 2 12
2
Parte eliminada do
conjunto de
solues viveis
x1
Branch-and-Bound
Calcula-se a soluo tima para os dois problemas relaxados.
Soluo tima Problema 2 (relaxado)
(x1 = 2; x2 = 2,5)
z* = 13,5
x2
6x1 + 4x 2 24
(2, 2,5)
(3, 1,5)
x1 + 4x 2 12
2
x1
Branch-and-Bound
Tornando o valor de x2, que atualmente 2,5 inteiro, os problemas
Problema 5
Max z = 3x1 + 3x 2
Max z = 3x1 + 3x 2
s /a:
s /a:
x1 + 4x 2 12
x1 + 4x 2 12
6x1 + 4x 2 24
6x1 + 4x 2 24
x1 2
x1 2
x2 2
x2 3
x1 0, x 2 0
x1 0, x 2 0
x1 e x 2 inteiros
x1 e x 2 inteiros
Branch-and-Bound
O problema 3 ser dividido nos problemas 6 e 7, adicionando,
Problema 7
Max z = 3x1 + 3x 2
Max z = 3x1 + 3x 2
s /a:
s /a:
x1 + 4x 2 12
x1 + 4x 2 12
6x1 + 4x 2 24
6x1 + 4x 2 24
x1 3
x1 3
x2 1
x2 2
x1 0, x 2 0
x1 0, x 2 0
x1 e x 2 inteiros
x1 e x 2 inteiros
Branch-and-Bound
Soluo do Problema 4
x2
6x1 + 4x 2 24
3
(2, 2)
x1 + 4x 2 12
2
x1
Branch-and-Bound
Soluo do Problema 5
Soluo tima Problema 5 (relaxado)
(x1 =0; x2 = 3)
z* = 9
x2
6x1 + 4x 2 24
S o ponto (0,3)
vivel
3
x1 + 4x 2 12
2
x1
Branch-and-Bound
Soluo do Problema 6
Soluo tima Problema 6 (relaxado)
(x1 =10/3; x2 = 1)
z* = 13
x2
6x1 + 4x 2 24
(10/3, 1)
x1 + 4x 2 12
x1
Branch-and-Bound
Soluo do Problema 7 (relaxado)
x2
6x1 + 4x 2 24
No h soluo vivel
(3, 1,5)
x1 + 4x 2 12
3
x1
Branch-and-Bound
Os problemas 4 e 5 tm solues inteiras e o Problema 7
Problema 9
Max z = 3x1 + 3x 2
s /a:
x1 + 4x 2 12
s /a:
6x1 + 4x 2 24
6x1 + 4x 2 24
x1 3
x1 3
x2 1
x2 1
x1 3
x1 4
x1 0, x 2 0
x1 0, x 2 0
x1 e x 2 inteiros
x1 e x 2 inteiros
x1 + 4x 2 12
Branch-and-Bound
Soluo do Problema 8
x2
6x1 + 4x 2 24
S o ponto (3,1)
vivel
(3, 1)
x1 + 4x 2 12
3
x1
Branch-and-Bound
Soluo do Problema 9
x2
6x1 + 4x 2 24
S o ponto (4,0)
vivel
x1 + 4x 2 12
3
(4,0)
x1
Branch-and-Bound
rvore de soluo
x1 2
x2 2
X1 = 2
X2 = 2
Z = 12
X1 = 2
X2 = 2,5
Z = 13,5
X1 = 2,4
X2 = 2,4
Z = 14,4
x1 3
X1 = 3
X2 = 1,5
Z = 13,5
x2 2
x2 1
x2 3
X1 = 10/3
X1 = 0
X2 = 3
Z=9
invivel
X2 = 1
Z = 13
x1 3
X1 = 3
X2 = 1
Z = 12
x1 4
X1 = 4
X2 = 0
Z = 12