1 Introduction and literature review

Natural disasters cause thousands of deaths annually and damage to personal property and public infrastructure (Thomas & Kopczak, 2005). The rapid growth of the world’s population, along with the increase in population density in hazardous environments, has led to increased frequency and severity of natural disasters. In addition to humans' and financial losses, leaving large amounts of debris in the affected areas would slow down relief and reconstruction operations in the aftermath of disasters. Restoring accessibility in the damaged area is serious after a disaster (Kasaei & Salman, 2016). Debris management investigates road restoration operations by the repair crew by determining the sequence of visits to the damaged areas. The problem of integrated optimal scheduling and routing of the repair crew and relief vehicles after the disaster (IOSRRCRVD) is one of debris management's most significant and severe issues. This problem considers a wide geographical area where roads are spread out. Most urban areas are densely populated and physically connected by several roads and routes. In cases where many communication routes exist between different areas, disaster response can be achieved by receiving relief aid and transferring victims through the undamaged roads and routes. However, in rural areas with fewer roads and communication routes, disasters can destroy the main roads, thereby isolating some areas. With the isolation of the people and the destruction of the roads, it will be difficult to deliver aid to these areas (Aksu & Ozdamar, 2014). Furthermore, the lack of sufficient resources makes it impossible to rebuild and remove debris from all roads simultaneously. For this reason, repair of the destroyed roads should be done based on specific scheduling to have access to demand nodes.

Aksu and Ozdamar (2014) developed a dynamic path-based mathematical model for maximizing network accessibility to rescue survivors, repair damage, and clean up roadside debris. In their study, a path contains a sequence of links between each source and destination, which is assumed to be open when all links are empty of debris. A weight is assigned to prioritize each route, indicating the urgency of retrieving each route based on the expected traffic flow on that route. Their model output is a retrieval schedule for clearing the blocked links. They also developed an algorithm for solving their proposed retrieval problem in a reasonable time.

Yan and Shih (2009) presented an integrated road restoration and relief distribution model to minimize operation completion time. The model applies time-based network flow considering repair crew trips and relief flows along the reconstructed roads. Their three-step heuristic approach includes prioritizing the blocked links, crew scheduling, and optimization of material flow. In their proposed heuristic-phased approach, scheduling repair of the damaged nodes and optimizing the flow of relief aid are not considered simultaneously.

Furthermore, Yan and Shih (2012) developed an integer network flow model with side constraints to address the problem of road repair. They also presented a hybrid algorithm based on ant colony algorithms to solve large-scale problems to compensate for the limitations of the previous studies. They applied their proposed approach to the Chi-Chi earthquake in Taiwan.

Duque et al. (2013) presented a method with improving path accessibility with an integer linear programming model, in which resources must be allocated to improve the accessibility of network vertices. They proposed two solution approaches, one based on the Knapsack problem and the other based on the variable neighborhood search (VNS). They validated the performance of the two approaches with 480 random examples. Finally, they emphasized the importance of allocating limited resources to improve road accessibility.

Kim et al. (2017) improved the model proposed by Duque et al. (2013) from a short-term perspective, in which dimensions of damage change at specific times. A short-term perspective on the post-disaster relief chain is the situation immediately after a disaster, in which disaster-affected events are still occurring and changing. In this situation, accessibility of the supply chain is vital for the timely delivery of relief aid, rescuing victims, and transferring casualties. They presented a mixed-integer linear programming model minimizing the total weighted damage in the isolated areas and also completion time by the repair crew. A single repair crew is provided to obtain an optimal solution for reducing the complexity of the problem. They developed an ant colony algorithm that can also solve the problem of multiple repair crews. Their computational results showed that their model reduces further post-disaster damage to a greater extent than the model proposed by Duque et al. (2013).

Avci and Avci (2017) presented a traveling repairman problem with profits which is the extended version of the traveling repairman problem (TRP), in which visiting all nodes is not mandatory. A time-dependent profit is allocated to each node, and the objective function maximizes the total revenue. Their paper developed a mixed integer linear programming model to solve small-scale examples. A metaheuristic approach was presented to solve medium- and large-scale problems, including the greedy randomized adaptive search procedure (GRASP) to create a solution and the iterated local search (ILS) to improve the solution. The metaheuristic approach was tested on examples derived from the literature, and the results demonstrated the effectiveness of their solution approach.

Li et al. (2019) addressed the post-disaster relief problem. They presented a model for solving the rescuer allocation problem by considering several disaster areas, places for rescuers, rescue time, personal preferences, and the rescuers’ degree of competence. Personal preferences and aid workers’ degree of competence for relief work are combined to determine work relevance for aid workers and relief workers. They presented an integer programming model whose objective is maximizing the total degree of conformity between rescuers and rescue workers. This degree of conformity is obtained by integrating work and timely relevance. Compared to existing methods, in this study, more realistic conditions, such as several disaster areas, inaccuracies in transportation times, personal preferences of rescuers for each rescue work, etc., were considered.

Briskorn et al. (2020) investigated the basic simultaneous road clearance and distribution problem (BSRCDP). The novelty of their research was that in defining the problem, a hard time deadline was considered for delivery of relief goods to demand locations. Each demand node is assigned a certain amount of demand and a specific deadline. They developed a mixed-integer linear programming model and proposed an exact solution approach based on the Branch and Bound Algorithm.

Moreno et al. (2019) studied crew scheduling and routing problem (CSRP) in post-disaster situations and developed a mixed-integer linear programming model to minimize the inaccessibility time of the affected areas. Scheduling decisions in their study included the order in which the crew repairs the nodes blocked by debris in the network. The routing decisions included determining the routes that the crew must visit to repair the damaged nodes. Their proposed model determines when demand nodes are accessible. This time must be less than a predefined acceptable threshold. They proposed a branch-and-Benders-cut algorithm to solve the model. They considered the problem of routing of relief vehicles and determining the exact time of relief to each affected area with some other details.

Furthermore, Moreno et al. (2020) proposed precise, innovative, and hybrid problem-solving approaches to their previous research (Moreno et al. (2019)), including 1. Branch-and-Benders-cut method (BBC), which reinforces the previous approach by using a different variable partitioning scheme and new valid inequalities, 2. simulated annealing algorithm and genetic algorithm, and 3. a precise hybrid method of BBC that combines the first two approaches. In this study, based on computational results using the modeled examples, it can be said that the proposed algorithms can solve the sample in larger dimensions compared to other methods presented in the literature.

