Skip to main content

Optimal logistics strategy to distribute medicines in clinics and hospitals


This document presents a methodology for the optimal selection of the vehicle fleet necessary to distribute medical products from the company’s storage center to many intermediate transfer nodes, and from these to a group of public hospitals. The problem addressed is a real case presented by a company that provides logistics services in the Mexican Republic. An algorithm that incorporates three modified mathematical models was designed for its solution. A version of the Dijkstra algorithm was modified for the solution to develop the clustering of nodes (clinics) within the system. A modified version of the model of the traveling salesman generated the routes of the transports and the sequence of distribution of the products. Finally, a model of mixed integer linear programming provided the quantities and characteristics of the transports to buy.

1 Introduction

Logistics is considered to have a significant impact on a manufacturing organization’s performance [1]. The logistical operations of companies that provide these services require daily decisions leading to the optimal achievement of their goals. Their importance lies in the impact that these decisions have in their economy and profits as well as the level of customer service that is one of the main parameters measuring their efficiency worldwide. Some of these operations include the planning of the transport trajectories in the system, the distribution of the volumes and loads moved in the network, and the amounts of transports, drivers, schedules, travel times, rest stops, meals, per diems, tolls and more. The complexity of real problems far outweighs the traditional academic models found in textbooks and literature related to the subject. Because it is not always possible for a single model to include the totality of constraints requested two or more models are needed to provide a global algorithm. Experience shows that the application of large-scale models (with a large number of variables involved) frequently leads to logical programming errors that are not usually observed in academic examples or with few variables. By way of example, the use of binary or integer variables not only delays the computational process to obtain the solution of the instance (because it is an NP-type model), but it can cause errors in the program logic when used to discriminate situations of the type yes or no. Today, dynamic fleet management exploits information provided by communication technologies (mobile and satellite) in order to improve the real-time use of transport resources [2].

Another aspect considered is the large number of combinations that a problem may have relative to the objective function and the technological constraints that accompany it. This also does not consider the lack of reliable information (scarce and disorderly) that frequently exists in the industry. Almost never are two problems found in this market segment the same or even similar. For this reason, the purchase of general purpose commercial software can be expensive and little used in practical matters. Sometimes, it is better to develop applications tailored to the particular needs of the case. Although expensive, these tailored applications are more reliable because they consider the details not included in general-purpose software. Notwithstanding the above, the real problems are fascinating.

This document presents a real case of a Mexican company dedicated to the total management of the pharmaceutical supply chain for 820 clinics in that country. The magnitude of the logistical operation is seen through the number of variables directly involved: 820 clinics, 10 different types of transports and 1160 products. Initially this totals to 9,512,000 variables. The general objective of the model is to determine the quantity and type of transport needed to move the products inside the network in the most efficient way possible, taking into account the natural technological restrictions associated with the model. The formal description of the problem as well as the notation used is described in Sect. 3.

To solve this problem we propose an algorithm linked to or based on the well-known traveling salesman model, the transshipment model and a proposed variant of the Dijkstra’s algorithm. The results were validated by the company that required the service and the savings were substantive. The paper is organized as follows. Section 2 analyzes the techniques, models, authors and results that have addressed the problem or similar problems in recent epochs. This material serves as a preamble to formally and mathematically define the problem in Sect. 3. Section 4 describes in detail the methodology developed for the solution of the proposed instance. Section 5 shows the results of the numerical example associated with the sample values of the problem. The respective conclusions and references are found in the final section.

2 Background

The mathematical models applied to the management of the supply chain have a great history and date back to the year 1961 with the work of French, Smykay, Bowersox and Mossman [3].

The economic importance of manufacturing at the global level have made this problem a fertile field of exploration for mathematical modeling and application in real problems saving large amounts of money. To date, the literature is very abundant in relation to the quantitative modeling in a holistic and segmental form of the elements that make up the chain, as well as the problems related to the calculation of the vehicle fleet. Below are some of the most important contributions to the theme.

In relation to the efficiency of the supply chain, in [4], there is a general analysis of the topic. And for an option in the optimization of operations in [5] the authors propose a method of global analysis of the performance of supply chains instead of optimizing performance of separate facilities as material procurement, manufacturing, or distribution. Another interesting approach about this subject can be found in [6]. In this paper, the authors address the problem of determining the required reserve of fleet of vehicles (cars, automobiles, etc.) based on the criterion of minimizing the lost profit from the traffic.

The time window is a mandatory requirement that must be incorporated into supply chain models. There are several authors who have focused on the problem from different perspectives. For example, in [7] the author proposed a method for calculating routes that require time windows incorporating hierarchical decisions with costs and penalties. An important contribution to the subject is in [8]; this paper proposes a short-term liner ship fleet planning problem by taking into account container transshipment and uncertain container shipment demand. In the same way in [9] the authors proposed a branch-and-cut-and-price algorithm for the exact solution of a variation of the vehicle routing problem with time windows in which the transportation fleet is made by vehicles with different capacities and fixed costs, based at different depots. In turn, in [10] the authors suggest a new optimization model for the tactical design of scheduled service networks for transportation systems, where several entities provide service and internal exchanges and coordination with neighboring systems is critical. A very interesting contribution to the subject can be found in [11]. This proposal is concerned with model development for a short-term fleet deployment problem of liner shipping operations. Finally, in [10] the paper describes industrial aspects of combined inventory management and routing in maritime and road-based transportation, and classifies and reviews the current state of the research.

