Skip to main content
Log in

Scheduled service network design with resource acquisition and management

  • Research Paper
  • Published:
EURO Journal on Transportation and Logistics

Abstract

We present a new planning model for freight consolidation carriers, one that links strategic, resource acquisition, and allocation decisions with tactical, service network design-related decisions. Specifically, such as service network design models that recognize resource constraints, the model selects services and routes both commodities and the resources needed to support the services that transport them. In addition, the model recognizes that resources can be grouped into types that differ from one another with respect to capabilities, e.g., speeds, capacities, scheduling rules, etc. Ultimately, along with recognizing resource constraints, the model also makes strategic decisions such as how many resources of each type should be acquired, to what terminal new resources should be assigned, and which existing terminal-based resources should be reassigned. As such, the model can be used from a strategic planning, resource acquisition, mixing, and allocation perspective as it provides an estimate of the impact of such decisions on transportation costs. We extend a matheuristic for a service network design problem with a fixed set (both in number and allocation) of resources of a single type to one that can also make these acquisition and allocation decisions for multiple types of resource. Then, with an extensive computational study, we demonstrate the efficacy of the matheuristic and benchmark its performance against both a leading commercial solver and a column generation-based heuristic. Finally, we perform an extensive computational study to understand how the resource-related and service network design-related components of the model interact, including how freight volumes and cost structures impact how many resources should beacquired.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4

Similar content being viewed by others

Notes

  1. http://www.atri-online.org/wp-content/uploads/2014/09/ATRI-Operational-Costs-of-Trucking-2014-FINAL.pdf.

References

  • Ahuja RK, Magnanti TL, Orlin JB (1994) Network flows: theory, algorithms, and applications. J Oper Res Soc 45(11):1340–1340

    Article  Google Scholar 

  • Andersen J, Crainic TG, Christiansen M (2009) Service network design with asset management: formulations and comparative analyses. Transp Res Part C Emerg Technol 17(2):197–207

    Article  Google Scholar 

  • Andersen J, Christiansen M, Crainic TG, Grønhaug R (2011) Branch and price for service network design with asset management constraints. Transp Sci 45(1):33–49

    Article  Google Scholar 

  • Archetti C, Speranza MG, Savelsbergh MWF (2008) An optimization-based heuristic for the split delivery vehicle routing problem. Transp Sci 42(1):22–31

    Article  Google Scholar 

  • Barnhart C, Johnson EL, Nemhauser GL, Savelsbergh MWF, Vance PH (1998) Branch-and-price: column generation for solving huge integer programs. Oper Res 46(3):316–329

    Article  Google Scholar 

  • Chouman M, Crainic TG (2015) Cutting-plane matheuristic for service network design with design-balanced requirements. Transp Sci 49(1):99–113

    Article  Google Scholar 

  • Contreras I, Fernandez E (2012) General network design: a unified view of combined location and network design problems. Eur J Oper Res 219(3):680–697

    Article  Google Scholar 

  • Crainic TG (2000) Service network design in freight transportation. Eur J Oper Res 122(2):272–288

    Article  Google Scholar 

  • Crainic TG, Gendron B, Hernu G (2004) A slope scaling/Lagrangean perturbation heuristic with long-term memory for multicommodity capacitated fixed-charge network design. J Heuristics 10(5):525–545

    Article  Google Scholar 

  • Crainic TG, Hewitt M, Toulouse M, Vu DM (2016) Service network design with resource constraints. Transp Sci 50(4):1380–1393

    Article  Google Scholar 

  • De Franceschi R, Fischetti M, Toth P (2006) A new ILP-based refinement heuristic for vehicle routing problems. Math Program B 105:471–499

    Article  Google Scholar 

  • Desaulniers G, Desrosiers J, Solomon MM (eds) (2005) Column generation. Springer, New York

    Google Scholar 

  • Erera A, Hewitt M, Savelsbergh M, Zhang Y (2013) Improved load plan design through integer programming based local search. Transp Sci 47(3):412–427

    Article  Google Scholar 

  • Glover F, Laguna M (1997) Tabu search. Kluwer Academic Publishers, Norwell

    Book  Google Scholar 

  • Hewitt M, Nemhauser GL, Savelsbergh MWF (2010) Combining exact and heuristic approaches for the capacitated fixed-charge network flow problem. INFORMS J Comput 22(2):314–325

    Article  Google Scholar 

  • Jarrah A, Johnson EL, Neubert L (2009) Large-scale, less-than-truckload service network design. Oper Res 57(3):609–625

    Article  Google Scholar 

  • Kim D, Pardalos PM (1999) A solution to the fixed charge network flow problem using a dynamic slope scaling procedure. Oper Res Lett 24(4):195–203

    Article  Google Scholar 

  • Kim D, Barnhart C, Ware K, Reinhardt G (1999) Multimodal express package delivery: a service network design application. Transp Sci 33(4):391–407

    Article  Google Scholar 

  • Lai MF, Lo HK (2004) Ferry service network design: optimal fleet size, routing, and scheduling. Transp Res Part A Policy Pract 38(4):305–328

    Article  Google Scholar 

  • Lewinski JS (2014) Turbulence ahead: the coming pilot shortage and how it came to be. The Atlantic. http://www.theatlantic.com/business/archive/2014/07/turbulence-ahead-the-looming-pilot-shortage-and-its-decades-long-history/374171/

  • Melkote S, Daskin M (2001a) An integrated model of facility location and transportation network design. Transp Res Part A Policy Pract 35(6):515–538

    Article  Google Scholar 

  • Melkote S, Daskin MS (2001b) Capacitated facility location/network design problems. Eur J Oper Res 129(3):481–495

    Article  Google Scholar 

  • Pedersen MB, Crainic TG, Madsen OBG (2009) Models and tabu search metaheuristics for service network design with asset-balance requirements. Transp Sci 43(2):158–177

    Article  Google Scholar 

  • Powell WB (1986) A local improvement heuristic for the design of less-than-truckload motor carrier networks. Transp Sci 20(4):246–257

    Article  Google Scholar 

  • Smilowitz KR, Atamtürk A, Daganzo CF (2003) Deferred item and vehicle routing within integrated networks. Transp Res Part E Logist Transp Rev 39(4):305–323

    Article  Google Scholar 

  • Tita B (2014) Railcar shortage in U.S. pushes up lease rates. Wall Street J. http://www.wsj.com/articles/railcar-shortage-in-u-s-pushes-up-lease-rates-1401393331

  • Trudell C (2015) Too many cars and not enough trains prompts buffett to expand rail unit. Bloomberg, March 2015. http://www.bloomberg.com/news/articles/2015-03-03/buffett-rail-car-shortage-has-toyota-parking-suvs

  • Vu DM, Crainic TG, Toulouse M (2013) A three-phase matheuristic for the capacitated multi-commodity fixed-cost network design with design-balance constraints. J Heuristics 19(5):757–795

    Article  Google Scholar 