Ulusan and Ergun (2021) investigated the stochastic network recovery problem considering planning restoration activities on infrastructure network links based on Markov decision process formulation.

Concerning simultaneous road repairs and relief aid, Shin et al. (2019) developed another mathematical model based on mixed-integer linear programming for the problem of integrated Optimal Scheduling of Repair Crew and Relief Vehicle after Disaster (IOSRCRVD). They assumed a relief vehicle for all demand nodes with sufficient capacity to service all nodes in the route. The mathematical model proposed by Shin et al. (2019) was coded by FICO XPRESS-IVE version 7.9. They developed an ant colony optimization algorithm to solve the problem in large-scale problems. The relevant works in the field of debris management are summarized in Table 1.

Table 1 Summary of existing studies related to debris management

1.1 Research gaps and contributions

Considering the literature review, further research is needed to significantly minimize the repair time of the damaged areas and consequent damage in the aftermath of disasters (Altay & Green, 2006). Furthermore, a review of the literature shows that there are significant gaps in this area. Most crew studies have focused primarily on reducing the inaccessibility of the affected areas. To further minimize losses, it is crucial to consider repairing inaccessible areas and scheduling relief vehicles to demand areas. If road repairs and relief are not considered simultaneously, operations will not be optimal, either in scheduling reconstruction of the blocked roads or providing relief aid to demand areas. Relief aid depends on the scheduling of the repair crew, as it is only possible if roads are unblocked. Therefore, the repair crew should be sent to the mission on a scheduling basis with an accurate attitude to relief because operations, such as providing relief aid, largely depend on repair time. This inherent concurrence of the two issues has not been observed in many related studies in the literature.

To address this research gap, in this study, a mathematical model is proposed for integrating crew scheduling and routing to repair the damaged roads and also considering routing of relief vehicles to demand areas. Significant contribution of this study is providing a new mathematical model for IOSRRCRVD. The proposed model investigates post-disaster debris management and relief for the affected areas simultaneously. The objective function of this model is to minimize the arrival time of relief vehicles to demand nodes that have been weighed according to the degree of deterioration of each demand node and minimize the repair time of the damaged nodes in the network. The other main contributions of this study are as follows:

  • Novel integrated mathematical formulation with fewer variables and constraints in comparison with the literature

  • Considering the priority of each demand node and the existence of the destroyed nodes in the path

  • Multi relief vehicle routing for demand nodes from depot simultaneously

  • Proposing an efficient novel hybrid solution approach based on the Benders decomposition algorithm and a previously proposed heuristic algorithm

  • Proposing a new heuristic method to provide initial incumbent solutions to accelerate the convergence of the solution methods

The remainder of this study is organized as follows: Sect. 2 introduces the proposed mathematical model and numerical example showing validation of the model; Sect. 3 describes the proposed solution approaches. The computational results are given in Sect. 4 by solving the generated test problems on different scales. Finally, the conclusions and future research are presented in Sect. 5.

2 Mathematical formulation

2.1 Problem description

This section presents a novel mathematical model for the problem IOSRRCRVD. Since the defined problem deals with several areas and routes; the necessary components are designed by a network model in this paper. The considered IOSRRCRVD problem is defined by a connected and undirected graph \(G=\left(V,\varepsilon \right)\), a set of nodes, and a set of edges (roads) connecting areas. The demand nodes (\({V}^{d}\subset V\)) represent the affected areas, and the damaged nodes (\({V}^{r}\subset V\)) specify the destroyed areas in the network blocked by debris and, thus, require debris cleanup. There is a demand for humanitarian assistance in demand nodes \(\left({d}_{i}\right)\). In addition to these nodes, transshipment or intersection nodes may indicate the intersection of two or more edges. There is one depot (node 0) that is a supply node to be connected with the demand nodes and from which the repair crew initially departs to repair the damaged nodes.

Due to many inaccessible areas, the possible starting nodes are also limited for the repair crew and relief vehicles. Since relief vehicles can only cross intact or repaired roads, their starting point should be close to the repair crew. For these reasons, the repair crew and relief vehicles' starting point is considered a depot (Shin et al., 2019). Also, the repair crew departs to repair the damaged nodes at the beginning of the period. One of the main assumptions of this study, as the most relevant investigation to our research, is that there is enough capacity to cover all demand points with one vehicle. This assumption is not practical in many real-world situations. Therefore, we propose a multi-vehicle problem in which a separate schedule is considered for each demand point. In the proposed model, in addition to scheduling the repair crew for the damaged nodes, routing the relief vehicles to each demand node and their exact arrival time are also determined.

Due to the critical situation, it is assumed that enough relief vehicles are available for relief of the demand nodes. These vehicles start moving from the depot, and if there are no damaged nodes on the path from the depot to the demand node, they can start moving from moment zero; otherwise, they must wait until the repair of the damaged nodes. After repairing the last damaged node on the route, that demand node will be accessible, and the relief vehicle can continue on its path. The time to arrive at a demand node is obtained from the repair time of the last damaged node in the path of that demand node plus the passage time of this repaired node to that demand node. Duration of relief to the demand nodes is also considered. If relief duration is added up to arrival time at the demand node, the exact time of completing relief to each demand node will be obtained. The assumptions related to the proposed model are as follows:

  • The repair crew works together to repair the damaged nodes. In other words, there is one repair team.

  • The repair crew cannot move between nodes that are not connected by an edge.

  • The repair crew can cross each node or edge several times.

  • Each relief vehicle has sufficient capacity to supply humanitarian assistance to a demand node.

  • A relief vehicle can also cross each node or edge several times.

The final decisions in the proposed model are as follows:

  1. 1.

    Scheduling of the repair crew for repairing all the damaged nodes;

  2. 2.

    The routes that the repair crew must travel between two consecutive damaged nodes;

  3. 3.

    Routing of each relief vehicle from depot to each demand node;

  4. 4.

    Determining the exact time for arriving and assisting each demand node.

The proposed problem's objective function is minimizing the arrival time of relief vehicles to demand nodes and minimizing the restoration time of the damaged nodes by debris in the network.

2.2 Mathematical modeling

The notations used in the model are as follows:


Sets

\(V\) :

Set of nodes

\({V}^{d}\subset V\) :

Set of the demand nodes requiring relief goods

\({V}^{r}\subset V\) :

Set of the damaged nodes requiring repair

\(\varepsilon \) :

Set of edges

\(\varepsilon {k}_{i}\subseteq V\) :

