MIP
1
is at most O(2
|V|
). Consequently, Algorithm 4.2
adapted to solve MIP
1
, converges to the optimal solu-
tion of the problem in at most O(2
|V|
) outer iterations.
The proof can be directly deduced from Theorem 2 in
(Adasme et al., 2015).
The aforementioned procedure can also be used
to compute upper bounds for MIP
1
. This proce-
dure is depicted in Algorithm 3.1 and is described
as follows. First, we remove constraints (11) from
MIP
1
and solve the resulting mixed integer linear
programming relaxation of MIP
1
obtained while re-
laxing the variables 0 ≤ x
ij
≤ 1 ∀ij ∈ E at step 0.
Next, we search cycles in the current rounded solu-
tion 0 ≤ x
ij
≤ 1 ∀ij ∈ E. If
˜
G contains a cycle with
two or more nodes, then Algorithm 4.1 referred to
as “searchCycles(
˜
G,V)” in (Adasme et al., 2015) de-
tects it. A subset of nodes inducing a cycle defines
a new constraint (11). The mixed integer program-
ming relaxation of MIP
1
is re-optimized taking into
account the new added constraints. This iterative pro-
cess goes on until the difference between the current
optimal objective function value z
k
and the previous
one z
k−1
is less than a small positive value ε.
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 MIP
1
, MIP
2
, MIP
3
and their
corresponding LP relaxations. The numerical exper-
iments have been carried out on an Intel(R) 64 bits
core (TM) with 2.6 GHz and 8 Gigabytes of RAM.
CPLEX solver is used with default options. Each en-
try in matrices {C, D, H} and in matrices {A, B, R, Q}
is randomly and uniformly distributed in the inter-
vals [0;10] and [0;5], respectively. The scalar values
c = r = 100. The BigM values M and L are set to
M = 100 and L = 10
10
, respectively. We set the pa-
rameter ε = 10
−8
in Algorithm 3.1. In Table 1, first
we solve MIP
1
with up to 15 nodes while generat-
ing all cycle elimination constraints. Subsequently, in
Table 3, we solve MIP
1
with the iterative procedures
presented in section 3. We limit CPLEX to 2 hours
of CPU time in order to solve the linear models. The
legend in Table 1 is as follows. Column 1 shows the
instance number. Column 2 presents the number of
nodes. Columns 3-7 and 8-12 present the optimal so-
lution of MIP
1
and MIP
2
, the number of branch and
bound nodes used by CPLEX, the CPU time in sec-
onds to solve the MILPs and their corresponding LP
relaxations together with their CPU time in seconds,
respectively. Finally, in columns 13-14, we present
gaps we compute as
h
LP−Opt
Opt
i
∗ 100 for MIP
1
and
MIP
2
, respectively. The legend in Table 2 for MIP
3
is analogous to Table 1. We mention that each row in
Tables 1, 2 and 3 corresponds to the same instance.
From Tables 1, 2 and 3, we observe that the op-
timal objective function values for MIP
1
, MIP
2
and
MIP
3
are exactly the same. In particular, in Tables
1 and 2, we see that the CPU times are in average
significantly lower for MIP
3
than for MIP
2
. In par-
ticular, when the instance dimensions increase. Re-
garding the number of branch and bound nodes, we
observe that CPLEX requires significantly less nodes
for solving MIP
3
than for MIP
2
. For MIP
1
, the num-
ber of nodes equals zero for the instances 1-7. Notice
that CPLEX cannot find a feasible solution within 2
hours for the instance #18 using MIP
2
. This is some-
how reflected by the number of branch and bound
nodes which is significantly higher for MIP
2
than for
MIP
3
. Concerning the LP bounds, the LP relaxations
are slightly tighter for MIP
1
than for MIP
2
and MIP
3
.
Whereas the bounds for LP
2
and LP
3
remain nearly
the same. On the opposite, the CPU times for LP
3
are in average larger than for LP
2
, in particular for
the large size instances. We also see that CPLEX
can solve all the instances to optimality using MIP
3
that shows a significantly better performance than the
rest of the MILP formulations. Finally, we mention
that we cannot solve, with the exponential model, in-
stances with more than 15 nodes due to the large num-
ber of sub-tour elimination constraints involved.
In Table 3, the legend is as follows. In column
1, we show the instance number. In columns 2-5, we
show the optimal solution obtained with the adapted
version of Algorithm 4.2 (Adasme et al., 2015), its
CPU time in seconds, the number of cycles found
with this algorithm and the number of iterations, re-
spectively. In columns 6-10, we present the upper
bounds obtained with Algorithm 3.1, its CPU time
in seconds, the number of cycles found with it, the
number of iterations, and the optimal solution found
with MIP
1
while using all the cycle elimination con-
straints found with Algorithm 3.1, respectively. For
the latter, we do not report the CPU time required by
CPLEX. However, we mention that for the largest size
instances (e.g. 21-22), these CPU times took less than
20 seconds. The rest of the instances were solved in
less than 2 seconds. Finally, in columns 11-12, we
provide gaps that we compute by
h
Opt
R
It
−Opt
It
Opt
It
i
∗ 100
and
h
Opt
F
It
−Opt
It
Opt
It
i
∗ 100, respectively.
From Table 3, we observe that Algorithm 4.2 can
find the optimal solutions for all the instances. In par-
ticular, we observe that the large size instances #15-22
are solved in significantly less CPU time compared to