# Heuristic evaluation of the characteristic function in the Cooperative Inventory Routing Game

- 488 Downloads

## Abstract

This paper is concerned with the problem of the characteristic function evaluation for the game theory model of horizontal cooperation of carriers on large transportation networks. We consider a mathematical formalization of the Cooperative Inventory Routing Game (CIRG) in the form of characteristic function. Due to non-exact evaluation of the minimal cost for the coalitions, we have the subadditivity property of the characteristic function to be not fulfilled in general case. To calculate the values of characteristic function that satisfy the subadditivity condition, the Direct Coalition Induction Algorithm (DCIA) is used. To solve the multi-depot Inventory Routing Problem for each coalition, the Dynamic Adaptation procedure for Large Neighborhood Search (ALNS) is applied. Calculation of the characteristic function vales, DCIA performance, and advantages of Dynamic Adaptation for ALNS are demonstrated with computational experiments. It is shown that an experimental level of time consistency of the solutions generated by DALNS for given IRP benchmark instances appears to be higher in average in comparison with the solutions generated by ALNS.

## Keywords

Inventory routing problem (IRP) Cooperative inventory routing game (CIRG)and Characteristic function Heuristic algorithm ALNS Time consistency Dynamic adaptive large neighborhood search (DALNS)## 1 Introduction

Horizontal cooperation between carriers, who provide delivery service to satisfy customers’ demands for the supplies of goods, might result in significant benefits for participants if a mutual solution is obtained. In this study, we provide a thorough applied mathematical research, considering models of transport management, inventory management, and cooperation. Advanced meta-heuristic approach is described and implemented in extensive computational experiments. Furthermore, models and methods are considered simultaneously and their mutual influence is analyzed.

Routing-related problems are complex combinatorial optimization problems. These problems are both computationally hard—they belong to the NP-hard class—and arise in large-scale systems. An influence of these two facts provides a steady research relevance of routing problems over the years. In this study, we propose and examine a new generalization of the popular Inventory Routing Problem, namely the Cooperative Inventory Routing Game (CIRG; see Table 1 for the list of all abbreviations used in the paper).

An IRP is a joint problem of route construction and inventory management over a time horizon consisting of periods \(t=1,\ldots , T\). Since we will be focused mainly on a cooperative game aspects, therefore, for the sake of simplicity, we shall take for a basis of this work simple IRP model, also considered, for example, by Archetti et al. [3]: one vehicle, one depot, homogeneous product, deterministic demand, no time windows, pickups, etc. An extensive review of contemporary IRP models can be found in papers by Coelho et al. [8], Archetti et al. [1].

Cooperative game theory provide various mathematical methods for the calculation of individual utility for each player in the coalition, but before using them, it is necessary to construct a characteristic function of the game. The main condition imposed on this function is subadditivity (if the goal is to *minimize* the cost function), which actually might not be satisfied, when the heuristic algorithm is used to obtain cooperative solutions.

Recent studies showed the limitation of exact solution methods for the IRP instances in terms of problem scale. For example, in studies by Cordeau et al. [9], Desaulniers et al. [10], researchers were able to obtain the exact optimal solution in a reasonable time only for instances up to 50 customers and six time periods. Thus, the common approach to solve such a hard computational problem as IRP is to use a heuristic algorithm. Heuristics provide a good quality solution, but cannot guarantee its exact optimality, though the optimal solution is still possible to obtain.

List of abbreviations

Abbreviation | Term |
---|---|

VRP | Vehicle routing problem |

IRP | Inventory routing problem |

CIRG | Cooperative inventory routing game |

DCIA | Direct coalition induction algorithm |

ALNS | Adaptive large neighborhood search |

ETC | Experimental level of time consistency |

DA | Dynamic adaptation |

DALNS | Dynamic adaptive large neighborhood search |

In the recent years, a number of studies appeared devoted to the research of cooperation in well-known routing problems that also apply the cooperative game theory methods.

Kimms and Kozeletskyi [13] considered the collaboration of carriers in the Travelling Salesman Problem and presented an algorithm to construct the core of cooperative game in this model. Zibaei et al. [21] studied the Vehicle Routing Problem (VRP) and its formulation in the form of cooperative game, with extensive description and application of cost allocation techniques in the cooperative game theory. Soysal et al. studied the model of the green Inventory Routing Problem (IRP) and presented a comprehensive computational analysis of cost savings for the grand coalition, although without considering cooperative game models. It is important to note that the implementation of exact algorithms for solving NP-hard problems becomes impractical for large-scale problems.

A few studies simultaneously consider cooperation of carriers and solve the underlying routing problem using a heuristic method.

Krajewska et al. [14] focused on the Pickup and Delivery Problem with time windows. They used the existing heuristic to solve the problem for each coalition in the game and illustrated cost allocation with the Shapley values. Juan et al. [12] considered the Vehicle Routing Problem under environmental constraints. A combination of heuristics was used to solve the problem and show the benefits of cooperation for both the cost and the environment. In the case study by Park et al. [15], the special case of the Capacitated Vehicle Routing Problem was introduced to model the delivery services in apartment complexes in Seoul. Specific heuristic algorithm was presented for solving the problem and various economic and social benefits of cooperation were illustrated with the numerical examples based on the real-life data.

Nevertheless, none of these works take into account the heuristic nature of solutions, thereby endangering the possible applications to face instability of cooperation if a heuristic method is used. That problem was first addressed by Zakharov and Shchegryaev [20] and is further discussed in this study.

Any optimal IRP solution satisfies the Bellman’s principle of optimality: “an optimal policy has the property that whatever the initial state and initial decision are, the remaining decisions must constitute an optimal policy with regard to the state resulting from the first decision” [5]. However, if the solution is obtained with a heuristic algorithm, its optimality for the main problem is not guaranteed, and the same would be for any partial solutions for corresponding subproblems.