Set of nodes adjacent to node \(i\)


Parameters


\({d}_{i}\) :

Relief demand in node \(i. \forall i\in {V}^{d}\)

\({s}_{i}\) :

Time required to repair the damaged node \(i. \forall i\in {V}^{r}\)

\({t}_{ij}\) :

Travel time between nodes \(i\) and \(j. \forall i,j\in V\)

\({l}_{i}\) :

Time required to supply relief goods at demand node \(i\) after the relief vehicle arrives there \( \forall i\in {V}^{d}\)

\(M\) :

Big number


Decision variables

\({x}_{ij}\) :

= 1 if node \(j\) is repaired immediately after node \(i.=0\) otherwise. \(\forall i,j\in {V}^{r}\cup \left\{0\right\}\)

\({U}_{ijkl}\) :

= 1 if edge between node l and node k is used on the path from the damaged node \(i\) or the \(depot\) to the damaged node \(j\) or the \(depot\), \(=0\) otherwise. \(\forall k,l\in V;\forall i,j\in {V}^{r}\cup \left\{0\right\}\)

\({N}_{kij}\) :

= 1 if node \(k\) is used on the path from the damaged node \(i\) or the \(depot\) to the damaged node \(j\) or the \(depot\), \(=0\).otherwise. \(\forall k\in V;\forall i,j\in {V}^{r}\cup \left\{0\right\}\)

\({w}_{ij}^{k}\) :

= 1 if node \(j\) is visited immediately after node \(i\) on the path to demand node \(k=0\) otherwise. \(\forall i.j\in V. \forall k\in {V}^{d}\)

\({z}_{i}^{r}\) :

Exact time at which the reparation of damaged node \(i\) is started. \(\forall i\in {V}^{r}\)

\({z}_{ij}^{d}\) :

Exact time at which the relief vehicle arrives to node \(i\) on the path from the depot to demand node \(j\). \(\forall i\in V. \forall j\in {V}^{d}\)

\({z^\prime}_{i}^{d}\) :

Exact time at which the demand node \(i\) is serviced\(. \forall i\in {V}^{d}\)


The variable \({x}_{ij}\) determines the scheduling of the repair crew, or in other words, the sequence of the damaged nodes that need to be repaired. It does not specify the crew route, as they are defined only for the sequence of visits to the damaged nodes. The complete path is obtained from variables \({U}_{ijkl}\) and \({N}_{kij}\), determine the edges and nodes that must be visited in the route between two consecutive nodes i-j in the determined scheduling.

On the other hand, the variable \({w}_{ij}^{k}\) determines the exact routing between the depot and each demand node k. In other words, it determines which nodes must pass through to reach each demand node k from the depot node. The model is formulated as follows:

$$ {\text{Min }}Z = \sum\limits_{{i \in V^{d} }} {d_{i} \cdot {z^\prime}_{i}^{d} } + \mathop \sum \limits_{{i \in V^{r} }} z_{i}^{r} $$
(1)

S.t.:

$$ \begin{array}{*{20}c} {\mathop \sum \limits_{{j \in V^{r} }} x_{ij} = 1} & {\quad \forall i \in V^{r} \cup \left\{ 0 \right\}} \\ \end{array} $$
(2)
$$ \begin{array}{*{20}c} {\mathop \sum \limits_{{i \in V^{r} }} x_{ij} = 1} & {\quad \forall i \in V^{r} \cup \left\{ 0 \right\}} \\ \end{array} $$
(3)
$$ \begin{array}{*{20}c} {\mathop \sum \limits_{{k \in \varepsilon k_{i} }} U_{ijik} = x_{ij} } & {\quad \forall i \in V^{r} \cup \left\{ 0 \right\};\forall j \in V^{r} } \\ \end{array} $$
(4)
$$ \begin{array}{*{20}c} {\mathop \sum \limits_{{k \in \varepsilon k_{j} }} U_{ijkj} = x_{ij} } & {\quad \forall i \in V^{r} \cup \left\{ 0 \right\};\forall j \in V^{r} { }} \\ \end{array} $$
(5)
$$ \begin{array}{*{20}c} {\mathop \sum \limits_{{l \in \varepsilon_{k} }} U_{ijkl} + \mathop \sum \limits_{{l \in \varepsilon_{k} }} U_{ijlk} = 2N_{kij} } & {\quad \forall i \in V^{r} \cup \left\{ 0 \right\};\forall j \in V^{r} { };\forall k \in V\backslash \left\{ {i,j} \right\}} \\ \end{array} $$
(6)
$$ \begin{array}{*{20}c} {N_{kij} \le x_{ij} } & {\quad \forall i,j \in V^{r} \cup \left\{ 0 \right\};\forall k \in V\backslash \left\{ {i,j} \right\}} \\ \end{array} $$
(7)
$$ \begin{array}{*{20}c} {\mathop \sum \limits_{{i \in \varepsilon k_{j} }} w_{ij}^{j} = 1} & {\quad \forall j \in V^{d} } \\ \end{array} $$
(8)
$$ \begin{array}{*{20}c} {\mathop \sum \limits_{{i \in \varepsilon k_{0} }} w_{0 i}^{j} = 1} & {\quad \forall j \in V^{d} } \\ \end{array} $$
(9)
$$ \begin{array}{*{20}c} {\mathop \sum \limits_{{i \in \varepsilon k_{j} }} w_{ij}^{p} = \mathop \sum \limits_{{k \in \varepsilon k_{j} }} w_{jk}^{p} } & {\quad \forall p \in V^{d} .\forall j \in V^{d} } \\ \end{array} $$
(10)
$$ \begin{array}{*{20}c} {z_{jk}^{d} \ge z_{ik}^{d} + t_{ij} - \left( {1 - w_{ij}^{k} } \right) \cdot M} & {\quad \forall i \in V.\forall j \in V.\forall k \in V^{d} } \\ \end{array} $$
(11)
$$ \begin{array}{*{20}c} {z_{jk}^{d} \ge z_{ik}^{d} + t_{ij} + s_{i} - \left( {1 - w_{ij}^{k} } \right) \cdot M} & {\quad \forall i \in V^{r} ,\forall j \in V,\forall k \in V^{d} } \\ \end{array} $$
(12)
$$ \begin{array}{*{20}c} {z_{jk}^{d} \ge z_{i}^{r} + t_{ij} + s_{i} - \left( {1 - w_{ij}^{k} } \right) \cdot M } & {\quad \forall i \in V^{r} ,\forall j \in V,\forall k \in V^{d} } \\ \end{array} $$
(13)
$$ \begin{array}{*{20}c} {z_{j}^{r} \ge z_{i}^{r} + \mathop \sum \limits_{e,l \in V} U_{ijel} \cdot t_{el} + s_{i} - \left( {1 - x_{ij} } \right) \cdot M } & {\quad \forall i \in V^{r} \cup \left\{ 0 \right\},\forall j \in V^{r} } \\ \end{array} $$
(14)
$$ \begin{array}{*{20}c} {z_{j}^{r} \ge z_{k}^{r} - \left( {1 - N_{kij} } \right) \cdot M} & {\quad \forall i \in V^{r} \cup \left\{ 0 \right\} \forall j,k \in V^{r} } \\ \end{array} $$
(15)
$$ \begin{array}{*{20}c} {{z^\prime}_{i}^{d} \ge z_{ii}^{d} + l_{i} } & {\quad \forall i \in V^{d} } \\ \end{array} $$
(16)
$$ \begin{array}{*{20}c} {x_{ij} \in \left\{ {0,1} \right\}} & {\quad \forall i,j \in V^{r} \cup \left\{ 0 \right\}} \\ \end{array} $$
(17)
$$ \begin{array}{*{20}c} {U_{eij} ,N_{kij} \in \left\{ {0,1} \right\} } & {\quad \forall i \in V^{r} \cup \left\{ 0 \right\} \forall j \in V^{r} ;\forall k \in V;\forall e \in \varepsilon } \\ \end{array} $$
(18)
$$ \begin{array}{*{20}c} {w_{ij}^{p} \in \left\{ {0,1} \right\}} & {\quad \forall i,j \in V; \forall p \in V^{d} } \\ \end{array} $$
(19)
$$ \begin{array}{*{20}c} {z_{i}^{r} \ge 0} & {\quad \forall i \in V^{r} \cup \left\{ 0 \right\}} \\ \end{array} $$
(20)
$$ \begin{array}{*{20}c} {z_{ij}^{d} \ge 0} & {\quad \forall i,j \in V^{d} } \\ \end{array} $$
(21)
$$ \begin{array}{*{20}c} {{z^\prime}_{i}^{d} \ge 0} & {\quad \forall i,j \in V^{d} } \\ \end{array} $$
(22)

