 Original Article
 Open Access
An indirect search algorithm for disaster restoration with precedence and synchronization constraints
 Akifumi Kira^{1}Email author,
 Hidenao Iwane^{2},
 Hirokazu Anai^{2},
 Yutaka Kimura^{3} and
 Katsuki Fujisawa^{1, 4}
https://doi.org/10.1186/s4073601700325
© The Author(s) 2017
Received: 12 October 2016
Accepted: 9 May 2017
Published: 5 July 2017
Abstract
When a massive disaster occurs, to repair the damaged part of lifeline networks, planning is needed to appropriately allocate tasks to two or more restoration teams and optimize their traveling routes. However, precedence and synchronization constraints make restoration teams interdependent of one another, and impede a successful solution by standard local search. In this paper, we propose an indirect local search method using the product set of teamwise permutations as an auxiliary search space. It is shown that our method successfully avoids the interdependence problem induced by the precedence and synchronization constraints, and that it has the big advantage of nondeteriorating perturbations being available for iterated local search.
Keywords
Introduction
In the wake of the Great East Japan Earthquake, handson research and development is now required to solve concrete social problems. When a massive disaster such as an earthquake or a typhoon occurs, some damage to service networks is unavoidable (e.g., electricity, water service, gas and so on). To repair the damage to the networks as fast as possible, planning is needed to appropriately allocate tasks to two or more restoration teams and optimize their traveling routes. Such a scheduling problem is a variant of the vehicle routing problem (VRP) which designs optimal delivery or collection routes from one or several depots to a number of geographically scattered customers. There is a wide variety of VRPs and a broad literature on this class of problems.
The first systemic studies of this problem using VRPs in the context of Japan, appears to be Watanabe et al. [9, 10]. In these case studies, the problem is formulated as a VRP with time windows (VRPTW) and standard local search heuristics are then applied. However, Yamashita et al. [11] point out that establishing scheduling techniques for handling precedence and synchronization constraints has become a very important issue. If electricity is supplied to spot j via spot i, restoration teams cannot start operating spot j until the restoration of spot i is completed. Moreover, several teams may participate in restoring a damaged spot. The main difficulty in dealing with these constraints is that restoration teams are not independent of one another. In other words, a change in one route may affects other routes and may render all other routes infeasible. This is not usually the case in VRPs. This difficulty, which often impedes a successful solution by standard local search, is called the interdependence problem. See Drexl [4] for a complete review of this problem and a comprehensive collection of other types of synchronization constraints imposed in VRPs.
In the literature, Bredström and Rönnqvist [2] as well as Afifi et al. [1] study a variant of VRPTW in which some customers require simultaneous visits by two (or more) vehicles, with motivation to apply to elderly health care services. In our case, we note that how many teams participate in restoration of each spot is not a constraint but a decision variable for optimizing the whole restoration schedule.
A good technique several authors propose for overcoming the interdependence situation is the use of indirect search (Derigs and Döhmer [3], Li et al. [6], Nonobe and Ibaraki [7], and others). In indirect search, given an optimization problem, we first define (i) an auxiliary search space \(\mathcal {X}^{\text {aux}}\), which is different from the solution space \(\mathcal {X}\) of the original problem, (ii) a decoder \(f : \mathcal {X}^{\text {aux}} \to \mathcal {X}\), and (iii) search techniques and move types operating on the auxiliary space. Then, a local search procedure is executed not on \(\mathcal {X}\) but on \(\mathcal {X}^{\text {aux}}\) with evaluating search points by the decoder f. Though the computational cost of the decoder is added, it is known that this approach is powerful for problems having complicated constraints. Derigs and Döhmer [3] show that the approach of indirect local search is not only flexible and simple but when applied to the VRP with pickup and delivery and time windows (VRPPDTW) it also gives results which are competitive with stateoftheart VRPPDTWmethods by Li and Lim [5], as well as Pankratz [8].
In this paper, we propose an enhanced indirect search method which uses the product set of teamwise permutations as an auxiliary search space, though many successful indirect search algorithms use permutations as an auxiliary search space (in the context of VRP, it is permutations of customers to be served). It is shown that our method successfully avoids the interdependence problem induced by the precedence and synchronization constraints. In addition, when we improve the capability of our algorithm to escape from local optima by using a metaheuristic technique called iterated local search, we have the big advantage of nondeteriorating perturbations being available.
In Section 2, after describing the main feature of our problem, we define our notation and formulate the mathematical optimization problem. We also summarize the difficulties with the interdependence problem in our setting. In Section 3, we develop an enhanced indirect search algorithm that avoids the interdependence problem induced by the precedence and synchronization constraints. In Section 4, we perform computational experiments in a practical setting using a geographic information system (GIS) and geospatial information. The results obtained from numerical examples in this study are then described.
The case study
2.1 Problem description
We first enumerate the main feature of our problem.
2.1.1 Precedence relation between pairs of damaged spots
If electricity is supplied to spot j via spot i, then it is necessary to restore spot i before restoring spot j. Namely, a restoration team cannot start operating spot j, but they may wait at spot j until the restoration of spot i is completed. We denote this by i≺j. Notice that \((\mathcal {V},\prec)\) is a strictly partially ordered set (or strict poset), where \(\mathcal {V}\) is the set of damaged spots. In our application, we can assume that the Hasse diagram of the poset is a directed forest (see Fig. 8 in Section 4). Moreover, the whole damaged area is divided into multiple areas in advance, and each restoration team has their area of responsibility. For any pair (i,j), i≺j implies that spots i and j are located in the same area.
2.1.2 Areas of responsibility
Each restoration team should give priority to its area of responsibility. Namely, they cannot move to another area until their own area is completed. These are interpreted as teamwise precedence constraints, and compatible with the precedence constraints. We use i≺_{ k } j to denote that spot i is in team k’s area of responsibility but spot j is in another area, and \((\mathcal {V}, \prec _{k})\) is also a strict poset. The number of restoration teams is greater than the number of areas. Hence two or more teams may be allocated in a common area.
2.1.3 Synchronized restoration by two or more teams
A spot can be repaired by two or more restoration teams if each team can help decrease the restoration time of the spot by at least c minutes (otherwise, the spot is repaired by one team). Each team can join the restoration of a spot during the restoration. However, they must stay until the restoration is completed. We set c=20 in our case study.
2.1.4 Minmax objective
The goal is to ensure that entire restoration process is completed as quickly as possible. In other words, we minimize the time required for the team that takes the longest time to finish their restoration work and return to the depot.
2.2 A MILP formulation