A similar perspective to the one proposed in this paper is found in [12]. The paper discusses ways of building companies’ fleets of vehicles. It covers deciding on the number of vehicles in a fleet (the fleet sizing problem—FS) and types of vehicles in a fleet (the fleet composition problem—FC). Another interesting perspective is found in [13] where the article considers the developed system of solid domestic waste collection and removal. A mathematical model estimating the efficiency of a specialized motor transport enterprise functioning, engaged in collecting and removing solid domestic waste is drawn. An interesting model for transport planning in the ferry area is found in [14]. The article is concerned with the description and development of the mathematical model of empty railcar distribution for loading at the railway transport node. It takes into account the requirements of railcar owners in terms of their cars application, the operating work level of railroad stations of the transportation node and the possibility of adding the groups of empty railcars to the transfer trains, clean-up trains and industrial railway trains operating on a tight schedule. A similar model for scheduling and fleet planning can be found in [15]. Some interesting alternatives are those that combine two or more techniques to solve an instance. For example in [16] the paper presents an algorithm which combines the linear programming technique with dynamic programming to improve the solution to the linear model for fleet planning. A similar instance is considered in [17]. This article deals with a short-term Liner Ship Fleet Planning (LSFP) problem with cargo shipment demand uncertainty for a single liner container shipping company. The cargo shipment demand uncertainty enables us to propose a chance constraint for each liner service route which guarantees that the liner service route can satisfy the customers demand at least with a predetermined probability. Similar approaches to the subject can be found in [1821]. Finally, in [22], the authors present an inventory model that integrates continuous review with production and distribution for a supply chain involving a pharmaceutical company and a hospital supply chain, and in [23], a study is presented about a thorough study of a local Italian healthcare network. In this proposal A system dynamic simulation followed by a sensitivity analysis was used to investigate the impact of changing key variables as well as the advice of logistics providers.

3 Description of the problem and its proposed model

The classic transport and transshipment models consider unit transport costs as criterion of optimality in its objective function. However, in real problems this can hardly be conceived as such, because companies usually do not possess such detailed information as the unit costs of transport by route, by type of vehicle used or for a given period of time. This proposal develops an alternate model that includes only the cost of the vehicles that will be purchased in the objective function. In the restrictive set, in addition to the technological constraints of the model, it also incorporated an equation that defines the attribute of the level of attention to the customer requested by the system. The global model consists of three sub-models that participate together in solving the proposed problem. In the first case, a modified algorithm of Dijkstra is applied to elaborate the clustering process that the model requires. Subsequently, a modified algorithm of the traveling salesman is applied for the routing of the transport. Finally, a model of mixed linear programming is proposed to calculate the number of transports required, the load-ship and the volume to be transported.

3.1 The problem

The company, which is of interest in this project, currently has a collection center of the pharmaceutical products involved in the process, with finite capacity and well-defined concentration areas. Hereafter, such entity shall be called a Distribution Center (DC).

The DC for the products is a warehouse with refrigeration and air conditioning, which is stocked with products (medicines) to be redistributed towards the clinics that make up the health system. The DC is the foundation of the supply network of the firm, as it allows a single location to stock a vast number of products. This is located at the center of the country and from there, the products are radiated towards the various points of consumption. The trajectory of the products includes a shovel node where these are reassigned to another type of lighter transports that pulverize the load to be distributed towards the clinics of the system. A shovel node is a place where the shipload contained in large trucks is divided into smaller transports to distribute and improve its maneuverability. Thus, the shovel node and clinics form a cluster and all the clusters have the same topology. A shovel node is considered as the pivot node of the cluster, so in the remainder of this document a shovel node will also be called a pivot node.

For the purposes of operation, the products are packed from the DC, loaded in large capacity transports (trailers and trucks) and, later, these are routed to the system clusters. In this movement there are two routes. In the first (route X), the transport up to the shovel nodes is the first connection and it then continues its route to other shovel nodes. The route ends when the transport returns to the DC. In turn, the product received at the shovel nodes is distributed to the rest of the nodes (clinics) in the cluster by means of smaller vehicles which use the secondary route (route Y) (Fig. 1).

Figure 1
figure 1

The network and its trajectories: Primary route (dotted arrows) and secondary routes (continuous arrows)

In this problem we are interested in determining how many vehicles and of what type they must circulate monthly on the routes X and Y in order to supply the demands of the products at the clinics or end nodes of the system. In addition, it should be specified how many and which nodes make up each cluster and which of them will serve as a shovel node respecting the conditions of the time window. The phrase “time window” suggests an opening of limited duration during which the deliveries of the products can be accomplished. The optimality criteria are: (a) a minimum total time in the path (variable specified by the time window), (b) a minimum investment for the purchase of transport, (c) a minimum total path in the system (minimizing the mileage traveled in the proposal). The constraint of travel time is especially important because medicines are considered a perishable product. Therefore, in this document this constraint is modeled as a level of customer service. The rest of the model constraints are those technologically known as supply and demand and the accessibility of the selected vehicles into the delivery areas. The accessibility constraint refers to the limitations that are applied to a certain transport to access and transit through a certain route or to access a specific clinic.

4 Methods and solution strategy

The proposed strategy to solve the problem begins by considering that the distance between two points must be evaluated by traveling by land (normal road). Of course, distances in a straight line are not used for this calculation because they do not represent the distance and actual travel time between two points when traveling by road. Today, there are several technologies that can evaluate the distances and the necessary times to travel them quickly and reliably (for example Google Earth). Thus, to try to obtain the optimal location of the nodes based on the knowledge of its Cartesian coordinates is unsuccessful. In our case, it was necessary to know the distances and travel times between (by land travel) each and every one of the nodes that make up the network, the current location of the nodes to be served (clinics) and the volumes and weights of each product to be transported. Likewise, the weight and volume capacities of the required transport were determined. The evaluation showed 10 possible candidates, these vehicles were quoted and evaluated in the automotive market thus constituting the universe of choice for this problem. Throughout this document, each transport will henceforth be identified with the letter T and its brands and characteristics will be treated in a generic way (without specifying the details of these).