The objective function (1) consists of two parts; minimizing the total relief time of demand nodes that have been weighted based on their demand and the total restoration time of the damaged nodes.

Constraints (2) and (3) represent that each damaged node must be visited only once during the scheduling of the repair crew. Constraints (4) to (6) establish the flow in the route between the damaged nodes i and j. If there is a route between the damaged nodes i and j (\({x}_{ij}=1\)), Constraint (4) is applied to an edge incident on node i in the route, while Constraint (5) is applied to an edge incident on node j in the route. In addition, for each node k in the route from node i to j (\({N}_{kij}=1\)), one edge exits, and one edge enters the node k in the considered route, applied by Constraint (6). Constraint (7) ensures that no routing is specified if the damaged node j is not visited after the damaged node i (\({x}_{ij}=0\)).

Similarly, for the demand nodes, Constraints (8) and (9) specify that each demand node is visited only once during routing. Constraint (10) also establishes the flow in the route between the depot and each demand node. Constraint (11) specifies the time to reach each demand node.

Constraints (12) and (13) explain the additional assistance time to each demand required for completing the final service time. In other words, these constraints ensure that a damaged node on the route between the depot to the demand node is repaired before the relief vehicle passes through the node. To guarantee this relationship, the main constraint is defined in the form of nonlinear constraint (23) and then is replaced by Constraints (12) and (13) for the purpose of linearization.

$$ \begin{array}{*{20}c} {z_{jk}^{d} \ge {\text{max}}(z_{ik}^{d} ,z_{i}^{r} ) + t_{ij} + s_{i} - \left( {1 - w_{ij}^{k} } \right) \cdot M} & {\quad \forall i \in V^{r} ,\forall j \in V,\forall k \in V^{d} } \\ \end{array} $$
(23)

Constraint (14) determines the exact time the damaged nodes are cleaned up. For node j, the exact time is obtained from the sum of the time at which the previously damaged node i is repaired plus the passage time between nodes i and j and the time it takes for node j to be repaired. These constraints derived from the model proposed by Moreno et al. (2019) act as sub-tour removal constraints and are based on the Miller-Tucker-Zemlin formula of the traveling salesman problem (Miller et al., 1960), which has some constraints depending polynomially on the number of nodes.

Constraint (15) ensures that any damaged node in the route from node i to j must be repaired before node j; in other words, the damaged nodes that are not repaired cannot be used to arrive at node j. Constraint (16) calculates the final time of relief completion for each demand node. Finally, Constraints (17) to (22) impose the domains of the decision variables.

2.3 Numerical example

In this section, a numerical example is considered to show the validation the proposed model and analyze its performance. The provided example is solved using BARON solver in GAMS software version 24.7.3 by a PC with 8 GB of RAM.

The numerical example, investigated in this section, is derived from the research presented by Moreno et al. (2019) (Fig. 1). The objective function of the model proposed by Moreno et al. (2019) is minimizing the time at which the demand nodes remain inaccessible from the depot, weighted by their corresponding demands. The accessibility time of the demand nodes will be determined considering the damaged nodes existing in the route from the depot to each demand node and the repair time of the damaged nodes. Modeling is done so that the maximum time to reach each demand node for relief is less than an acceptable time threshold. Consider the CSRP presented by Moreno et al. (2019) for further details.

Fig. 1
figure 1

The numerical example presented by Moreno et al. (2019)

Values of the parameters for numerical example are shown in Table 2. Each edge (i, j) is named by a letter to match the model presented by Moreno et al. (2019), which is shown in Table 2 and Fig. 2.

Table 2 Values of parameters in the numerical example
Fig. 2
figure 2

Routing details in numerical example based on solving the model proposed by Moreno et al. (2019)

The schedule for repairing the damaged nodes is in the following order: 0-7-9-8-6-10, which are obtained by solving the model presented by Moreno et al. (2019). The route details of the crew to repair the damaged nodes, the order in which the damaged nodes are repaired, and the time to reach each node are provided in Fig. 2 and Table 3.

Table 3 Routing details and scheduling of the damaged nodes in the numerical example obtained by solving the model proposed by Moreno et al. (2019)

