branch and bound - diunitolocatell/didattica/ro1/bb-sl-bf.pdfbranch and bound – p. 27/30 continua...
TRANSCRIPT
![Page 1: Branch and Bound - DiUniTolocatell/didattica/ro1/bb-sl-bf.pdfBranch and Bound – p. 27/30 Continua Passo 2 Seleziona una variabile x ∗ i(Q) a valore non intero (quella con indice](https://reader030.vdocument.in/reader030/viewer/2022041109/5f0ccc407e708231d4372e83/html5/thumbnails/1.jpg)
Branch and Bound
Branch and Bound – p. 1/30
![Page 2: Branch and Bound - DiUniTolocatell/didattica/ro1/bb-sl-bf.pdfBranch and Bound – p. 27/30 Continua Passo 2 Seleziona una variabile x ∗ i(Q) a valore non intero (quella con indice](https://reader030.vdocument.in/reader030/viewer/2022041109/5f0ccc407e708231d4372e83/html5/thumbnails/2.jpg)
Branch-and-bound
Un esempio di problema di PLI:
P0 : max x1 + 3x2
(u1) x1 ≥1
2(u2) −5x1 + 3x2 ≤ 5
(u3) x1 +7
5x2 ≤
13
2x1, x2 ≥ 0
x1, x2 ∈ I
Branch and Bound – p. 2/30
![Page 3: Branch and Bound - DiUniTolocatell/didattica/ro1/bb-sl-bf.pdfBranch and Bound – p. 27/30 Continua Passo 2 Seleziona una variabile x ∗ i(Q) a valore non intero (quella con indice](https://reader030.vdocument.in/reader030/viewer/2022041109/5f0ccc407e708231d4372e83/html5/thumbnails/3.jpg)
Continua
Risoluzione (grafica) del rilassamento lineare P ′0 di P0.
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
u1
u2
A
B
C D
+-
z
u31
1
2 3 4 5 6
2
4
3
Branch and Bound – p. 3/30
![Page 4: Branch and Bound - DiUniTolocatell/didattica/ro1/bb-sl-bf.pdfBranch and Bound – p. 27/30 Continua Passo 2 Seleziona una variabile x ∗ i(Q) a valore non intero (quella con indice](https://reader030.vdocument.in/reader030/viewer/2022041109/5f0ccc407e708231d4372e83/html5/thumbnails/4.jpg)
Continua
Sott = {A} A =
(
5
4,15
4
)
Valore ottimo=U(P0) = 504
U(P0) = upper bound o limitazione superiore del valoreottimo di P0
Branch and Bound – p. 4/30
![Page 5: Branch and Bound - DiUniTolocatell/didattica/ro1/bb-sl-bf.pdfBranch and Bound – p. 27/30 Continua Passo 2 Seleziona una variabile x ∗ i(Q) a valore non intero (quella con indice](https://reader030.vdocument.in/reader030/viewer/2022041109/5f0ccc407e708231d4372e83/html5/thumbnails/5.jpg)
Divide et impera: Branching
Suddivisione del problema originario in due sottoproblemiP1 e P2. Come?
Seleziono, secondo una determinata regola, una variabilexi con valore non intero x∗
inella soluzione ottima del
rilassamento lineare di P0 e:
creo P1 aggiungendo ai vincoli di P0, il vincolo xi ≤ ⌊x∗i⌋;
creo P2 aggiungendo ai vincoli di P0, il vincoloxi ≥ ⌊x∗
i⌋ + 1
Esistono molte regole di scelta della variabile. Qui neuseremo una semplicissima non preoccupandocidell’efficienza: seleziona quella con valore non intero nelrilassamento lineare di P0 con indice più piccolo.
Branch and Bound – p. 5/30
![Page 6: Branch and Bound - DiUniTolocatell/didattica/ro1/bb-sl-bf.pdfBranch and Bound – p. 27/30 Continua Passo 2 Seleziona una variabile x ∗ i(Q) a valore non intero (quella con indice](https://reader030.vdocument.in/reader030/viewer/2022041109/5f0ccc407e708231d4372e83/html5/thumbnails/6.jpg)
Nell’esempio
Sottoproblema P1
P1 : max x1 + 3x2
(u1) x1 ≥1
2(u2) −5x1 + 3x2 ≤ 5
(u3) x1 +7
5x2 ≤
13
2
(u′4) x1 ≤
⌊
5
4
⌋
= 1
x1, x2 ≥ 0
x1, x2 ∈ I
Branch and Bound – p. 6/30
![Page 7: Branch and Bound - DiUniTolocatell/didattica/ro1/bb-sl-bf.pdfBranch and Bound – p. 27/30 Continua Passo 2 Seleziona una variabile x ∗ i(Q) a valore non intero (quella con indice](https://reader030.vdocument.in/reader030/viewer/2022041109/5f0ccc407e708231d4372e83/html5/thumbnails/7.jpg)
Nell’esempio
Sottoproblema P2
P2 : max x1 + 3x2
(u1) x1 ≥1
2(u2) −5x1 + 3x2 ≤ 5
(u3) x1 +7
5x2 ≤
13
2
(u′′4) x1 ≥
⌊
5
4
⌋
+ 1 = 2
x1, x2 ≥ 0
x1, x2 ∈ I
Branch and Bound – p. 7/30
![Page 8: Branch and Bound - DiUniTolocatell/didattica/ro1/bb-sl-bf.pdfBranch and Bound – p. 27/30 Continua Passo 2 Seleziona una variabile x ∗ i(Q) a valore non intero (quella con indice](https://reader030.vdocument.in/reader030/viewer/2022041109/5f0ccc407e708231d4372e83/html5/thumbnails/8.jpg)
Lower Bound
LB =Lower bound o limitazione inferiore del valore ottimo diP0. È un qualsiasi valore che soddisfa:
LB ≤ opt(P0) = valore ottimo P0
Come si ottiene?Se durante l’esecuzione dell’algoritmo (tipicamente durantela risoluzione dei rilassamenti lineari di P0 e dei suoisottoproblemi) si osserva il valore della funzione obiettivocx nei punti y1, . . . ,yh ∈ Za, ciascuno di questi valori èutilizzabile come lower bound, in quanto: cyi ≤ opt(P0) peri = 1, . . . , h. Per avere un valore di lower bound il più vicinopossibile a opt(P0) si pone:
LB = max{cyi : i = 1, . . . , h}
Branch and Bound – p. 8/30
![Page 9: Branch and Bound - DiUniTolocatell/didattica/ro1/bb-sl-bf.pdfBranch and Bound – p. 27/30 Continua Passo 2 Seleziona una variabile x ∗ i(Q) a valore non intero (quella con indice](https://reader030.vdocument.in/reader030/viewer/2022041109/5f0ccc407e708231d4372e83/html5/thumbnails/9.jpg)
Rilassamento lineare di P1
������������������������������������������������������
������������������������������������������������������
u1
u2
u3
B
C D
+-
z
AE
F1
1
2 3 4 5 6
2
3
4
u′
4
Sott = {E}, E = (1, 10/3)U(P1) = 11
Branch and Bound – p. 9/30
![Page 10: Branch and Bound - DiUniTolocatell/didattica/ro1/bb-sl-bf.pdfBranch and Bound – p. 27/30 Continua Passo 2 Seleziona una variabile x ∗ i(Q) a valore non intero (quella con indice](https://reader030.vdocument.in/reader030/viewer/2022041109/5f0ccc407e708231d4372e83/html5/thumbnails/10.jpg)
Rilassamento lineare di P2
�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
u1
u2
A
B
C D
+-
z
H
Gu′′
4
u31
1
2 3 4 5 6
2
3
4
Sott = {H}, H = (2, 45/14)U(P2) = 163/14
Branch and Bound – p. 10/30
![Page 11: Branch and Bound - DiUniTolocatell/didattica/ro1/bb-sl-bf.pdfBranch and Bound – p. 27/30 Continua Passo 2 Seleziona una variabile x ∗ i(Q) a valore non intero (quella con indice](https://reader030.vdocument.in/reader030/viewer/2022041109/5f0ccc407e708231d4372e83/html5/thumbnails/11.jpg)
Albero di branch-and-bound
����
����
����
""
""
x1 ≤ 1 x1 ≥ 2
P0
P1 P2 U(P2) = 163
14
LB = −∞
U(P1) = 11
Branch and Bound – p. 11/30
![Page 12: Branch and Bound - DiUniTolocatell/didattica/ro1/bb-sl-bf.pdfBranch and Bound – p. 27/30 Continua Passo 2 Seleziona una variabile x ∗ i(Q) a valore non intero (quella con indice](https://reader030.vdocument.in/reader030/viewer/2022041109/5f0ccc407e708231d4372e83/html5/thumbnails/12.jpg)
Ulteriore suddivisione
Dopo aver suddiviso il problema P0 nei due sottoproblemiP1 e P2, possiamo selezionare uno dei due sottoproblemi.Quale nodo selezionare?Diverse regole possibili. Qui ne vedremo una soltanto:seleziona un sottoproblema/nodo foglia con upper boundmassimo.Perché? Ci si aspetta di trovare piú facilmente la soluzioneottima del problema in un sottoproblema con un valore diupper bound elevato.
Branch and Bound – p. 12/30
![Page 13: Branch and Bound - DiUniTolocatell/didattica/ro1/bb-sl-bf.pdfBranch and Bound – p. 27/30 Continua Passo 2 Seleziona una variabile x ∗ i(Q) a valore non intero (quella con indice](https://reader030.vdocument.in/reader030/viewer/2022041109/5f0ccc407e708231d4372e83/html5/thumbnails/13.jpg)
Nell’esempio
Nel nostro esempio selezioniamo P2.
P2 suddiviso in due sottoproblemi P3 e P4. Come?Esattamente come abbiamo fatto per P0: facendobranching su una variabile con valore non intero nellasoluzione ottima del rilassamento lineare di P2.
Branch and Bound – p. 13/30
![Page 14: Branch and Bound - DiUniTolocatell/didattica/ro1/bb-sl-bf.pdfBranch and Bound – p. 27/30 Continua Passo 2 Seleziona una variabile x ∗ i(Q) a valore non intero (quella con indice](https://reader030.vdocument.in/reader030/viewer/2022041109/5f0ccc407e708231d4372e83/html5/thumbnails/14.jpg)
Il sottoproblema P3
P3 : max x1 + 3x2
(u1) x1 ≥1
2(u2) −5x1 + 3x2 ≤ 5
(u3) x1 +7
5x2 ≤
13
2(u′′
4) x1 ≥ 2
(u′5) x2 ≤
⌊
45
14
⌋
= 3
x1, x2 ≥ 0
x1, x2 ∈ I
Branch and Bound – p. 14/30
![Page 15: Branch and Bound - DiUniTolocatell/didattica/ro1/bb-sl-bf.pdfBranch and Bound – p. 27/30 Continua Passo 2 Seleziona una variabile x ∗ i(Q) a valore non intero (quella con indice](https://reader030.vdocument.in/reader030/viewer/2022041109/5f0ccc407e708231d4372e83/html5/thumbnails/15.jpg)
Il sottoproblema P4
P4 : max x1 + 3x2
(u1) x1 ≥1
2(u2) −5x1 + 3x2 ≤ 5
(u3) x1 +7
5x2 ≤
13
2(u′′
4) x1 ≥ 2
(u′′5) x2 ≥
⌊
45
14
⌋
+ 1 = 4
x1, x2 ≥ 0
x1, x2 ∈ I
Branch and Bound – p. 15/30
![Page 16: Branch and Bound - DiUniTolocatell/didattica/ro1/bb-sl-bf.pdfBranch and Bound – p. 27/30 Continua Passo 2 Seleziona una variabile x ∗ i(Q) a valore non intero (quella con indice](https://reader030.vdocument.in/reader030/viewer/2022041109/5f0ccc407e708231d4372e83/html5/thumbnails/16.jpg)
Il rilassamento lineare di P3
���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
u1
u2
A
B
C D
+-
z
G
u′
5
HJK
u3u′′
4
1
1
2 3 4 5 6
2
3
4
Sott = {J}, J = (23/10, 3)U(P3) = 113/10
Branch and Bound – p. 16/30
![Page 17: Branch and Bound - DiUniTolocatell/didattica/ro1/bb-sl-bf.pdfBranch and Bound – p. 27/30 Continua Passo 2 Seleziona una variabile x ∗ i(Q) a valore non intero (quella con indice](https://reader030.vdocument.in/reader030/viewer/2022041109/5f0ccc407e708231d4372e83/html5/thumbnails/17.jpg)
Il rilassamento lineare di P4
u1
u3
A
B
C D
+-
z u′′
4
H
G
u2 u′′
5
1
1
2 3 4 5 6
2
3
4
Sa = ∅, quindi P4 é risolto → P4 ha regione ammissibilevuota.
Branch and Bound – p. 17/30
![Page 18: Branch and Bound - DiUniTolocatell/didattica/ro1/bb-sl-bf.pdfBranch and Bound – p. 27/30 Continua Passo 2 Seleziona una variabile x ∗ i(Q) a valore non intero (quella con indice](https://reader030.vdocument.in/reader030/viewer/2022041109/5f0ccc407e708231d4372e83/html5/thumbnails/18.jpg)
Albero di branch-and-bound
����
����
����
����
����
""
""
����PPPPP
QQQQ
��
��
x1 ≤ 1 x1 ≥ 2
P0
P1 P2
LB = −∞
P3P4
U(P3) = 113
10
x2 ≤ 3 x2 ≥ 4
U(P1) = 11
Branch and Bound – p. 18/30
![Page 19: Branch and Bound - DiUniTolocatell/didattica/ro1/bb-sl-bf.pdfBranch and Bound – p. 27/30 Continua Passo 2 Seleziona una variabile x ∗ i(Q) a valore non intero (quella con indice](https://reader030.vdocument.in/reader030/viewer/2022041109/5f0ccc407e708231d4372e83/html5/thumbnails/19.jpg)
Continua
Al momento: il problema iniziale P0 é suddiviso in tresottoproblemi P1, P3, P4, di cui P4 é giá risolto(cancellazione del nodo nell’albero).
Ora: seleziono il nodo foglia/sottoproblema non ancoracancellato con upper bound maggiore (nell’esempio P3) e losuddivido in due sottoproblemi (nell’esempio P5 e P6).
Branch and Bound – p. 19/30
![Page 20: Branch and Bound - DiUniTolocatell/didattica/ro1/bb-sl-bf.pdfBranch and Bound – p. 27/30 Continua Passo 2 Seleziona una variabile x ∗ i(Q) a valore non intero (quella con indice](https://reader030.vdocument.in/reader030/viewer/2022041109/5f0ccc407e708231d4372e83/html5/thumbnails/20.jpg)
Il sottoproblema P5
P5 : max x1 + 3x2
(u1) x1 ≥1
2(u2) −5x1 + 3x2 ≤ 5
(u3) x1 +7
5x2 ≤
13
2(u′′
4) x1 ≥ 2
(u′5) x2 ≤ 3
(u′6) x1 ≤
⌊
23
10
⌋
= 2
x1, x2 ≥ 0
x1, x2 ∈ I
Branch and Bound – p. 20/30
![Page 21: Branch and Bound - DiUniTolocatell/didattica/ro1/bb-sl-bf.pdfBranch and Bound – p. 27/30 Continua Passo 2 Seleziona una variabile x ∗ i(Q) a valore non intero (quella con indice](https://reader030.vdocument.in/reader030/viewer/2022041109/5f0ccc407e708231d4372e83/html5/thumbnails/21.jpg)
Il sottoproblema P6
P6 : max x1 + 3x2
(u1) x1 ≥1
2(u2) −5x1 + 3x2 ≤ 5
(u3) x1 +7
5x2 ≤
13
2(u′′
4) x1 ≥ 2
(u′5) x2 ≤ 3
(u′′6) x1 ≥
⌊
23
10
⌋
+ 1 = 3
x1, x2 ≥ 0
x1, x2 ∈ I
Branch and Bound – p. 21/30
![Page 22: Branch and Bound - DiUniTolocatell/didattica/ro1/bb-sl-bf.pdfBranch and Bound – p. 27/30 Continua Passo 2 Seleziona una variabile x ∗ i(Q) a valore non intero (quella con indice](https://reader030.vdocument.in/reader030/viewer/2022041109/5f0ccc407e708231d4372e83/html5/thumbnails/22.jpg)
Il rilassamento lineare di P5
u1
u2
u3
A
B
C D
+-
z u′′
4
G
u′
5
HJ
u′
6
K
1
1
2 3 4 5 6
2
3
4
Sott = {K}, K = (2, 3): coordinate intere, quindi K risolveanche P5! Valore ottimo di P5 = 11Posso aggiornare LB → LB = 11
Branch and Bound – p. 22/30
![Page 23: Branch and Bound - DiUniTolocatell/didattica/ro1/bb-sl-bf.pdfBranch and Bound – p. 27/30 Continua Passo 2 Seleziona una variabile x ∗ i(Q) a valore non intero (quella con indice](https://reader030.vdocument.in/reader030/viewer/2022041109/5f0ccc407e708231d4372e83/html5/thumbnails/23.jpg)
Il rilassamento lineare di P6
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
u1
u2
A
B
C D
+-
z u′′
4
G
u′
5
HJK
L
Mu′′
6
u31
1
2 3 4 5 6
2
3
4
Sott = {L}, L = (3, 5/2)U(P6) = 21/2
Branch and Bound – p. 23/30
![Page 24: Branch and Bound - DiUniTolocatell/didattica/ro1/bb-sl-bf.pdfBranch and Bound – p. 27/30 Continua Passo 2 Seleziona una variabile x ∗ i(Q) a valore non intero (quella con indice](https://reader030.vdocument.in/reader030/viewer/2022041109/5f0ccc407e708231d4372e83/html5/thumbnails/24.jpg)
Cancellazione nodi
Oltre ai nodi/sottoproblemi “risolti”, posso anche cancellarenodi foglia/sottoproblemi “non risolti”:
cancella un nodo Pi se U(Pi) ≤ LB
In tal caso tutte le soluzioni in Pi sono non migliori rispettoalla migliore osservata sino ad ora (valore LB) e quindi nonvale la pena esplorarle.
Nel nostro esempio, cancella P1 e P6.
Branch and Bound – p. 24/30
![Page 25: Branch and Bound - DiUniTolocatell/didattica/ro1/bb-sl-bf.pdfBranch and Bound – p. 27/30 Continua Passo 2 Seleziona una variabile x ∗ i(Q) a valore non intero (quella con indice](https://reader030.vdocument.in/reader030/viewer/2022041109/5f0ccc407e708231d4372e83/html5/thumbnails/25.jpg)
Albero di branch-and-bound
����
����
����
����
����
����
����
""
""
����PPPPP
QQQQ
��
��!!!!!
aaaa@@
@
%%
%%
bbbb
��
�
@@
@
%%
%
x1 ≤ 1 x1 ≥ 2
P0
P1 P2
P3P4
P5 P6U(P6) = 21
2
U(P5) = 11
LB = 11
x2 ≤ 3 x2 ≥ 4
x1 ≤ 2 x1 ≥ 3
U(P1) = 11
Branch and Bound – p. 25/30
![Page 26: Branch and Bound - DiUniTolocatell/didattica/ro1/bb-sl-bf.pdfBranch and Bound – p. 27/30 Continua Passo 2 Seleziona una variabile x ∗ i(Q) a valore non intero (quella con indice](https://reader030.vdocument.in/reader030/viewer/2022041109/5f0ccc407e708231d4372e83/html5/thumbnails/26.jpg)
Regola di arresto
STOP quando tutti i nodi foglia sono stati cancellati.
Al momento dell’arresto LB restituisce il valore ottimo di P0.Se LB = −∞, allora P0 ha regione ammissibile vuota.
Branch and Bound – p. 26/30
![Page 27: Branch and Bound - DiUniTolocatell/didattica/ro1/bb-sl-bf.pdfBranch and Bound – p. 27/30 Continua Passo 2 Seleziona una variabile x ∗ i(Q) a valore non intero (quella con indice](https://reader030.vdocument.in/reader030/viewer/2022041109/5f0ccc407e708231d4372e83/html5/thumbnails/27.jpg)
Algoritmo generale
Inizializzazione Inizializza F (insieme nodi foglia noncancellati) con P0, F = {P0}. Risolvi il rilassamentolineare P ′
0 di P0 e sia (x∗1(P0), . . . , x
∗n(P0)) la soluzione
ottima trovata e U(P0) il corrispondente valore ottimo.Se tutti i valori x∗
i(P0), i = 1, . . . , n sono interi, STOP: la
soluzione (x∗1(P0), . . . , x
∗n(P0)) é soluzione ottima anche
per P0 ed il valore ottimo di P0 é pari a U(P0). Altrimentisi ponga LB = −∞ e si vada al Passo 1.
Passo 1 Seleziona in F un nodo Q ∈ F tale che
U(Q) = maxP∈F
U(P )
Sia (x∗1(Q), . . . , x∗
n(Q)) una soluzione ottima delrilassamento lineare Q′ di Q.
Branch and Bound – p. 27/30
![Page 28: Branch and Bound - DiUniTolocatell/didattica/ro1/bb-sl-bf.pdfBranch and Bound – p. 27/30 Continua Passo 2 Seleziona una variabile x ∗ i(Q) a valore non intero (quella con indice](https://reader030.vdocument.in/reader030/viewer/2022041109/5f0ccc407e708231d4372e83/html5/thumbnails/28.jpg)
Continua
Passo 2 Seleziona una variabile x∗i(Q) a valore non
intero (quella con indice minimo).
Passo 3 Rimuovi il nodo Q da F (cioé F = F \ {Q}) esuddividi Q in due nuovi nodi Q1 e Q2 ottenutiaggiungendo ai vincoli di Q rispettivamente il vincoloxi ≤ ⌊x∗
i(Q)⌋ (in Q1) ed il vincolo xi ≥ ⌊x∗
i(Q)⌋+ 1 (in Q2).
Branch and Bound – p. 28/30
![Page 29: Branch and Bound - DiUniTolocatell/didattica/ro1/bb-sl-bf.pdfBranch and Bound – p. 27/30 Continua Passo 2 Seleziona una variabile x ∗ i(Q) a valore non intero (quella con indice](https://reader030.vdocument.in/reader030/viewer/2022041109/5f0ccc407e708231d4372e83/html5/thumbnails/29.jpg)
Continua
Passo 4 Per ciascuno dei due nuovi nodi Qi, i = 1, 2,risolvi il rilassamento lineare Q′
i. Se Q′
iha regione
ammissibile vuota, cancella il nodo Qi e non lo siaggiunge a F . Altrimenti se la soluzione ottima(x∗
1(Qi), . . . , x∗n(Qi)) é a coordinate intere si cancelli il
nodo Qi senza aggiungerlo a F ed inoltre, seU(Qi) > LB si ponga
LB = U(Qi) e y1 = x∗1(Qi), . . . , yn = x∗
n(Qi).
Altrimenti, se la soluzione ottima di Q′i
non é acoordinate intere, si aggiunga Qi a F , ovvero si pongaF = F ∪ {Qi}.
Branch and Bound – p. 29/30
![Page 30: Branch and Bound - DiUniTolocatell/didattica/ro1/bb-sl-bf.pdfBranch and Bound – p. 27/30 Continua Passo 2 Seleziona una variabile x ∗ i(Q) a valore non intero (quella con indice](https://reader030.vdocument.in/reader030/viewer/2022041109/5f0ccc407e708231d4372e83/html5/thumbnails/30.jpg)
Continua
Passo 5 Si cancellino tutti i nodi in F con valoredell’upper bound non superiore a LB, ovvero si ponga
F = F \ {P ∈ F : U(P ) ≤ LB}.
Passo 6 Se F = ∅, STOP: se LB ha valore pari a −∞,allora il problema P0 non ha soluzioni ammissibili,altrimenti il valore LB é il valore ottimo del problema P0
e (y1, . . . , yn) é una soluzione ottima di tale problema.Altrimenti si ritorni al Passo 1.
Branch and Bound – p. 30/30