Você está na página 1de 24

Programao Inteira ca Resoluo por Branch and Bound ca

Transparncias de apoio ` leccionao de aulas tericas e a ca o

Verso 2.2 a c 2010, 2009, 2001 Maria Antnia Carravilla o Jos Fernando Oliveira e FEUP

Tcnicas exactas para resoluo de problemas de e ca Optimizao Combinatria ca o


Enumerao expl ca cita por denio de problema de Optimizao ca ca Combinatria, gerando e avaliando todas as solues admiss o co veis e poss obter a soluo ptima. vel ca o Enumerao impl ca cita no se gerando todas as solues admiss a co veis, elas so no entanto consideradas e implicitamente avaliadas. a Exemplos: Mtodo de pesquisa em rvore com enumerao e limitao e a ca ca (branch and bound); limites superiores e inferiores ao valor da soluo ca o ptima. Formulao dos problemas em modelos de programao inteira ca ca (variveis de deciso assumem valores no conjunto dos nmeros a a u inteiros), ou mesmo binria (variveis apenas com dois valores poss a a veis: 0 ou 1), e consequente resoluo com algoritmos apropriados. ca Nota: Estas formulaes podem tambm ser usadas para obter limites co e para o valor da soluo ptima atravs de relaxaes. ca o e co

Tcnicas exactas e relaxaes para resoluo de e co ca problemas de Optimizao Combinatria ca o


Relaxao No considerao de uma ou mais restries do problema ca a ca co original P O, transformando-o num problema mais simples de resolver P R, sabendo-se que os valores ptimos das funes objectivo obedecem ` o co a seguinte relao (assumindo um problema de minimizao): ca ca fP R fP O (traduo: ao tirar restries a soluo s pode melhorar, ou car na ca co ca o mesma). Relaxao linear transformao de um problema em nmeros inteiros num ca ca u problema com variveis reais (deixa-se cair a restrio e inteiros ou N0 a ca utilizao do mtodo simplex para a sua resoluo em vez dos muito ca e ca mais complexos (e extraordinariamente mais demorados) mtodos de e pesquisa em rvore). a

Mtodo de branch and bound e


O mtodo de branch and bound baseia-se na ideia de uma enumerao e ca inteligente das solues candidatas a soluo ptima inteira de um co ca o problema, efectuando sucessivas parties do espao das solues e cortando co c co a rvore de pesquisa atravs da considerao de limites calculados ao longo a e ca da enumerao. ca

Representao grca do processo de resoluo de um ca a ca problema por B&B


Considere-se o seguinte problema de Programao Inteira: ca Maximizar: F = 3x + 7y suj. a: x 5x
4 7x

e a sua representao grca: ca a

3.5 4y + , 2y y 10 9 0 e inteiras Soluo ptima inteira: x = 1 e y = 4. ca o

Resoluo da relaxao linear ca ca

Problema PL0: max F = 3x + 7y suj. a: x 5x


4 7x

3.5 4y + , 2y y 10 9 0 Soluo ptima no inteira: ca o a x = 3.5 e y = 3.5; F = 35

Ramicao em x: x 3 ca

max F = 3x + 7y suj. a: x 5x
4 7x

3.5 4y + , 2y y 10 9 0 3 Soluo (no inteira): ca a x = 3 e y = 3.6; F = 34.5

x x

Ramicao em x: x 4 ca

max F = 3x + 7y suj. a: x 5x
4 7x

3.5 4y + , 2y y 10 9 0 4 Sem solues admiss co veis.

x x

Ramicao em y: y 3 ca

max F = 3x + 7y suj. a: x 5x
4 7x

3.5 4y + , 2y y y 10 9 0 3 3 Soluo (inteira): ca x = 3 e y = 3; F = 30 Obteno de um limite inferior Soca lues no inteiras com valor de F inco a ferior ou igual a 30 no precisam de ser a exploradas!

x x

Ramicao em y: y 4 ca

max F = 3x + 7y suj. a: x 5x
4 7x

3.5 4y + , 2y y y 10 9 0 3 4 Soluo (no inteira): ca a x = 1.7 e y = 4; F = 33.2

x x

Ramicao em x: x 1 ca

max F = 3x + 7y suj. a: x 5x
4 7x

3.5 4y + , 2y y y 10 9 0 3 4 1 Soluo (no inteira): ca a x = 1 e y = 4.2; F = 32.5

x x

Ramicao em x: x 2 ca

max F = 3x + 7y suj. a: x 5x
4 7x

3.5 4y + , 2y y y 10 9 0 3 4 2 Sem solues admiss co veis.

x x

Ramicao em y: y 4 ca

max F = 3x + 7y suj. a: x 5x
4 7x

3.5 4y + , 2y y y y 10 9 0 3 4 1 4 Soluo (inteira): ca x = 1 e y = 4; F = 31 Melhor soluo inteira at ao moca e mento!

x x

Ramicao em y: y 5 ca

max F = 3x + 7y suj. a: x 5x
4 7x

