Transportation | Application of Benders decomposition method to solve multi-vehicle production routing problem

insert image description here

Interpretation of the paper Qu Chenhui, Wang Feilong

1 Knowledge Supplement and Article Contribution

2.1 IRP (Inventory routing problems)

IRP is concerned with the distribution of a single product from a facility to a group of customers within a given planning horizon. Customers consume products at a given rate and can maintain inventory of products at a specific level. A group of identical vehicles can be used for distribution of products. The goal is to minimize the total delivery cost, calculated as the sum of route cost and inventory holding cost, while not causing any customers to be out of stock.

Inventory Routing Problem (IRP for short) is a basic theoretical problem of the logistics distribution system. Its main research is to make a plan for the supplier to deliver products to several customers. It needs to decide the customer delivery plan and vehicle delivery route at the same time. Under the ultimate goal of achieving the lowest total cost.

In an IRP, inventory control and routing decisions must be made simultaneously.

2.2 PRP (production routing problem)

The Production Routing Problem (PRP) simultaneously considers various decisions in the supply chain, including production, inventory management, and routing decisions. Generally, on a multi-period scale, these integrated supply chain problems require one to determine the period of production and visits to each customer, the corresponding quantities produced and delivered to the customer, and the detailed route planning of the vehicles.

2.3 Three replenishment strategies in IRP

In the IRP problem, there are mainly the following three strategies to deliver goods to customers in the network:

• The first strategy is called "Order-up-to-level" ( OU ) strategy. Every time a vehicle visits a customer, the quantity of goods delivered to the customer makes the customer reach the maximum inventory level
. The second strategy Called the "maximum-level" ( ML ) strategy, this strategy is a relaxation of the OU strategy. When the vehicle arrives at the customer, the delivery volume can be between the customer's current volume and the maximum inventory level. The third
strategy Called the "replenishment" ( RP ) strategy, this strategy further relaxes the ML strategy, allowing the vehicle to deliver any non-negative amount of goods to customers

2.4 Article contribution

This paper studies the multi-vehicle PRP (MVPRP), and uses the OU strategy to deliver goods to customers; in order to accurately solve MVPRP, this paper proposes an accurate algorithm framework based on Benders decomposition, and divides the model into a master problem (master problem) and A subproblem (slave problem), in which the subproblem can be further divided into multiple CVRP problems, and a path-based model is constructed to solve it; the article also analyzes the lower bound of the MVPRP optimal solution to generate the initial optimal cut constraint , which is used to speed up the model convergence. Finally, the effectiveness of the exact algorithm is verified with the help of MVPRP and VMIRP examples.

2 Problem Definition

The length is ll near the factoryAll customers of l' s discrete planning cycle deliver a single item. At the beginning of each cycle, the production plant can produce up toCCThe product of C units, where the fixed expenditure isfff , unit product expenditure isuuu。节点 i , i ∈ N i,i\in N i,iNL i L_iLiThe warehouse capacity of the unit and the expenditure hi h_i for one SKUhi. node IIThe initial quantity of products held by i in the planning area is I i 0 I_{i0}Iand 0。顾客 i ∈ N c i\in N_c iNcin cycle ttt需要 d i t d_{it} ditunit of product and can be accessed at most once per cycle. Capacity is QQmmof Qm identical vehicles are available in the warehouse.

Among them, the MVPRP includes simultaneously deciding:

• When and how much the factory produces
• When and how much is delivered to each customer
• What routes are used for each cycle within the planning horizon

The goal is to minimize the sum of production, inventory and routing costs during the planning period without causing any customer stock-outs.

In this article, the OU policy is used as a supplementary policy. Furthermore, as is usually assumed in the literature, each cycle is performed at the factory's production prior to delivery, at the beginning of the customer's delivery at the time period.

3 Mathematical models

insert image description here
insert image description here

3.1 Symbol Definition

T T T : time period1 , . . . , l {1,...,l}1,...,l Collection. To simplify the model, a virtual periodl + 1 l+1l+1 , and defineT ′ = T ∪ { l + 1 } T'=T\cup \{l+1\}T=T{ l+1}; g i v t g_{ivt} givt: When a customer iii in periodttThe total number of transports visited by t , and the current visit is in period vvv , calculated as follows:

eivt e_{ivt}eivt: Be a customer iii in periodttThe total inventory holding cost of t being visited, and the current visit is during periodvvv , calculated as follows:

μ ( i , t ) \mu (i,t) m ( i ,t ) : When the customeriii can replenish the stock without stockout next time, in the cyclettThe nearest period after t , the calculation formula is:

π ( i , t ) \pi(i,t) π ( i ,t ) : When the customeriii can replenish the stock without stockout next time, in the cyclettThe earliest period before t , the calculation formula is:

p t p_t pt: non-negative continuous variable, denoted at period ttproduction quantity of t

I i t I_{it} Iit: non-negative continuous variable, representing the period ttt end nodeiii 's stock level

y t y_t yt: 0-1 variable, indicating that in the period ttWhether the t factory is producing

z i t z_{it} zit: 0-1 variable, representing node i , i ∈ NC i,i\in N_Ci,iNCIs it in period ttt is visited

s t s_t st: non-negative integer variable, representing the period ttt the number of vehicles used

x i j t x_{ijt} xij t: Integer variable, possible value in { 0 , 1 } , { i , j } ∈ E , t ∈ T \{0,1\},\{i,j\}\in E,t\in T{ 0,1},{ i,j}E,tT,和 { 0 , 1 , 2 } , { 0 , j } ∈ E , t ∈ T \{0,1,2\},\{0,j\}\in E,t\in T { 0,1,2},{ 0,j}E,tT

λ i v t \lambda_{ivt} livt: 0-1 variable, representing node iiIs i in period ttt is visited, the current visit is periodvvv

E ( S ) E(S) E ( S ) : Both points are in the setSSS中的边集,即 E ( S ) = { { i , j } ∈ E : i , j ∈ S , S ⊆ N } E(S)=\{\{i,j\}\in E: i,j\in S, S\subseteq N\} E(S)={ { i,j}E:i,jS,SN}

δ ( S ) \delta(S) δ ( S ) : and setSSThe edge set associated with a node in S , that is, δ ( S ) = { { i , j } ∈ E : i ∈ S , j ∉ S or i ∉ S , j ∈ S } \delta(S)=\{ \{i,j\}\in E: i\in S, j\notin S~or~i\notin S,j\in S\}d ( S )={ { i,j}E:iS,j/S or i/S,jS} S S S can also be a single nodeiii

Supplementary explanation: In such as λ ivt \lambda_{ivt}livtIn , both v and t are the period of visiting i.

4 Benders decomposition​

4.1 Logic-based Benders model reconstruction

BMP (factory production, planned delivery cycle, quantity of delivered products)

BSP (for transport, equivalent to lll cycle CVRP)

Then, given a solution ( p ∗ , I ∗ , y ∗ , z ∗ , λ ∗ , ω ∗ ) (p^*,I^*,y^*,z^*,\lambda^*,\omega^ *)(p,I,y,z,l,oh )
There are three possible cases:

• Given ( z ∗ , λ ∗ ) (z^*,\lambda^*)(z,l )BSP is not feasible, add infeasibility cut to BMP:

• Given ( z ∗ , λ ∗ ) (z^*,\lambda^*)(z,l )BSP is feasible, butϕ ( z ∗ , λ ∗ ) > ∑ t ∈ T ω t ∗ \phi(z^*,\lambda^*)>\sum_{t\in T}\omega_t^*ϕ ( z,l)>tToht, then you need to add optimality cut, in BMP:

• where LBR LB_RLBRϕ ( z , λ ) \phi(z,\lambda)ϕ ( z ,λ ) lower bound value.

• Given ( z ∗ , λ ∗ ) (z^*,\lambda^*)(z,l)BSP可行,但是 ϕ ( z ∗ , λ ∗ ) = ∑ t ∈ T ω t ∗ = ∑ t ∈ T ∑ { i , j } ∈ E c i j x i j t ∗ \phi(z^*,\lambda^*)=\sum_{t\in T}\omega_t^*=\sum_{t\in T}\sum_{\{i,j\}\in E}c_{ij}x_{ijt}^* ϕ ( z,l)=tToht=tT{ i,j}Ecijxthat t ( s ∗ , x ∗ ) (s^*,x^*) (s,x )is the optimal solution of BSP. Then the optimal value of the MVPRP problem is:

