1 Introduction

Today, despite technological advances, the lack of proper preparation to deal with troubles caused by natural disasters (earthquakes, floods, storms, thunderbolts, avalanches, tornadoes, fire, volcanoes, etc.) and unnatural disasters (wars, terrorist events, road accidents, industrial accidents, political unrest, immigration of refugees, etc.) inflicts heavy casualties and losses on nations and their assets, which are sometimes irreparable. Therefore, crises are considered to be the main obstacles to the sustainable development of countries and are prioritized in each country’s programs.

In the event of a crisis, the duty of the relief vehicles is to deliver the goods to the affected areas. However, it does not seem wise to use vehicles to supply all points, as there is no possibility of traffic on some routes, and the total time of response will increase. For this reason, it is recommended to use a covering tour approach, in which vehicles are transported along a number of affected points which temporary relief centers are established there. These centers will also be responsible for providing essential goods at unvisited locations. Using this approach, the time spent on visiting the affected areas is saved, thus the essential goods are delivered in the shortest time possible.

In this paper, we address the field of crisis logistics, and particularly Vehicle Routing Problem (VRP) in the event of a disaster. Moreover, we introduce a new version of VRP that uses the covering tour approach to meet the demands. In addition, given the nature of relief at the time of disaster, and because determining the exact amount of demand is very difficult, a fuzzy number has been considered to represent the demand for essential goods.

In the next section, the literature related to routing in crisis conditions are discussed. In the third section, the fuzzy credit theory is presented. A mathematical model of routing relief vehicles using the covering tour approach is presented in the fourth section. Harmony search algorithm is introduced in the next section, and finally, numerical results obtained from the harmony search algorithm are offered in the sixth section.

2 Literature Review

Research in the field of relief transportation dates back to studies conducted by Knott in 1987. He tried to model the conditions in which a number of different vehicles are located in one warehouse with limited resources, with the aim of minimizing the lost demands [1]. Obviously, in times of crisis, transport infrastructure is unreliable to carry relief equipment. For this reason, Barbarosoglu et al. [2] modeled the flight planning and relief operations of helicopters. Ozdamar et al. [3] investigated logistic planning in emergencies in order to send goods to distribution centers in damaged areas. Moreover, in another study in 2011 [4], they presented a mathematical model for the logistic planning of helicopters aimed at the transport of injured and medical products. Wohlgemuth et al. [5] introduced a model for dynamic routing in pre-crisis conditions, in which they assumed that receiving and sending goods from and to all points are possible. Haung et al. [6] utilized a multi-item mode to help the needy at the time of crisis. They assigned a weight to each item of goods and minimized the average weighted time of the arrival of each item to the damaged areas.

Due to the importance of uncertainty in disaster management, a number of researchers discussed random optimization in planning for disaster relief. Zhu et al. [7] considered the supply of goods in crisis conditions as a random parameter. In the first and second phases, they located intermediate warehouses and routed vehicles to deliver goods from them, respectively. Shen at al. [8] considered the demand of injured areas as an uncertain parameter, and used a two-stage approach to deal with demand uncertainty. Their goal was minimizing the unmet demand and/or increasing the reliability of routing the vehicles. Najafi et al. [9] studied the response phase at the time of an earthquake. They presented a multi-period, multi-item, multi-mode, and multi-objective random model to meet the demands for essential goods and carry the injured.

Using the covering tour method is an approach applied by some researchers in the field of relief at the time of crisis. It is noteworthy that in most studies, the covering domain is considered very small in order to meet the demands of those people situated at the shortest distance. Besides routing, locating the relief centers is also done based on the covering tour method. In some studies, establishing temporary centers is considered for this aim.

Naji-Azimi et al. [10] presented a model for locating intermediate relief points and routing relief supply points. They pointed out that all demands should be met, and all relief points should be located in a way that all demand points are located in a distance less than the maximum allowed distance from a relief center. Li et al. [11] presented a framework in the humanitarian relief chain logistics in 2018, focused on developing a maximal cooperative covering model with budget considerations to maximize the benefits to the affected population in disastrous regions. Alinaghian and Goli [12] optimized the location, allocation and routing of temporary health centers in rural areas. They used covering distance to cover the demand of some affected areas by temporary health centers. Rezaei et al. [13] presented a two-echelon, multi-commodity, location-routing problem of relief distribution considering a covering tour for each relief item (RI) during the standard relief time (initial 72 h).