4y 2y y y 1 y

3.5 10 9 0 3 4

, , , , , ,

-- - I
/

h ; 4y - I O

+ ,

,- , ,-,

x x

- ;

4Ih-2y - 9

/
,

, '/ , , , , ,

Sem solues admiss co veis. 5

Arvore de pesquisa do Branch-and-Bound

Limites
Limites (inferiores e superiores): tornam o algoritmo de branch & bound mais eciente ao permitir descartar ns da rvore de pesquisa ainda no completamente o a a explorados, pela certeza de que nunca originaro solues melhores do a co que as que j temos. a permitem medir a distncia (em termos de valor da funo objectivo) a ca a que estamos da soluo ptima. ca o

Limites
Num problema de maximizao: ca um limite inferior LI dado por uma soluo inteira que se tenha j e ca a obtido a soluo ptima F nunca poder ser pior (inferior) que a ca o a soluo inteira que j temos; ca a um limite superior LS ser a dado pelo maior valor da funo objectivo de entre todos os ca ns ainda no completamente o a explorados (a maior esperana c que ainda temos de encontrar uma soluo inteira melhor do ca que aquela que j temos). a

Limites exemplo
Considere um problema de maximizaao exclusivamente com variveis inteiras. c a Resolvendo o problema atravs de Branch-and-Bound, obtm-se, num dado estgio, a e e a seguinte rvore: a

Limites exemplo
Qual , nesta altura, o melhor limite superior sobre a soluao inteira e c optima? O melhor limite superior sobre a soluao inteira ptima no momento de c o resoluao retratado na arvore dado pela soluao do problema P L5 e igual c e c e a 75. Qualquer soluao inteira que surja a partir da explorao desse n ter c ca o a um valor da funao objectivo 75 c Qual , nesta altura, o melhor limite inferior sobre a soluao inteira optima? e c Os limites inferiores so dados por valores de soluoes admiss a c veis (variveis j a a inteiras) que ainda se desconhece se so ou no optimas. Neste caso temos j a a a 2 soluoes inteiras, para PL6 e para PL4. A que tem o maior valor da funao c c objectivo fornece o melhor limite inferior, 70 neste caso.

Limites exemplo
Indique que ns j foram explorados e explique porqu. o a e J foram explorados os ns P L1, P L2, P L3 e P L7 porque j tm ramos. a o a e Os ns P L4 e P L6 j foram explorados porque deram origem a soluoes o a c inteiras. O n P L8 j foi explorado porque corresponde a um problema sem soluo o a ca admiss vel. O n P L9 j foi explorado porque pode ser cortado. Corresponde a um o a problema com soluao ptima no inteira e com um valor para a funao c o a c objectivo inferior ao valor da soluao inteira do problema P L6. c Indique os ns que ainda no foram explorados e explique porqu. o a e O n P L5 ainda no foi explorado, dado que corresponde a um problema com o a soluao optima no inteira, mas com um valor para a funo objectivo superior c a ca ao valor da melhor soluao inteira obtida at ao momento (problema P L6). c e

Limites exemplo
J foi atingida a soluao optima do problema inteiro? Porqu? a c e No se sabe ainda se j foi obtida a soluao optima do problema inteiro, a a c porque ainda h ns por explorar (P L5). S quando os melhores limites a o o inferiores e superiores coincidirem que se pode armar que a melhor soluao e c inteira obtida a optima. e Qual o valor mximo do erro absoluto sobre a soluao optima inteira, se o a c algoritmo for terminado neste ponto? O valor mximo do erro absoluto sobre a soluao optima inteira, se o a c algoritmo for terminado neste ponto ser 5, isto , a diferena entre os a e c melhores limites superior e inferior.

Questes em aberto o
Estratgias de ramicao Dado um conjunto de ns ainda no e ca o a explorados, como escolher o n seguinte a explorar? o

Pesquisa em profundidade: Seleco do n que ca o est mais fundo na rvore (ltimo n a ser a a u o gerado).

Pesquisa em largura: Seleco do n que est ca o a mais acima na rvore (o n mais antigo ainda a o no explorado). a O n mais promissor: Seleco do n que tem melhor valor de funo o ca o ca objectivo (aquele que potencialmente nos pode levar ` melhor soluo a ca inteira).

Questes em aberto o
Seleco da varivel a ramicar Seleccionado o n a explorar, que ca a o varivel escolher para ramicao, de entre todas as variveis que no a ca a a tomam valores inteiros? Algumas estratgias foram apresentadas na literatura, mas o seu e desempenho revelou-se extremamente dependente do problema concreto a que so aplicadas. a Estratgias dependentes da aplicao e do signicado f e ca sico das variveis. a

Bibliograa
Alves, Jos Carlos (1989). Provas de Aptido Cient e a ca e Capacidade Pedaggica. FEUP. o Goldbarg, Marco Cesar e Luna, Henrique Pacca (2000). Otimizao ca Combinatria e Programao Linear, Editora CAMPUS. o ca

Você também pode gostar