
7.3 Second-stage Integer Variables 307
Branching on Tenders Algorithm
Step 0.Set
ν
= 0and¯z = ∞ .Set (l,u] to any relevant values s.t. {
χ
| l <
χ
≤
u}⊃{
χ
| x ∈ X ,
χ
= −Tx}. A list is created that contains the single hypercube
∏
m
2
j= 1
(l
j
,u
j
] , with a dummy lower bound. There is no incumbent solution.
Step 1.Set
ν
=
ν
+ 1 . Select one hypercube in the list (one with the smallest lower
bound for example). Remove it from the list. Denote it H
ν
=
∏
m
2
j= 1
(l
ν
j
,u
ν
j
] . If none
exists, stop: the incumbent solution is the optimal solution.
Step 2. Solve the current problem CP(l
ν
,u
ν
) . If it has no feasible solution, go to
Step 1.
Step 3.Let x
ν
,
χ
ν
be a solution to CP(l
ν
,u
ν
) . Calculate z
ν
= z(x
ν
,
χ
ν
) .
Step 4. (Update and fathom) If z
ν
< ¯z , update ¯z = z
ν
,let (x
ν
,
χ
ν
) be the incumbent
solution and remove from the list all the hypercubes having a lower bound larger
than ¯z .
Step 5. (Fathom or Branch) If CP(l
ν
,u
ν
) ≥ ¯z , go to Step 1. Find some component
j having a discontinuity point of
Ψ
(·) ,say
δ
j
, within (l
j
,u
j
). If none exists, go
to Step 1. Otherwise, partition H
ν
in two hypercubes, one having interval (l
j
,
δ
j
]
in the j -th component, the other having interval (
δ
j
,u
j
] in the j -th component
(with the intervals for the other components unchanged). Insert the two hypercubes
in the list with a lower bound of CP(l
ν
,u
ν
) each. Go to Step 1.
Proposition 10. The branching on tenders algorithm terminates with a global min-
imum (when one exits) in a finite number of steps.
Proof: Assume X contains at least one solution. Partitioning (or branching) occurs
at Step 5. This operation is finite if X is compact. Indeed, there can only be a finite
number of discontinuity points for each component, thus a finite number of parti-
tions. At each iteration, at least one hypercube is fathomed. Thus, there can only
be a finite number of iterations. Now, consider an optimal solution, say x
∗
,
χ
∗
with
objective value z
∗
and let H
∗
be the smallest hypercube containing
χ
∗
.Thisisa
hypercube such that
Ψ
(·) does not contain any discontinuity. Thus,
Ψ
(·) is con-
stant on H
∗
and the solution of the LB problem on H
∗
must be
χ
∗
(or another
χ
with equal z
∗
value). Otherwise there would be another
χ
within H
∗
with strictly
smaller c
T
x +
Ψ
(
χ
) value, contradicting the optimality of
χ
∗
. Within the list of
hypercubes, there will always be one hypercube containing H
∗
, unless the optimum
is found at step 4, in which case the proposition holds. Along the iterations, the hy-
percube containing H
∗
will be partitioned (at most a finite number of times) up to
the point where H
∗
enters the list. When H
∗
is selected in Step 1, the optimum is
found in Step 4.