2003). In such hybrid methods, an instance of the
problem is solved by local search methods, while sub-
problems are solved optimally, both to explore the
neighborhood of a feasible solution, as well as ob-
tain good bounds on the optimal solution. Lourenco
first explored hybrid methods (Loureno, 1995), where
an iterated local search is used to solve the job-shop
problem, and ILP techniques are used to optimally
solve subproblems to perturb a locally optimal solu-
tion. Applegate et al. (Applegate et al., 1999) ex-
tend this approach for the Traveling Salesman Prob-
lem (TSP) by first running iterated local search mul-
tiple times on a TSP instance, and retain the best lo-
cally optimal tour each time. Then they construct a re-
stricted graph which has the same set of nodes as the
original graph, but with edges that appear at least once
in the tours retained. Finally, they solve the TSP op-
timally on the restricted graph using ILP techniques.
to obtain the optimal solution for the original TSP in-
stance.
In a different approach using local search to solve
the TSP, Burke et al. (Burke et al., 2000; Burke et al.,
2001) employ ILP techniques to optimally solve a
subproblem, whose solution corresponds to the opti-
mal solution among a large number of solutions in the
neighborhood of a feasible solution. Maniezzo et al.
(Maniezzo, 1999) uses an exact method to solve the
Quadratic Assignment Problem, with an approximate
heuristic method, an approximate non-deterministic
tree search in an ant colony optimization algorithm,
to obtain a good bound on the optimal solution.
In related work, Mixed Integer Programming
(MIP) heuristics use Local Branching (LB), Vari-
able neighborhood Branching (VNB), or Variable
neighborhood Decomposition Search (VNDS-MIP),
to solve 0 − 1 Mixed Integer Linear Programming
(MILP) problems. Fischetti et al. (Fischetti and Lodi,
2003) use LB, which starts with a feasible solution to
the 0−1 MILP P. Constraints are then added to P that
exclude all solutions with hamming distance greater
than or equal to k, for some fixed k. The problem thus
derived is then solved optimally using a MIP solver.
Local search is used to find the optimal value for k.
2 PROBLEM FORMULATIONS
The linear ordering problem may be formulated as an
integer linear program. For each pair of nodes i, j, x
i j
is defined as follows:
x
i j
=
1, if i ≺ j (node i precedes node j)
in the ordering
0, otherwise
The weight of arc (i, j) in the given instance is
denoted c
i j
. The ILP formulation for LOP is given
below (Marti and Reinelt, 2011). We refer to this as
Problem LOP:
Maximize
∑
(i, j)∈A
c
i j
x
i j
(1)
s.t. (2)
x
i j
+ x
ji
= 1 ∀i, j ∈ V (3)
x
i j
+ x
jk
+ x
ki
6 2 ∀i, j, k ∈ V (4)
x
i j
∈ {0,1} ∀i, j ∈ V (5)
The objective function (1) maximizes the total
weights. The Constraint (3) ensures that either i ≺ j
or j ≺ i, but not both. The constraint (4) prohibits a
cycle where i ≺ j, j ≺ k, and k ≺ i. The constraint
(5) constrains the variables x
i j
to take values in the set
{0,1}.
3 METHODS USED
Both the heuristics we use for this problem in this pa-
per are based on a MIP solver. Each heuristic fixes
the value (assigns a value of either 0 or 1) for each
variable in a subset of the variables, and keeps the re-
maining variables free. The subproblem that needs to
be solved to determine the values the free variables
assume is then solved optimally using the MIP solver.
The only difference between the heuristics is in the
method they use to determine the subset of variables
whose values are fixed.
Algorithm 3 below outlines the MIP heuristic we
use to solve the LOP. We first derive a feasible inte-
ger solution to the problem from an optimal LP so-
lution to LOP. We call such a solution a starting so-
lution. Any feasible integer solution, including the
starting solution, specifies an ordering of the nodes.
Let the starting solution, denoted v
s
, specify the or-
dering < v
s
1
,v
s
2
,...,v
s
n
>. Given a starting solution v
s
to the LOP, and a set N of neighborhood solutions fea-
sible to the LOP, we obtain the optimal solution in set
N using the MIP solver CPLEX (Algorithm 2). We
use the solution thus obtained as our new starting so-
lution, and repeat this procedure for a number of iter-
ations. We return the best feasible solution obtained.
Algorithm 1 below specifies the steps used to ob-
tain a starting solution from the optimal LP solution
to the LOP. Let ˆx = ˆx
i j
,(i, j) ∈ A denote the opti-
mal LP solution. If n ≤ 50, a starting solution x
s
is
obtained by solving the LOP optimally, with addi-
tional constraints x
i j
= 1 if ˆx
i j
≥ 0.9, and x
i j
= 0 if
ˆx
i j
≤ 0.1. The sequence obtained is the starting solu-
tion. If n ≥ 50, the LOP is solved approximately, with
additional constraints x
i j
= 1 if ˆx
i j
≥ 0.9, and x
i j
= 0
Mixed Integer Program Heuristic for Linear Ordering Problem
153