Furthermore, the nodes and edges on the route from the depot to the demand nodes and accessibility time of each node in numerical example are given in Table 4.

Table 4 Routing details and accessibility time of the demand nodes in numerical example obtained by solving the model proposed by Moreno et al. (2019)

For a better understanding, the routing of each relief vehicle from the depot to each demand node is shown separately in Fig. 3. It is noteworthy that any relief vehicle can start moving from time zero.

Fig. 3
figure 3

Routing details of relief vehicles in numerical example obtained by solving of the model proposed by Moreno et al. (2019)

As can be seen, there is at least one damaged node on each possible path to the demand node 5. As mentioned earlier, the model proposed by Moreno et al. (2019) calculates the accessibility time of the demand node based on the damaged nodes existing on the path from the depot to the demand node. This accessibility time is equal to the last damaged node’s repair time. Therefore, the accessibility time of the demand nodes 2 and 4 are equal to zero.

The numerical example provided by Moreno et al. (2019) was also investigated using the model proposed in this study, in which the time required to relieve demand nodes 2, 4, and 5, is equal to 2, 2, and 1, respectively. The order for restoration of the damaged nodes and the time to reach each node based on the proposed model are given in Table 5.

Table 5 Routing details and scheduling of the damaged nodes in numerical example obtained by solving the model proposed in this study

Scheduling and routing of the repair crew to repair the damaged nodes and the time to reach each node are shown on each node in Fig. 4.

Fig. 4
figure 4

Routing of the damaged nodes in numerical example obtained by solving the model proposed in this study

For the demand nodes, the routing of relief vehicles from the depot to each demand node and the exact time of completion of a relief operation are shown in Table 6 and Fig. 5.

Table 6 Routing details and scheduling of relief vehicles in numerical example obtained by solving the model proposed in this study
Fig. 5
figure 5

Routing details of relief vehicles in numerical example obtained by solving the model proposed in this study

Now, to clarify the main contribution of the proposed model, the need for proper modeling regarding the routing of relief vehicles to the demand nodes is taken into account.

For this purpose, changing the length of some edges is considered. If there are no damaged nodes in the path of a demand node, from the moment zero, this demand node is considered “accessible.” In fact, by changing the lengths of the edges in the path of this demand, the “accessibility time” of it does not change, but the real-time of “reaching” to it changes. Such changes can lead to prioritizing repairing the damaged nodes in the route of demand nodes. Our proposed model aims to control all these issues of great importance in real-world problems.

For example, lengths of edges c and h are increased to 15. After changing the lengths of these edges, Example No.1 is solved again based on the proposed model. The results demonstrate the performance and sensitivity of our proposed model to this problem. The scheduling and routing of the damaged node repair are altered (see Fig. 6).

Fig. 6
figure 6

Routing details and scheduling of the damaged nodes in numerical example after changing the length of the edges obtained by solving the proposed model in this study

Due to the increase in length of the edges in the route to the demand node 4 and the lengthening of this route, with the repair of the damaged nodes 7 and 10 (Fig. 6), the proposed model provides a shorter route to reach that demand node, as shown in Fig. 7.

Fig. 7
figure 7

Routing details in numerical example after changing the length of the edges obtained by solving the proposed model in this study

The model proposed in this study can choose between currently open routes and the routes containing the damaged nodes to choose a route that reaches the demand nodes sooner. In the proposed model, considering the length of all edges and the time of repairing the damaged nodes, the exact route and time of relief to each demand node will be calculated, which can be the basis of strategic decisions for disaster management teams.

3 Solution approaches

Due to the NP-hard nature of the considered problem, a hybrid solution approach is developed based on Benders Decomposition Algorithm and a new heuristic algorithm. The proposed hybrid algorithm tries to find a near-optimal solution in an acceptable CPU time. For solving the problem, it was divided into two phases. The first phase involves determining the scheduling of the repair crew for the damaged nodes, determined using a heuristic algorithm described in Sub-Sect. 3.1. The value of \({X}_{ij}\), as the output of the heuristic algorithm, is considered as a parameter in the next phase. In the second phase, the Benders decomposition algorithm is applied to determine the routing of relief vehicles to service the demand nodes. An ant colony optimization (ACO) is also developed to demonstrate the performance of the proposed hybrid method.

3.1 The proposed Heuristic algorithm

As mentioned previously, an efficient algorithm is designed to determine the scheduling of the repair crew of the damaged nodes as an initial solution for the second phase. The steps of this algorithm are as follows:

Step 0 The network and its related information (including nodes and edges, the time required to cross each edge, demand nodes and their demand values, the damaged nodes, and the time required to repair them) are defined. The repair crew and any relief vehicles are located in the depot, initially. First, a list of all the demand nodes (DemandNodesList) is created and they are sorted in descending order based on their demand value starting from the first node.

Step 1 Using the Dijkstra’s algorithm (Dijkstra, 1959), the shortest path between the depot and demand node (\(Pat{h}_{a}\)) is determined. The path found for relevant relief vehicle is stored in the variable of ReliefVehiclePath [i] to be returned as the algorithm’s output.

Step 2 Completion time of relief to the desired node (FulfillmentTime [i]) is equal to the time required for passing the determined route plus relief (service) time at the demand node.

Step 3 Now, if there are any number of damaged nodes in the specified route, the time required for the relief vehicle to reach that node from the depot is called as \({t}_{a}\). Using the Dijkstras' algorithm, a path like \(Pat{h}_{c}\) is also determined for the repair crew to reach the damaged node from its current node (CTCNode) (at the beginning, this node is the depot but changes to the last damaged node repaired by the repair crew in any iteration of the algorithm). The found path is stored in the variable of CrewTeamPath to be returned at the end as another output.

Step 4 The arrival time of the repair crew at the damaged node is called as \({t}_{c}\). Given the existence of only one repair crew, it is necessary to consider the last time of debris cleanup of the repair crew (LRNTime) and add it to \({t}_{c}\). There may also be more than one damaged node in \(Pat{h}_{c}\), so the time required to repair each damaged node is added to \({t}_{c}\). If \({t}_{c}\) is greater than \({t}_{a}\), it means that the relief vehicle will reach the damaged node before the repair crew arrives and removes the debris. In this case, the relief vehicle must wait until the end of cleaning up of debris. This waiting time (\({t}_{c}-{t}_{a}\)) will be added to the service completion time of the relief vehicle.

