objective function value of the referred optimization
problem as a statistical upper bound for (ST SP
1
). It is
important to note that we compute the SAA solution
as well as the lower and upper bounds for (ST SP
1
) as-
suming that (ST SP
1
) has an expectation second stage
objective function.
4 PRELIMINARY NUMERICAL
RESULTS
In this section, we present preliminary numerical re-
sults. A Matlab (R2012a) program is developed using
CPLEX 12.6 to solve (STSP
1
) and its LP relaxation.
The PHA and SAA methods are also implemented in
Matlab. The numerical experiments have been carried
out on an Intel(R) 64 bits core (TM) with 3.4 Ghz and
8 G of RAM. CPLEX solver is used with default op-
tions.
We generate the input data as follows. The edges
in E
D
and E
S
are chosen randomly with 50% of prob-
ability. The values of p
s
, ∀s ∈ K are generated ran-
domly from the interval [0, 1] such that
∑
s∈K
p
s
= 1.
Costs are randomly drawn from the interval [0, 50] for
both the deterministic and uncertain edges. In par-
ticular, the cost matrices c = (c
i j
), ∀(i j) ∈ A
D
and
δ
s
= (δ
s
i j
), ∀(i j) ∈ A
S
, s ∈ K are generated as input
symmetric matrices.
In Algorithm 3.1, we set the parameter t
max
=
{7, 12} and save the best run, i.e., the run which al-
lows us to find the best feasible solution. The pa-
rameter ρ is calibrated on a fixed value of ρ = 10.
In Algorithm 3.2, we generate randomly |M| = 10
independent samples, each with |N
m
| = 5 scenarios
for the instances 1-10, whilst for the instances 11-
12, we generate |M| = 10 independent samples each
with |N
m
| = 2 scenarios since the CPU times become
highly and rapidly prohibitive in this case. Finally,
we generate a reference scenario set with |N
0
| = 50
scenarios.
In Tables 1 and 2, the instances are the same for
the first stage costs. In Table 1, the legend is as fol-
lows. In column 1, we show the instance number. In
columns 2-3, we show the instance dimensions. In
columns 4-5 we present the number of deterministic
and uncertain edges for each instance, respectively.
In columns 6-10, we present the optimal solution of
(ST SP
1
) or the best solution found with CPLEX in
two hours of CPU time, CPLEX number of branch
and bound nodes, CPU time in seconds, the optimal
solution of the linear relaxation of (STSP
1
) and its
CPU time in seconds, respectively. In columns 11-
13, we present the best solution found with Algorithm
3.1, its CPU time in seconds and the number of itera-
tions required to find the feasible solution. Finally, in
columns 14-15, we present the gaps that we compute
by
h
Opt−LP
Opt
i
∗ 100 and
h
B.S.−Opt
Opt
i
∗ 100, respectively.
In Table 1, we solve small, medium and large size
instances ranging from |V | = 10, |K| = 5 to |V | = 100
nodes and |K| = 10 scenarios. From Table 1, first
we observe that the number of deterministic and un-
certain edges are balanced. Next, we observe that
(ST SP
1
) allows to solve to optimality only the in-
stances 1-11 with up to |V | = 30 nodes and |K| = 5
scenarios. For the remaining instances, we cannot
solve to optimality the problem. However, we obtain
feasible solutions for most of them, with the exception
of instance # 15. For this instance, we cannot find a
feasible solution with CPLEX in two hours of CPU
time. For the instance # 11, the problem is solved in
3910.61 seconds whilst the instances 1-10 are solved
to optimality in less than 300 seconds. The linear re-
laxation for the instances 1-10 is solved in less than
1 second, while the LP instances 11-20 can be solved
to optimality with CPU times ranging from 1 to 42
seconds. Next, we observe that the gaps for the LP
instances go from 10.55 to 54.14. This clearly shows
that the LP relaxation is not tight and explain the in-
crease in the number of branch and bound nodes. On
the opposite, we observe that the gaps for Algorithm
3.1 are very tight ranging from -66.89% to 11.21%.
Negative gaps mean that the feasible solutions ob-
tained with Algorithm 3.1 are significantly better than
those obtained with CPLEX in two hours of CPU
time. Notice that the CPU times required by Algo-
rithm 3.1 are considerably lower than two hours. This
shows the effectiveness of Algorithm 3.1. In particu-
lar, when finding feasible solutions for large size in-
stances of the problem. Notice that most of the gap
values obtained by Algorithm 3.1 for the instances
which are solved to optimality (e.g., instances 1-10)
are lower than 9% with the exception of instance # 11.
In this case, the gap is 11.21%. Finally, we observe
that the number of iterations required by Algorithm
3.1 is either six or eleven.
In Table 2, the legend is as follows. Columns
1-5 show exactly the same information as in Ta-
ble 1. In columns 6-9, we present statistical lower
bounds, the SAA solution, statistical upper bounds
and CPU time in seconds found by Algorithm 3.2.
Finally, in Columns 10-12 we present gaps that we
compute by
Stat.Lb−Opt
Opt
∗ 100,
SAALb−Opt
Opt
∗ 100 and
Stat.U b−Opt
Opt
∗ 100, respectively where Opt corre-
sponds to the optimal solution or best solution found
in Table 1.
In Table 2, we only solve small and medium size
instances ranging from |V | = 10, |K| = 5 to |V | = 40
ICORES 2017 - 6th International Conference on Operations Research and Enterprise Systems
444