• Nenhum resultado encontrado

Programação Inteira Resolução por Branch and Bound

N/A
N/A
Protected

Academic year: 2021

Share "Programação Inteira Resolução por Branch and Bound"

Copied!
22
0
0

Texto

(1)

Programa¸c˜

ao Inteira

Resolu¸c˜

ao por Branch and Bound

Transparˆencias de apoio `a leciona¸c˜ao de aulas te´oricas

Vers˜ao 2.3 c

2012, 2010, 2009, 2001 Maria Ant´onia Carravilla Jos´e Fernando Oliveira FEUP

(2)

ecnicas exactas para resolu¸

ao de problemas de

Optimiza¸

ao Combinat´

oria

• Enumera¸c˜ao expl´ıcita — por defini¸c˜ao de problema de Optimiza¸c˜ao

Combinat´oria, gerando e avaliando todas as solu¸c˜oes admiss´ıveis ´e

poss´ıvel obter a solu¸c˜ao ´optima.

• Enumera¸c˜ao impl´ıcita — n˜ao se gerando todas as solu¸c˜oes admiss´ıveis,

elas s˜ao no entanto consideradas e implicitamente avaliadas.

Exemplos: M´etodo de pesquisa em ´arvore com enumera¸c˜ao e limita¸c˜ao

(“branch and bound”); limites superiores e inferiores ao valor da solu¸c˜ao

´

optima.

• Formula¸c˜ao dos problemas em modelos de programa¸c˜ao inteira

(vari´aveis de decis˜ao assumem valores no conjunto dos n´umeros

inteiros), ou mesmo bin´aria (vari´aveis apenas com dois valores poss´ıveis:

0 ou 1), e consequente resolu¸c˜ao com algoritmos apropriados.

Nota: Estas formula¸c˜oes podem tamb´em ser usadas para obter limites

(3)

ecnicas exactas e relaxa¸

oes para resolu¸

ao de

problemas de Optimiza¸

ao Combinat´

oria

Relaxa¸c˜ao — N˜ao considera¸c˜ao de uma ou mais restri¸c˜oes do problema

original P O, transformando-o num problema mais simples de resolver P R,

sabendo-se que os valores ´optimos das fun¸c˜oes objetivo obedecem `a seguinte

rela¸c˜ao (assumindo um problema de minimiza¸c˜ao):

fP R? ≤ fP O?

(tradu¸c˜ao: ao tirar restri¸c˜oes a solu¸c˜ao s´o pode melhorar, ou ficar na

mesma).

Relaxa¸c˜ao linear – transforma¸c˜ao de um problema em n´umeros inteiros num

