mÉtodo branch-and-bound 1. os problemas de programação linear inteira podem ser entendidos como...
TRANSCRIPT
MÉTODO BRANCH-AND-BOUND
1
Os problemas de Programação Linear Inteira podem ser entendidos como casos específicos da Programação Linear;
Todas, ou parte, das variáveis de decisão devem ser inteiras;
Importante se ter mente o grau de dificuldade associado à sua solução;
2
Não quer dizer que problemas que exijam computadores com alta capacidade;
Mesmo que a solução ótima não seja encontrada, é possível obter boas soluções viáveis ;
E mostrar quão próximo da solução ótima podem estar;
3
Um problema de programação linear inteira pode apresentar as seguintes situações:◦ Problemas de Programação Linear Inteira Pura –
PLIP;◦ Problemas de Programação Linear Inteira Mista –
PLIM;◦ Problemas de Programação Linear Inteira Binária
– PLIB;◦ Problemas de Programação Linear Inteira Binária
Mista – PLIBM.
4
Inicialmente, pode-se ignorar a restrição que impõe que as variáveis de decisão devam ser inteiras;
Método Simplex (Software LINDO);
Caso a resposta não seja um número inteiro, deve-se arredondá-la;
A solução arredondada pode ser inviável ou longe da solução ótima;
5
6
7
Outra abordagem é o método de enumeração;
Um dos maiores entraves para a aplicação deste método é de ser impraticável para problemas reais que geralmente envolvem várias variáveis de decisão;
8
• Deve-se considerar algumas observações:• O número de soluções em um problema de PLI é
finito, mas isto não implica que seja fácil de resolver;
• Num problema de PLIB com n variáveis há 2ⁿ soluções, por isso, para alguns problemas, fica impossível enumerar todas as soluções;
• Os melhores algoritmos não podem garantir a solução de todos os problemas, mesmo relativamente pequenos (< 100 variáveis);
9
• Os problemas de PLIP tem quantidade finita de soluções possíveis;
• Considerar a utilização de um método de enumeração para encontrar o valor ótimo;
• A quantidade de possíveis soluções émuito grande;
• O método utilizado deve ser estruturado para que apenas uma parte das soluções possíveis sejam examinadas;
10
• Branch-and-Bound (particionar e limitar “as partições”);
• É um algoritmo que apresenta essa qualidade;
• Dividi-lo em sub-problemas cada vez menores, até que estes possam ser solucionados
11
A ideia é desenvolver uma enumeração inteligente dos pontos candidatos (nós);
Em busca da solução ótima inteira do problema;
Por meio da partição do espaço e avaliação progressiva das soluções;
12
A forma de divisão em problemas menores parte do princípio da separação de uma das variáveis;
Utilizando-a em restrições contraditórias;
Criando ramificações (a partir de um nó), como em uma árvore;
13
A forma de divisão em problemas menores parte do princípio da separação de uma das variáveis em um problema relaxado;
Utilizando-a em restrições contraditórias;
Criando ramificações (a partir de um nó), como em uma árvore;
14
Uma das formas de relaxação consiste em ignorar as restrições de integralidade do problema;
A partir deste, pode-se usar para resolvê-lo o método Simplex;
15
Se o problema relaxado não tem solução viável, então o problema de PLI também não tem;
O valor mínimo do problema de PLI não é menor que o valor mínimo do problema relaxado;
Se uma solução ótima do problema relaxado é viável no problema de PLI, então ela é uma solução ótima do problema de PLI;
16
17
• A escolha do (nó) para ramificação pode-se ser efetuada nas seguintes técnicas:
• Jumptracking: implementa uma busca em largura;
• Um nó com o mínimo limite inferior é selecionado;
• Backtracking: implementa a busca em profundidade;
• Nós descendentes de um nó pai são examinados;
18
19
O problema candidato relaxado (PL) não tem solução viável;◦ Então este nó está sondado;
Os resultados dos nós filhos vão ser no melhor caso igual ao resultado do nó pai;
20
21
• Solução Manual (enumeração implícita) para problemas com variáveis binárias;• 1ª Etapa: Função Objetivo (Maximização)• Coeficientes (+) → x = 1;• Coeficientes (-) → x = 0;• Verificar se solução é factível;
• 2ª Etapa: Restrições (≤)• Tentar factibilizar cada restrição;• Coeficientes (+) → x = 0;• Coeficientes (-) → x = 1;
22
Problema relaxado pelo método Simplex;
◦ x1=0,83; ◦ x2=1; ◦ x3=0; ◦ x4=1; ◦ Z=16,5
23
24
25
26
27
28
29
Para x1=1, x2=1 e x3=1 o modelo se apresenta sem soluções possíveis;
Repetir esses passos para cada nó aberto
30
31
Max Z = 3X1 + X2 + 2X3 - X4 + X5
Sujeito a:2X1 + X2 - 3X4 ≤ 1
X1 + 2X2 - 3X3 - X4 + 2X5 ≥ 2
32