A few new concepts and ideas such as an examination of subproblems and inconsistency of partial solutions over time were first proposed in our research [16].

During the realization of a solution, we will be facing the sequence of subproblems of the general problem. Here, three factors influence features of a solution of a subproblem. First, non-optimality of heuristic solutions that gives the room for additional improvements. Second, randomization of the most heuristics that gives the possibility of finding an improvement even after a termination criterion (e.g., number of iterations or time limit) is met. Third, a decrease of the size of a subproblem after each visit to a customer with the passage of time. Given the non-optimality and the randomization features, it is more likely that an algorithm will find an improvement of a partial solution since the reduction of the search space.

Study of the time inconsistency of heuristics helps us to construct new criteria of algorithm quality and develop better algorithms. A criterion that we call the Experimental level of Time Consistency (ETC), and a meta-algorithm that we call the Dynamic Adaptation (DA) are presented in the paper.

Main contributions of this paper are the following: statement of cooperative inventory routing model, the CIRG; studying the impact of heuristic non-optimality on the evaluation of characteristic function of CIRG and illustrating it with a numerical example and extensive computational experiments; stating the general method, definitions, and algorithm of the DA for the routing problems in general and its implementation for the model of carriers collaboration.

This paper is organized as follows. In the second part, we provide formal mathematical description of the Cooperative Inventory Routing Game and its features. The third part is devoted to the time inconsistency study. We introduce the formal approach and definitions in the first part, and provide an outline of the Dynamic Adaptation algorithm. In the fourth part, we provide our computational results: the CIRG numerical example and aggregated results of extensive computational experiments on the CIRG, with and without the DA.

## 2 Cooperative inventory routing game formulation

In this section, we propose generalization of the IRP for the case of carriers’ collaboration, namely the Cooperative Inventory Routing Game.

Let us consider complete graph \(G = (\{M, N\}, A)\), where \(M = \{1, {\ldots }, m\}\) is the set of carriers (depots), \(N = \{1, {\ldots }, n\}\) is total set of customers, and *A* is the set of graph arcs (see also Table 2 for the list of all CIRG designations).

Each carrier \(i \in M\) has certain set of customers \(N_{i} \subseteq N\) under its responsibility and has to solve particular IRP on a reduced graph \(G_{i} = (\{\{i \}, N_{i} \}, A_{i})\). We assume that the following condition is satisfied: \(\forall i_1 ,i_2 \in M, i_1 \ne i_2 :N_{i_1 } \cap N_{i_2 } =\emptyset \).

Travel cost along arc \((i,j) \in A\) is equal to \(c_{ij} > 0\).

Planning horizon consists of *T* periods. In the beginning of each period, amount of \(r_{i}\) of product is supplied at the depot of carrier *i*, and in the end, amount of \(d_{j}\) is consumed by each customer *j* from their storages. Fleet of each carrier includes one vehicle. During each period, a vehicle can perform one route that starts and ends in the depot. Capacity of each vehicle is limited by \(Q_{i}\).

All customers \(j \in N\) are able to store the similar product, thus having varying inventory level over time, defined by values \(I_{\textit{jt}}, t=1,\ldots ,T\). Storage capacities are limited by \(U_{j}\). Holding costs per capacity unit \(h_{j}\) is known for each customer.

Routes and delivery amounts are variables in the IRP, and the goal is to minimize total transportation and holding costs during time horizon.

List of constants and variables in the CIRG

Constant | Definition |
---|---|

| Set of carriers (represented by depots) |

| Set of customers |

| Set of all arcs between depots and customers |

\(c_{\textit{ij}}\) | Cost of traveling by arc \((i, j) \in A\) |

\(N_{i}\) | Set of customers under responsibility of carrier \(i \in M\) |

| Coalition of carriers, \(S \subseteq M\) |

\(N_{S}\) | Set of customers under responsibility of coalition |

| Length of planning horizon (number of planning periods) |

\(r_{i}\) | Amount of product produced by carrier \(i \in M\) at each period |

\(d_{j}\) | Amount of product consumed by customer \(j \in N\) at each period |

\(Q_{i}\) | Capacity of |

\(U_{j}\) | Capacity of |

\(h_{j}\) | Cost of holding one unit of product at |

\(I_{n}^{0}\) | Initial stock at |

Variable | Definition |
---|---|