The exact algorithm based on the above model is as follows:

•initialization. Calculate LBR LB_RLBR, and let LB = 0 , UB = ∞ LB=0,UB=\inftyLB=0,UB=

•当 L B LB LB

  1. Solve BMP. If BMP is not feasible, it means that the original problem is not feasible, and the calculation ends. Otherwise, let ( p ∗ , I ∗ , y ∗ , z ∗ , λ ∗ , ω ∗ ) (p^*,I^*,y^*,z^*,\lambda^*,\omega^*)(p,I,y,z,l,oh )is the cost z of the optimal solution to the original problem‾ \overline{z}z, and let LB = z ‾ LB=\overline{z}LB=z

  2. Solve BSP. Two situations may arise:

    a). BSP is not feasible. Add infeasibility cut .

    b). BSP is feasible and an integer solution, satisfying ϕ ( z ∗ , λ ∗ ) > ∑ t ∈ T ω t ∗ \phi(z^*,\lambda^*)>\sum_{t\in T}\omega_t ^*ϕ ( z,l)>tToht. Add optimality cut .

  3. ( p ∗ , I ∗ , y ∗ , z ∗ , λ ∗ , ω ∗ ) (p^*,I^*,y^*,z^*,\lambda^*,\omega^*)(p,I,y,z,l,oh )is the cost z of the feasible solution of the original problem‾ \overline{z}z, 伊令UB = min { UB , z ‾ } UB=min\{UB,\overline{z}\}UB=min{ UB,z}

In each iteration of the above algorithm, LB represents the effective lower bound of the optimal value of the original problem, and will eventually coincide with UB, that is, converge.

4.2 Solution to BSP

Given the solution to the BMP problem ( p ‾ , I ‾ , y ‾ , z ‾ , λ ‾ , ω ‾ ) (\overline{p},\overline{I},\overline{y},\overline{z}, \overline{\lambda},\overline{\omega})(p,I,y,z,l,oh)

BSP (for transportation, equivalent to CVRP of l cycle)