Let \(\mathcal {V} \cup \{0\} = \{0, 1,\, \ldots, \mathcal {V} \}\) be the set of all spots to be repaired and a depot. “0” represents the depot.

Let \(\mathcal {K} = \{1, 2,\, \ldots, \mathcal {K} \}\) denote the set of all restoration teams.

Let \(\mathcal {P}\) be the set of all triplets (i,j,k) such that team k should respect the precedence constraint between spots i and j. Namely,$$\begin{array}{*{20}l} \mathcal{A} &:= \{(i,j) \,\, i \prec j, \; i,j \in \mathcal{V}\}, \\ \mathcal{A}_{k} &:= \{(i,j) \,\, i \prec_{k} j, \; i,j \in \mathcal{V}\}, \quad k \in \mathcal{K}, \\ \mathcal{P} &:= \mathcal{A} \!\times\! \mathcal{K} \cup \bigcup_{k \in \mathcal{K}} \{(i,j, k) \,\, (i, j) \in \mathcal{A}_{k} \}. \end{array} $$

c is the threshold for the synchronized restoration: Two or more teams can restore the same spot if each team can help decrease the restoration time of the spot by at least c minutes.

d _{ ij } is the time required to move from spot i to spot j.

w _{ i } represents the volume of work required to complete the restoration of spot i.