Step 5 The network is updated after each debris cleanup, and the damaged nodes that have been repaired will henceforth be considered transition nodes.

Step 6 Steps of the algorithm are repeated until all the damaged nodes in \(Pat{h}_{a}\) are cleaned up, and in practice, the relief vehicle arrives to the related demand node, and its service is performed. These steps are then repeated for the next demand node in the DemandNodesList.

Step 7 Once all the demand nodes have been serviced, the network is checked for the damaged nodes. If there is any damaged node, it starts finding \(Pat{h}_{c}\) from the first accessible damaged node and calculates the time it takes to arrive and repair the node, and updates LRNTime.

The steps are repeated for all the damaged nodes to achieve all problem objectives. The final output of the algorithm, i.e., the completion time of the operations (i.e., TotalTime) is calculated by finding the maximum value of the service fulfillment time of the relief vehicles (i.e., FulfillmentTime) and the last debris cleanup (i.e., LRNTime).

Pseudocode of the heuristic algorithm is described in Display 1.

figure a

This algorithm is coded using the C# Programming language, and its output is used to continue the problem-solving in the second phase via GAMS.

3.2 Heuristic-based Benders decomposition algorithm (Hybrid approach)

Benders decomposition algorithm is a decomposition-based technique whose goal is tackling problems with complicating variables (Benders, 1962; Costa, 2005; Martins de Sá et al., 2013). It was developed by Benders (1962) to solve mixed-integer programming problems. In this method, the problem is divided into smaller problems. Because the computational complexity of mathematical models is increased dramatically with an increasing number of variables and constraints, solving these smaller problems in iterative procedures is more efficient than solving a large problem all at once (Taşkin, 2010).

The general idea behind the Benders decomposition algorithm to divide the problem into two parts: a linear sub-problem and a master problem with complicated integer variables. This algorithm strategy is fixing the hard integer variables in the sub-problem and solving its linear dual sub-problem. Then, the algorithm generates several cuts (constraints) to add to the master problem using the solution obtained from the dual sub-problem. This process continues until the master problem has enough cuts to achieve an optimal solution.

In the model proposed in this study, the variables \({U}_{ijkl}\) and \({N}_{kij}\), determining the routing of the repair crew, and the variables \({w}_{ij}^{p}\), determining the routing of relief vehicles to the demand nodes are considered complicated variables. As mentioned previously, the integer variable \({x}_{ij}\), showing the scheduling of the repair crew for the damaged nodes, is determined by the explained heuristic algorithm in the first phase. So, it is just defined as an input parameter in using the Benders decomposition algorithm.

3.2.1 Sub-problem

At the beginning of the Benders decomposition algorithm, the initial feasible solution, or value of the model’s complicated variables, is determined by the heuristic algorithm. They are obtained in each subsequent iteration by solving the master problem in any iteration. The sub-problem of the model presented in this study is defined as follows:

$$ \left( {{\text{SP}}} \right){\text{Min}} Z_{SP} = \sum\limits_{{i \in V^{d} }} {d_{i} \cdot {z^\prime}_{i}^{d} } + \mathop \sum \limits_{{i \in V^{r} }} z_{i}^{r} $$
(24)

S.t.:

$$ \begin{array}{*{20}c} {z_{jk}^{d} \ge z_{ik}^{d} + t_{ij} - \left( {1 - \overline{w}_{ij}^{k} } \right) \cdot M} & {\quad \forall i \in V;j \in V;k \in V^{d} } \\ \end{array} $$
(25)
$$ \begin{array}{*{20}c} {z_{jk}^{d} \ge z_{ik}^{d} + t_{ij} + s_{i} - \left( {1 - \overline{w}_{ij}^{k} } \right) \cdot M} & {\quad \forall i \in V^{r} ;j \in V;k \in V^{d} } \\ \end{array} $$
(26)
$$ \begin{array}{*{20}c} {z_{jk}^{d} \ge z_{i}^{r} + t_{ij} + s_{i} - \left( {1 - \overline{w}_{ij}^{k} } \right) \cdot M } & {\quad \forall i \in V^{r} ;j \in V;k \in V^{d} } \\ \end{array} $$
(27)
$$ \begin{array}{*{20}c} {z_{j}^{r} \ge z_{i}^{r} + \mathop \sum \limits_{e,l \in V} U_{ijel} \cdot t_{el} + s_{i} - \left( {1 - \overline{x}_{ij} } \right) \cdot M} & {\quad \forall i \in V^{r} \cup \left\{ 0 \right\};\forall j \in V^{r} } \\ \end{array} $$
(28)
$$ \begin{array}{*{20}c} {z_{j}^{r} \ge z_{k}^{r} - \left( {1 - \overline{N}_{kij} } \right) \cdot M} & {\quad \forall i \in V^{r} \cup \left\{ 0 \right\} \forall j;k \in V^{r} } \\ \end{array} $$
(29)
$$ \begin{array}{*{20}c} {{z^\prime}_{i}^{d} \ge z_{ii}^{d} + l_{i} } & {\quad \forall i \in V^{d} } \\ \end{array} $$
(30)

and Constraints (20) to (22).

The sub-problem’s objective function is an upper bound (UB) for the originally proposed problem. Constraints (25) to (30) are equivalent to Constraints (11) to (16) in the initial problem, whose complicated variables are assumed to be constant.

3.2.2 Master problem

The master problem in the Benders decomposition algorithm leads to the generation of a lower bound (LB) for the original problem, which is defined as follows:

$$ \left( {{\text{MP}}} \right)\;{\text{Min}} Z_{MP} = \psi $$
(31)

S.t.:

$$ \begin{array}{*{20}c} {\left( {1 - x_{ij} } \right) \cdot R_{j} \ge R_{i} + 1 - \left| {V^{r} \cup \left\{ 0 \right\}} \right|} & {\quad \forall i \in V^{r} ;j \in V^{r} \cup \left\{ 0 \right\}} \\ \end{array} $$
(32)
$$ \psi \ge \psi_{LB} $$
(33)
$$ \psi \in R $$
(34)
$$ u_{ijk}^{1} \cdot u_{ijk}^{2} \cdot u_{ijk}^{3} \cdot u_{ijk}^{4} \cdot u_{ijk}^{5} \cdot u_{ijk}^{6} \in R $$
(35)

and Constraints (2) to (10), (17) to (19).