Download references

Acknowledgements

While working on this project, the fourth author was doctoral student with Département d’informatique et de recherche opérationnelle, Université de Montréal, and student member of CIRRELT. Partial funding for this project has been provided by the Natural Sciences and Engineering Council of Canada (NSERC), through its Discovery Grant program and by the EMME/2-STAN Royalty Research Funds (Dr. Heinz Spiess). We also gratefully acknowledge the support of Fonds de recherche du Québec through their infrastructure grants and of Calcul Québec and Compute Canada through access to their high-performance computing infrastructure.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mike Hewitt.

Appendix

Appendix

For completeness, in this section, we present the details of the algorithm described in Sect. 5. As discussed, the matheuristic consists of two main components: (1) a column generation procedure for generating new cycles and (2) a slope scaling approach for producing primal solutions from a given set of cycles. We next describe those two components in greater detail. At the end of this section we discuss how we calibrated the algorithm.

1.1 Column generation

We define SSND-RAM(\(\bar{\theta }\)) to be the SSND-RAM restricted to the cycles in \(\bar{\theta }\) and its linear relaxation to be the SSND-RAM with the variables \(z^{r}_{\tau }\) and \(y_{s}^{re}\) allowed to take on fractional values. We note that due to the presence of the outsourcing variables \(y_{s}^{re}\), SSND-RAM(\(\bar{\theta }\)) is always feasible. As such, the linear relaxation of SSND-RAM(\(\bar{\theta }\)) will be repeatedly solved, with new cycle variables \(z^{r}_{\tau }\) added to \(\bar{\theta }\) when reduced cost calculations indicate that they may lead to an improved LP solution. As in traditional column generation, these reduced cost calculations are based on dual variables associated with constraints that are binding at the current linear programming solution.