\(x_{ij}^{k}\) denotes the binary integer decision variable that equals 1 if and only if team k moves directly from spot i to spot j.

\(y_{i}^{k}\) denotes the binary integer decision variable that equals 1 if and only if team k visits spot i.

\(b_{i}^{k}\) represents the time point at which team k begins to work at spot i. The value of \(b_{i}^{k}\) is meaningful only if \(y_{i}^{k} = 1\).

e _{ i } denotes the time point at which the restoration of spot i is completed, where all teams leave the depot to start the restoration process at e _{0}=0.

t is the time point at which the whole restoration process is completed.

M is a real number sufficiently large, which is used in the socalled bigM method.
for every \(i \in \mathcal {V}\) and every \(k \in \mathcal {K}\). Therefore, constraint (1i) means that a spot may be served by two or more teams if each team can help decrease the restoration time by at least c minutes.
However, the problem has many bigM constraints, the structure of the traveling salesman problem (TSP), a minmax objective function, and symmetries between restoration teams. For this reason, it is thoroughly intractable to find a solution by using a generalpurpose MIP solver.
2.3 Interdependence problem
An instance with nine spots and two teams
Area 1  Area 2  

List of spots  {1,2}  {3,4, …,9} 
List of teams  {1}  {2} 
Precedence constraints  –  5≺6, 7≺9 
Proposed method
3.1 Linear extensions and search space
Let \(\mathcal {L}_{k}\) denote the set of all linear extensions of \((\mathcal {V}, \ll)\), where a linear extension \(\sigma _{k} \in \mathcal {L}_{k}\) is a permutation of spots that is compatible with the precedence constraints and with the teamwise precedence constraints for team k’s area of responsibility.
Definition 3.1
(linear extension) A linear extension of a finite poset \((\mathcal {Q}, \prec)\) is a total ordering \( \sigma = \sigma (1) \sigma {(2)} \, \ldots \sigma (\mathcal {Q})\) of its elements such that i<j whenever σ(i)≺σ(j).
Since the precedence constraints 5≺6 and 7≺9 are given, 5 and 7 are located to the left of 6 and 9 in either row, respectively. Moreover, team k should give priority to their area of responsibility. Hence spot 1 and spot 2 are located to the left of the other spots in the first row. Conversely, they are located to the right of the other spots in the second row.
Definition 3.2
(topological ordering) A topological ordering of a directed acyclic graph (DAG) \(\mathcal {G} = (\mathcal {V}, \mathcal {E})\) is a linear ordering of its vertices such that if there is a path from u to v, then u appears before v in the ordering.
We note that \((\mathcal {V}, \ll)\) constitutes a DAG \(\mathcal {G} = (\mathcal {V}, \mathcal {A} \cup \mathcal {A}_{k})\). A linear extension of the poset is the same thing as a topological ordering of the DAG. We can obtain an initial search point \(x \in \mathcal {X}^{\text {aux}}\) by a topological ordering method.
3.2 Decoder