Considering all the previous works done on this topic, the main contributions of this paper are summarized as follows:

  1. 1.

    Presenting a novel mathematical model for disaster routing, in which meeting all the affected points is not mandatory. Relief vehicles meet several temporary relief centers and other near points’ demand will be covered by these centers. The coverage approach used in this research is based on the covering tour problem (CTP).

  2. 2.

    Setting the minimization of the time until the last customer is reached as a major objective in the disaster routing mathematical model. Optimizing such an objective function leads to same-divided relief routings and we can obtain the best possible relief time.

  3. 3.

    Taking the demand uncertainty of first aid commodities into consideration. This assumption is made to bring the model closer to real world conditions.

  4. 4.

    Presenting an innovative solution method based on credibility theory and harmony search algorithm to solve the proposed mathematical model.

3 Problem Definition

One of the most important measures needed to be taken during the crisis response phase is optimizing the distribution and allocation of resources among individuals. Time, as a vital factor, has a significant impact on the increase in the number of people rescued by relief activities. In this model, we attempt to locate appropriate relief centers in the damaged areas. These centers can be located inside or outside one of the damaged points. The presented model which is based on Alinaghian and Goli [12], suggests the most appropriate relief policy when meeting the needs of damaged areas in the two forms of direct visit or coverage. In other words, demand points can either be delivered where they are located or taken to other places at a reasonable distance away, in order that people can go there and receive their required relief goods. The duty of these relief centers is meeting the demands of the injured people in the damaged areas.

On the other hand, the goods needed by these relief centers are supplied through a central depot. They are carried by vehicles with specified capacities to the points where relief centers are located, and after passing across the points which require receiving goods through a specific tour, they return to the central depot.

Moreover, in many disasters, determining the exact amount of the required goods (demand) is very difficult. Therefore, in this paper, we consider the demand of each damaged point as a fuzzy number having a triangular membership function as \( {\tilde{d}}_i=\left({d}_{1i},{d}_{2i},{d}_{3i}\right) \). Since meeting the immediate basic needs of the affected people and supplying medical goods to them is very significant in crises, the main objective in routing the vehicles is reducing the time of delivering the required goods to relief points.

The assumptions of this model are listed as follows:

  • The objective function of the proposed model is minimizing the arrival time of goods to the last point of relief

  • The single-item mode is considered

  • The desired product is not corruptible

  • Each relief center receives its goods from just one vehicle

  • The central depot doesn’t cover any point

  • Covered points receive their required goods from just one visited point

  • Demands of each damaged area are less than the capacity of the vehicle

  • Total demand of all damaged areas should be estimated

  • The number of relief centers is not known beforehand

  • In order to deliver the goods as soon as possible, all available vehicles are used

  • Vehicles will not stop at any other point, except relief centers

  • The time to go along a path is the same for all vehicles

  • Each point is visited by at most one vehicle

  • The loading and unloading time is ignored, and the time when a vehicle arrives at a given point is equal to the time it takes to reach that point

  • There is a possibility of traffic between all the damaged points

  • There are a few safe candidate points that meet the requirements to be turned into relief centers among the damaged points, which are established either in the damaged points or between them.

3.1 Indexes

R:

Total number of points

K:

Total number of available vehicles

l, m:

Set of total points including candidate points for establishing relief centers (demand points and midpoints) and the central depot (zero point) l, m = 0, 1, 2, ..., R

i:

Set of damaged points (demand points) i = 1, 2, .., n

k:

Set of vehicles k = 1, 2, ..., K

3.2 Parameters

t lm :

The time each vehicle spends passing the distance between two points of l and m by each vehicle l, m ∈ {0, 1, 2, .., R}

\( {\tilde{d}}_i \) :

Fuzzy demand of the ith point i ∈ {1, 2, .., n}

dis max :

Maximum coverage radius

a il :