In order to comply the required objectives (optimality criteria) both the distance and the mileage (for land travel) between the nodes that make up the network were considered. The final decision is made by the client.

The problem was divided into two parts. In the first part the transports assigned to the Y route and its characteristics were obtained. Subsequently, for route X and once the nodes of shovel were known, the route Y was calculated using practically the same algorithm. Following is the result.

5 Results algorithms and mathematical models

In this analysis, three models were used to achieve global optimization of the problem. In the first, a modified version of the Dijkstra algorithm was used for the clustering problem. The second model was the well-known traveling agent algorithm for calculating the transport paths in each section of the network. Finally, the third model is an instance of mixed integer linear programming for the selection of transport to be purchased. Below is the corresponding development of each model.

5.1 The Dijkstra modified algorithm to evaluate the clustering process

The first step in solving this problem was to create a clustering process that would group the nodes associated with each cluster. The selection of the integrating nodes should satisfy the time requirement of traversing the network must be less than or equal to the time window of the last node of the route. That is, the distance traveled from the DC to the cluster (route X) plus the distance traveled inside the nodes that make up the cluster (route Y) in any configuration, must be less than or equal to the time window of said cluster. In this sense, the cluster travel configurations can be in radial form and/or in peripheral. In the peripheral configuration the clinics are visited only once, one after the other following the sequence recommended by the traveling salesman algorithm. In the radial configuration, the transport leaves the shovel node, visits the selected clinic and returns to the shovel node again. This process is repeated until covering all the clinics of the cluster, Fig. 2. Naturally, the peripheral path consumes less time and/or distance, so this document only reports the result with this topology. Incredibly, The company cause of interest of this study uses both configurations.

Figure 2
figure 2

Course typology

For the clustering process the following algorithm was used.

Algorithm 1

(Modified Dijkstra algorithm)

To use this algorithm it will be assumed that it is known the time t required to travel the distance d using route r. The algorithm is as follows.

For each cluster path r:

  1. 1.

    Build a cluster \(\mathfrak{C}\) by selecting a set of nearby nodes (clinics) at random.

  2. 2.

    For each node \(n \in \mathfrak{C}\) evaluate the time required to traverse the distance from the CD to this. The candidate node \(n_{p}\) (pivot node) will be that whose travel time is minimum, i.e.

    $$ t_{p} = \min \bigl\{ t ( \mathit{CD}, n_{s} ) , \forall n_{s} \in \mathfrak{C} \bigr\} , $$

    where \(t ( a,b ) \) means the traverse time from a to b.

  3. 3.

    Select the first normal node \(n_{1}\) in the cluster as the one to which it is raised in the shortest possible time starting from the pivot node.

    $$ t_{1} = \min \bigl\{ t ( n_{p,} n_{s} ) , \forall n_{s} \in \mathfrak{C} \bigr\} . $$
  4. 4.

    Select the rest of the nodes that make up the cluster by alternately adding the neighboring nodes that imply a minimum travel time from the previous nodes

    $$ t_{j} = \min \bigl\{ t ( n_{j-1,} n_{s} ) , \forall n_{s} \in \mathfrak{C} \bigr\} , \quad j=2, 3, \ldots. $$
  5. 5.

    Continue the process of adding nodes alternatively in each branch of the tree while satisfying the following criteria

    $$ T_{t} = \min \Biggl\{ ( t_{p} + t_{1} ) + \sum _{j=2}^{ \Omega } t_{j} \leq T_{wc} \Biggr\} . $$
  6. 6.

    Select the group with the shortest time \(T_{t}\).

Equation (4) ensures that the time allocated to the cluster path starting from the DC satisfies the time window assigned to it. Here, \(T_{wc}\) is the time window (in days) associated to the cluster \(\mathfrak{C}\), and \(\theta = \Omega +2\) is the final number of nodes included in this (Fig. 3).

Figure 3
figure 3

Sequential clustering process route Y

Note that Algorithm 1 can be conveniently modified to evaluate distance rather than time by substituting d instead t, \(D_{t}\) instead \(T_{t}\), \(D_{w}\) (distance traveled within of \(T_{w}\)) instead \(T_{w}\), and modifying the meaning of the equation \(t(a,b)\) by \(d(a,b)\) which now means the distance.

5.2 The process of routing within clusters

The next step to solve the problem is to define the path that the transports should follow from the transfer node to the rest of the cluster nodes. For this, the well-known traveling salesman algorithm was use. Let \(\mathcal{S}\) denote a subset of the θ clinics and let S denote the number of clinics in this subset, then given a set of clinics \(\mathfrak{C}=\{ k_{1}, k_{2},\ldots, k_{\theta } \} \) that form the newly created cluster, a set of transports has to visit the θ clinics, starting and finishing in the pivot node (shovel node), with as objective to minimize the total travel time. The model and the adjustments made to it are as follows

$$ \begin{gathered} \text{Minimize }\sum_{i=1}^{\theta } \sum_{j=i+1}^{\theta } t_{ij} u_{ij} \\ \text{Subject to: } \\ \sum_{j=1}^{i-1} u_{ji} \sum _{j=i+ 1}^{\theta } u_{ij} =2, \quad i=1, \ldots, \theta , \\ t_{p} + \sum_{i=1}^{\theta } \sum _{j=i+1}^{\theta } t_{ij} \leq T_{wc}, \\ \sum_{ i\in S}\sum_{ j\in K, j >i} u_{ij} \leq S, \quad \text{for every }S, S\neq \emptyset , \\ u_{ij} \in \{ 0,1 \} , \quad \text{for every }i < j, \end{gathered} $$