The objective function in the originally proposed model includes only continuous variables in the sub-problem but cannot be included in the master problem. Therefore, the objective function of the master problem, i.e., relation (31), only consists of a free variable in the ψ notation, which denotes the algorithm’s lower bound.

It should be noted that the sub-tour elimination constraints in the original model will not remain in the master problem. Therefore, as stated by Moreno et al. (2019) the Constraint (32) is added as a sub-tour elimination constraint together with the auxiliary variables \({R}_{j}\) to the master problem. Constraints (33) and (35) determine the domain of those variables.

3.2.3 Feasibility and optimality cuts

The Benders optimality cut moves towards the optimal solution, added to the master problem. The guideline for adding the Benders cut in each iteration is defined as follows: if an obtained solution is not applied to the stop condition, an optimality cut is added to the master problem. Otherwise, if the solution is infeasible for the sub-problem, a feasibility cut (Constraint 36) must be added to the master problem, as described in the following:

$$ \begin{aligned} \psi \ge & \mathop \sum \limits_{{k \in V^{d} }} \mathop \sum \limits_{i.j \in V} \left( {t_{ij} - M\left( {1 - w_{ij}^{k} } \right)} \right) \cdot u_{ijk}^{1} + \mathop \sum \limits_{{k \in V^{d} }} \mathop \sum \limits_{j \in V} \mathop \sum \limits_{{i \in V^{r} }} \left( {t_{ij} + s_{i} - M\left( {1 - w_{ij}^{k} } \right)} \right) \cdot u_{ijk}^{2} \\ & + \mathop \sum \limits_{{k \in V^{d} }} \mathop \sum \limits_{j \in V} \mathop \sum \limits_{{i \in V^{r} }} \left( {t_{ij} + s_{i} - M\left( {1 - w_{ij}^{k} } \right)} \right) \cdot u_{ijk}^{3} \\ & + \mathop \sum \limits_{{i.j \in V^{r} }} \left( {\mathop \sum \limits_{e,l \in V} U_{ijel} \cdot t_{el} + s_{i} - M\left( {1 - x_{ij} } \right)} \right) \cdot u_{ij}^{4} + \mathop \sum \limits_{{i.j \in V^{r} }} \left( {\mathop \sum \limits_{e,l \in V} U_{ijel} \cdot t_{el} + s_{i} - M\left( {1 - x_{ij} } \right)} \right) \cdot u_{ij}^{4} \\ & + \mathop \sum \limits_{{i.j.r \in V^{r} }} \left( {M\left( {N_{kij} - 1} \right)} \right) \cdot u_{ijr}^{5} + \mathop \sum \limits_{{i \in V^{d} }} \left( {l_{i} } \right) \cdot u_{i}^{6} \\ \end{aligned} $$
(36)

In Constraint (36), the right side comprises the sum of values of the right side of each sub-problem constraint multiplied by their dual variables. This value must be less than the auxiliary variable ψ to improve the objective function in any iteration. The variable u also denotes the dual variables of each constraint.

Constraint (37) is also a feasibility cut of the Benders decomposition algorithm, preventing the original problem from becoming unbounded.

$$ \begin{gathered} \mathop \sum \limits_{{k \in V^{d} }} \mathop \sum \limits_{i.j \in V} \left( {t_{ij} - M\left( {1 - w_{ij}^{k} } \right)} \right) \cdot u_{ijk}^{1} + \mathop \sum \limits_{{k \in V^{d} }} \mathop \sum \limits_{j \in V} \mathop \sum \limits_{{i \in V^{r} }} \left( {t_{ij} + s_{i} - M\left( {1 - w_{ij}^{k} } \right)} \right) \cdot u_{ijk}^{2} \hfill \\ \quad \quad + \mathop \sum \limits_{{k \in V^{d} }} \mathop \sum \limits_{j \in V} \mathop \sum \limits_{{i \in V^{r} }} \left( {t_{ij} + s_{i} - M\left( {1 - w_{ij}^{k} } \right)} \right) \cdot u_{ijk}^{3} \hfill \\ \quad \quad + \mathop \sum \limits_{{i.j \in V^{r} }} \left( {\mathop \sum \limits_{e,l \in V} U_{ijel} \cdot t_{el} + s_{i} - M\left( {1 - x_{ij} } \right)} \right) \cdot u_{ij}^{4} \hfill \\ \quad \quad + \mathop \sum \limits_{{i.j.r \in V^{r} }} \left( {M\left( {N_{kij} - 1} \right)} \right) \cdot u_{ijr}^{5} + \mathop \sum \limits_{{i \in V^{d} }} \left( {l_{i} } \right) \cdot u_{i}^{6} \le 0 \hfill \\ \end{gathered} $$
(37)

4 Computational experiments

In this section, the performance of the proposed solution approach is assessed based on different generated test problems.

To compare the performance of the recommendation algorithm, an ACO algorithm also developed based on the research of Shin et al. (2019). In the proposed ACO algorithm, two types of ants, are operated in the considered network (Shin et al., 2019). The repair ant and relief ant represent the ants corresponding to the repair crew and the relief vehicle, respectively. Each ant tries to determine a feasible route from the perspective of repair and transfer, respectively. Because the route of the repair ant affects the route of the relief ant, the route of the repair ant is determined first. Constraint (23) is employed to determine the arrival time of relief vehicle to demand node by term \(\mathrm{max}({z}_{ik}^{d},{z}_{i}^{r})\). For details, refer to Shin et al. (2019) and Thiruvady et al. (2016).

First, in small-sized test problems, the results of the proposed hybrid approach are compared with those solved using the CPLEX solver in GAMS. Then, since solving accurate large-scale test problems is not possible in CPLEX in acceptable CPU time, the efficiency of the hybrid algorithm to solve large-scale problems is considered. It is noteworthy that the heuristic algorithm is coded using C# programming language, the Benders decomposition algorithm is coded in GAMS version 24.7.3, and the ACO algorithm is coded by MATLAB software on a PC with 8 GB of RAM, a CPU of Intel (R) Core (TM) i7-7500U. 25 test problems in different sizes are generated to evaluate the solution methods (Table 7).

Table 7 Size of test problems

The number of nodes and edges of the network, the number of demand nodes, and damaged nodes in each test problem are given in Table 7. A (VN + 1, VN + 1) matrix is used to produce connecting edges in which VN demonstrates the number of nodes. The elements of this matrix are generated randomly as the binary numbers (0 or 1), where each 1 for element ij in the matrix indicates the presence of an edges between nodes (i to j). The total number of 1 for each node is also randomly generated in such a way as to ensure the feasibility of the problem.