Binary parameter will be 1, if the distance between the ith and lst points is less than dismaxi ∈ {1, 2, .., n}, l ∈ {1, 2, .., R}

Q k :

The capacity of the kth vehicle k ∈ {1, 2, ..., K}

M:

A very large number

3.3 Decision Variables

x lmk :

is equal to 1 if the path between the two nodes l and m is passed by the mth vehicle, otherwise it is equal to zero l, m ∈ {1, 2, .., R + 1}, k ∈ {1, 2, ..., K}

\( {x}_{lmk}^{\hbox{'}} \) :

is the number of goods delivered by the kth vehicle which goes to the 1st visited point first, and then to the point m l, m ∈ {1, 2, .., R}, k ∈ {1, 2, ..., K}

CD l :

is the accumulated demand in the point l l ∈ {1, 2, .., R}

y l :

equals1 if the point l is visited by one of the vehicles, otherwise it is zero 1l ∈ {1, 2, .., R}, k ∈ {1, 2, ..., K}

D il :

equals 1 if estimating the demand of the point i is assigned to the visited point l, otherwise it is zero i ∈ {1, 2, .., n}, l ∈ {2, 3, .., R}, k ∈ {1, 2, ..., K}

u lk :

is the arrival time of the vehicle k to the point l l ∈ {1, 2, .., R}, k ∈ {1, 2, ..., K}

Z:

is the arrival time of the goods to the last established relief center

3.4 Mathematical Model

In this section, we explain the mathematical model used in the paper.

$$ \mathit{\operatorname{Minimize}}\kern0.48em Z={\max}_{l,k}\left\{{u}_{lk}\right\} $$

Subject to

$$ \sum \limits_{k=1}^K\sum \limits_{\begin{array}{l}l=2\\ {}l\ne m\end{array}}^R{x}_{lmk}={y}_m\kern0.36em m=2,3,...,R\kern0.24em $$
(1)
$$ \sum \limits_{m=1}^{R+1}{x}_{mlk}-\sum \limits_{m=1}^{R+1}{x}_{lmk}=0\kern0.6em l=2,3,...,R\kern0.36em k=1,2,...K $$
(2)
$$ \sum \limits_{m=2}^R{x}_{1 mk}=1\kern0.6em k=1,2,...,K\kern0.36em $$
(3)
$$ \sum \limits_{m=2}^R{x}_{m\kern0.24em R+1\kern0.24em k}=1\kern0.6em k=1,2,...,K $$
(4)
$$ \sum \limits_{l=2}^R{a}_{il}{D}_{il}=1\kern0.6em i=1,2,...,n\kern0.6em $$
(5)
$$ \sum \limits_{i=1}^l{d}_i\;{D}_{il}=C{D}_l\kern0.36em l=2,3,...,R $$
(6)
$$ \sum \limits_{l=2}^R\sum \limits_{m=1}^{R+1}{x}_{lmk}^{\hbox{'}}\le {Q}_k\kern0.6em k=1,2,...,K $$
(7)
$$ {x}_{lmk}^{\hbox{'}}\le M\;{x}_{lmk}\kern0.84em l=2,3,...,R\kern0.36em m=1,2,...,R+1\kern0.6em k=1,2,...,K $$
(8)
$$ {x}_{lmk}^{\hbox{'}}\le C{D}_l\kern0.84em l=2,3,...,R\kern0.36em m=1,2,...,R+1\kern0.6em k=1,2,...,K $$
(9)
$$ {x}_{lmk}^{\hbox{'}}\ge C{D}_l-M\left(1-{x}_{lmk}\right)\kern0.84em l=2,3,...,R\kern0.36em m=1,2,...,R+1\kern0.6em k=1,2,...,K $$
(10)
$$ {y}_i\le 1-\sum \limits_{\begin{array}{l}l=2\\ {}l\ne i\end{array}}^R{D}_{il}\kern0.72em i=1,2,...,n $$
(11)
$$ \sum \limits_{k=1}^K{u}_{1k}=0 $$
(12)
$$ {u}_{lk}+{t}_{lm}\le {u}_{mk}+M\left(1-{x}_{lm k}\right)\kern0.96em l=1,2,...,R+1\kern0.36em m=1,2,...,R+1\kern0.6em k=1,2,...,K $$
(13)
$$ {x}_{lmk},{y}_l,{D}_{il}\in \left\{0,1\right\}\kern0.84em l,m=1,2,...,R+1\kern0.6em k=1,2,...,K $$
(14)
$$ {x}_{lmk}^{\hbox{'}},C{D}_l,{u}_{lk}\ge 0\kern0.48em i=1,2,...,n\kern0.6em l=1,2,...,R\kern0.6em k=1,2,...,K $$
(15)

Equation (1) states that only one vehicle passes through the visited points. Equation (2) states that each vehicle must exit a point after entering it. Equation (3) states that all vehicles should exit the central depot. This limitation ensures that all of them have been used. Equation (4) states that each vehicle should go to the virtual point R + 1 after passing its tour. Equation (5) states that each point of demand should be allocated to a point within its coverage distance. Equation (6) determines the accumulated demand at each visited point. Equation (7) states that the number of delivered goods to each visited point cannot be more than the capacity of the vehicle. Equations (8 to 10) determine the relationship between the number of delivered goods to the visited points and the passing routes, and the accumulated demands in the visited points.

Equation (11) points out that the demand of a visited point should not be supplied from another center. Equation (12) considers the exit time of the vehicles from the central depot as zero.

Equation (13) calculates the arrival time of each vehicle to the points on its tour. It also removes the unauthorized sub-tours for each vehicle. Equations (14 and 15) determine the type of the decision variables.

In order to solve the above model and given the fuzzy nature of the demand parameter, the cr parameter is changed in the interval [0, 1] Then, according to the relationship of the credit function, the demand of each point is determined. Using harmony search algorithm and also the solver CLPEX, the best possible solutions are given in terms of the parameter cr [14].

4 Solution Method

4.1 Harmony Search Algorithm

In the initial harmony search algorithm, each solution is called “harmony” and is presented by a true D-dimension vector. The initial population of harmony vectors is produced randomly and saved in the harmony memory (HM). Then, a new candidate harmony is developed from all solutions existing in the harmony memory, using the memory consideration law, pitch adjusting rate, and random re-initialization [15]. Finally, the harmony memory is updated by comparing the new candidate harmony with the worst harmony vector in it. The worst harmony vector is thus replaced by the new candidate vector in the harmony memory. The above process is repeated until it matches a certain endpoint. Harmony search algorithm includes three main steps: initialization, improvisation of the harmony vector, and updating the harmony. All three steps are explained below [16].

The parameters of the harmony search algorithm include harmony memory size or the number of solution vectors in the harmony memory (HMS), harmony memory consideration rate (HMCR), pitch adjusting rate (PAR), bandwidth (BW), and the number of improvisation (NI). NI equals the total number of repetitions [12].

The new harmony Xnew is modified using three laws: memory consideration, pitch adjusting, and random selection. First of all, the uniform random number r1 is created in the interval [0, 1]. If r1 is less than HMCR, then the decision variable is developed with regard to memory consideration; otherwise, xnew (k) is obtained by random selection (re-initialization among search borders). In memory consideration, xnew (k) is selected from HMS. Secondly, each value of xnew (k) can be adjusted with PAR probability through Eq. (16).

$$ {x}_i^{new}\Big\{{\displaystyle \begin{array}{ll}{x}_i(k)\in \left\{{x}_i(1),{x}_i(2),...,{x}_i(K)\right\}& {r}_1> HMCR\\ {}{x}_i(k)\in \left\{{x}_i^1,{x}_i^2,...{x}_i^{HMS}\right\}& {r}_1\le HMCR\\ {}{x}_i(k)+{r}_{3i}\ast BW& {r}_2\le PAR\end{array}} $$
(16)

Harmony search algorithm benefits a storage memory called harmony memory (HM), which includes harmony vectors. The harmony vectors and values of the corresponding target function stated in the harmony memory are saved in Eq. (17) as a matrix.

$$ \left[\begin{array}{ccc}{\mathrm{x}}_1^1\kern0.5em {\mathrm{x}}_2^1& \cdots & {\mathrm{x}}_{\mathrm{D}}^1\\ {}{\mathrm{x}}_1^2\kern0.5em {\mathrm{x}}_2^2& \cdots & {\mathrm{x}}_{\mathrm{D}}^2\\ {}\begin{array}{cc}\begin{array}{c}\cdots \\ {}{\mathrm{x}}_1^1\end{array}& \begin{array}{c}\cdots \\ {}{\mathrm{x}}_2^1\end{array}\end{array}& \begin{array}{c}\cdots \\ {}\cdots \end{array}& \begin{array}{c}\cdots \\ {}{\mathrm{x}}_{\mathrm{D}}^{\mathrm{HMS}}\end{array}\end{array}|\begin{array}{c}\mathrm{f}\left({\mathrm{x}}^1\right)\\ {}\mathrm{f}\left({\mathrm{x}}^1\right)\\ {}\begin{array}{c}\vdots \\ {}\mathrm{f}\left({\mathrm{x}}^{\mathrm{HMS}}\right)\end{array}\end{array}\right] $$
(17)

4.1.1 Solution Representation

Two lines are used to represent each solution (harmony). The first line is a vector with R + K length. The numbers 0 or 1 are placed in the first cell of R. The number 1 means a vehicle passing the point, and 0 means covering that point. The number of passing points by each vehicle is put in the last cell of K.

The second line is a vector such as R in all cells of which there are numbers between 0 and 1. By arranging them from large to small according to the number of vehicles, the passing points are allocated to the vehicles. Other points with a demand that are put in the group of covered points will be covered by the passing point with the least covering points assigned to it. According to this approach, covering points are divided equally among passing points.

For example, if R = 5, k = 2, and n = 4, then a sample of solutions is presented in Table 1.

Table 1 An example of solution representation

In this solution, the first four points have demand. Vehicles pass through points 1,2,3 and 5, and point 4 with a demand, will be the covering point. By arranging the second line, the priority of points will be 4–2–3-1-5. This way, points 2 and 3 are visited by vehicle 1, and points 1 and 5 are visited by vehicle 2. Point 4 can also be covered by one of the passing points that includes it inside its covering radius.

Considering such a solution representation, it can be claimed that the constraints of the presented model are considered. The only constraint that can be exceeded is the vehicle capacity, which does not restrict the algorithm to observe it. Therefore, exceeding this constraint is added as a penalty to the fitness function of meta-heuristic algorithm.

4.1.2 Adjusting the Parameters of the Harmony Search Algorithm

Based on the tests performed on the harmony search algorithm, it has been found that the quality of the final solution is highly dependent on the parameters of the algorithm. Therefore, with multiple changes in the parameters and checking different values for each parameter, the best possible values that result in the most desirable performance are specified and presented below.

  • Harmony memory size (HMS): refers to the number of solution vectors in the harmony memory, which is equal to 1000.

  • Harmony memory consideration rate (HMCR): the possibility of choosing any component of the new harmony (the new solution vector) from the set of vectors available in the harmony memory. In this study, it is considered as 0.9.

  • Pitch adjusting rate (PAR): if the components of the new harmony are selected from the harmony memory, pitch adjustment is examined. The mentioned component of the new solution vector is put in the pitch adjustment conditions with PAR probability, and is unchanged with (1-PAR) probability. In this algorithm, the pitch adjusting rate is equal to 0.1.

  • Bandwidth (BW): if it is necessary to adjust the new harmony, the maximum possible change in its value will be equal to BW. Bandwidth is an arbitrary distance, which is usually determined based on the type of the problem and the experience of the programmer. In this algorithm, it is considered as 0.01.

  • The number of improvisation (NI): it means the condition of the end of the algorithm. In this algorithm, the condition of the end is only based on the number of repetitions and equal to 10,000.

4.2 Improver Algorithm

After implementing the harmony search algorithm, an innovative approach is used to improve the obtained solutions. This innovative approach is based on the greedy randomized adaptive search procedure (GRASP) method.

GRASP is a simple meta-heuristic algorithm that combines structural discoveries and local search. Its structure is a repetitive procedure including two phases: making the solution and improving it. At the end of the search, the best-found solution is returned. The mechanism of the solution generation is determined with two main components: constructive heuristic function and randomization. Assume that a solution contains a subset of elements (solution components), then this solution is made by gradually adding a new element at any time. Selecting the next element is done by taking the element randomly and uniformly from the list of candidates. The scores based on which the elements are ranked by the heuristic scale are a function of the advantage of inserting each element into a current partial solution. The candidate list is made of α elements. Exploratory values are updated at each stage, so the score of elements is changed during the construction phase based on possible selections. This constructive heuristic function is dynamic, unlike static types that attribute the scores to the elements only once at the time of the start.

The second phase of the algorithm is the local search process, which can be either a basic local search or carried out through an advanced technique such as Simulated Annealing (SA) or Tabu Search (TS). The Grasp algorithm can also be used as another effective improver algorithm.

In order to use the GRASP algorithm, the phase of producing the initial solution is ignored and the outputs of the harmony search algorithm are used. Moreover, in order to implement the local search phase, six search methods are used to improve the available solutions, which are as follows:

  1. 1.

    Transfer points: the visited point is transferred to a better place along with all the points covered (Fig. 1).

    Fig. 1
    figure 1

    An example of the first local search

  2. 2.

    Changing points within the path: the place of two visited points within a path is changed (Fig. 2).

    Fig. 2
    figure 2

    An example of the second local search

  3. 3.

    Changing points: the place of two visited points is changed in general (Fig. 3).

    Fig. 3
    figure 3

    An example of the third local search

  4. 4.

    Allocating points: the possibility to re-cover a covered point in a more appropriate place is examined (Fig. 4).

    Fig. 4
    figure 4

    An example of the forth local search

  5. 5.

    Displacing points: this section examines the possibility to replace a covered point with the visited point (Fig. 5).

    Fig. 5
    figure 5

    An example of the fifth local search

  6. 6.

    Covering the visited point: a visited point is pulled out from its path and covered by the best possible point (Fig. 6).

    Fig. 6
    figure 6

    An example of the sixth local search

The flowcharts of the proposed local searches are presented in Fig. 7, to help gain a better understanding of them.

Fig. 7
figure 7

The flowcharts of all the presented local searches

After completing the harmony search algorithm, the improved algorithm is implemented based on GRASP, and possible improvements are made on each of the solutions of the harmony memory. Finally, the best solution obtained in terms of the objective function is presented.

4.3 Determining the Optimal Level of Credit (Cr)

In order to find the best value of Cr, according to which the amount of customer demand is initially estimated, it is required to use a random simulation tool. Finding the optimal value of Cr plays a key role in the amount of the real target function [17, 18]. Choosing a value near to 1 causes the upper limit of the demand to be selected for each customer. This will make the paths found for the problem remain stable in this case, and the possibility of failing to meet customer demand does not occur. Nevertheless, due to the overestimation of customer demand, vehicle capacity is not used appropriately, and shipping costs may increase. On the other hand, by reducing the value of Cr, customer demand is estimated to be as low as possible. Though this reduces the cost of the paths found, there is still a possibility of failure in the paths. The parameter Cr is considered as the pre-supposed demand for different points. Hence, when the vehicles intend to meet the demands of their crossing points and covering points, they might face a demand different from the predetermined amount. This difference leads to shortages of vehicle goods to meet the actual demand of points in some cases. Thus, the vehicle –after finishing its goods- must return to the depot, reload, and continue its path. In such a case, it is said that failure has occurred in the path of the vehicle. Now, to find the optimal value of the Cr parameter, a random value is firstly produced for each demand point by using algorithm 1. The algorithm is presented in below steps.

  1. Step 1:

    For Cr = 0:0.1:1, repeat steps two to five

  2. Step 2:

    At the selected Cr level, determine the demands of customers and find the optimal answer to the problem.

  3. Step 3:

    Implement the subprogram algorithm of generating a random number to determine the damaged demand points.

A subprogram of generating a random number

  • Sub-step 1: i = 1

  • Sub-step 2: Generate a random number mi between the upper and lower limits of the fuzzy number correspondent to the demand of the ith point. Then, specify its membership value based on the membership function of the ith damaged point of demand.

  • Sub-set 3: Generate the random number r in the interval [0, 1].

  • Sub-set 4: if r ≤ f, then introduce mi as the actual value of the demand of the ith point, and go to step 4, otherwise back to step 2.

  • Sub-step 5: Increase i by one unit. If i ≤ n, then go to sub-step 2, otherwise go to sub-step 6.

  • Sub-step 6: End

  1. Step 4:

    Determine the cost of optimal tours at the specified Cr level according to the simulated demand of the damaged points. The length of tours is considered as the cost of failures.

  2. Step 5:

    Do steps four and five for 1000 times and then, calculate the average of costs.

  3. Step 6:

    Report the value of Cr with the least average value of the target function as the optimal Cr.

Increasing Cr from 0 to 1, the planned demand decreases, and consequently the planned target function reduces as well. However, the rate of failure in the vehicle’s route increases with Cr. On the other hand, because the whole target function equals the sum of the planned target function and the failure rate in the passing route, it can be claimed that the whole target function is minimized for a certain amount of Cr.

In Table 2 and Fig. 8, a sample of the results obtained from the above algorithm is presented for a problem with R = 13, n = 9, and K = 3 for different values of Cr.

Table 2 Numerical results of CR simulation
Fig. 8
figure 8

CR simulation results

By examining the above chart, it is found that for Cr = 0.1, the lowest amount of the whole target function is obtained, and consequently the optimal Cr will be equal to 0.1.

5 Numerical Results

5.1 Evaluating the Efficiency of the Proposed Algorithm for Small Problems

At first, 10 small problems are generated randomly. In all these problems, the number of vehicles is considered 3, and the capacity of all of them is assumed the same and equal to Q. Each point is determined randomly in a 2-D space, and its x and y values are selected randomly from the interval [0, 10]. Moreover, the central depot is located at the origin point of the coordinate system. Table 3 presents the parameters of these five classes of problems.

Table 3 Parameters of the randomly generated test problems for CR simulation

R is the total number of points and n is the number of points with demand. As the lower limit, mode, and upper limit of each point of demand, d1, d2 and d3 are obtained from discrete uniform distributions in the specified intervals. Q, the capacity of each vehicle, is determined such that the total capacity of the vehicle is more than the sum of the highest demand points. dismax is the covering radius and ρ is the density of the covering matrix. Moreover, the lower limit, mode, and upper limit of the demand of each point are determined randomly from the discrete uniform distribution as d1~U(3, 8), d2~U(9, 15) and d3~U(16, 25).

The covering matrix is defined as A = [aij]nR, and the parameter ρ defined in Table 3 shows the density of the covering matrix that is defined by Eq. (18).

$$ \rho =\frac{\sum \limits_{i=1}^n\sum \limits_{j=1}^R{a}_{ij}}{nR} $$
(18)

The density of the covering matrix shows the average percentage of points that can cover a demand point. The larger the density of the covering matrix, the more complex the problem, and consequently more time will be needed to solve it. For this reason, random problems are generated such that different modes of the percentage of covering points are generated.

After generating random problems, their planned optimal target function is determined by the solver CPLEX, and the average of the overall target function is found by simulation of the failure of the paths. By calculating the average values of the generated target functions, a certain optimal credit level can be introduced for all problems. The aforementioned items are presented in Table 4.

Table 4 CR simulation results for each problem

As seen in Fig. 9, the best credit level for 10 random problems is 0.4. The lowest average target function has been obtained at Cr = 0.4, although this may not be the case for every individual problem.

Fig. 9
figure 9

Average results of the CR simulation

Now, in order to evaluate the efficiency of the harmony search algorithm, its results for the 10 generated problems are compared with the solver CLPEX at their optimal credit level (Cr = 0.4). A summary of the results of this comparison is presented in Table 5.

Table 5 Comparing the outputs of the harmony search algorithm and the solver CLPEX

In the above table, GAP is the percentage difference of the optimal planned target function with the best-planned target function obtained by the harmony search algorithm, divided by the optimal amount of the planned target function. In other words, the GAP value is obtained by Eq. (19).

$$ GAP=\frac{Z^{\ast }-{Z}_{best}}{Z^{\ast }}\times 100 $$
(19)

In Table 6, the CPU time consumed by both CLPEX and the harmony search algorithm are presented for different problems. Figure 10 compare the CPU time of two solution method.

Table 6 Test problems descriptions
Fig. 10
figure 10

Comparison between CPLEX and HS algorithm CPU time

5.2 Evaluating the Efficiency of the Harmony Search Algorithm in Large Sizes

In order to evaluate the efficiency of the harmony search algorithm in large problems, 10 large problems are generated randomly. In these problems, each point is in the specified interval in the following table, and the capacity of all vehicles is constant and equal to Q. Fuzzy numbers for demand points are obtained from the discrete uniform distribution and in the specified intervals as d1~U(3, 8), d2~U(9, 15) and d3~U(16, 25). The details of these problems are shown in Table 6.

On average, for these 10 problems, the optimal credit level is 0.5. Now, for each Cr = 0.5, we compare the harmony search algorithm and the Grasp algorithm. In Table 7, the best value introduced by each algorithm and their solving times are presented.

Table 7 Comparison of the numerical results

The GAP value shows the percentage difference of the best-planned target function obtained from the harmony search algorithm compared to the Grasp algorithm. In other words, the GAP value is determined by Eq. (20).

$$ GAP=\frac{Z_{Harmony}-{Z}_{Grasp}}{Z_{Harmony}}\times 100 $$
(20)

In Fig. 11, the trend of solving time changes for large problems for the harmony search algorithm and innovative Grasp algorithm is presented. As can be seen, the harmony search algorithm provides its best answer in less time.

Fig. 11
figure 11

HS and GRASP CPU time

The percentage difference between the best answers obtained by the two algorithms presented in Fig. 12 indicates that the innovative Grasp algorithm cannot present better answers than the harmony search algorithm.

Fig. 12
figure 12

GRASP gap in the test problems

By comparing the two above-mentioned figures, we can see that the innovative Grasp algorithm spends more time than the harmony search algorithm to provide answers with less than 9% better. This improvement percentage in terms of the best optimal answer is negligible in comparison with the difference in solving time. Therefore, in such conditions, it can be claimed that the harmony search algorithm can show a desirable performance in a short operational time.

6 Conclusion

Logistics, as one of the most fundamental elements of crisis management, should create a trade-off between supply and demand. By appropriate preparation and required planning, logistic systems can create a proper context for the participation of all suppliers and benefiting their maximum power and potential. Hence, they deliver equipment and goods to damaged people and relief teams quickly with good quality in the required time and place, gaining their trust and confidence this way. This goal cannot be realized except by creating a logistic system with features consistent with crisis conditions, and its integrated management by applying and using modern and efficient information technology. The efficiency of the logistic system in a group will depend on its preparedness, speed of action, and responsiveness. Moreover, covering tour is an approach that can increase action speed of the crisis logistic system and particularly routing the vehicles carrying basic goods. On the other hand, determining the demand for essential basic goods such as a tent, drinking water, canned food, medicine, etc. at the time of crisis is difficult and sometimes impossible. Therefore, considering uncertainty in the demand for basic goods seems reasonable.

In this study, an integer linear model is presented for routing relief vehicles and using the covering tour approach with the aim of minimizing the last arrival time of vehicles to the damaged areas. In this model, the demand of damaged areas is considered as a fuzzy number, and fuzzy credit theory has been used for optimization under uncertainty. In addition, a harmony search algorithm has been developed, along with an improved innovative way based on the Grasp algorithm to solve this model.

The results show that a combination of these two algorithms provides answers very near to the optimal answer for small problems. Moreover, for large problems, the harmony search algorithm can present better answers in less time.

The method proposed in this research has some limitations, one of the most important of which is its dependence on the structure of the mathematical model. If the problem is changed, for example the inventory of the relief centers is to be considered, it is necessary to redefine the method and its details before solving the problem. Therefore, the authors of this paper suggest coming up with an approximate and flexible solution method for disaster relief problems for future research.