Specifically, we associate the dual variables \(\gamma _{l}^{r} (\le 0)\) with each constraint in set (3), \(\alpha _{s} (\le 0)\) with each constraint in set (5), and \(\beta _{s} (\le 0)\) with each constraint in set (6). The reduced cost of variable \(z_{\tau }^{r}, \tau \in \theta _{l}^{r}\), is then given by the following expression:

$$\begin{aligned} f_{l}^{r} - \gamma _{l}^{r} - \sum _{s \in \tau \cap \mathcal {S} }(f_{s}^{r} + \alpha _{s}u^{r}_{s} - \beta _{s}) \end{aligned}$$
(11)

Thus, given sets of dual variable values, we form an acyclic graph wherein arcs are given the cost \(f_{s}^{r} + \alpha _{s}u^{r}_{s} - \beta _{s}\) for each resource r. We search for least-cost cycles in this graph with a dynamic programming approach similar to the one presented in Crainic et al. (2014). When the least-cost cycle has a negative reduced cost, we add it to the set \(\bar{\theta }\) and solve the SSND-RAM(\(\bar{\theta }\)) again. The procedure repeats until it reaches an iteration wherein no cycles with negative reduced cost are found. At this point, the linear relaxation of the SSND-RAM has been solved. As such, this procedure also yields a bound on the optimal value of the SSND-RAM. However, we also use the cycles generated during this solution process and the solution to the linear relaxation itself to inform a slope scaling procedure that produces high-quality primal solutions. We next describe this slope-scaling procedure.

1.2 Slope scaling

