Our goal is to nd the set of customers that results in the minimum cost per volume when delivered. To express which customers are delivered and which not, we introduce the probability of delivering a customer, pi, which depends on its estimated cost per volume. We estimate the cost of delivering to a
customer based on its volume, the distance to the depot and its close neighbors, however its neighbors again depend on the probabilities of delivery to the other customers. We therefore suggest a recursive denition for the probabilities of delivery to the customers. In this recursive denition all probabilities eventually converge to either zero or one. The selected orders will be the customers with probability one. Section4.2.1proposes the formulas to estimate the costs for delivery to the customers and Section4.2.2 explains how to determine the probabilities.
4.2.1 Fixed, Stem and Inter-Order Costs
As described in the literature in Section3.3.2we can estimate the cost of an order with a xed part, a stem part and an inter-order part. The xed cost (F C) represents the start up cost of the route, the stem
cost (SC) represents the cost of traveling to the area of the route where the customer is in, and last the
inter-order cost (IOC) represents the cost to travel the extra distance between the customers. We dene
the formulas for these costs similar to the formulas used in Goudvis [17], however we adjust the formula for the inter-order cost by introducing probabilities for delivery of each customer. The most important parameters that are used in the calculation of these cost factors for customeriare its delivered quantity qi, the available vehicle capacityQ and the travel costcij forj ∈ {0,1, . . . , n} with j = 0representing
the depot.
The total xed cost of a route f should be divided over all customer delivered by the vehicle. However
at this point we do not yet know how many customers will be in the same vehicle as customer i. We
do know the maximum capacity that ts in the vehicle, so we divide the xed cost in proportion to the volume that is delivered to this customer. This gives us
F Ci=f·
qi
Q. (4.1)
Note that this value is an underestimation of the actual total xed cost since it assumes that the total vehicle capacity will be used, which is not always the case. However we are especially interested in using the estimate to compare the costs of dierent customers. Moreover the underestimation is compensated by the inter-order cost dened later, which is an overestimation. We use the same principle for the stem cost. In this case the stem value for the entire route is also uncertain, so for this we consider the cost of traveling from the depot to the customer and back. This results in
SCi= 2c0i·
qi
Q. (4.2)
The denition of the inter-order cost (IOC) is less straightforward, because it depends on the distance between orders delivered by the same vehicle, while it is not yet known which customers this will be. For this reason we are interested in nding the orders that are likely to be in the same route as customer i.
Chapter4. Short-Term Solution Approach 29 likelihood of customeriandjending up in the same route. This probability is based on dierent aspects,
like geographical location, delivery quantities and the whether customer j is likely to be delivered on
that day. The calculation of this probability will be explained in Section4.2.2.
Given these probabilitiespij for all combinations of customers, the inter-order cost of customerican be
calculated as a weighted average of the direct distances to the neighbors that have the highest probability of ending up in the same route as this customer. This means that we can sort all customers according to decreasing probability, select the m best ones and calculate the weighted average distance to those
customers. Based on the literature and some computational experiments we x the number of neighbors to consider at ve. IOCi= Pm j=1pij·cij Pm j=1pij . (4.3)
Note that it can happen thatpijis zero for all neighborsjof customeri, for example because the delivery
quantity of customeri is equal or almost equal to the vehicle capacity and it cannot be combined in a
vehicle with any other customer. In this case we do not want to base the estimate on xed, stem and inter-order costs. Since we know that the customer will end up in a vehicle by itself, we can determine the cost even more precise. In this case the delivery cost is the cost for direct delivery, consisting of the xed cost and twice the distance to the depot: f+ 2·c0i. Combining this principle with Equations4.1,
4.2and4.3gives us the the following expressions for the delivery cost (DC) of a customeri.
DCi= f· qi Q + 2c0i· qi Q + Pm j=1pij·cij Pm j=1pij if x X j=1 pij6= 0, f+ 2c0i else. (4.4)
4.2.2 Initializing and Updating of the Probabilities
The inter-order cost for customeriis based on the probabilitypij that customerjis in the same route as
this customeri. We can express this probability as the product of two factors. The rst is the probability
that j is in the same route as customeri, given that j is delivered today, we will refer to this as the
weight factor wij. The second is the probability that j is delivered today, we will refer to this as the
delivery probability pj. This gives us the following relation for the probability that i andj are in the
same route:
pij =wij·pj.
The weight factorwij should express how well customersi andj t together in a route. This depends
on aspects like the delivery volumes and the geographical locations. The delivery probabilitypj should
represent whether delivering customerj today is protable. This mainly depends on the cost per volume
of this customer. First we initialize pij by calculating wij and assigning an initial value to pj for all
customers. Then we update the values forpj iteratively until each value is either zero or one. We nally
select the customers that have probability one as the orders. The code for this can be found in Algorithm 1. We discuss how to determine the weight factors and the delivery probabilities in the next paragraphs.
Chapter4. Short-Term Solution Approach 30 Algorithm 1 Order Selection using Fixed, Stem and Inter-Order Costs.
1: OrderSelection(customers)
2: {wij |i, j∈customers} ←CalculateWeightFactors(customers) . Eq. 4.5
3: {pj(0)|j∈customers} ←InitializeDeliveryProbabilities(customers) . Eq. 4.6
4: n= 0
5: while∃j ∈customers: 0< pj(n)<1do
6: {pj(n+ 1)|j∈customers} ←UpdateDeliveryProbabilities(n, customers) . Alg. 2
7: n=n+ 1
8: end while
9: orders ={j |j∈customers, pj(n) = 1}
10: return orders 11: end
Determining the Weight Factors
We calculatewij as a product of multiple factors that inuence the likelihood of customersiandj being
in the same route, for example whether the customers t together in a vehicle, whether they are located close to each other and whether there are objections on combining these customers in a vehicle.
First we calculate a quantity factorαij ∈ {0,1}that represents how well the delivery quantities match.
If the sum of the quantities is bigger than the vehicle capacities the customer cannot t in the same vehicle, so this quantity factor should be zero. Otherwise the customers t together in a vehicle, so we set this factor to one.
αij= 0 ifqi+qj> Q 1 else
Secondly we look at the travel cost between two customers and calculate a cost factorβij that increases
as customers are located more closely. This formula is derived from the approach of Goudvis and it takes into account that we are interested in the relative distance dierence between dierent customers instead of the absolute dierence.
βij= 1 1 +cij
.
Another factor that we introduce, γij, is used to express the correlation between two customers based
on historical information and is based on the number of times customeriandj where in the same route, mij. Besides this it also depends on the number of times customeri andj were delivered on the same
day. Remember from Section2.6 that we can express this asPt
s=0xi(s)·xj(s). The ratio of mij and
Pt
s=0xi(s)·xj(s) represents whether customer i and j are likely to be in the same route if they are
delivered on the same day. However when the number of times thatiandjwhere delivered on the same
day is small, this factor is not very reliable and might depend too much on the specic characteristics of this day, like the delivery volumes or the other customers. Therefore we propose a threshold that prevents this factor from having a big eect if there is too little information available on the customers. This threshold depends on the number of times that iandj have been delivered on the same day until
Chapter4. Short-Term Solution Approach 31 now. Combining all these aspects gives us the following formula:
γij= mij Pt s=0xi(s)·xj(s) if t X s=0 xi(s)·xj(s)≥5 0.5 else
In the same way we can add even more factors. We introduce δij ∈ {0,1} which is zero if there are
constraints that prevent these customers from being in the same route. An example of such a constraint could be that they are only allowed to be transported in dierent vehicles. However in this research we disregard such constraints and xδij at one for every combination of customers. Once all factors have
been calculated we multiply them to represent the likelihood of customers i and j being in the same
route, if both customers are delivered today.
wij=αij·βij·γij·δij. (4.5)
Note that this is merely a relative weight that expresses the preference ofj being in the same route as i, compared to other customers being in the same route asi, since we normalize the values in Equation
4.3. This weight will be zero when the customers do not t together in a vehicle, it will be small when the customers are located far away from each other or have never been in the same route before and it will be big if they are located close or have been in the same route often.
Determining the Delivery Probabilities
By now we determined a weight factorwijthat expresses whether two customers are favorable to combine,
however we have to keep in mind that only protable orders will be delivered. Ifwij is high, but customer
j itself is not protable enough to deliver, it should not be taken in to account when calculating the cost
of delivering customeri. Therefore we also take the probabilitypj that customer j is actually delivered
into account.
We use a recursive denition for the probabilities to select which orders to deliver. On initialization we know that all must-go customers will be delivered. Since we do not know the delivery costs of the may-go customers, we assume that they are all equally likely to be delivered or not. Therefore we initialize the probabilities of all must-go customers as one and the probabilities of all may-go customers as 0.5.
pi(0) = 1 ifimust-go customer 0.5 ifimay-go customer 0 else (4.6)
Once these delivery probabilities are initialized, Equation 4.4provides us the corresponding costs of all customers. For each iteration nwe use the delivery probabilities, pj(n), of this iteration . We redene
Chapter4. Short-Term Solution Approach 32 this formula to incorporate the recursive aspect by substitutingwij·pj(n)forpij, which gives us
DCi(n) = f·qi Q + 2c0i· qi Q + Pm j=1wij·pj(n)·cij Pm j=1wij·pj(n) if x X j=1 wij·pj(n)6= 0, f+ 2c0i else. (4.7)
In the same way we can also obtain an estimate for the total cost per volume of today. We assume the following formula for the objective corresponding to iterationn:
obj(n) = P ipi(n)·DCi(n) P ipi(n)·qi . (4.8)
Given the estimated objective value for iterationn, we can improve the probabilities of delivery for the
may-go customers for the next iterationn+ 1. If the cost per volume of a certain customer is very high
compared to the objective we do not want to deliver this customer and the probability should be zero. On the other hand if the cost per volume of the customer is very low compared to the objective, delivery is protable and the probability should be one. If the cost per volume is close to the objective value it is not yet certain whether this customer will be protable or not since the objective is only an estimate and will change when the probabilities change.
In each iteration we update the delivery probability of exactly one may-go customers from 0.5 to either zero or one. Therefore, the number of iterations is equal to the number of may-go customers. We choose to update the customer of which the dierence between the cost per volume of the customer and the total cost per volume is the largest. If the cost per volume of this customer is smaller than the current estimated objective, delivery to this customer is cost ecient so we set the probability to one. In the other case delivering to this customer will probably increase the cost per volume, so we x the probability value to zero. In determining which cost per volume deviates most of the objective we only consider customers that have not yet been updated and still have a probability of 0.5. The pseudo code of the update of the probabilities that is executed each iteration n, can be found in Algorithm 2. Once all
customers have a probability of either zero or one, we select the customers with probability one and take these as the orders.
Algorithm 2 Updating the Delivery Probabilities. 1: UpdateDeliveryProbabilities(n, customers)
2: fori∈customers do
3: DCi(n)←CalculateDeliveryCosts(i, n) . Eq. 4.7
4: end for
5: obj(n)←EstimateObjective(n) . Eq. 4.8
6: K={i|i∈customers, 0< pi(n)<1}
7: x←arg maxk∈K|DCk(n)−obj(n)|
8: if DCx(n)−obj(n)≤0 then 9: px(n+ 1) = 1 10: else 11: px(n+ 1) = 0 12: end if 13: return{pj(n+ 1)|j∈customers} 14: end
Chapter4. Short-Term Solution Approach 33