s _{ k } represents the state of team k.$${\begin{aligned} s_{k} = \left\{ \begin{array}{ll} {\sf Initial} & \textrm{Team \textit{k} leaves the depot now and begin the whole process}\\ {\sf Moving} & \textrm{Team \textit{k} is moving to a spot or the depot}\\ {\sf Working} & \textrm{Team \textit{k} is working at a spot}\\ {\sf Waiting} & \textrm{Team \textit{k} is waiting at a spot}\\ {\sf Completed} & \textrm{Team \textit{k} finished their task and arrived at the depot}. \end{array} \right. \end{aligned}} $$

\(v_{k} \in \mathcal {V} \cup \{0\}\) is the location of team k. If s _{ k }=M o v i n g, v _{ k } represents the current destination. Otherwise, it represents the place they are currently at.

p _{ k } is an index variable that points to an element of σ _{ k }.

t _{ k } represents the time until their current movement or work is completed.
Now, our decoder DECODER() can be implemented as follows:
Two subroutines are shown in Algorithms 1 and 2.
In this case, the larger the value of e _{ i } is, the more the last arriving team conceals their traveling time and helps decrease the restoration time. However, the final value of e _{ i } cannot be found when Function VISITABLE (arguments: k, j) is called from line # of Algorithm 1, because it will be improved if another team joins the restoration of spot i. Therefore, whether the team k can join the restoration of spot j depends on whether another team can join the restoration of spot i. In this situation, one possible way for deciding it accurately is to use a backtrack search method, but it will take an exponential time. Hence, our decision method assuming e _{ i }≤t in advance is more suitable for efficiency.
Theorem 3.1
Proof
3.3 Neighbourhood
We shall define a move type operating on \(\mathcal {X}^{\text {aux}}\).
Definition 3.3
An intraswap move is said to be feasible if \(\sigma _{k}' := \sigma _{k} \circ (i \; j) \in \mathcal {L}_{k}\).
Lemma 3.1
Proof
The result follows directly from the definition of \(\mathcal {L}_{k}\). □
where \((\sigma _{k}, \sigma _{k}') := (\sigma _{1}, \, \ldots, \sigma _{k1}, \sigma _{k}', \sigma _{k+1}, \, \ldots,\sigma _{\mathcal {K}})\).
3.4 Iterated indirect local search
In this subsection, we improve the capability of our algorithm to escape from local optima by using a metaheuristic technique. In multistart local search, a number of initial solutions are generated, and local search procedure is applied to each of them. Finally, the best solution obtained in the entire search is output. In iterated local search, which is an effective variant of multistart local search, the initial solutions for local search are generated by perturbating good solutions found in the previous search. On this point, we have the big advantage of nondeteriorating perturbations being available.
Definition 3.4
(valueinvariant swap) An intraswap move is called to be valueinvariant if it converts \(x \in \mathcal {X}^{\textit {\text {aux}}}\) to \(x' \in \mathcal {N}(x)\) such that the objective values of f(x) and f(x ^{′}) are the same each other.
Our iterated indirect local search algorithm is summarized as follows.
Computational results
Computational results
Objective value (min)  CPU time (sec) [# of calls to Function DECODER ]  

Seed  Initial sol.  Final sol.  1st iteration  1000 iterations  Final update 
A  655.889  452.000  0.298 [11,691]  71.739 [8,253,466]  33.754 [3,853,235] 
B  ↓  451.000  0.678 [40,122]  75.119 [8,397,206]  61.158 [6,799,271] 
C  ↓  449.000  0.187 [ 7,199]  74.202 [8,312,991]  45.523 [5,110,908] 
We note that our auxiliary search space, the product set of teamwise permutations (linear extensions) is larger than the set of permutations that is used in the usual indirect search. Therefore, it seems reasonable that our algorithm should be able to find a good suboptimal solution. Estimating the optimization gap is quite hard in our challenging problem, but Fig. 9 clearly shows that our indirect search has a high local search ability and that its iteration with nondeteriorating perturbations is useful to escape from local optima. The final solution, found in trial C, achieved a 13% decrease of the objective value, compared with the output by an existing solver developed in Fujitsu group^{2}.
In each trial, 1000 iterations are finished in about 75 s, and Function DECODER is called more than eight million times. This computational efficiency is mainly because of the \(O(\mathcal {K}\mathcal {V})\) implementation of the decoder. It would be able to quickly present the most recent plan that responds to changing conditions, including the extent of an area affected by a disaster and the pace of recovery work.
The authors think that the large auxiliary search space, the linear time implementation of the decoder, the iterated local search using nondeteriorating perturbations are responsible for the successful results.
Conclusion and future work
Based on the concept of the indirect search, we have proposed a simple local search method using the product set of teamwise permutations as an auxiliary search space. We have demonstrated that this new method successfully avoids the interdependence problem induced by the precedence and synchronization constraints, and that it has the big advantage of nondeteriorating perturbations being available for iterated local search. The authors believe that this approach will also be useful for other scheduling problems. We would like to investigate applications to other problems as challenges in the future.
Endnotes
^{1} Rather, this situation is computationally harder for our algorithm, because teamwise precedence constraints reduce the size of \(\mathcal {N}(x)\) for every \(x \in \mathcal {X}^{\text {aux}}\).
^{2} This existing method is a greedy construction method, though the detail cannot be publishable due to business secret.
Declarations
Acknowledgements
The authors wish to thank Dr. Hidefumi Kawasaki for leading us to this joint research. We are deeply grateful to Dr. Shunji Umetani for his valuable advice regarding this investigation. Akifumi Kira was supported in part by JSPS KAKENHI Grant Number 26730010 and the Joint Research Fund of Fujitsu Limited. Yutaka Kimura was supported by JSPS KAKENHI Grant Number 26400207. Katsuki Fujisawa was supported by JST CREST and JSPS KAKENHI Grant Number 16H01707.
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License(http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
Authors’ Affiliations
References
 Afifi, S, Dang, DC, Moukrim, A: A simulated annealing algorithm for the vehicle routing problem with time windows and synchronization constraints. In: Learning and Intelligent Optimization, LNCS 7997, pp. 259–265. Springer (2013). http://www.springer.com/la/book/9783642449727.
 Bredström, D, Rönnqvist, Mikael: Combined vehicle routing and scheduling with temporal precedence and synchronization constraints. Eur. J. Oper. Res. 191(1), 19–31 (2008). Elsevier.View ArticleMATHGoogle Scholar
 Derigs, U, Döhmer, T: Indirect search for the vehicle routing problem with pickup and delivery and time windows. OR Spectrum 30(1), 149–165 (2008).MathSciNetView ArticleMATHGoogle Scholar
 Drexl, M: Synchronization in vehicle routinga survey of vrps with multiple synchronization constraints. Transp. Sci. 46(3), 297–316 (2012).View ArticleGoogle Scholar
 Li, H, Lim, A: A metaheuristic for the pickup and delivery problem with time windows. Intl. J. Artif. Intell. Tools 12(02), 173–186 (2003).View ArticleGoogle Scholar
 Li, Y, Lim, A, Rodrigues, B: Manpower allocation with time windows and jobteaming constraints. Nav. Res. Logist. (NRL) 52(4), 302–311 (2005).MathSciNetView ArticleMATHGoogle Scholar
 Nonobe, K, Ibaraki, T: Formulation and tabu search algorithm for the resource constrained project scheduling problem. In: Essays and Surveys in Metaheuristics, pp. 557–588. Springer (2002). http://www.springer.com/la/book/9780792375203.
 Pankratz, G: A grouping genetic algorithm for the pickup and delivery problem with time windows. Or Spectrum 27(1), 21–41 (2005).MathSciNetView ArticleMATHGoogle Scholar
 Watanabe, I, Kenichi, T, Satoshi, U: An optimal rout planning method for emergency restoration work in natural disasters. CRIEPI Research Report(R07025) (2008). http://criepi.denken.or.jp/jp/kenkikaku/report/detail/R07025.html.
 Watanabe, I, Kenichi, T, Satoshi, U: An optimal allocation method of restoration teams for emergency restoration work. CRIEPI Research Report(R08008) (2009). http://criepi.denken.or.jp/jp/kenkikaku/report/detail/R08008.html.
 Yamashita, M, Funakoshi, M, Ishii, H, Kashiwagi, T, Moki, M: Advanced approaches to respond to emergency disasters in kyushu electric’s distribution department. The papers of Technical Meeting on Power Systems Engineering. IEE Japan, 143 (2012). (in Japanese without abstract). https://ieej.ixsq.nii.ac.jp/ej/%3Factive_action=repository_view_main_item_detail%26page_id=13%26block_id=1%25208%26item_id=55303%26item_no=1.