where the binary variable \(u_{ij}\) is equal to 1 if the route is made from the origin i to the destination j; and it is 0 otherwise. Note that for the set of classical Eqs. (5) the inequality given by \(t_{p} + \sum_{i=1}^{\theta } \sum_{j=i+ 1}^{\theta } t_{ij} \leq T_{wc}\) has been added which reinforces the time window guarantee expressed in Eq. (4).

5.3 The calculation of vehicles in the system (program MILP)

To determine the optimal quantity of vehicles to be purchased, as well as the shiploads and volumes they would carry, a mixed linear mathematical programming model was used. The strategy is to apply the following model to calculate the optimal number of transports that will circulate in each selected cluster, the program was applied in the totality of clusters. For each cluster \(\mathfrak{C}\) in the system the following set of indicators is defined: (a) For products \(\mathrm{I} =\{i:i=1,\ldots,I\}\), (b) For transport \(\mathfrak{J}=\{ j:j=1,\ldots, J\}\), (c) For clinics \(\mathrm{K} = \{ k:k=1,\ldots, K \} \).

5.3.1 Notation

$$\begin{aligned}& \mathit{Of}_{i} \equiv \text{Offer of the product } i \text{ (in pieces)}, \\& C_{j} \equiv \text{Cost of acquisition of transport } j \text{ (in USD)}, \\& d_{ik} \equiv \text{Demand of product } i \text{ in clinic } k \text{ (in pieces)}, \\& \begin{aligned} x_{ij} &\equiv \text{Quantity of pieces of product } i \text{ send monthly by using the transport } j \\ &\quad \text{ (in pieces)}, \end{aligned} \\& \begin{aligned} y_{ijk} &\equiv \text{Quantity of pieces of product } i \text{ send monthly by using the transport } j \\ &\quad \text{ towards node (clinic) } k \text{ (in pieces)}, \end{aligned} \\& v_{i} \equiv \text{Volume of product } i \text{ (in cubic meters)}, \\& w_{i} \equiv \text{Weight of product } i \text{ (in kilograms)}, \\& \mathcal{Q} x_{j} \equiv \text{Total amount of transport type } j \text{ to be purchased to circulate in route } X , \\& \mathcal{Q} y_{j} \equiv \text{Total amount of transport type } j \text{ to be purchased to circulate in route } Y , \\& \mathit{Stx}_{j} \equiv \text{Total shipload moved on route } X \text{ by transport } j \text{ (in kilograms)}, \\& \mathit{Sty}_{j} \equiv \text{Total shipload moved on route } Y \text{ by transport } j \text{ (in kilograms)}, \\& \mathit{Vtx}_{j} \equiv \text{Total volume moved on route } X \text{ by transport } j \text{ (in cubic meters)}, \\& \mathit{Vty}_{j} \equiv \text{Total volume moved on route } Y \text{ by transport } j \text{ (in cubic meters)}, \\& \vartheta _{j} \equiv \text{Carrying capacity of transport } j \text{ (in kilograms)}, \\& \varsigma _{j} \equiv \text{Volume capacity of transport } j \text{ (in cubic meters)}. \end{aligned}$$

5.3.2 The objective function

We proceed to formalize the following objective function.

$$ \text{Minimize }f ( G ) = \sum_{j\in \mathfrak{J}} C_{j} ( \mathcal{Q} x_{j} + \mathcal{Q} y_{j} ). $$

5.3.3 Technological constraints


In this model it will be assumed that all the medicines required are always available, that is, the supply is infinite. Likewise, all shipments are made to the selected shovel node, that is, just exists a final node.

$$ \sum_{j\in \mathfrak{J}} x_{ij} - \mathit{Of}_{i} = \infty , \quad \forall i \in \mathrm{I}. $$

Balance equations

All products entering to the shovel node must be sent to the destination clinics

$$ \sum_{j\in \mathfrak{J}} \sum_{i\in \mathrm{I}} x_{ij} - \sum_{k \in \mathrm{K}} \sum _{j\in \mathfrak{J}} \sum_{i\in \mathrm{I}} y_{ijk} = 0. $$


The most usual probability distributions to represent the demand of a product may vary according to the nature of it, the cyclicity of its sales and its distribution costs. The most usual models are: (a) exponential for a lumpy demand, (b) normal for a stochastic demand and negative values are discarded (c) uniform for a cyclical demand, [24, 25].

In this proposal we use the normal distribution.

The demand for each i product must be met at each clinic included in the cluster

$$ \sum_{j\in \mathfrak{J}} \sum_{i\in \mathrm{I}} y_{ijk} - d_{ik} = 0, \quad \forall k \in \mathrm{K}. $$

Level of customer service

This quantity is defined as the probability of delivering the quantity requested by the customer on time and with a high level of quality. To ensure that the delivered quantity satisfies a reliability level of \(( 1- \alpha ) \), \(\alpha \in (0,1)\) percent and assuming that the demand for product i is a random variable normally distributed \(d_{i} \sim N( \mu_{di}, \sigma _{di} )\) we have that \(\forall k \in \mathrm{K}\).

