Professional Documents
Culture Documents
Complementos de
Investigao Operacional
(Parte I)
Programa
1. Programao Inteira (Programao linear inteira mista)
a. Introduo e Aplicaes de programao inteira
b. Modelao com variveis inteiras e modelao com variveis 0-1
c. Mtodos e tcnicas de resoluo
i. Algoritmo Branch-and-Bound
ii. Tcnicas enumerativas
1
20/09/2017
Problemas de Otimizao
Linear No Linear
Mtodo grfico
Simplex
Ponto Interior
Problemas de Otimizao
Linear No Linear
2
20/09/2017
Modelo Formal
3
20/09/2017
Problemas tpicos de PI
Problema de Afetao
Problema do Caixeiro Viajante
Problema da Mochila
Problema de Cobertura
Problema de Partio de Conjuntos
Problema de Seleo de Projetos
Problema de Localizao
Aplicaes de PI(B)
Anlise de Investimentos
Escolha de Local
Desenho de uma rede de produo e distribuio
Distribuio de mercadorias
Programao de atividades inter-relacionadas
Aplicaes em linhas areas
etc..
4
20/09/2017
5
20/09/2017
6
20/09/2017
7
20/09/2017
8
20/09/2017
x1- 2x2<=15
9
20/09/2017
10
20/09/2017
Demonstra-se (Gomory, 1958) que se atinge a soluo tima do PLI aps um nmero finito de
cortes.
Se se interromper o mtodo, antes de ele chegar ao fim, no se dispe de qualquer soluo inteira, ainda que no
seja tima.
11
20/09/2017
Branch-and-Bound
(Mtodo de partio e avaliaes sucessivas)
Branch-and-Bound
(Mtodo de partio e avaliaes sucessivas)
Comea-se por resolver a relaxao linear do PLI inicial:
se as variveis que no problema de PLI so inteiras tomam, na soluo tima do PL, valores inteiros, ento foi
encontrada a soluo tima do PLI;
Caso contrrio, divide-se o problema de PL em dois, atravs da introduo de restries adicionais que fazem
a partio do conjunto das solues possveis.
Vo-se resolvendo sucessivos problemas de PL, estabelecendo-se limites para o valor timo
da funo objetivo e, assim, eliminando diversos sub-conjuntos, at se alcanar a soluo
tima do PLI.
12
20/09/2017
Branch-and-Bound - PIM
1) Resolve-se a relaxao linear do problema:
I. Se a soluo inteira, ento obtm-se a soluo tima.
II. Caso contrrio, criam-se dois novos sub-problemas ramificando-se uma varivel fracionria.
2) Um sub-problema no ramificado quando:
I. Todas as variveis na soluo so inteiras;
II. A soluo do sub-problema no admissvel.
3) Escolhe-se um sub-problema onde existem variveis fracionrias e ramifica-se sobre uma
delas.
4) Repete-se at que j no hajam variveis fracionrias.
Branch-and-Bound PIM
(Exemplo)
Exemplo anterior:
Soluo relaxada
13
20/09/2017
Branch-and-Bound PIM
(exemplo)
Sabe-se que, o valor timo da funo objetivo no pode exceder 12375.
Branch-and-Bound PIM
(Exemplo)
Partio
14
20/09/2017
Branch-and-Bound PIM
(Exemplo)
A soluo tima do sub-problema A inteira, o que significa que se encontrou uma soluo
inteira cujo valor da funo objetivo 11700.
O valor timo da funo objetivo estar compreendido entre estes dois limites, 11700 <= F
<= 12375.
Como a soluo tima do sub-problema B no inteira e o valor da funo objetivo 12300
(> 11700), este sub-problema pode conter uma soluo inteira melhor que a do sub-
problema A;
Logo, necessrio efetuar a sua partio, dando origem aos sub-problemas B1 e B2, pela
introduo das restries x2 >= 2 e x2 <= 1
Branch-and-Bound PIM
(Exemplo)
Partio O sub-problema B1 no tem solues possveis, sendo por isso
excludo.
O sub-problema B2, pelas mesmas razes do sub-problema B, objeto
de partio e d origem aos sub-problemas B21 e B22, pela
introduo das restries x1 <= 4 e x1 >= 5
15
20/09/2017
Branch-and-Bound PIM
(Exemplo)
Quer o subproblema B21, quer o subproblema B22, tm solues inteiras.
Partio
O valor timo da funo objetivo do subproblema B21 11100 < 11700, ou
seja, pior do que a soluo de que j dispnhamos.
O valor timo da funo objetivo do subproblema B22 12000, logo
atualizamos os limites e teremos 12000 <= F <= 12000.
Branch-and-Bound- PIM
(Exemplo)
16
20/09/2017
Branch-and-Bound- PIM
(Exemplo)
medida que se vai descendo na rvore, vo-se atualizando os limites inferior e superior
ao valor timo da funo objetivo (F*):
No n inicial (raiz da rvore), 0 <= F* <= 12375.
Ao nvel dos subproblemas A e B, 11700 <= F* <= 12300.
No nvel imediatamente inferior, 11700 <= F* <= 12167.
Por fim, no quarto e ltimo nvel, 12000 <= F* <= 12000.
Podemos ento concluir que (x1, x2) = (5, 0) ; F* = 12000 a soluo tima, no fazendo
sentido efetuar uma nova partio.
Branch-and-Bound- PIM
Vemos assim que:
1. efetuada a partio de um sub-problema, cuja soluo tima tem pelo menos uma
varivel que, sendo uma varivel inteira no PLI inicial, assume valores no-inteiros, se esse
sub-problema puder conter uma soluo inteira melhor do que a j existente.
17
20/09/2017
Branch-and-Bound- PIM
Para alm de ser, de um modo geral, menos trabalhoso resolver um modelo
de PLI atravs deste mtodo, do que atravs do mtodo dos planos de corte,
ele apresenta a vantagem de:
possvel interromper o mtodo antes de encontrar a soluo tima e de dispor de
uma soluo inteira, em relao qual se pode ter uma ideia de quo prxima estar da
soluo tima, graas aos limites que se vo determinando.
Eliminar restries redundantes Se uma restrio funcional satisfizer at mesmo a mais desafiadora
soluo binria, ento ela foi tornada redundante pelas restries binrias e pode ser eliminada.
Reduo de coeficientes ou gerao de planos de corte - Um plano de corte uma nova restrio que
reduz o espao de solues admissveis para a relaxao linear sem eliminar nenhuma soluo admissvel do
problema PI.
18
20/09/2017
Backtrack
Dos ns criados mais recentemente, seleciona um
(desempate - o que tem maior limite) e relaxar a varivel (xi)
atribuindo o valor 1; Variveis Variveis
Livres Livres
19
20/09/2017
20
20/09/2017
21