\(x_{\textit{ijt}}\) | One, if arc ( |

\(q_{\textit{jt}}\) | Amount of product supplied to customer |

\(I_{\textit{jt}}\) | Inventory level at |

\(y_{\textit{ijt}}\) | One, if carrier |

Each coalition would have to solve special multi-depot case of IRP.

Suppose \(x_{ijt}\) is a binary variable, equal to one if any route at period *t* passes the arc (*i*, *j*), and zero otherwise; \(q_{jt}\) is a variable, which represents amount of delivery to customer *j* at period *t*, and \(y_{ijt}\) is a binary variable, equals one, if carrier *i* serves customer *j* at period *t*, and zero otherwise. The initial inventory levels for carriers and customers are given by \(I_{n0} =I_n^0 = {\textit{const}}, \forall n\in M\cup N\).

*S*can be defined in the form of linear program as follows:

To define a cooperative game, we need to define a set of players and a characteristic function for the game. In case of the CIRG, the set of players is given by *M*.

### Definition

*Characteristic function* is a function \(c:2^{M}\rightarrow {\mathbb {R}}\), where \(2^{M}\) is the set of all possible coalitions of players that satisfies \(c(\emptyset ) = 0\).

*subadditive*characteristic function, i.e., such that:

*S*,

*T*optimal solutions provide minimum values of the target function (1)—\(f_\mathrm{{opt}}\), and these values obviously satisfy the subadditivity condition:

*S*. Since an heuristic solution does not guaranteed to be the exact optimal one, the following condition will be held for corresponding values of the target function:

*Direct Coalition Induction Algorithm (DCIA)*, defined as follows:

## 3 Time inconsistency of heuristic solutions

### 3.1 Dynamic representation of routing problems and solutions

Let us consider a class of routing problems \({\hbox {P}}\) and a set of benchmark instances \(\Phi _{\mathrm{P}}\) of that problem class. In addition, we will define as \(\mu {\hbox {P}}\) the multi-depot extension of a problem class \({\hbox {P}}\), i.e., such generalization of \({\hbox {P}}\) in which individual vehicle can have unique starting points instead of the single starting depot. All definitions of this section could also be found in Table 3.

Let us also consider an heuristic algorithm \({\hbox {A}}\) that can be used to solve routing problems from a class \(\mu {\hbox {P}}\), i.e., for any problem instance of that class \(p_{\mu {\hbox {P}}}\), we can obtain a solution using the algorithm: \(s={\hbox {A}} ({p_{\mu {\hbox {P}}}})\).

Note, that although, in this paper, we specifically analyze problem class \({\hbox {P}} = {\textit{CIRG}}\) and algorithm \({\hbox {A}} = {\textit{ALNS}}\) all contents of the Sect. 3 are formulated and generally applicable for an arbitrary class of routing problems \({\hbox {P}}\) and an arbitrary algorithm \({\hbox {A}}\). Note also, that in the case of CIRG \({\hbox {P}}=\mu {\hbox {P}}\), since each coalition member already has his unique starting depot.

Dynamic representation of a routing solution is inspired by the real-life realization of a solution: since realization takes real time, it is possible to stop at any given moment and have a situation in which one part of decisions (set of already visited customers) is fixed, and the other one (remaining customers) is open for changes and possibly optimization.

In general, realization of a routing solution can be viewed as a sequence of decisions made by driver(s). For our formal study, we shall consider a minimal routing decision to be the choice of a customer (point) to visit next, given that the driver is located at a certain point and knows which customers are visited and which are not. One can note that in real-life application, it could also be possible to consider intermediate positions of a driver on a road, not just customers’ locations.

*“parts”*: \(k = 1, 2, {\ldots }, \omega \).

Definitions of Sect. 3

Abbreviation | Term |
---|---|

\({\hbox {P}}\) | A problem class |

\(\mu {\hbox {P}}\) | The multi-depot extension of a class \({\hbox {P}}\) |

| An instance of a test problem |

\(\Phi \) | Set of benchmark instances |

| A solution for the problem |

| Number of a part (step) of a solution |

\(\omega (s)\) | Total number of steps to realize solution |

| Partial solution for the problem |

\({\hbox {A}}\) | An heuristic algorithm used in experiments |

\({\hbox {A}} (p)\) | Solution obtained by the algorithm |

\(\gamma (p)\) | Number of initial experiments performed for problem |

\(\Theta (p)\) | Set of unique solutions obtained by the algorithm |

\(\xi (s)\) | Number of dynamic experiments performed for solution |

\(\nu (s, k)\) | Number of time consistency violations for |

For example, let us consider depot 0, customers \(\{1,2,3,4,5\}\) and route \(0 \rightarrow 1 \rightarrow 3 \rightarrow 5 \rightarrow 2 \rightarrow 4 \rightarrow 0\). In this example, minimum decision would be one ark of a route, like \(0 \rightarrow 1\) or \(3 \rightarrow 5\). By the above definition, “part” should be a sequence of decisions. For example, if we consider a sequence of length 1, parts would coincide with minimal decisions. If we consider a sequence of length 2, the example would have 3 parts: \(0 \rightarrow 1 \rightarrow 3\), \(3 \rightarrow 5 \rightarrow 2\) and \(2 \rightarrow 4 \rightarrow 0\). Alternatively, parts could be defined as sequences of certain length, belonging to a certain time interval (e.g., one day) or made by drivers at the same time (in case of multiple drivers).

We now can formally define *the remaining solution* *s*(*p*, *k*) for the problem *p* at the step *k* as a sequence of solution parts \(k +1\) through \(\omega \), i.e., with first *k* parts excluded. We can also define *a subproblem* \(p_{k}\) of a problem *p* at the step *k* as the problem *p* with first *k* sets of decisions applied. For example, for the CIRG that would mean to set the initial inventory levels to the current after first *k* parts are realized, decrease the planning horizon *T* by the number of periods passed, and move the starting depot of each vehicle to the last visited customer.

Note, that depending on the actual part definition, even if *p* belongs to the class \({\hbox {P}}\) it is likely that \(p_{k}\) will not belong to the class \({\hbox {P}}\), but to the \(\mu {\hbox {P}}\) instead, since fixed vehicle position could be different from the starting depot.

### 3.2 Dynamic adaptation algorithm

Let us consider a problem *p* and its solution *s*(*p*). For a given number \(k < \omega \), we would have a new problem \(p_{k}\) as described in a previous section and its corresponding partial solution *s*(*p*, *k*).

Due to the fact that any heuristic algorithm \({\hbox {A}}\) does not guarantee the optimality of its solution \(s={\hbox {A}} (p)\), the optimality of *s*(*p*, *k*) for \(p_{k}\) does not guaranteed, as well, that leaves possibility for an improvement.

On the other hand, we can consider that randomized search heuristics usually perform better (in terms of relative closeness to the optimal solution) with the decrease of a problem size, since the size of a search space decreasing as well. Note that this feature could be generally applied to the most of advanced global optimization heuristics, since all of them usually include randomization. Common examples of that include choosing the next move randomly from the large neighborhood [7], performing “jump” to the next search area [2] or using other algorithm-specific randomized procedure, like mutation in genetic algorithms [17].

Thus, considering two above features, we can make an assumption that solving \(p_{k}\) with the given heuristic algorithm A will more likely result in a better solution than solving the initial problem *p* with the same algorithm. Based on this assumption, we designed a meta-algorithm which we call the Dynamic Adaptation (DA) of an algorithm \({\hbox {A}}\), which purpose is to utilize described improving possibility and achieve better solutions than \({\hbox {A}}\) could achieve normally. See Algorithm 1 below for the general scheme of the Dynamic Adaptation algorithm.

An implementation of the DA imitates the real-life situation: with the passage of time during the realization of the solution \({\varvec{s}}_{\varvec{0}}\), the initial problem \({\varvec{p}}_{\varvec{0}}\) changes and becomes \(p_k\), and in that moment, we are trying to apply \({\mathbf{A}}\) to improve the current remaining solution \({\varvec{s}} ({\varvec{p}}_{\varvec{0}}, {\varvec{k}})\).

### 3.3 Experimental level of heuristic time consistency

As it was stated in the previous section, for a given problem *p* and its heuristic solution *s*, the optimality of the partial solution *s*(*p*, *k*) for the subproblem \(p_{k}\) does not guaranteed.

Let us consider performing a computational experiment that is a single implementation of the DA. If for a given starting solution *s*, we did not find an improving at any step; we call such solution *time consistent*. Alternatively, if we found an improvement at any step during the implementation, we call a solution *time inconsistent*.

Note that the notion of time consistency introduced above is defined purely by the certain experiment and in that sense could be held or violated in different experiments even for the same initial solution.

To examine and assess the time consistency features of algorithms and problems as a whole, we designed a posteriori metric for the computational performance of the pair of a problem class \({\hbox {P}}\) and an algorithm \({\hbox {A}}\) we call the *Experimental level of Time Consistency* (ETC).

- 1.
Collect the set of test instances \(\Phi _{\mathrm{P}}\) (of the class \({\hbox {P}}\)) and implement algorithm \({\hbox {A}}\) capable of solving problems from \(\mu {\hbox {P}}\);

- 2.
For each problem, instance \(p\in \Phi _{\mathrm{P}}\) use \({\hbox {A}} \, \gamma (p)\) times to construct the set unique initial solutions \(\Theta _{\mathrm{A}} (p)\) (note that \(|\Theta _{\mathrm{A}} (p)| \le \gamma (p))\);

- 3.
For each solution, \(s\in \Theta _{\mathrm{A}} (p)\) perform \(\xi (s)\) implementations of the DA and determine the values of \(\nu (s, k)\)—the number of experiments in where time consistency was violated first time at step

*k*, for each \(k = 1, {\ldots }, \omega (s) - 1\).

*s*at step 3 is the optimal solution for the problem

*p*, then \(\sum _{k=1}^{\omega (s)-1} \nu ({s,k})=0\), and otherwise, \(\sum _{k=1}^{\omega (s)-1} \nu ({s,k}) \le \xi (s)\).

After all computational experiments were performed, one can aggregate collected data to evaluate the value of the ETC by the following definition.

### Definition

*Experimental level of Time Consistency*

*(ETC)*for the given problem class \({\hbox {P}}\) and the algorithm \({\hbox {A}}\) to be the value calculated as follows:

One can note that \(0 \le \mathrm{{ETC}} \le 1\). A higher value of experimental level of time consistency for heuristics can serve as an indication that this heuristic will generate solutions which would be “more” time consistent in compare to other heuristics having smaller values of that criterion.

We have previously calculated the ETC value for the ALNS algorithm and the IRP problem class [15]. To perform experiments, 20 instances were taken from the resource http://www.leandro-coelho.com/instances/inventory-routing/, from two sets proposed by Archetti et al. in 2007 and in 2012. Chosen instances differed in level of holding cost (low or high), number of periods (3 or 6), and number of customers (10/20/30/40/50/100), having each parameter value equally represented.

Partial results of our computational experiments for instances with the high holding cost are presented here in Table 4. There, value \(\Sigma _1\) is the total number of time consistency violations among all \(\gamma \times \xi \) experiments for a given instance and values \(\Sigma _2\) and \(\Sigma _3\) show number of solutions from \(\Theta _{\mathrm{A}} (p)\) that were time inconsistent (\(\Sigma _2\)) or consistent (\(\Sigma _3\)) in all \(\xi \) experiments.

*time inconsistent*and could be improved using the DA.

Partial results of the time consistency analysis for IRP and ALNS

Size, \(T\times x |N|\) | \(\gamma \) | \(|{\Theta _{\mathrm{A}}}|\) | \(\xi \) | \(\Sigma _1\) | \(\Sigma _2\) | \(\Sigma _3\) |
---|---|---|---|---|---|---|

310 | 100 | 7 | 10 | 0 | 0 | 7 |

3 \(\times \) 20 | 100 | 30 | 10 | 17 | 0 | 24 |

3 \(\times \) 30 | 100 | 87 | 10 | 125 | 4 | 64 |

3 \(\times \) 40 | 100 | 87 | 10 | 180 | 14 | 62 |

3 \(\times \) 50 | 100 | 91 | 10 | 197 | 13 | 67 |

6 \(\times \) 10 | 100 | 72 | 10 | 585 | 48 | 6 |

6 \(\times \) 20 | 100 | 100 | 10 | 833 | 70 | 8 |

6 \(\times \) 30 | 100 | 100 | 10 | 884 | 81 | 5 |

6 \(\times \) 50 | 100 | 100 | 1 | 94 | 94 | 6 |

6 \(\times \) 100 | 100 | 100 | 1 | 94 | 94 | 6 |

Heuristic values \(f^{h}(S)\) obtained with ALNS and DALNS

Coalition | {1} | {2} | {3} | {1,2} | {1,3} | {2,3} | {1,2,3} |
---|---|---|---|---|---|---|---|

ALNS solution | 10988.3 | 11443.5 | 9866.42 | 21135.3 | 22062.7 | 21567.3 | 30335.8 |

DALNS solution | 7885.53 | 8407.1 | 7588.8 | 15839.9 | 15702.4 | 15316.7 | 22735.3 |

## 4 CIRG computational results

### 4.1 Numerical example

We introduce following example with the purpose of illustrating both the importance of the Direct Coalition Induction algorithm for the CIRG and performance of DALNS (DA of ALNS), in comparison with the original ALNS for the characteristic function evaluation.

We selected three different IRP instances from the resource http://www.leandro-coelho.com/instances/inventory-routing/ from the set proposed by Archetti et al. [3], namely with high holding costs, 6 time periods, and 10 customers each: *abs1n10*, *abs2n10* and *abs3n10*.

To construct the CIRG instance, we have combined these three IRP instances. Resulting CIRG instance is shown in Fig. 1. Each IRP instance is represented by different set of points (red squares, blue triangles, and green circles), and each representing a depot \(\{i\}\) of a single carrier, and customers \(j \in N_{\{i\}}\), who are initially under his responsibility.

In this game, there are seven possible non-empty coalitions of carriers which could be formed. At the first step, we will calculate the heuristic values \(f^{h}\) of minimal costs for the each coalition’s problem (Table 5).

Based on the values from Table 5 supplied by ALNS, let us define the values of characteristic function. Following the Direct Coalition Induction Algorithm, we accept for individual carriers heuristic values unaltered to be characteristic function values: \(c({\{1\}}) {\mathop {=}\limits ^{\mathrm{def}}}f^{h} ({\{1\}})\), \(c ({\{ 2 \}}) {\mathop {=}\limits ^{\mathrm{def}}}f^{h} ({\{ 2 \}}) \), \(c ({\{ 3 \}}) {\mathop {=}\limits ^{\mathrm{def}}}f^{h} ({\{ 3 \}}) \). Then, we can define characteristic function for other coalitions.

For coalition {1, 2}, we have \(f^{h} (\{1,2\}) = 21135.3 < c(\{1\}) + c(\{2\}) = 22431.8\).

Then, we assume that \(c (\{1, 2\}) = f^{h} (\{1, 2\}) = 21135.3\).

For coalition \(\{1, 3\}\), the following inequality holds: \(f^{h} (\{1, 3\}) > c (\{1\}) + c (\{3\}) = 20854.72\).

In this case, we assign characteristic function value as follows: \(c (\{1, 3\}) = c (\{1\}) + c (\{3\}) = 20854.72\).

For coalition \(\{2, 3\}\), we have: \(f^{h} (\{2, 3\}) = 21567.3 > c (\{2\}) + c (\{3\}) = 21309.92 \Rightarrow c (\{2, 3\}) = 21309.92\).

*c*(

*S*) compare to \(f^{h}(S)\) will be the following:

### 4.2 Computational experiments

All algorithms were programmed in C++. Experiments were performed with HPC cluster of Electromechanical and Computer Systems Modelling Department, Faculty of Applied Mathematics and Control Processes, SPbU. Cluster specifications: operating system Linux SLES 11 SP1, \(12 \, \hbox {nodes} \times 2\) processors Intel Xeon \(5335 \times 4\) cores, 16 GB RAM per node.

We should note that in our computational experiments, we did not collect data on the working time of our algorithms. That is mostly due to the fact that we did not consider the goal to construct the fastest/optimized algorithm, but rather to research the properties of time consistency and relative impact of the dynamic adaptation on the solution quality. Furthermore, such metric as running time could be highly subjective, since it depends heavily on the machine used and quality of the code. Finally, running speed was not an issue in our research, since even the DA for the largest instances could be completed within 2 min on the single core of the HPC cluster.

To perform experiments, we have constructed the CIRG instances by combining basic IRP instances the same way as they were made in Sect. 4.1. All our CIRG instances have 3 carriers, but vary in number of planning periods, amount of customers, and level of holding cost. We use notation (\(T, N, {\textit{cost}}\)) to distinguish different instances. We have used the same IRP benchmark instances that we mentioned in Sects. 3.1 and 4.1.

We have constructed 18 CIRG instances for our computational tests: for \(T = 3\), we created instances with 90, 120, and 150 customers total, with both low and high costs; for \(T = 6\), we created instances with 30, 60, 90, 150, 300, and 600 customers total, with both low and high costs.

Solution costs given by ALNS and DALNS for CIRG for different coalitions

CIRG instance | Algorithm | Minimum/Average/Maximum for coalition: | ||||
---|---|---|---|---|---|---|

IRP base instances | 1, 2, 3 | 1, 23 | 2, 13 | 3, 12 | 123 | |

(3, 90, low) | ALNS | 9223.96 | 8203.18 | 8117.86 | 8030.97 | 7171.8 |

| 10308.5 | 9898.38 | 10335.6 | 9937.85 | 9284.36 | |

| 13076.3 | 12090. | 12763. | 12102.6 | 10999.3 | |

| DALNS | 9223.96 | 8203.18 | 8117.86 | 8030.97 | 7058.08 |

10305.5 | 9855.08 | 10290.5 | 9864.3 | 9239.98 | ||

12989.8 | 12053.7 | 12044.8 | 11992.6 | 10929. | ||

(3, 90, high) | ALNS | 10209.9 | 8692.72 | 8993.28 | 8656.04 | 7842.1 |

| 11805.5 | 10660.4 | 11699.5 | 10904.9 | 10993.7 | |

| 15163.9 | 12805.8 | 13930.2 | 16275.1 | 13130.3 | |

| DALNS | 10209.9 | 8692.72 | 8993.28 | 8656.04 | 7746.28 |

11795.7 | 10632.7 | 11627.8 | 10853.1 | 10907.1 | ||

15134.3 | 12741.3 | 13882.4 | 13330.3 | 12838.7 | ||

(3, 120, low) | ALNS | 11913.1 | 10998.9 | 10996.2 | 10928.7 | 10727.5 |

| 14200.8 | 14176.4 | 14135.9 | 13505.5 | 14045.3 | |

| 17034.6 | 20252.4 | 16952.1 | 17331.4 | 21875.1 | |

| DALNS | 11913.1 | 10998.9 | 10996.2 | 10928.7 | 10727.5 |

14186.4 | 14102.4 | 14089.2 | 13415.4 | 13877.5 | ||

16686.2 | 16220.9 | 16476.6 | 16143. | 15280.4 | ||

(3, 120, high) | ALNS | 17458.7 | 19787.7 | 21020.6 | 17414.2 | 20581.1 |

| 25935. | 23646.9 | 24995.3 | 23897.7 | 21454.6 | |

| 29147.4 | 26830.2 | 28368.7 | 26409.2 | 25334.4 | |

| DALNS | 12544.5 | 12247. | 12346.8 | 11515.6 | 11308.7 |

16247.4 | 16433.8 | 16079.1 | 13874.5 | 13304. | ||

20040.2 | 19880.3 | 20343.8 | 18333.6 | 18086.1 | ||

(3, 150, low) | ALNS | 29115.8 | 26098.1 | 27044.8 | 27752. | 23985 |

| 33974.3 | 30188.6 | 31819.8 | 32245. | 27873. | |

| 35699.1 | 33404. | 35071.2 | 33588.3 | 34641.5 | |

| DALNS | 17623.6 | 17795.3 | 16356.7 | 18682.1 | 18276.4 |

22149.1 | 20944.7 | 21650. | 22044.3 | 20126.4 | ||

25974. | 24771.9 | 25391. | 27966.6 | 25998.7 | ||

(3, 150, high) | ALNS | 37991.5 | 37067. | 34316.3 | 35293.1 | 28212.4 |

| 43100.8 | 39726.9 | 38877.5 | 40326.2 | 32815.5 | |

| 45742.3 | 44890.7 | 42368.3 | 42392.8 | 38349.9 | |

| DALNS | 23586.7 | 23563. | 23234.7 | 24570.1 | 21964.9 |

28348.5 | 26669.1 | 26870.3 | 27561.5 | 23927.4 | ||

33648.3 | 36489. | 32300.4 | 30948.8 | 27049.7 | ||

(6, 30, low) | ALNS | 52356.1 | 46637.9 | 45819. | 46680.6 | 37809.5 |

| 57751.3 | 53655.4 | 50139.9 | 50882.2 | 43251.3 | |

| 64649.9 | 62578.2 | 60648.8 | 57944. | 50478.3 | |

| DALNS | 38163.4 | 36037.6 | 33598.4 | 34468.7 | 30070.7 |

40674.9 | 38637.3 | 36393.3 | 37040.3 | 32275.3 | ||

47721.5 | 44102. | 42441.8 | 43082.1 | 35747.3 | ||

(6, 30, high) | ALNS | 67048.2 | 57050. | 61229.2 | 60884.6 | 50740.2 |

| 76361.4 | 64980.3 | 69978.3 | 69364.8 | 57600.3 | |

| 78040. | 74936.6 | 78847.8 | 78596.7 | 70280. | |

| DALNS | 53875.4 | 46428.9 | 49663.6 | 49687.2 | 42052.2 |

56398.6 | 49155.2 | 52182.5 | 52666. | 44828.7 | ||

61592.6 | 54283.2 | 57489.8 | 56709.5 | 49074. | ||

(6, 60, low) | ALNS | 103199. | 92430.3 | 91657.9 | 90190.9 | 81258 |

| 117007. | 104519. | 103679. | 101872. | 92119.2 | |

| 133409. | 128691. | 128210. | 118553. | 113749. | |

| DALNS | 85704.4 | 77804.4 | 77380.5 | 76033.5 | 69615.8 |

90282.8 | 82435.5 | 82266.2 | 81196.5 | 75262. | ||

97141.9 | 88479. | 93066.8 | 88999.9 | 86551.3 | ||

(6, 60, high) | ALNS | 25752.2 | 24998.1 | 24912.4 | 24924.4 | 23949.1 |

| 27197.7 | 26745. | 27041.2 | 26900. | 25995.9 | |

| 29464.7 | 28832. | 28643.9 | 29476.3 | 31863.4 | |

| DALNS | 25752.2 | 24965.3 | 24912.4 | 24924.4 | 23927.6 |

27191. | 26678.6 | 26990.5 | 26814.8 | 25923. | ||

29464.7 | 28703.8 | 28559. | 28919.2 | 30642.6 | ||

(6, 90, low) | ALNS | 28600.9 | 27266.3 | 28104.1 | 27342.6 | 27350.8 |

| 30658.1 | 29192.1 | 30140.8 | 29682.3 | 29337. | |

| 33228.7 | 35340.5 | 32197.1 | 31856.9 | 36227.7 | |

| DALNS | 28600.9 | 27266.3 | 27974.7 | 27341.6 | 27350.8 |

30633.9 | 29154.5 | 30031.5 | 29621.2 | 29221.4 | ||

33126.9 | 30870.1 | 32197.1 | 31616.3 | 34978.8 | ||

(6, 90, high) | ALNS | 36666. | 35954.6 | 36451.3 | 35890.7 | 36023.2 |

| 39286.6 | 38379.4 | 38882.7 | 38110.4 | 37993.2 | |

| 40849.2 | 39685.1 | 45284.5 | 43486.9 | 45268.3 | |

| DALNS | 36666. | 35933.7 | 36309. | 35890.7 | 36023.2 |

39255.1 | 38334.5 | 38788.5 | 38004. | 37875.8 | ||

40838.6 | 39461.8 | 40266. | 39120.5 | 39159.7 | ||

(6, 150, low) | ALNS | 25962.1 | 28779.8 | 28552.5 | 25857.4 | 28339.8 |

| 36448.3 | 36960.9 | 35827.9 | 32561.2 | 31846.9 | |

| 44744.3 | 45144.5 | 45415.7 | 41322.5 | 43465.7 | |

| DALNS | 22469.1 | 21765.7 | 22115.1 | 21537.9 | 20992.4 |

26889. | 27920.4 | 26458.3 | 23280.1 | 23127.3 | ||

31303.9 | 31401.8 | 33009.9 | 28468.5 | 31379.4 | ||

(6, 150, high) | ALNS | 49787.4 | 46569.7 | 47888. | 48304.6 | 44917.3 |

| 54546. | 51744.8 | 52748.3 | 53005.4 | 50041.6 | |

| 70209.9 | 73580.5 | 66260.2 | 75722. | 73574.4 | |

| DALNS | 37340.4 | 36541. | 36612.8 | 38328.7 | 38658.9 |

41539.8 | 41175.7 | 41413.9 | 41761.3 | 40609. | ||

58720.5 | 60180.5 | 44340. | 58666.3 | 52971.5 | ||

(6, 300, low) | ALNS | 69260.7 | 65641.6 | 65724.3 | 67054.5 | 59898.6 |

| 74834. | 71764. | 71473.5 | 72447.7 | 65388.1 | |

| 92998.1 | 101238. | 91611.9 | 103096. | 97058.5 | |

| DALNS | 54825.5 | 55727.5 | 54118.1 | 55506. | 54366.1 |

59510.5 | 58325.5 | 58832.3 | 58505.1 | 56277.4 | ||

79513.5 | 88355.9 | 75802.4 | 78337.2 | 72947.9 | ||

(6, 300, high) | ALNS | 99413.7 | 96041.6 | 92636.5 | 93850. | 87659 |

| 107183. | 104230. | 100114. | 100851. | 92875.3 | |

| 108205. | 132674. | 125330. | 125378. | 140804. | |

| DALNS | 86117.2 | 84904.9 | 81301.5 | 83781.9 | 78506.9 |

88767.9 | 86749.4 | 84884.7 | 84637.9 | 80487.2 | ||

93008.2 | 89682.8 | 87496.5 | 98287.3 | 103192. | ||

(6, 600, low) | ALNS | 167880. | 158123. | 162033 | 161903. | 152409 |

| 177231. | 165822. | 170158. | 171279. | 161753. | |

| 215443. | 209799. | 217931. | 249574. | 260136. | |

| DALNS | 153640. | 146119. | 149380. | 149357. | 142069. |

155378. | 147833. | 151657. | 151152. | 144144. | ||

160601. | 151489. | 155751. | 156217. | 185334. | ||

(6, 600, high) | ALNS | 321648. | 310770. | 309817. | 308404. | 299216 |

| 333786. | 320367. | 322608. | 319666. | 318191. | |

| 335075. | 321417. | 437723. | 462928. | 523977. | |

| DALNS | 302328. | 293697. | 293497. | 292434. | 286056. |

305003. | 296516. | 296030. | 295751. | 292270. | ||

310903. | 303501. | 301189. | 367432. | 396690. |

In addition, we consider solutions with the minimum cost of the sample for each problem instance and both algorithms. In this set, the improvement from cooperation lays in the interval [−17,88%; 27,78%] with average 11,64%, for ALNS solutions, and [−3,7%; 24,13%] with average 9,52% for DALNS solutions. Negative values indicate that the cooperative solution turns out to be worse than combined individual solutions. It illustrates possible gap between the optimal and heuristic solution: in this case, it can be up to 17,88%.

Various metrics of computational results

Metric | ALNS | DALNS | |||||
---|---|---|---|---|---|---|---|

Interval | Average | Interval | Average | ||||

Cooperation savings: | \({\mathbb {S}} ({f_\mathrm{{avg}}})\) | 1.1% | 25.1% | 12.24% | 2.18% | 20.65% | 9.77% |

\({\mathbb {S}} ({f_{\min }})\) | − 17.88% | 27.78% | 11.64% | − 3.7% | 24.13% | 9.52% | |

Overlap \({\mathbb {O}}\) | 0% | 100% | 71.06% | 0% | 100% | 65.4% | |

DALNS improvement \({\mathbb {D}}\) | – | – | – | 0.014% | 43.95% | 15.25% |

Naturally, the value of such overlap lies from 0%, in case of two ranges being non-intersected, to 100%, in case of one range lying within the other. If an overlap is zero, it means that any random cooperative solution is better than the union of any 3 individual ones, i.e., subadditivity condition is satisfied for the grand coalition. As an overlap increases above zero, it becomes more likely for a random cooperative solution to be worse than the union of 3 random individual ones.

As we observed, values of overlap reach both 0% and 100% in the results of our experiments. The only instances, where overlap equals zero, i.e., all full cooperation solutions strictly better than combined individual ones are (6, 150, low), for both ALNS and DALNS, and (6, 300, low), illustrated in Fig. 8, only for DALNS solutions. The average value of an overlap equals 71,06% for ALNS solutions and 65,4% for DANLS solutions, which means that there still is a big chance to have a violation of the subadditivity, and, in turn, that it is necessary to use the DCIA.

All values mentioned above are additionally presented in Table 7.

## 5 Conclusions

Non-optimality of heuristic solutions for the inventory routing problem can lead to incorrect evaluation of joint expenses of coalitions formed in a cooperative game. Due to this fact, the decision to form a coalition could not get sufficient support from some carriers, despite the profit that could exist in the problem. Time inconsistency of heuristics helps to develop a special method of heuristics adaptation, which has been implemented for ALNS in the form of DALNS and shows that there is a sufficiently good improvement in the minimization of total cost for the grand coalition of carriers and costs for all other coalitions, as well.

One should note that the given results must depend on characteristics of test instances and considered problem model.

For example, the closer customers are to their corresponding depots, the less profit is expected from cooperation. Such influence of geographical distribution of customers could be the subject of future studies. Another feature of test instances—relative size of collaborating companies (e.g., difference in the number of customers)—could be investigated in following studies, as well.

Alternative direction for the future research is consideration of different routing models. Most popular unexplored models include Vehicle Routing Problem and Pickup and Delivery Problem formulations, as well as such relevant model extensions as time windows, time dependency, dynamic orders, and stochastic demands.

## References

- 1.Archetti, C., Bianchessi, N., Irnich, S., Speranza, M.G.: Formulations for an inventory routing problem. Int. Trans. Oper. Res.
**21**(3), 353–374 (2014)MathSciNetCrossRefzbMATHGoogle Scholar - 2.Archetti, C., Bertazzi, L., Hertz, A., Speranza, M.G.: A hybrid heuristic for an inventory routing problem. INFORMS J. Comput.
**24**(1), 101–116 (2012)MathSciNetCrossRefzbMATHGoogle Scholar - 3.Archetti, C., Bertazzi, L., Laporte, G., Speranza, M.G.: A branch-and-cut algorithm for a vendor-managed inventory-routing problem. Transp. Sci.
**41**(3), 382–391 (2007)CrossRefGoogle Scholar - 4.Audy, J.F., D’Amours, S., Rousseau, L.M.: Cost allocation in the establishment of a collaborative transportation agreement–an application in the furniture industry. J. Oper. Res. Soc.
**62**(6), 960–970 (2011)CrossRefGoogle Scholar - 5.Bellman, R.: Dynamic programming. Princeton University Press, Princeton (1957)zbMATHGoogle Scholar
- 6.Bertazzi, L., Paletta, G., Speranza, M.G.: Deterministic order-up-to level policies in an inventory routing problem. Transp. Sci.
**36**(1), 119–132 (2002)CrossRefzbMATHGoogle Scholar - 7.Coelho, L.C., Cordeau, J.F., Laporte, G.: The inventory-routing problem with transshipment. Comput. Oper. Res.
**39**(11), 2537–2548 (2012)MathSciNetCrossRefzbMATHGoogle Scholar - 8.Coelho, L.C., Cordeau, J.F., Laporte, G.: Thirty years of inventory routing. Transp. Sci.
**48**(1), 1–19 (2013)CrossRefGoogle Scholar - 9.Cordeau, J.F., Laganà, D., Musmanno, R., Vocaturo, F.: A decomposition-based heuristic for the multiple-product inventory-routing problem. Comput. Oper. Res.
**55**, 153–166 (2015)MathSciNetCrossRefzbMATHGoogle Scholar - 10.Desaulniers, G., Rakke, J.G., Coelho, L.C.: A branch-price-and-cut algorithm for the inventory-routing problem. Transp. Sci.
**50**(3), 1060–1076 (2015)CrossRefGoogle Scholar - 11.Guajardo, M., Rönnqvist, M.: A review on cost allocation methods in collaborative transportation. Int. Trans. Oper. Res.
**23**(3), 371–392 (2016)MathSciNetCrossRefzbMATHGoogle Scholar - 12.Juan, A.A., Faulin, J., Pérez-Bernabeu, E., Jozefowiez, N.: Horizontal cooperation in vehicle routing problems with backhauling and environmental criteria. Proc. Soc. Behav. Sci.
**111**, 1133–1141 (2014)CrossRefGoogle Scholar - 13.Kimms, A., Kozeletskyi, I.: Core-based cost allocation in the cooperative traveling salesman problem. Eur. J. Oper. Res.
**248**(3), 910–916 (2016)MathSciNetCrossRefzbMATHGoogle Scholar - 14.Krajewska, M.A., Kopfer, H., Laporte, G., Ropke, S., Zaccour, G.: Horizontal cooperation among freight carriers: request allocation and profit sharing. J. Oper. Res. Soc.
**59**(11), 1483–1491 (2008)CrossRefzbMATHGoogle Scholar - 15.Park, H., Park, D., Jeong, I.J.: An effects analysis of logistics collaboration in last-mile networks for CEP delivery services. Transp. Policy
**50**, 115–125 (2016)CrossRefGoogle Scholar - 16.Shirokikh, V.A., Zakharov, V.V.: Dynamic adaptive large neighborhood search for inventory routing problem. In: Modelling, Computation and Optimization in Information Systems and Management Sciences, pp. 231–241. Springer International Publishing (2015)Google Scholar
- 17.Shi, Y., Boudouh, T., Grunder, O.: A hybrid genetic algorithm for a home jhealth care routing problem with time window and fuzzy demand. Expert Syst. Appl.
**72**, 160–176 (2017)CrossRefGoogle Scholar - 18.Soysal, M., Bloemhof-Ruwaard, J.M., Haijema, R., van der Vorst, J.G.: Modeling a green inventory routing problem for perishable products with horizontal collaboration. Comput. Oper. Res. (2016). doi: 10.1016/j.cor.2016.02.003
- 19.Verdonck, L., Caris, A.N., Ramaekers, K., Janssens, G.K.: Collaborative logistics from the perspective of road transportation companies. Transp. Rev.
**33**(6), 700–719 (2013)Google Scholar - 20.Zakharov, V.V., Shchegryaev, A.N.: Stable cooperation in dynamic vehicle routing problems. Autom. Remote Control
**76**(5), 935–943 (2015)MathSciNetCrossRefGoogle Scholar - 21.Zibaei, S., Hafezalkotob, A., Ghashami, S.S.: Cooperative vehicle routing problem: an opportunity for cost saving. J. Indus. Eng. Int.
**12**(3), 271–286 (2016)CrossRefGoogle Scholar