Also, the values of the model parameters are generated randomly by using a uniform function (see Table 8). The number of main parameters of developed ACO are: alpha = 0.3, beta = 1, and rho = 0.01.

Table 8 Parameter design

4.1 Performance evaluation of the proposed hybrid solution approach

For evaluating the performance of the proposed hybrid approach, first, 10 small-size test problems presented in Table 7 are solved, and the results are compared with those obtained from CPLEX. It should be noted that the performance of the heuristic algorithm without hybridizing it with the Benders decomposition algorithm is assessed, as well.

It is noteworthy that in the two proposed algorithms, the stop condition is to reach a CPU time of 150 s. The CPU time taken to solve all 10 test problems by CPLEX was less than 10 s. As indicated in Table 9, the CPU time in these cases (i.e., the best UB obtained by these three algorithms at this stopping CPU time) is reported as the values of the objective function. The \({GAP}_{Sol}^{*}\), calculated using Eq. (38), denotes the gap between these solution methods, where Sol is the objective function of each algorithm. The \({Sol}_{\mathrm{Optimal}}\) is the value of the objective function obtained by CPLEX.

$$ GAP_{Sol}^{*} \% = \left( {\frac{{Sol - Sol_{{\text{Optimal }}} }}{{Sol_{{{\text{Optimal}}}} }}} \right)*100 $$
(38)
Table 9 Comparison of the results obtained by proposed approaches and CPLEX

As shown in Table 9, the CPU time taken to solve the small-size test problems, provided in each solution method, are short. As the dimension of the problem increases, solving the mathematical model in CPLEX becomes time-consuming. Due to the obtained results and acceptable CPU time of the proposed heuristic algorithm, it is reasonable to use this algorithm to generate an initial solution for the Benders decomposition algorithm.

As shown in Table 9 and Fig. 8, in small-size test problems (i.e., No. 1 to 10), all the solutions provided by the heuristic algorithm and ACO are feasible and have less than a 7.2% and 3% gap from the optimal solution, respectively. In these cases, the hybrid approach produces more efficient solutions in less than 2% gap from the optimal solution. These results, in addition to the validity of the hybrid algorithm, also explain the more efficient performance of the hybrid method compared to the others. Figure 9 shows convergence diagrams of the proposed hybrid approach in Test problem 6, which converges to the optimal solution in iteration 114.

Fig. 8
figure 8

Comparison of the generated gaps by solution approaches

Fig. 9
figure 9

Progression of UB and LB values for the proposed hybrid approach (Test problem 6)

The \({GAP}_{hyb}\) reported in Table 10 is calculated by Eq. (39) to show the performance of the hybrid algorithm in large-size problems. It should be noted that due to the inability of CPLEX to solve large-size problems efficiently, upper bound (UB) and lower bound (LB) are calculated for the test problems. The UB and LB are obtained by the hybrid algorithm in 3600 s (as stop condition). The results are provided in Table 10.

$$ GAP_{hyb} \% = \left( {\frac{UB - LB}{{UB}}} \right)*100 $$
(39)
Table 10 Efficiency of the proposed hybrid algorithm compared to ACO in medium- and large-size test problems

The larger the dimensions of the studied test problems, the better the efficiency of the proposed hybrid approach. In medium and large-scale test problems (i.e., Test problems No.11 to 25), the solution obtained using CPLEX is highly inefficient and produces a solution with GAP above 50% for medium-size test problems up to 3600 s CPU time. However, as shown in Table 10, in the proposed hybrid approach, in large-size test problems, up to 3600 s, the solution offers a \({GAP}_{hyb}\) of less than 5%.

As demonstrated in Table 10, in medium dimensions (i.e., Problems 11 to 20) the hybrid method reaches the optimal solution in 3600 s. However, the UB of the ACO shows that the optimal solution is not achieved and the maximum gap is 1.5%. In large dimensions, the convergence speed of the hybrid method to the optimal solution decreases and the gap value increases when the algorithm stops at 3600 s. In Problems 23 and 25, the UB of the ACO is lower and therefore it performs better. This result emphasizes that the performance of the hybrid algorithm is superior in large dimensions without time limitation.

In summary, the comparison between the hybrid approach and CPLEX in terms of the CPU time demonstrates that as the size of the test problem increases, the performance of the two approaches differs significantly in terms of CPU time. Accordingly, the CPU time of CPLEX increases exponentially as the size of the test problem increases, making the method inefficient in practice. While the proposed hybrid approach reaches an efficient solution in less time to manage disaster-related activities.

5 Concluding remarks

As noted in the literature review, few studies have covered repairing the damaged roads and providing relief to the affected areas simultaneously in a single model. In addition to calculating the required accessibility time of each demand node, this research determines the routing of every relief vehicle from the depot to each demand node in a prioritized manner. To achieve more realistic scenario, the blocking caused by damaged nodes along the route was scored and considered, and completion time of the relief operation to each demand node was determined. Compared to the literature, the mathematical model presented in this research offers the desired output with fewer variables and constraints, making it less complex. A hybrid approach was presented to solve the proposed model which attains the near-optimal solution in less time compared to an exact solver (i.e., CPLEX). The proposed approach is based on the Benders decomposition method and a heuristic algorithm. The initial solution for the Benders decomposition method and repair schedule of the damaged nodes is determined using the heuristic algorithm. Then, the routing of the repair crew and relief vehicles is solved using the Benders decomposition method.

In order to obtain a more realistic scenario, in future works, more than one repair crew can be included in the model to work on the damaged and blocked roads simultaneously, or multi-mode scheduling can be employed. Setting multiple crews to clear roads from debris and coordinating between them will lead to accelerate unblocking of each road. However, such cooperation prevents simultaneous clearance of different blocked roads due to the lack of uniform distribution of crew across all demand points. This aspect has been addressed in problems focusing solely on roads' debris clearance, while problems with simultaneous debris clearing and post-disaster relief have suffered further research. Other suggested topics for the future research are as follows:

  • Presenting a model considering the priority of roads where the priority of different roads is weighted regarding the type and location of debris based on data acquired from a case study prior to implementing the model.

  • Considering uncertainty in both the supply and demand capacity in a post-disaster phase.

  • Measuring a minimum and optimal number of resources required for road repair and debris clearance operation within a specified time.

  • Considering a time window to aid each demand node.

  • Considering traffic in routes of the relief vehicles and repair crews.