$$ \boldsymbol{P} \biggl[ d_{i} \leq \sum_{j\in \mathfrak{J}} \sum_{i \in \mathrm{I}} \biggr] = \frac{1}{\sqrt{2 \pi }} \int_{-\infty }^{\xi } e^{- z_{i} ^{2}} \,dz_{i} = \Phi ( \xi_{i} ) =1- \alpha, $$


$$ \xi_{i} = \frac{\sum_{j\in \mathfrak{J}} \sum_{i \in \mathrm{I}} ( y_{ij} - \mu _{di} )}{\sigma_{di}}, \quad \hat{\mu }_{di} \approx \overline{\mathcal{X}} _{di}, \hat{\sigma }_{di} \approx \overline{\mathcal{S}}_{di}. $$

Here, \(\overline{\mathcal{X}}_{di}\) and \(\overline{\mathcal{S}}_{di} \) represent the sample mean and standard deviation of the product i in the clinic k. Hence, Eq. (10) becomes easily deterministic by solving for [25].

$$ \Phi^{-1} ( \alpha ) = ( 2\alpha -1 ) \bigl( \operatorname{erf} ^{-1} \bigr) \sqrt{2}, \quad\quad \operatorname{erf} ( \xi ) = \frac{1}{\sqrt{2 \pi }} \int_{0}^{\xi } e^{- \varrho } \,d\varrho ,\quad \alpha \in (0,1). $$

Shipload and volumes

The variables \(\mathit{Stx}_{j}\), \(\mathit{Vtx}_{j}\), \(\mathit{Sty}_{j}\), \(\mathit{Vty} _{j}\), are created to represent the shipload and the volume transported by route respectively.

  1. (a)

    Thus, for the route X

    $$\begin{aligned}& \mathit{Stx}_{j} = \sum_{k \in \mathrm{K}} \sum _{i\in \mathrm{I}} w_{i} x_{ijk}, \quad \forall j\in \mathfrak{J} , \end{aligned}$$
    $$\begin{aligned}& \mathit{Vtx}_{j} = \sum_{k \in \mathrm{K}} \sum _{i \in \mathrm{I}} v_{i} x_{ijk}, \quad \forall j \in \mathfrak{J}. \end{aligned}$$
  2. (b)

    For the route Y

    $$\begin{aligned}& \mathit{Sty}_{j} = \sum_{k \in \mathrm{K}} \sum _{i\in \mathrm{I}} w_{i} y_{ijk}, \quad \forall j\in \mathfrak{J}, \end{aligned}$$
    $$\begin{aligned}& \mathit{Vty}_{j} = \sum_{k \in \mathrm{K}} \sum _{i \in \mathrm{I}} v_{i} y_{ijk}, \quad \forall j \in \mathfrak{J}. \end{aligned}$$

Total amount of transport required per route

  1. (a)

    For the route X

    $$\begin{aligned}& \mathit{Tsx}_{j} = \frac{\mathit{Stx}_{j}}{\vartheta_{j}} = \frac{\sum_{k \in \mathrm{K}} \sum_{i\in \mathrm{I}} w_{i} x_{ijk}}{\vartheta_{j}}, \quad\quad \mathit{Tsx} _{j} \in \mathbb{N}\cup 0, \quad \forall j\in \mathfrak{J}, \end{aligned}$$
    $$\begin{aligned}& \mathit{Tvx}_{j} = \frac{\mathit{Vtx}_{j}}{\zeta_{j}} = \frac{\sum_{k \in \mathrm{K}} \sum_{i \in \mathrm{I}} v_{i} x_{ijk}}{\zeta_{j}}, \quad\quad \mathit{Tvx}_{j} \in \mathbb{N}\cup 0,\quad \forall j \in \mathfrak{J}. \end{aligned}$$
  2. (b)

    For the route Y

    $$\begin{aligned}& \mathit{Tsy}_{j} = \frac{\mathit{Sty}_{j}}{\vartheta_{j}} = \frac{\sum_{k \in \mathrm{K}} \sum_{i\in \mathrm{I}} w_{i} y_{ijk}}{\vartheta_{j}}, \quad\quad \mathit{Tsy} _{j} \in \mathbb{N}\cup 0, \quad \forall j\in \mathfrak{J}, \end{aligned}$$
    $$\begin{aligned}& \mathit{Tvy}_{j} = \frac{\mathit{Vty}_{j}}{\zeta_{j}} = \frac{\sum_{k \in \mathrm{K}} \sum_{i \in \mathrm{I}} v_{i} y_{ijk}}{\zeta_{j}}, \quad\quad \mathit{Tvy}_{j} \in \mathbb{N}\cup 0, \quad \forall j \in \mathfrak{J}. \end{aligned}$$

Final purchasing criterion

The final criterion for deciding which transport to buy is given in the comparison between weight and volume, i.e.,

$$\begin{aligned}& \mathcal{Q} x_{j} \max \{ \mathit{Tsy}_{j}, \mathit{Tvy}_{j} \} \quad \forall j \in \mathfrak{J}, \end{aligned}$$
$$\begin{aligned}& \mathcal{Q} Y_{j} = \max \{ \mathit{Tsx}_{j}, \mathit{Tvx}_{j} \} \quad \forall j \in \mathfrak{J}. \end{aligned}$$

5.4 The integrator path of the shovel nodes

Now, it is necessary to integrate all the shovel nodes in a route that links to most of them respecting the time window of their associated clusters. The objective of this exercise is to integrate the largest number of pivot nodes in a route that allows the transports of greater capacity to walk the route between them leaving here the product that will be pulverized in the respective clusters associated to such nodes. The clustering process is repeated, this time on a larger scale. We are now interested in grouping the pivot nodes located in the previous step. Subsequently, optimum routing is recalculated using the traveling salesman algorithm. Let \(Tc_{i}\) be the time windows (in days) associated with each cluster \(\mathfrak{C}_{i}\) on the path, also assume that each path is made up of \(\upsilon_{i}\) pivot nodes (shovel nodes), and each cluster \(\mathfrak{C}_{i}\) is integrated of \(\theta_{i}\) components. Then, to guarantee the time window of each cluster we now consider the set of constraints given by Fig. 4.