problema com vari´aveis reais (deixa-se cair a restri¸c˜ao “e inteiros” ou “∈ N0”

−→ utiliza¸c˜ao do m´etodo simplex para a sua resolu¸c˜ao em vez dos muito

mais complexos (e extraordinariamente mais demorados) m´etodos de

(4)

etodo de “branch and bound”

O m´etodo de “branch and bound” baseia-se na ideia de uma enumera¸c˜ao

inteligente das solu¸c˜oes candidatas a solu¸c˜ao ´optima inteira de um

problema, efectuando sucessivas parti¸c˜oes do espa¸co das solu¸c˜oes e cortando

a ´arvore de pesquisa atrav´es da considera¸c˜ao de limites calculados ao longo

(5)

Representa¸

ao gr´

afica do processo de resolu¸

ao de um

problema por B&B

Considere-se o seguinte problema

de Programa¸c˜ao Inteira: Maximizar: F = 3x + 7y suj. a: x ≤ 3.5 5x − 4y ≤ 10 4 7x + 2y ≤ 9 x , y ≥ 0 e inteiras

e a sua representa¸c˜ao gr´afica:

(6)

Resolu¸

ao da relaxa¸

ao linear

Problema PL0: max F = 3x + 7y suj. a: x ≤ 3.5 5x − 4y ≤ 10 4 7x + 2y ≤ 9 x , y ≥ 0

Solu¸c˜ao ´optima n˜ao inteira:

(7)

Ramifica¸

ao em x: x ≤ 3

max F = 3x + 7y suj. a: x ≤ 3.5 5x − 4y ≤ 10 4 7x + 2y ≤ 9 x , y ≥ 0 x ≤ 3 Solu¸c˜ao (n˜ao inteira): x = 3 e y = 3.6; F = 34.5

(8)

Ramifica¸

ao em x: x ≥ 4

max F = 3x + 7y suj. a: x ≤ 3.5 5x − 4y ≤ 10 4 7x + 2y ≤ 9 x , y ≥ 0 x ≥ 4

(9)

Ramifica¸

ao em y: y ≤ 3

max F = 3x + 7y suj. a: x ≤ 3.5 5x − 4y ≤ 10 4 7x + 2y ≤ 9 x , y ≥ 0 x ≤ 3 y ≤ 3 Solu¸c˜ao (inteira): x = 3 e y = 3; F = 30

Obten¸c˜ao de um limite inferior ⇒

So-lu¸c˜oes n˜ao inteiras com valor de F

in-ferior ou igual a 30 n˜ao precisam de ser

(10)

Ramifica¸

ao em y: y ≥ 4

max F = 3x + 7y suj. a: x ≤ 3.5 5x − 4y ≤ 10 4 7x + 2y ≤ 9 x , y ≥ 0 x ≤ 3 y ≥ 4 Solu¸ao (n˜ao inteira): x = 1.7 e y = 4; F = 33.2

(11)

Ramifica¸

ao em x: x ≤ 1

max F = 3x + 7y suj. a: x ≤ 3.5 5x − 4y ≤ 10 4 7x + 2y ≤ 9 x , y ≥ 0 x ≤ 3 y ≥ 4 x ≤ 1 Solu¸c˜ao (n˜ao inteira): x = 1 e y = 4.2; F = 32.5

(12)

Ramifica¸

ao em x: x ≥ 2

max F = 3x + 7y suj. a: x ≤ 3.5 5x − 4y ≤ 10 4 7x + 2y ≤ 9 x , y ≥ 0 x ≤ 3 y ≥ 4

(13)

Ramifica¸

ao em y: y ≤ 4

max F = 3x + 7y suj. a: x ≤ 3.5 5x − 4y ≤ 10 4 7x + 2y ≤ 9 x , y ≥ 0 x ≤ 3 y ≥ 4 x ≤ 1 y ≤ 4 Solu¸c˜ao (inteira): x = 1 e y = 4; F = 31

Melhor solu¸c˜ao inteira at´e ao

(14)

Ramifica¸

ao em y: y ≥ 5

max F = 3x + 7y suj. a: x ≤ 3.5 5x − 4y ≤ 10 4 7x + 2y ≤ 9 x , y ≥ 0 x ≤ 3 y ≥ 4 x ≤ 1 y ≥ 5

,

,

--

-

I

h; 4y- IO

,

,-

,

/ /

,

-

,

,

/

,

-- ; 4Ih-2y- 9

,

/ /

,

'

, , ,

,

,

,

(15)

´

Arvore de pesquisa do “Branch-and-Bound”

LP_0  

(solução  não  inteira)   x  =  3.5  

y  =  3.5  F  =  35  

LP_01  

(solução  não  inteira)   x  =  3   y  =  3.6  F  =  34.5   LP_02   (sem  solução)   LP_011   (solução  inteira)   x  =  3   y  =  3  F  =  30   LP_012  

(solução  não  inteira)   x  =  1.7  

y  =  4  F  =  33.2  

LP_0121  

(solução  não  inteira)   x  =  1  

y  =  4.2  F  =  32.5  

LP_0122   (sem  solução)  

LP_01211  

(solução  inteira  óBma)   x  =  1   y  =  4  F  =  31   LP_01212   (sem  solução)   x  <=  3                                                              x  >=  4   y  <=  3                                                                                  y  >=  4   x  <=  1                                                                      x  >=  2   y  <=  4                                                              y  >=  5  

(16)

Limites

Limites (inferiores e superiores):

• tornam o algoritmo de “branch & bound” mais eficiente ao permitir

descartar n´os da ´arvore de pesquisa ainda n˜ao completamente

explorados, pela certeza de que nunca originar˜ao solu¸c˜oes melhores do

que as que j´a temos.

• permitem “medir a distˆancia” (em termos de valor da fun¸c˜ao objetivo) a

(17)

Limites num problema de maximiza¸

ao

• um limite inferior LI ´e dado

por uma solu¸c˜ao inteira que se

tenha j´a obtido – a solu¸c˜ao ´

op-tima F? nunca poder´a ser pior

(inferior) que a solu¸c˜ao inteira

que j´a temos;

• um limite superior LS ser´a

dado pelo maior valor da fun-¸

c˜ao objetivo de entre todos os

n´os ainda n˜ao completamente

explorados (a maior esperan¸ca que ainda temos de encontrar

uma solu¸c˜ao inteira melhor do

que aquela que j´a temos).

Problema de Maximização

F*- LI ≤ LS - LI F

Limite Superior – LS

Valor da função objetivo no nó mais promissor ainda não explorado Solução ótima inteira F* (desconhecida)

Limite Inferior– LI Melhor solução inteira encontrada (com o valor mais alto da função objetivo)

(18)

Limites – exemplo

Considere um problema de maximiza¸c˜ao exclusivamente com vari´aveis

inteiras. Resolvendo o problema atrav´es de “Branch-and-Bound”, obt´em-se,

num determinado passo, a ´arvore representada na figura 1.

PL1

(solução não inteira) Z = 100

PL2

(solução não inteira) Z = 85

PL3

(solução não inteira) Z = 91

PL6

(solução inteira) Z = 70

PL7

(solução não inteira) Z = 79

PL8

(sem soluções)

PL9

(solução não inteira) Z = 65

PL4

(solução inteira) Z = 60

PL5

(solução não inteira) Z = 75

Figura 1: ´Arvore de “Branch-and-Bound”.

(19)

´

optima?

2. Qual ´e, nesta altura, o melhor limite inferior sobre a solu¸c˜ao inteira

´

optima?

3. Indique que n´os j´a foram explorados e explique porquˆe.

4. Indique os n´os que ainda n˜ao foram explorados e explique porquˆe.

5. J´a foi atingida a solu¸c˜ao ´optima do problema inteiro? Porquˆe?

6. Qual o valor m´aximo do erro absoluto sobre a solu¸c˜ao ´optima inteira, se

(20)

Quest˜

oes em aberto – Estrat´

egias de ramifica¸

ao

Dado um conjunto de n´os ainda n˜ao explorados, como escolher o n´o seguinte

a explorar?

Pesquisa em profundidade

Sele¸c˜ao do n´o que est´a mais fundo

na ´arvore (´ultimo n´o a ser gerado).

Pesquisa em largura

Sele¸c˜ao do n´o que est´a mais

acima na ´arvore (o n´o mais

an-tigo ainda n˜ao explorado).

O n´o mais promissor:

Sele¸c˜ao do n´o que tem melhor valor de fun¸c˜ao objetivo (aquele que

(21)

Quest˜

oes em aberto

• Selec¸c˜ao da vari´avel a ramificar – Seleccionado o n´o a explorar, que

vari´avel escolher para ramifica¸c˜ao, de entre todas as vari´aveis que n˜ao

tomam valores inteiros?

Algumas estrat´egias foram apresentadas na literatura, mas o seu

desempenho revelou-se extremamente dependente do problema concreto

a que s˜ao aplicadas.

(22)

Bibliografia

• Alves, Jos´e Carlos (1989). Provas de Aptid˜ao Cient´ıfica e Capacidade

Pedag´ogica. FEUP.

• Goldbarg, Marco Cesar e Luna, Henrique Pacca (2000). Otimiza¸c˜ao

Referências

Documentos relacionados

nutricional e propriedades biológicas do okara para uso como ingrediente em produtos alimentícios. O processo contribuiu para o aumento dos teores de proteínas e

Portanto, os objetivos dessa pesquisa foram alcançados, ao detalhar e analisar os custos de produção em uma indústria de ração bovina utilizando o custeio por

O candidato poderá optar pela entrega do comprovante legal das notas do ENEM - Exame Nacional de Ensino Mé- dio em substituição à Prova Objetiva e/ou a Prova Discursiva, valendo,

Quanto ao encaminhamento do usuário com suspeita de neoplasia de cabeça e pescoço este, é realizado por meio do uso da ferramenta de referência e contrarreferência, porém é

1) Cabritos lactentes alimentados apenas com leite de cabra apresentam o mesmo desempenho que animais alimentados apenas com leite de vaca ou daqueles que recebem leite de vaca

1. Se o contribuinte optar pelo pagamento integral, até 30 de dezembro de 2016, das contribuições em divida cujo prazo legal de cobrança tenha terminado até 31 de dezembro

Tesouraria e da Dívida Pública – IGCP, EPE, por correio registado, para qualquer tesouraria da Segurança Social à ordem do Instituto de Gestão Financeira da Segurança Social,

De acordo com a classificação de Köppen, toda a metade oriental do estado possui clima do tipo As’, ou seja, tropical e quente com chuvas de outono/ inverno, com