When using slope scaling (Kim and Pardalos 1999; Crainic et al. 2004) to produce solutions to an integer program (such as the SSND-RAM), the approximation problem is typically the linear relaxation of the original problem. Our approximation problem, which we call AP(SSND-RAM), is formed by both relaxing integrality constraints and removing other constraints, leaving what is essentially a multi-commodity flow problem. We note that our slope scaling procedure begins with a fixed set of cycles \(\bar{\theta }\) which we construct with a subset of the cycles found during the previously described column generation procedure. Specifically, we populate \(\bar{\theta }\) with the cycles \(\tau\) such that \(z_{\tau }^{*} > \alpha ,\) wherein \(z_{\tau }^{*}\) indicates the value of the variable in the optimal solution to the linear relaxation of the SSND-RAM and \(\alpha\) is an algorithm parameter. The approximation problem we define is similar to what was presented in Crainic et al. (2014) for the SNDRC, which linearized cycle variables \(z_{\tau }.\) However, in the SSND-RAM we must also linearize the acquisition and allocation variables, \(h_{ll'}^{r},\) and the outsourcing variables \(y_{s}^{re}.\)

To linearize those variables, we reformulate the original formulation by introducing the new 0–1 variable \(z_{ll'}^{\tau r}\) which indicates whether cycle \(\tau\) is operated by a resource of type r departing from \(l'\) with its source from l. We have

$$\begin{aligned} h_{ll'}^{r}=\sum _{\tau \in \theta ^{r}}z_{ll'}^{r\tau } \end{aligned}$$
(12)

and

$$\begin{aligned} z_{\tau }^{r}=\sum _{u\in \Lambda }z_{ll'}^{r\tau } \end{aligned}$$
(13)

for all \(\tau \in \theta _{l'}^{r}.\)

Now, AP(SSND-RAM) is defined with two sets of flow variables associated with two sets of decision variables \(z_{ll'}^{r\tau }\) and \(y_{re}^{s}.\) The first is \(x_{srll''}^{k\tau },\) which represents the flow of commodity k on service s that is supported by resource cycle \(\tau\) operated by resource type r with the resource sourced from u. The second is \(x_{s}^{rke},\) which represents the flow of commodity k on service s that is supported by an outsourced resource type r. We note that we only define these new flow variables for arcs that are services as holding arcs, which do not require a resource. We relate these two flow variables to the flow variables of the SSND-RAM, \(x_{s}^{k}\) for all \(k\in \mathcal {K},s\in S\) with the equation:

$$\begin{aligned} x_{s}^{k}=\sum _{r\in \mathcal {R}}\sum _{l,l'\in \Lambda ^{+}}\sum _{\tau \in \theta ^{r}}x_{srll'}^{k\tau }+\sum _{r\in \mathcal {R}}x_{s}^{rke},\quad \forall s\in \mathcal {S},\quad k\in \mathcal {K} \end{aligned}$$
(14)

Recall that after solving the approximation problem, the values of the variables \((x_{srll'}^{k\tau },x_{s}^{rke})\) are used to create a solution to the SSND-RAM. To approximate the cost of this resulting solution in the AP(SSND-RAM), we define linearization factors for each type of flow variable. Specifically, we associate the linearization factor \(\rho _{srll'}^{k\tau }\) with variable \(x_{srll'}^{k\tau }\) and \(\phi _{s}^{rk}\) with variable \(x_{s}^{rke}.\) The purpose of these linearization factors is for the expression \(\sum _{s \in \mathcal {S}} \sum _{k \in \mathcal {K} } \rho _{srll'}^{k\tau } x_{srll'}^{k\tau }\) to approximate the cost \((F_{l'}^{r}+\sum _{s \in \tau }f^{r}_{s}+H_{ll'}^{r})z^{r\tau }_{ll'}\) of the resulting solution to the SSND-RAM. Similarly, the expression \(\sum _{k \in \mathcal {K}} \phi _{s}^{rk} x_{s}^{rke}\) should approximate the cost \(f^{re}_{s} y_{s}^{re}\) associated with the resulting solution. Formally, the AP(SSND-RAM) is the following optimization problem:

$$\begin{aligned} \min \left( \sum _{k\in \mathcal {K}}\sum _{a\in \mathcal {A}}x_{a}^{k}c_{a}^{k}+\sum _{l,l'\in \Lambda ^{+}}\sum _{r\in \mathcal {R}}\sum _{\tau \in \theta ^{r}}\sum _{s\in \mathcal {S}}\sum _{k\in \mathcal {K}}x_{srll'}^{k\tau }\rho _{srll'}^{k\tau }(t)+\sum _{r\in \mathcal {R}}\sum _{s\in \mathcal {S}}\sum _{k\in \mathcal {K}}x_{s}^{rke}\phi _{s}^{kr}(t)\right) \end{aligned}$$

subject to

$$\begin{aligned} \sum _{r\in \mathcal {R}}\sum _{l,l'\in \Lambda ^{+}}\sum _{\tau \in \theta ^{r}}x_{srll'}^{k\tau }+\sum _{r\in \mathcal {R}}x_{s}^{rke}= {} x_{s}^{k},\quad \forall s\in S,\quad k\in \mathcal {K},\end{aligned}$$
(15)
$$\begin{aligned} \sum _{a\in \mathcal {N}^{+}(i)}x_{a}^{k}-\sum _{a\in \mathcal {N}^{-}(i)}x_{a}^{k}= {} d_{i}^{k},\quad \forall i\in \mathcal {N},\quad k\in \mathcal {K},\end{aligned}$$
(16)
$$\begin{aligned} \sum _{k\in \mathcal {K}}x_{s}^{k}\le {} \max _{r \in \mathcal {R}}\{u^{r}_{s}\},\quad \forall s \in \mathcal {S}, \end{aligned}$$
(17)
$$\begin{aligned} x^{k}_{a}, x_{srll'}^{k\tau }, x_{s}^{rke}\ge {} 0,\quad \forall k\in \mathcal {K},\quad a \in \mathcal {A},\quad s\in S,\quad r\in \mathcal {R},\quad \tau \in \theta ^{r},\quad l, l' \in \Lambda ^{+} . \end{aligned}$$
(18)

Solving AP(SSND-RAM) returns two sets of flow values, \(\tilde{x}_{srll'}^{k\tau },\) and \(\tilde{x}_{s}^{rke}.\) We use these values to create a solution (possibly infeasible) to the SSND-RAM with the following rules:

$$\begin{aligned} \tilde{z}_{ll'}^{r\tau }= {\left\{ \begin{array}{ll} 1 &{} {\text{ if } } \sum _{s \in \tau \cap \mathcal {S}} \sum _{k \in \mathcal {K} } \tilde{x}_{srll'}^{k\tau }>0\\ 0 &{} {\text{ otherwise }} \end{array}\right. },\quad \forall \tau \in \theta _{l'}^{r},\quad l \in \Lambda ^{+},\quad l' \in \Lambda , \end{aligned}$$
(19)

and

$$\begin{aligned} \tilde{y}_{s}^{re}= {\left\{ \begin{array}{ll} 1 &{} {\text{ if }} \sum _{k \in \mathcal {K} } \tilde{x}_{s}^{rke}>0\\ 0 &{} {\text{ otherwise }} \end{array}\right. },\quad \forall s \in \mathcal {S}. \end{aligned}$$
(20)

The first rule (19) states that resource cycle \(\tau ,\) which requires a resource type r assigned to terminal \(l'\) and sourced from terminal l will be used if there is commodity flow on any of the services it supports. The second rule (20) states that a service will be operated by a third party resource if it transports any commodity flow. However, we note that such solutions may not be feasible to the SSND-RAM as they may violate constraints from the sets (5, 6, 3 and 2). We next discuss how we update the linearization factors, \(\rho _{srll'}^{k\tau }\) and \(\phi _{s}^{rk}\) to reflect the fixed cost of the solution.

Solving the AP(LWNSD) yields vector \(\tilde{x}_{srll'}^{k\tau }(t)\) which can be used to derive a (possibly infeasible) solution to SSND-RAM by setting \(\tilde{z}_{ll'}^{\tau r}(t)=1\) if \(\sum _{k\in \mathcal {K}}\sum _{s\in \tau }\tilde{x}_{srll'}^{k\tau }>0\) and \(\tilde{y}_{s}^{re}(t)=1\) if \(\sum _{k\in \mathcal {K}}\tilde{x}_{s}^{rke}>0\).

Using Eqs. (12), (13), (14) and the objective function (1), for each cycle \(\tau \in \theta ^{r}\), the values of \(\rho _{srll'}^{k\tau }(t+1)\) are calculated to satisfy the relation:

$$\begin{aligned} \sum _{k\in \mathcal {K}}\sum _{s\in \mathcal {S}}\tilde{x}_{srll'}^{k\tau }(t)\rho _{sr}^{k\tau }(t+1)=\left( F_{l}^{r}+\sum _{s\in S \cap \tau }f_{s}^{r}+H_{ll'}^{r} \right) \tilde{z}_{ll'}^{r\tau }(t),\quad \forall r\in \mathcal {R},\quad \tau \in \theta ^{r}, \end{aligned}$$
(21)

which can be done by setting

$$\begin{aligned} \rho _{srll'}^{k\tau }(t+1)= {\left\{ \begin{array}{ll} \frac{F_{l}^{r}+\sum _{s\in \tau \cap S}f_{s}^{r}+H_{ll'}^{r}}{\sum _{k\in \mathcal {K}}\sum _{s\in \tau \cap S}\tilde{x}_{srll'}^{k\tau }} &{} {\text{ if }}\sum _{k\in \mathcal {K}}\sum _{s\in \tau \cap S}\tilde{x}_{srll'}^{k\tau }>0, \\ \rho _{srll'}^{k\tau }(t) &{} {\text{ otherwise }}, \end{array}\right. } \end{aligned}$$
(22)

and for each outsourced service arc \(y^{re}_{s}\), the values of \(\phi _{s}^{rk}\)(t) satisfy:

$$\begin{aligned} \sum _{k\in \mathcal {K}}\tilde{x}_{s}^{rke}\phi _{s}^{rk}(t) = \tilde{y}^{re}_{s}(t)f^{re}_{s}, \end{aligned}$$
(23)

which can be done by setting:

$$\begin{aligned} \phi _{s}^{rk}(t)= {\left\{ \begin{array}{ll} \frac{f_{s}^{re}}{\sum _{k\in \mathcal {K}}\tilde{x}_{s}^{rke}} &{} {\text{ if }}\sum _{k\in \mathcal {K}}\tilde{x}_{s}^{rke}>0, \\ \phi _{s}^{rk}(t-1) &{} {\text{ otherwise }}. \end{array}\right. } \end{aligned}$$

When the solution \((\tilde{x}, \tilde{z}, \tilde{y})\) to AP(SSND-RAM) violates a constraint from one of sets (5, 6, 3, and 2), our approach next executes the following procedures to try and construct a feasible solution to SSND-RAM.

1.3 Creating a feasible solution to SSND-RAM from a solution to AP(SSND-RAM)

Because the AP(SSND-RAM) does not include all the constraints that are present in the SSND-RAM (constraint sets 2, 3, 5, and 6), and unlike most slope scaling approaches, rounding procedures are not sufficient to construct a feasible solution to the SSND-RAM from a solution, \((\tilde{x}, \tilde{z}, \tilde{y}),\) to the AP(SSND-RAM). Instead, we must execute another procedure to construct a feasible solution to the SNDRC. Our procedure, instead of modifying the solution to the AP(SSND-RAM) directly, creates a subgraph, \({\bar{\mathcal {{G}}}}^{r}\) of \(\mathcal {G}\) that contains the nodes \(\mathcal {N}\) and a subset, \({\bar{\mathcal {{A}}}}^{r},\) of the arcs \(\mathcal {A}\) that can be decomposed into cycles. Then, the procedure extracts cycles from this subgraph that can be used to construct a feasible solution to the SSND-RAM.

For each r, we create \({\bar{\mathcal{G}}}^{r}\) by first adding to \({\bar{\mathcal{{A}}}}^{r}\) all service arcs \(s \in \mathcal {S}\) such that either \(\sum _{k \in \mathcal {K} } \tilde{x}_{srll'}^{k\tau } > 0\) for some \(k \in \mathcal {K}, l \in \Lambda ^{+}, l' \in \Lambda\), or they belong to a cycle used in the AP(SSND-RAM) solution (i.e., \(\tilde{z}_{ll'}^{r\tau } = 1\)). We also add all holding arcs to \({\bar{\mathcal{{A}}}}^{r}.\) We then solve an optimization problem to add service arcs in \(\mathcal {A} {\setminus } {\bar{\mathcal{{A}}}}^{r}\) to \({\bar{\mathcal{A}}}^{r}\) to ensure that \({\bar{\mathcal{G}}}^{r}\) can be decomposed into cycles in such a way that each service arc appears in at most one cycle but holding arcs may appear in multiple cycles, as doing so maximizes the number of cycles that can be extracted from \({\bar{\mathcal {{G}}}}^{r}.\) The objective of this optimization problem is to minimize the total cost of the arcs added with respect to the cost coefficient \(f_{s}^{r}.\) We note that we formulate and solve this optimization problem as a minimum cost, maximum flow problem (Ahuja et al. 1994). See Vu et al. (2013) for details of how a similar procedure was done for a network design problem with Eulerian-type constraints.

After creating \({\bar{\mathcal{G}}}^{r}\), we next extract a set of cycles \(\tilde{\theta }^{r}\) from this network that are guaranteed to satisfy Constraints (6), which ensure that each service is executed at most once. Then, we formulate and solve SSND-RAM(\(\tilde{\theta }\)), which is the SSND-RAM restricted to the cycles in the set \(\tilde{\theta }= \cup _{r\in \mathcal {R}}\tilde{\theta }^{r}.\) We set a time limit on the solution of this mixed integer program of \(t_{\rm{{MIP}}}\) seconds. We note that this procedure is guaranteed to find a feasible solution to the SSND-RAM in each iteration.

1.4 Intensification and diversification

Metaheuristics (Glover and Laguna 1997) often include intensification procedures, wherein a promising region of the solution space is explored deeply, and diversification procedures, wherein the search is directed towards regions of the solution space that have not yet been thoroughly searched. As these procedures often enable the search to find high-quality solutions in limited times, we have included them in our matheuristic. We first present our intensification procedure and then the diversification procedure.

For intensification, and similar to how we create a feasible solution to SSND-RAM from a solution to AP(SSND-RAM), we introduce an exact optimization step into the search, wherein SSND-RAM(\(\tilde{\theta }\)) is solved with a commercial mixed integer programming solver. Like above, we again set a time limit on the solution of this MIP of \(t_{\rm{{MIP}}}.\) Our intensification procedure differs from how we create a solution to SSND-RAM from one to AP(SSND-RAM) in how the set of cycles \(\tilde{\theta }\) is created. Whereas previously the set \(\tilde{\theta }\) was derived from the services that appeared in the most recent solution to the AP(SSND-RAM), our intensification procedure derives \(\tilde{\theta }\) from the services that appeared in the last q solutions of the AP(SSND-RAM). The rest of the procedure is as described above. The intensification procedure is executed when an improved solution has not been found after a predefined number of iterations.

For diversification, because it is the cycles and outsourced services in the solution to AP(SSND-RAM) at a given iteration that dictate the structure of the resulting solution to SSND-RAM, we periodically modify the objective function of AP(SSND-RAM) to avoid frequently used cycles and outsourced services. To do so, we collect the number of times, \({\rm{{fre}}}_{\tau }\), each cycle \(\tau\) appears in a solution to AP(SSND-RAM). Similarly, we also collect the number of times, \({\rm{{fre}}}_{s}\), each outsourced service arc \(s \in \mathcal {S}\) appears in a solution to AP(SSND-RAM). Then, if the diversification condition is met for each cycle \(\tau \in \bar{\theta }^{r}\) and outsourced service arc s in the current solution of the approximated problem AP(SSND-RAM), we set the linearization factor \(\rho _{srll'}^{k\tau }(t)\) to \(\rho _{srll'}^{k\tau }(t)(1+\epsilon *{\rm{{fre}}}_{\tau })\) and \(\phi _{s}^{rk}(t) = \phi _{s}^{rk}(t)(1+\epsilon *{\rm{{fre}}}_{s})\), where \(\epsilon\) is an algorithm parameter.

We continue to update \(\rho (t)\) and \(\phi (t)\) in this manner for a fixed number of iterations that is dictated by the algorithm parameter \(I_{\rm{{max}}}^{\rm{{diver}}}.\) Lastly, it is possible for two consecutive solutions of AP(SSND-RAM) to be the same, in which case the slope-scaling procedure will terminate. To continue the execution of slope-scaling when this occurs, we add a penalty value P to the linearization factors as seen in (24) and (25). In our experiments, P is set to the objective value of the current solution to AP(SSND-RAM):

$$\begin{aligned} \rho _{srll'}^{k\tau }(t+1) = {\left\{ \begin{array}{ll} \frac{P+H_{ll'}^{r} + F^{r}_{l} + \sum _{s \in \tau \cap S}f^{r}_{s}}{ \sum _{k \in \mathcal {K} } \sum _{s \in \tau \cap \mathcal {S}} \tilde{x}_{srll'}^{k\tau }} &{} {\text{ if }}\sum _{s \in \tau \cap \mathcal {S}} \sum _{k \in \mathcal {K} } \tilde{x}_{srll'}^{k\tau }>0\\ \rho _{srll'}^{k\tau }(t) &{} {\text{ otherwise }} \end{array}\right. } \end{aligned}$$
(24)
$$\begin{aligned} \phi _{s}^{rk}(t+1) = {\left\{ \begin{array}{ll} \frac{P+f_{s}^{re}}{ \sum _{k \in \mathcal {K} } \tilde{x}_{s}^{rke}} &{} {\text{ if }} \sum _{k \in \mathcal {K} } \tilde{x}_{s}^{rke} > 0 \\ \phi _{s}^{rk}(t) &{} {\text{ otherwise }} \end{array}\right. } \end{aligned}$$
(25)

1.5 Calibrating SSCG(SSND-RAM)

The matheuristic proposed, SSCG(SSND-RAM), is governed by four parameters. We list in Table 10 these parameters, as well as the values that have been considered when calibrating the algorithm. We calibrated the algorithm by executing it for each of the 16 possible parameter value combinations on instance Set 2 (described in Table 2). To make the selection, we computed averages of the optimality gap and execution time for each combination over those 14 instances. We found that the difference between the best and worst among the ten best average gaps is about 0.7%, suggesting that the algorithm is quite robust with respect to the values of these parameters. We list the value chosen for each parameter in Table 10.

Table 10 Algorithm parameters and calibration settings

Finally, we calculate “Utilization”, as reported in Tables 4 and 6 as

$$\begin{aligned} \left( \sum _{s\in S_{\rm{{OBO}}}}\sum _{k\in \mathcal {K}}x_{s}^{k}\right) {\bigg /}\left( \sum _{s\in S_{\rm{{OBO}}}}\sum _{r\in \mathcal {R}}u_{s}^{r}\right) , \end{aligned}$$
(26)

where \(S_{\rm{{OBO}}}\) is the set of executed services that are supported by owned resources.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Crainic, T.G., Hewitt, M., Toulouse, M. et al. Scheduled service network design with resource acquisition and management. EURO J Transp Logist 7, 277–309 (2018). https://doi.org/10.1007/s13676-017-0103-x

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s13676-017-0103-x

Keywords

Navigation