Figure 4
figure 4

Path followed thought the shovel nodes and decomposition of their times (route X)

For the first cluster on the route

$$ t_{1} + ( t_{11} + t_{12} + \cdots+ t_{1{\theta_{1}}} ) = \sum_{j=1}^{\theta_{1}} t_{1j} \leq Tc_{1}. $$

For the second cluster on the route

$$ t_{1} + t_{2} + ( t_{21} + t_{22} + \cdots +t_{2{\theta_{2}}} ) = \sum_{j=1}^{\theta_{1}} t_{2j} \leq Tc_{2}. $$

In general for the cluster \(\upsilon -1\) on the route, we have

$$ \begin{aligned}[b] & t_{1} + t_{2} + \cdots + t_{\upsilon -1} + ( t_{21} + t_{22} + \cdots+ t_{\upsilon -1, \theta_{\upsilon -1}} ) \\ &\quad = \sum_{r=1}^{ \upsilon -1} t_{r} + \sum_{j=1}^{\theta_{\upsilon -1}} t_{\upsilon -1, j} \leq Tc_{\upsilon -1}. \end{aligned} $$

Equation (21) is equivalent to the inequality \(t_{p} + \sum_{i=1} ^{\theta } \sum_{j=i+1}^{\theta } t_{\upsilon -1,j} \leq T _{wc} \) which was included in the system of Eqs. (5). This also ensures that the travel times in the X path preserve the condition of the time windows of the clinics associated with the system clusters. This should be appended to the corresponding version of the traveling sales algorithm for the routing of vehicles in route X. It only remains to apply again the program MILP to this new instance.

5.5 The minimizing process of the mileage traveled

The problem of minimizing the mileage traveled by the transport in the route X was solved by sending the transports of greater draft to circulate in the route without violating the condition of accessibility. Note that, it is preferable to send a single large truck and spend less mileage with a single vehicle than to send several small vehicles that would spend much more kilometers. In order to control the typology of vehicles assigned to the system, Eqs. (10) to (13) were used (see Algorithm 2).

5.6 The integrator algorithm

The models described above are integrated in a sequence of operations that allows obtaining the optimal value of the global problem. The algorithm is as follows (Fig. 5).

Figure 5
figure 5

Flowchart of the process

Algorithm 2

(Calculation of transport requirements)

  1. 1.

    For each cluster

    1. (a)

      Obtain a set of μ feasible neighboring clusters using the modified Dijkstra algorithm.

    2. (b)

      If the time window in each cluster is satisfied, go to step 1(c). Else, exchange clinics between neighboring clusters until this condition is met (remove nodes from one cluster and add them to another).

    3. (c)

      Obtain the routing sequence for each cluster by applying the traveling salesman algorithm.

  2. 2.

    For all clusters

    1. (a)

      Apply the entire mixed linear programming instance to calculate the number of transports required to travel on the routes X and Y.

    2. (b)

      Evaluate the accessibility conditions to the route of the selected transports in all the nodes that make up each cluster.

    3. (c)

      If for some \(j ' \in \mathfrak{J}\), the transport is not feasible, equalize Eqs. (11) to (14) to zero for said \(j '\). Else go to step 2(d).

    4. (d)

      Obtain the suggested number of transports as well as the loads and volumes assigned to them.

The integrator algorithm is applied holistically and aims to achieve the unification of the three proposed models. At the end of this, we will have a solution consisting of three minimum values: (a) The travel times from the DC to the transfer node plus the travel times inside the system cluster, (b) the minimum acquisition and operation costs of transportation and (c) the exact number of vehicles required to move the required load and volume.

6 Discussion and numerical example

The proposed model was applied using a total of 1160 products, 10 transports, and 820 clinics. The process was started by calculating the needs in the Y zones of the entire republic, that is, within each localized cluster.

An overview of the current distribution of nodes was obtained using Google Earth (Fig. 6). The procedure was done by designing cluster by cluster to allow the interchange of nodes (clinics) between them when necessary. Once an acceptably optimum configuration of neighboring clusters was achieved, the optimum routing was obtained by calculating the sequence that the transports involved in the process should follow and defining the shovel node associated with each cluster. Then, the amount of transports needed to circulate within the cluster was obtained by applying program MILP. During this process a value of \(\alpha = 0.01\) was used. To solve the problem of mixed linear programming, we used the program LINGO (Software for Integer Programming, Linear Programming, Nonlinear Programming, Stochastic Programming, Global Optimization) (LINGO, 2017).

Figure 6
figure 6

Distribution of nodes in the Mexican Republic

The transport models used in the process were as follows (Table 1).

Table 1 Transport and its characteristics

The process was repeated until all the nodes (clinics) of the country were covered. Subsequently, the calculation of requirements for zones X was completed. Now, the process grouped the shovel nodes to define the route of the transport of greater capacity that would be possible. In this procedure we also defined the optimal routes of travel, the loads and volumes to be transported and the sequence of the route to comply with the time windows imposed in each cluster. Here, it was taken care that the transport had capacity to carry the shipload and the total volume required in each cluster found. In both areas the type of vehicle that complied with the access restrictions was favored, minimizing the number of them to avoid increasing the mileage of the route. The final report yielded the following results per month.

