2. Metoda podziału i oszacowań

2.2. Formalna konstrukcja algorytmu

Formalnie, algorytm metody B&B dla zadania minimalizacji można zapisać następująco:
  1. (Inicjalizacja): Przyjmij L={\mathrm{IP}^0}, UB=\infty, \mathrm{LB}_0=-\infty.
  2. (Zakończenie): Jeżeli L={\emptyset}, to \hat{x} dla którego osiągnięto UB jest rozwiązaniem optymalnym. Jeśli nie ma takiego rozwiązania, tj. UB=\infty, to problem \mathrm{IP} jest sprzeczny lub nieograniczony.
  3. (Wybór problemu i relaksacja): Wybierz oraz usuń z L problem \mathrm{IP}^i, rozwiąż jego relaksację. Jeśli rozwiązanie istnieje, przyjmij za \mathrm{LB}_{i} wartość f. celu, oraz za x_i wartość zmiennych decyzyjnych. W przeciwnym przypadku \mathrm{LB}_{i}=\infty.
  4. (Zamykanie wierzchołka):
    1. Jeżeli \mathrm{LB}_{i}\geqUB idź do Kroku 2.
    2. Jeżeli x_i\in S (rozw. całkowitoliczbowe) zaktualizuj UB=\mathrm{LB}_{i} i \hat{x}=x_i, oraz usuń z L te problemy \mathrm{IP}^k, dla których \mathrm{LB}_k\geqUB. Idź do Kroku 2.
  5. (Podział wierzchołka): Przyjmij \{S^{ij}\}_{j=1}^{k} jako podział zbioru S^i problemu \mathrm{IP}^i na k rozłącznych podzbiorów. Dodaj do L wszystkie problemy \{\mathrm{IP}^{ij}\}_{j=1}^{k}, gdzie \mathrm{IP}^{ij} to problem \mathrm{IP}^i z obszarem dopuszczalnym ograniczonym do S^{ij}, oraz \mathrm{LB}_{ij}=\mathrm{LB}_{i}. Idź do Kroku 2.

Kwestie wymagające inteligentnego podjęcia decyzji:

  • pkt. 3 - wybór problemu (wierzchołka do eksploracji)
  • pkt. 5 - sposób podziału problemu oraz
  • pkt. 5 - wybór zmiennej do ograniczenia; Plus wybór sposobu relaksacji.
Siła solwerów, opierających swoje algorytmy na metodzie BB zależy przede wszystkim od sposobu realizacji ww. kwestii, gdzie często wybór konkretnej strategii jest dopasowywany do indywidualnego przypadku. Obszar ten jest obiecującą dziedziną zastosowań dla metod sztucznej inteligencji, por. Gasse, M., Chételat, D., Ferroni, N., Charlin, L., & Lodi, A. (2019). Exact combinatorial optimization with graph convolutional neural networks. Advances in Neural Information Processing Systems32.