MÉTODO BRANCH-AND-BOUND 1. Os problemas de Programação Linear Inteira podem ser entendidos como...

Post on 16-Apr-2015

124 views 0 download

Transcript of MÉTODO BRANCH-AND-BOUND 1. Os problemas de Programação Linear Inteira podem ser entendidos como...

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