
356 E.L. Pasiliao Jr.
Fig. 19.1 Local search
PROCEDURE LocalSearch(S)
1 S
Best
← S
2 NS ← Neighborhood(S
Best
)
3 WHILE NS =∅ →
4 S ← SelectSolution(NS)
5 NS ←NS \{S}
6 IF Obj(S) < Obj(S
Best
) →
7 S
Best
← S
8 NS ← Neighborhood(S
Best
)
9 END
10 END
11 RETURN(S
Best
)
END LocalSearch
We will now explore intrapermutation and interpermutation k-exchange neigh-
borhoods. From the permutation formulation of the multidimensional assignment
problem, we are able to perform unique types of k-exchanges that would be dif-
ficult to implement on any other combinatorial optimization problem. The permu-
tation formulation unique in how it can be easily reduced to a lower dimensional
assignment problem by simply fixing some of the permutation vectors. One of these
is the intrapermutation n-exchange, which would normally have a complexity of
O(n!). Every possible permutation of a vector with n elements would have to be
calculated. However, because of the permutation formulation, we are able to ex-
plore the n-exchange neighborhood with a complexity of only O(n
3
). We are also
able to perform interpermutation exchanges in which entire permutation vectors are
exchanged in one move. We explore and present experimental results for the dif-
ferent types of k-exchanges. Variable depth interchange, path relinking, and vari-
able neighborhoods, which are extensions of the k-exchange neighborhoods, are
discussed in Sect. 19.3.
19.2.1 Intrapermutation Exchanges
Here, we discuss the first case of intrapermutation exchanges where only the el-
ements that are already in the current solution are candidates for exchange. Al-
though n
0
≤n
m
∀m = 1, 2,...,M −1, the neighborhoods defined here only allow
exchanges between elements that are currently in the solution. The maximum num-
ber of assignments in an MAP is equivalent to the size of the smallest dimension, n
0
.
There are n
m
−n
0
elements in each dimension that are not in the solution and, there-
fore, do not affect the objective function.
Let φ be a permutation vector of n
0
elements. If we define ψ as another permu-
tation of the same elements from φ, then the set of all differences between these two
distinct permutation vectors is given as
δ
n
0
(φ, ψ) =
i : φ(i) =ψ(i), ∀ i =1, 2,...,n
0
(19.4)