A total of 72 clusters were obtained containing between 6 and 12 nodes each, most with more than 10 integral nodes. This grouping yields 41 sub-routes that cover all shovel nodes fulfilling the requirements of the time window at minimum mileage. The results by zone are as follows.

6.1 Zone X

The results obtained are as follows

  1. 1.

    Total distance traveled: 36,988.29 kilometers

  2. 2.

    Total time needed: 463.25 days

  3. 3.

    Meal times, rest times, times for loading and unloading of the transports: 292.13 days

  4. 4.

    Total pieces transported: 1,952,503

  5. 5.

    Total transported volume: 2646.69 cubic meters

  6. 6.

    Total weight transported: 187,118.34 kilograms

  7. 7.

    Suggested transportation distribution:

    1. (a)

      Transportation type 1: 0

    2. (b)

      Transportation type 2: 0

    3. (c)

      Transportation type 3: 0

    4. (d)

      Transportation type 4: 22

    5. (e)

      Transportation type 5: 9

    6. (f)

      Transportation type 6: 39

    7. (g)

      Transportation type 7: 96

    8. (h)

      Transportation type 8: 33

    9. (i)

      Transportation type 9: 51

    10. (j)

      Transportation type 10: 77

6.2 Zone Y

The results obtained are as follows

  1. 1.

    Total distance traveled: 50,297.88 kilometers

  2. 2.

    Total time needed: 754.28 days

  3. 3.

    Meal times, rest times, times for loading and unloading of the transports: 542.43 days

  4. 4.

    Total pieces transported: 1,952,503

  5. 5.

    Total transported volume: 2646.69 cubic meters

  6. 6.

    Total weight transported: 187,118.34 kilograms

  7. 7.

    Suggested transportation distribution:

    1. (a)

      Transportation type 1: 34

    2. (b)

      Transportation type 2: 39

    3. (c)

      Transportation type 3: 0

    4. (d)

      Transportation type 4: 14

    5. (e)

      Transportation type 5: 0

    6. (f)

      Transportation type 6: 28

    7. (g)

      Transportation type 7: 2

    8. (h)

      Transportation type 8: 0

    9. (i)

      Transportation type 9: 0

    10. (j)

      Transportation type 10: 0

327 vehicles used to service zone X and 117 for zone Y. The meal times, rest times as well as the times necessary for loading and unloading of the transports were also included in the requested needs of the time window. The total cost of purchasing vehicles was 19,748,467.00 USD

7 Conclusions

This proposal presents an algorithm composed of three mathematical models to determine the optimal transport fleet of a company that provides logistics services. The product delivered is medicine and the need and urgency for delivery is as a perishable product. To solve this instance a software specialized in the subject was used. The implementation in the computer program required 212,710 global variables of which 20 were integers. The total of constraints handled was 20,984. The iterations required to achieve convergence were an average of 499, 687. The time required to achieve convergence ranged from 5 minutes up to 25 minutes in some cases.

The results of this process show substantial savings of almost 30 percent of the investment initially planned for the purchase of the vehicles. In the same way, the mileage normally traveled by the current vehicle park decreases significantly with the new proposed routes complying with the commitments of the delivery windows. The proposed model selects the optimal freight transports to travel on the routes that are allowed. For this, the transport scheduled on each computational run of the model clearly specifies which vehicle should travel in what areas, at full load and with minimum distances.

Future research on the subject could include restrictions associated with the shipload transported and/or the volume handled. Also it could include the variable costs of transport operation and other relevant categories.

Given the computational complexity of the instance addressed, similar or higher versions of it could be solved using another class of algorithms such as Traveling Salesman, Dendrite, the Ant Colony Algorithm, the Chinese Postman Problem, Hamiltonian Cycle, Longest Path Problem, Optimization, Plateau’s Problem, Road Coloring Problem, Constants and others. Further research could be conducted along this line incorporating load constraints and more.



set of problems solvable in polynomial time


the fleet sizing problem


the fleet composition problem


Liner Ship Fleet Planning


Distribution Center