Can be seen as CVRP(t), you can use an undirected graph G t = ( V t , E t ) G^t=(V^t,E^t)Gt=(Vt,Et ), whereV t = { 0 } ∪ N ct V^t=\{0\}\cup N_c^tVt={ 0}Nct(That is, all customer nodes and factory nodes that need to be served in the t period N ct = { i ∈ N c : z ‾ it = 1 } N_c^t=\{i\in N_c:\overline{z}_{it} =1\}Nct={ iNc:zit=1} E t = { { i , j } : i , j ∈ V t E^t=\{\{i,j\}:i,j\in V^t Et={ { i,j}:i,jVt i i i is the edge set. Edge{ i , j } \{i,j\}{ i,j } has a costcijt = cij c_{ij}^t=c_{ij}cijt=cij, each customer has a known non-negative demand qit = giv ‾ it q_{it}=g_{i{\overline{v}_i}t}qit=givit, in which v ~ i \overline{v}_ivi是当 λ ‾ i v ‾ i t = 1 \overline{\lambda}_{i{\overline{v}_i}t}=1 livit=1 confirmed. There are cars with the same quantity m, and each car has a capacityQQQ , available at the factory.

The problem consists of finding a set of least-cost paths containing at most m paths. Routing includes the following rules:
• Every path visits the factory
• Each customer node is only visited by one path
• The sum of demand of vertices visited by the same path cannot exceed the vehicle capacity Q

4.2.1 Solving CVRP(t)

To solve each CVRP(t), an exact algorithm based on a set partition model is used.

To simplify the calculation, the index tt is omittedt . LetR \mathcal{R}R is the index set of all feasible paths,air a_{ir}ai ris a binary coefficient, indicating that the vertex i ∈ N cti\in N_c^tiNctWhether it belongs to the path r ∈ R r\in \mathcal{R}rR (for any path,a 0 r = 1 a_{0r}=1a0 p=1 ). Each pathr ∈ R r\in \mathcal{R}rR has a costbr b_rbr, which is equivalent to the optimal value of the TSP problem of path r. Let ξ r \xi_rXrIs a binary variable, representing if and only if r ∈ R r\in \mathcal{R}rR is 1 when it belongs to the optimal solution. The model is as follows:

CVRP(t) may be infeasible because there may not be enough vehicles. Therefore, the infeasibility cut must be added. To check whether it has a feasible solution, we can solve the bin packing problem. There is ∣ N ct ∣ |N_c^t|Nct∣items , weight{ qit } \{q_{it}\}{ qit} , up tommm boxes with a capacity ofQQQ. _ If BPP is not feasible, then add the following infeasibility cut:

The cut can be further enhanced. If there is such a solution λ ivt ≥ λ ‾ ivt , ∀ i ∈ N c , v = π ( i , t ) , . . . , t − 1 \lambda_{ivt}\geq\overline{\lambda}_{ivt },\forall i\in N_c, v=\pi(i,t),...,t-1livtlivt,iNc,v=π ( i ,t),...,t1 , it is also infeasible. So the following infeasibility cut can be added to BMP:

At this point there is another situation, for a given $i\in N_c , you can get, you can get, you can get g_{i{v_1}t}>g_{i{v_2}t},if~v_1, that is to say, if customer i is currently visited, that is to say, if customer i is currently visited at, that is to say, if customer i is currently visited at [\pi(i,t),\overline{v}_i-1], then the demand for goods to be delivered to point i in period t will be greater than its is located, then the demand for goods that need to be transported to point i in period t will be greater than its location, then the demand for goods that need to be transported to point i in period t will be greater than the amount when it is located in \overline{v}_i $. Therefore, the enhanced infeasibility cut can be obtained as follows:

If the BPP instance shows that there are feasible solutions, then it means that CVRP(t) has a finite optimal solution. CVRP(t) can then be solved using path-based enumerators (2008, Baldacci, Christofides, and Mingozzi) and mixed strategies (2009, Pessoa, Uchoa, Poggi de Aragao, 2008, Pessoa, de Aragao, Uchoa).

4.2.2 Update BMP

The CVRP(t) problem is first checked if it is feasible, and the infeasibility cut is added to the BMP. If at least one infeasibility cut is found, the program terminates and the BMP is recalculated. Otherwise, if all CVRP(t) are feasible, then the problem is according to the period ( t = 1 , 2 , . . . , l ) (t=1,2,...,l)(t=1,2,...,l ) $ Solve CVRP(t) with exact algorithm, and add optimality cut to BMP. If a cut is found, the program terminates and the BMP is recalculated.

If no cut is found, then CVRP(t) is optimal. Then call step2.b.ii of the precise algorithm of MVPRP to check whether there is an optimality cut that needs to be added to BMP.

4.3 Calculate the lower bound of routing cost LBR LB_RLBR

f i t , i ∈ N c , t ∈ T f_{it},i\in N_c,t\in T fit,iNc,tT is customeriii must be in periodttThe lower bound of the number visited before t , fit = ⌈ q ‾ it / min { Q , L i } ⌉ f_{it}=\lceil{\overline{q}_{it}/min\{Q,L_i\} }\rceilfit=qit/min{ Q,Li} . For eachi ∈ N c , t ∈ T i\in N_c,t\in TiNc,tT,令 q ‾ i t \overline{q}_{it} qitfor customers iii in periodttCalculate the cumulative demand before t q ‾ it = max { 0 , − I i 0 + ∑ v = 1 tdiv } , t = 1 , . . . , l . \overline{q}_{it}=max\ {0,-I_{i0}+\sum_{v=1}^td_{iv}\},t=1,...,l.qit=max{ 0,Iand 0+v=1tdiv},t=1,...,l . _ In addition,m L m_LmLSum m U m_UmUare the lower and upper bounds of the total number of vehicles in the planning area. Let q ^ i = ∑ t ∈ T dit − I i 0 \hat{q}_i=\sum_{t\in T}d_{it}-I_{i0}q^i=tTditIand 0is the total product demand of customer i ∈ N c in the planning area . The total product demand of i\in N_c.iNctotal product demand. m L = ⌈ 1 Q ∑ i ∈ N cq ^ i ⌉ , m U = m ⋅ l m_L=\lceil{1\over Q}\sum_{i\in N_c}\hat{q}_i\rceil, m_U= m\cdot lmL=Q1iNcq^i,mU=ml 。 。 q i , ∀ i ∈ N c q_i,\forall i\in N_c qi,iNcis delivered to the customer on any visit within the planning area is delivered to the customer on any visit within the planning areais the lower bound on the number of productsi in any one visit in the planning area , the lower bound on the number of products inThe lower bound of the number of products, qi = mint ∈ T { dit } q_i=min_{t\in T}\{d_{it}\}qi=mintT{ dit}

Define a path as the minimum cost simple cycle passing through the factory node 0 in graph G, using the requirement { qi } \{q_{i}\}{ qi} The calculated total customer access demand will not exceed the vehicle capacityQQQ。令 R ~ \tilde{\mathfrak{R}} R~ is the index set of all paths, letair a_{ir}ai ris a binary coefficient, representing the vertex i ∈ N ci\in N_ciNcWhether it belongs to the path r ∈ R ~ r\in \tilde{\mathfrak{R}}rR~ , each path has a path costbr b_rbr

The lower bound value of the path cost of any optimal MVPRP problem solution can be obtained according to the optimal cost solution of the following integer programming problem:

Nether LBR LB_RLBRis computed according to a bounding procedure as an approximately optimal dual solution to the linear programming relaxation of the RF problem. This procedure differs from the standard column generation problem based on the simplex method because it uses a dual ascent heuristic to solve the main problem.

5 Optimize BMP

Here is mainly to introduce how to strengthen BMP.

Aduyasak, Cordeau, and Jans proposed many methods to strengthen the linear relaxation bound of the F model in 2014. Here is one:

where t ' t't refers to the earliest time the factory must produce in order to avoid stock-outs, calculated as follows:

We can also add the following inequality to BMP:

5.1 Initial set of optimality cut

Introduce two ways to generate initial optimality cut.

Let R ^ \hat{\mathfrak{R}}R^ is periodttThe index set of all feasible paths of t , where the customer iii 's demandqit q_{it}qitBelonging to the discrete set of requirements { givt : v = π ( i , t ) , . . . , t − 1 } \{g_{ivt}:v=\pi(i,t),...,t-1\ }{ givt:v=π ( i ,t),...,t1 } , that is, the customers visited in period tiiThe set of all possible demands of i according to its potential visited period { π ( i , t ) , . . . , t − 1 } \{\pi(i,t),...,t-1\}{ π ( i ,t),...,t1 } OK. Letaivr a_{ivr}aivris a binary coefficient, which means that if and only if the customer iii belongs to pathrrr , and has ag_{ivt} equal to givtgivtdemand. CVRP(t) is modeled as follows:

w i v ∈ R , ∀ i ∈ N c , v = π ( i , t ) , . . . , t − 1 , u 0 ≤ 0 w_{iv}\in R, \forall i\in N_c,v=\pi(i,t),...,t-1,u_0\leq0 wivR,iNc,v=π ( i ,t),...,t1,u00 are the dual variables of constraints (39) and (40), respectively. The linear relaxed dual model of CVRP(t) is as follows:

5.1.1 Type 1 Cut

The first cut is an LP problem based on CVRP(t)

w i v ≥ 0 , ∀ i ∈ N c , v = π ( i , t ) , . . . , t − 1 , u 0 ≤ 0 w_{iv}\ge0, \forall i\in N_c,v=\pi(i,t),...,t-1,u_0\leq0 wiv0,iNc,v=π ( i ,t),...,t1,u00 are the dual variables of constraints (41) and (42), respectively. Let( w ∗ , u 0 ∗ ) (w^*,u_0^*)(w,u0) is a feasible solution to the dual problem of (T1), based on proposition1, the following effective optimality cut can be obtained:

5.1.2 Type 2 Cut

The second cut is based on the LP problem derived from the F-model. Let R t ^ \hat{\mathfrak{R}_t}Rt^is the index set of all feasible paths in period t, where customer iii 's demandqit q_{it}qitBelonging to the discrete set of requirements { givt : v = π ( i , t ) , . . . , t − 1 } \{g_{ivt}:v=\pi(i,t),...,t-1\ }{ givt:v=π ( i ,t),...,t1 } , that is, the customers visited in period tiiThe set of all possible demands of i according to its potential visited period { π ( i , t ) , . . . , t − 1 } \{\pi(i,t),...,t-1\}{ π ( i ,t),...,t1 } OK. Letaivrr a_{ivrr}aivrris a binary coefficient, which means that if and only if the customer iii belongs to path rrat period tr , and has ag_{ivt} equal to givtgivtdemand. Use the binary variable ξ rt \xi_{rt}XrtThe model of is as follows, ξ rt \xi_{rt}XrtIndicates whether path r is in the solution at period t.

w i v t ∈ R , ∀ i ∈ N c , v = π ( i , t ) , . . . , t − 1 , u 0 ≤ 0 w_{ivt}\in R, \forall i\in N_c,v=\pi(i,t),...,t-1,u_0\leq0 wivtR,iNc,v=π ( i ,t),...,t1,u00 are the dual variables of constraints (44) and (45), respectively. Aboutξ rt \xi_{rt}XrtThe dual constraint for is:

Let $(w *,u_0 *) $ be the variables of the dual feasible solution of the above model. Based on proposition1, the following inequalities are added:

6. Calculation result analysis

The article compares the proposed algorithm (EXM) with the three Branch-and-cut algorithms proposed by Adulyasak, Cordeau, and Jans (2014) on the solution effects of MVPRP and VMIPR examples. Adulyasak, Cordeau, and The three Branch-and-cut algorithms proposed by Jans (2014) are as follows:

  • Veh-Ind: Running a model without vehicle index on a single thread
  • Non-Veh-Ind: run the model without vehicle index on 8 threads
  • 8c-Veh-Ind: run model with vehicle index on 8 threads

The article limits the maximum solution time of the EXM algorithm to 2 hours. The detailed experimental results can be found in the original text. The experimental results are summarized as follows:

  • Compared with the optimal algorithm 8c-Veh-Ind in Adulyasak, Cordeau, and Jans (2014), EXM can solve 21 more examples to the optimal
  • The maximum solution scale of EXM is 40 customers in three time periods, which is 15 more customers than the maximum solution scale of 8c-Veh-Ind
  • For the calculation examples that have not been solved to the optimum, the gap value between the lower bound solution and the upper bound solution converged by EXM is relatively small

The article also verifies the effectiveness of different components in the EXM algorithm:

  • Using type I and type I cuts, using enhanced versions of infeasible and linear cuts to initialize EXM has a great impact on the solution performance of the EXM algorithm
  • If the linear cut is not applicable, the number of times the EXM algorithm calls the CPLEX IP solver will increase greatly, thereby slowing down the algorithm efficiency

The experimental results for the VMIPR example are summarized as follows:

  • From the perspective of the number of solving cases, EXM solves more cases than the Non-Veh-Ind algorithm, but fewer cases than the Veh-Ind and 8c-Veh-Ind algorithms
  • Compared with Non-Veh-Ind, EXM can solve an additional four examples to the optimal solution, and compared with 8c-Veh-Ind, it can obtain a better upper bound of 8 examples
  • EXM is more adaptable to the increase in the number of planning cycles. For 30 customers, the calculation example of 6 cycles solves new upper and lower bounds.

7 Summary and future research directions

The article proposes an accurate algorithm based on Benders decomposition for MVPRP (using OU replenishment strategy) and VMIPR. The example experiment proves that the precise algorithm proposed in the article is better than the SOTA algorithm in solving the MVPRP. It can solve the calculation example with 3 vehicles and 40 customers in a maximum of 3 cycles; at the same time, the proposed algorithm in the article For the VMIPR calculation example, the algorithm can solve the calculation example with 4 vehicles and 30 customers under 6 cycles at most.

The algorithm proposed in this article is based on the idea of ​​decomposition, which can better deal with the constraints within the path. Follow-up research can consider time windows and distance constraints in PRP by designing more complex models and algorithms.

references

Zhang, Z., Luo, Z., Baldacci, R., & Lim, A. (2021). A Benders decomposition approach for the multivehicle production routing problem with order-up-to-level policy. Transportation Science, 55(1), 160-178.

Guess you like

Origin blog.csdn.net/weixin_53463894/article/details/130135218