Escolar Documentos
Profissional Documentos
Cultura Documentos
Wendel Melo
Faculdade de Computação
Universidade Federal de Uberlândia
1
Problema abordado
Problema de Otimização Não Linear Inteira Mista (ONLIM)
“convexo”:
2
Classes de algoritmos para ONLIM
Algoritmos de Branch-and-Bound;
Algoritmos híbridos;
Heurísticas;
3
Classes de algoritmos para ONLIM
Algoritmos de Branch-and-Bound;
Algoritmos híbridos;
Heurísticas;
4
Branch-and-Bound
Land e Doig (1960)
6
Branch-and-Bound
7
Branch-and-Bound
8
Branch-and-Bound
9
Branch-and-Bound
10
Branch-and-Bound
B&B (minimização) se baseia em dois componentes fundamentais:
11
Branch-and-Bound
B&B (minimização) se baseia em dois componentes fundamentais:
12
Branch-and-Bound
B&B (minimização) se baseia em dois componentes fundamentais:
13
Branch-and-Bound
B&B (minimização) se baseia em dois componentes fundamentais:
14
Branch-and-Bound
B&B (minimização) se baseia em dois componentes fundamentais:
15
Branch-and-Bound
B&B (minimização) se baseia em dois componentes fundamentais:
16
Branch-and-Bound
B&B (minimização) se baseia em dois componentes fundamentais:
18
Branch-and-Bound
Inicia-se com uma relaxação
convexa para o problema
original (P);
S0
19
Branch-and-Bound
Inicia-se com uma relaxação
convexa para o problema
original (P);
Se a resolução da relaxação
convexa não apresentar uma
solução ótima para (P), di- S1 S2
vide-se a região viável (rami-
ficação) em um número de
sub-regiões;
20
Branch-and-Bound
Inicia-se com uma relaxação
convexa para o problema
original (P)
Se a resolução da relaxação
convexa não apresentar uma
solução ótima para (P), di- S1 S2
vide-se a região viável (rami-
ficação) em um número de
sub-regiões
S1 S2
22
Branch-and-Bound
O algoritmo mantém então
uma lista N de sub-regiões
ainda não exploradas. (Em
nosso exemplo, corrente-
mente N = {S1, S2} );
23
Branch-and-Bound
O algoritmo mantém então
uma lista N de sub-regiões
ainda não exploradas. (Em
nosso exemplo, corrente-
mente N = {S1, S2} );
S3
S1 S2
S4
25
Branch-and-Bound
Se a região sendo explorada
não for descartada, ela será
subdividida novamente;
26
Branch-and-Bound
Se a região sendo explorada
não for descartada, ela será
subdividida novamente;
27
Branch-and-Bound
Convém armazenar um limite in-
ferior para as sub-regiões em N;
S3
S1 S2
S4
28
Branch-and-Bound
Convém armazenar um limite in-
ferior para as sub-regiões em N;
29
Branch-and-Bound
Seja (P) o problema sendo trata-
do e Lk um limite inferior para a
sub-região k;
S3
S1 S2
S4
30
Branch-and-Bound
Seja (P) o problema sendo trata-
do e Lk um limite inferior para a
sub-região k;
31
Branch-and-Bound
Seja (P) o problema sendo trata-
do e Lk um limite inferior para a
sub-região k;
32
Branch-and-Bound
Para dividir uma (sub) região,
pode-se, por exemplo, usar
novas restrições: S0
S1 S2
λ 33
Branch-and-Bound
Para dividir uma (sub) região,
pode-se, por exemplo, usar
novas restrições: S0
S1 S2
λ 35
Branch-and-Bound
Quando descartar uma sub-região?
36
Branch-and-Bound
Quando descartar uma sub-região?
37
Branch-and-Bound
Quando descartar uma sub-região?
38
Branch-and-Bound
Quando descartar uma sub-região?
39
Branch-and-Bound
Quando (P) é um problema de otimização inteira “convexo”, uma
forma simples de obter uma relaxação convexa para o mesmo é
descartando as restrições de integralidade (relaxação contínua)
40
Branch-and-Bound
Quando (P) é um problema de otimização inteira “convexo”, uma
forma simples de obter uma relaxação convexa para o mesmo é
descartando as restrições de integralidade (relaxação contínua)
41
Branch-and-Bound
Se a relaxação contínua de (P) não for convexa (ou (P) for um
problema contínuo não convexo), será preciso utilizar algum
esquema mais sofisticado para construir uma relaxação convexa
para (P).
42
Branch-and-Bound
Para tornar o B&B aplicável em problemas reais, é necessário
incorporar uma série de estratégias para melhorar sua eficiência:
43
Branch-and-Bound
Para tornar o B&B aplicável em problemas reais, é necessário
incorporar uma série de estratégias para melhorar sua eficiência:
Pré-processamento de restrições;
44
Branch-and-Bound
Para tornar o B&B aplicável em problemas reais, é necessário
incorporar uma série de estratégias para melhorar sua eficiência:
Pré-processamento de restrições;
Início promissor (hot start);
45
Branch-and-Bound
Para tornar o B&B aplicável em problemas reais, é necessário
incorporar uma série de estratégias para melhorar sua eficiência:
Pré-processamento de restrições;
Início promissor (hot start);
Heurísticas de viabilidade;
46
Branch-and-Bound
Para tornar o B&B aplicável em problemas reais, é necessário
incorporar uma série de estratégias para melhorar sua eficiência:
Pré-processamento de restrições;
Início promissor (hot start);
Heurísticas de viabilidade;
Estratégias variadas para ramificação: strong branching, GUB/SOS
branching, heurísticas para seleção de variáveis;
47
Branch-and-Bound
Para tornar o B&B aplicável em problemas reais, é necessário
incorporar uma série de estratégias para melhorar sua eficiência:
Pré-processamento de restrições;
Início promissor (hot start);
Heurísticas de viabilidade;
Estratégias variadas para ramificação: strong branching, GUB/SOS
branching, heurísticas para seleção de variáveis;
Estratégias de exploração: melhor limite, profundidade, largura;
48
Branch-and-Bound
Para tornar o B&B aplicável em problemas reais, é necessário
incorporar uma série de estratégias para melhorar sua eficiência:
Pré-processamento de restrições;
Início promissor (hot start);
Heurísticas de viabilidade;
Estratégias variadas para ramificação: strong branching, GUB/SOS
branching, heurísticas para seleção de variáveis;
Estratégias de exploração: melhor limite, profundidade, largura;
Geração de cortes
49
Branch-and-Bound
Para tornar o B&B aplicável em problemas reais, é necessário
incorporar uma série de estratégias para melhorar sua eficiência:
Pré-processamento de restrições;
Início promissor (hot start);
Heurísticas de viabilidade;
Estratégias variadas para ramificação: strong branching, GUB/SOS
branching, heurísticas para seleção de variáveis;
Estratégias de exploração: melhor limite, profundidade, largura;
Geração de cortes
...
50
Dificuldades de BB para PNLIM
Esforço grande em cada nó para resolver os subproblemas de PNL;
51
Dificuldades de BB para PNLIM
Esforço grande em cada nó para resolver os subproblemas de PNL;
52
Dificuldades de BB para PNLIM
Esforço grande em cada nó para resolver os subproblemas de PNL;
53
Dificuldades de BB para PNLIM
54
Dificuldades de BB para PNLIM
55
Dificuldades de BB para PNLIM
56
Dificuldades de BB para PNLIM
58
Ramificação sobre múltiplas variáveis
59
Ramificação sobre múltiplas variáveis
Encurtam o caminho da raiz da árvore de BB até as folhas, re-
duzindo o número de subproblemas PNL resolvidos;
60
Ramificação precoce
Estratégia de integração entre a enumeração de soluções inteiras e a
resolução de PNL;
61
Ramificação precoce
Principais empecilhos:
• Difícil aplicação quando o método PNL é de pontos interiores;
62
Ramificação precoce
Principais empecilhos:
• Difícil aplicação quando o método PNL é de pontos interiores;
• Indisponibilidade de bons solvers de Programação Quadrática
Sequencial;
63
Ramificação precoce
Principais empecilhos:
• Difícil aplicação quando o método PNL é de pontos interiores;
• Indisponibilidade de bons solvers de Programação Quadrática
Sequencial;
• Não obtenção de limites inferiores para os sub-ramos.
64
Ramificação precoce
Principais empecilhos:
• Difícil aplicação quando o método PNL é de pontos interiores;
• Indisponibilidade de bons solvers de Programação Quadrática
Sequencial;
• Não obtenção de limites inferiores para os sub-ramos.
Impossibilita a poda por limite!
65
Ramificação precoce
A impossibilidade da poda por limite pode ser remediada por meio da
adoção de um corte de nível objetivo nas relaxações resolvidas:
66
Ramificação precoce
A impossibilidade da poda por limite pode ser remediada por meio da
adoção de um corte de nível objetivo nas relaxações resolvidas:
Ainda assim não se pode podar sub-regiões tão logo o limite superior
zu seja atualizado.
67
Solvers de ONLIM convexa com B&B
Bonmin;
Knitro;
SBB;
...
68
Obrigado!
wendelmelo@ufu.br
https://wendelmelo.net
69