Mixed Integer Linear Programming


  1. Tracey M. The importance of logistics efficiency to customer service and firm performance. Int J Logist Manag. 1998;9(2):65–81.

    Article  Google Scholar 

  2. Bielli M, Bielli A, Ross R. Trends in models and algorithms for fleet management. Proc, Soc Behav Sci. 2011;20:4–18.

    Article  Google Scholar 

  3. Frencha Ch, Smykay W, Bowersox DJ, Mossman FH. Physical distribution management. Am J Agric Econ. 1961;43(3):728–30.

    Google Scholar 

  4. Seuringa S, Müllerb M. From a literature review to a conceptual framework for sustainable supply chain management. J Clean Prod. 2008;16(15):1699–710.

    Article  Google Scholar 

  5. Bounif ME, Bourahla M. Decision support technique for supply chain management. CIT, J Comput Inf Technol. 2014;21(4):255–68.

    Article  Google Scholar 

  6. Myronenko V, Samsonkin V, Rudkovskyi S. Mathematical model of rationale for reserve fleet of vehicle with uneven demand for transportation. Am J Eng Res AJER. 2017;5(5):238–44.

    Google Scholar 

  7. Figliozzi MA. An iterative route construction and improvement algorithm for the vehicle routing problem with soft time windows. Transp Res, Part C, Emerg Technol. 2010;18(5):668–79.

    Article  Google Scholar 

  8. Meng Q, Wang T. A chance constrained programming model for short-term liner ship fleet planning problems. Marit Policy Manag. 2010;37(4):329–46.

    Article  Google Scholar 

  9. Bettinelli A, Ceselli A, Righini G. A branch-and-cut-and-price algorithm for the multi-depot heterogeneous vehicle routing problem with time windows. Transp Res, Part C, Emerg Technol. 2011;19(5):723–40.

    Article  MATH  Google Scholar 

  10. Hoff A, Andersson H, Christiansen M, Hasle G, Lokketangen A. Industrial aspects and literature survey: fleet composition and routing. Comput Oper Res. 2010;37(12):2041–61.

    Article  MathSciNet  MATH  Google Scholar 

  11. Gelareh S, Meng Q. A novel modeling approach for the fleet deployment problem within a short-term planning horizon. Transp Res, Part E, Logist Transp Rev. 2010;46(1):76–89.

    Article  Google Scholar 

  12. Redmer A. Strategic vehicle fleet management—the composition problem. Cent Eur J Soc Sci Humanit. 2015;11(1):119–26.

    Google Scholar 

  13. Melnikov AN, Lyubimov II, Manayev KI. Improvement of the vehicles fleet structure of a specialized motor transport enterprise. Proc Eng. 2016;150:1200–8.

    Article  Google Scholar 

  14. Rakhmangulov A, Kolga A, Osintsev N. Mathematical model of optimal empty rail car distribution at railway transport nodes. Transp Probl. 2014;9(3):125–32.

    Google Scholar 

  15. Lohatepanont M, Barnhart C. Airline schedule planning: integrated models and algorithms for schedule design and fleet assignment. Transp Sci. 2004;38(1):19–32.

    Article  Google Scholar 

  16. Xinlian X, Tengfei W, Daisong Ch. A dynamic model and algorithm for fleet planning. Marit Policy Manag. 2010;27(1):53–63.

    Article  Google Scholar 

  17. Meng Q, Wang T, Wang S. Short-term liner ship fleet planning with container transshipment and uncertain container shipment demand. Eur J Oper Res. 2010;223(1):96–105.

    Article  MathSciNet  MATH  Google Scholar 

  18. Belfiore P, Tsugunobu H, Yoshizaki Y. Scatter search for a real-life heterogeneous fleet vehicle routing problem with time windows and split deliveries in Brazil. Eur J Oper Res. 2009;199(3):750–8.

    Article  MATH  Google Scholar 

  19. Belfiore P, Tsugunobu H, Yoshizaki Y. Heuristic methods for the fleet size and mix vehicle routing problem with time windows and split deliveries. Comput Ind Eng. 2013;64(2):589–601.

    Article  MATH  Google Scholar 

  20. Liu S, Huang W, Huiming Ma. An effective genetic algorithm for the fleet size and mix vehicle routing problems. Transp Res, Part E, Logist Transp Rev. 2009;45(3):434–45.

    Article  Google Scholar 

  21. Pantuso G, Fagerholt G, Hvattum L. A survey on maritime fleet size and mix problems. Eur J Oper Res. 2014;235(2):341–9.

    Article  MathSciNet  MATH  Google Scholar 

  22. Uthayakumar R, Priyan S. Pharmaceutical supply chain and inventory management strategies: optimization for a pharmaceutical company and a hospital. Oper Res Heal Care. 2013;2(3):52–64.

    Article  Google Scholar 

  23. Azzi A, Sgarbossa F, Bonin M. Drug inventory management and distribution: outsourcing logistics to third party providers. Strateg Outsourcing Int J. 2013;6(1):48–64.

    Article  Google Scholar 

  24. Lars-Göran L. On the law of demand. A mathematically simple descriptive approach for general probability density functions. 2009. Working Papers in Economics 396.

  25. Murty KG. Forecasting for supply chain and portfolio management. 2006. Available from: [accessed March 13, 2018].

  26. Hoff A, Andersson H, Christiansen M, Hasle G, Lokketangen A. Service network design with management and coordination of multiple fleets. Eur J Oper Res. 2009;193(2):377–89.

    Article  MathSciNet  Google Scholar 

  27. Papoulis V, Pillai S. Probability, random variables and stochastic processes. Electrical and electronic engineering series. New York: McGraw-Hill; 2002.

    Google Scholar 

  28. LINDO, [accessed September 12, 2017].

Download references


The author is deeply grateful to SILODISA, the Mexican company that provided the original problem and the necessary information for the solution of the same: Thanks also to the Universidad Autónoma del Estado de Hidalgo for the funding and support of this project. Special recognition to the anonymous referees for the review and adaptation of this document, and to Anne-Marie Armstrong from the Direction of Academic Overcoming of the Universidad Autónoma del Estado de Hidalgo, Mexico for the revision of style and the adaptation to the English language.

Availability of data and materials

The author states that for the construction of this document he used real information. The confidentiality of the same is supported and available in electronic format for review by the referees (data and results of computer runs) of the journal as long as the reliability of the journal is not violated.


The author states that he has the necessary funds for the payment of the publication of this document if the Editorial Committee deems it feasible for that purpose. Such funds come in part from the University Autonomous of the Hidalgo State, Mexico.

Author information

Authors and Affiliations



The author of this proposal declares that all reported results come from him, and, in the necessary cases, the original author(s) of said proposals are given credit. All authors read and approved the final manuscript.

Corresponding author

Correspondence to Gilberto Pérez Lechuga.

Ethics declarations

Competing interests

The author states that he has no conflict of interest with other authors or with the organization for which he served as a consultant in the solution of this case.

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (, which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Pérez Lechuga, G. Optimal logistics strategy to distribute medicines in clinics and hospitals. J.Math.Industry 8, 2 (2018).

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: