This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Uncertain Capacitated Arc Routing Problem with Time Window

Double blind
Abstract

The capacitated arc routing problem (CARP) has numerous real-world applications, such as scheduling vehicles for waste collection and snow removal. The uncertain capacitated arc routing problem (UCARP) takes various randomness in real-world scenarios into account, including uncertain demands, uncertain routing conditions, etc. In addition, some tasks need to be served in special periods called time windows. In this work we conduct research on uncertain capacitated arc routing problems with time windows (UCARP-TW).

Index Terms:
Level generation, player experience, experience-driven procedural content generation, personalised level, platformer game

I Introduction

The Capacitated Arc Routing Problem (CARP)[golden1981capacitated] is a well known combinational optimization problem defined on a graph and it is motivated from problems like garbage collection, snow plowing and salt gritting in real life. The objective of CARP is to serve all the tasks in need and find a solution that minimize the total travelled cost. CARP has shown to be NP hard[golden1981capacitated], so exact method is not suitable on large scale graph. Several heuristic algorithms like Hybrid Genetic Algorithm (HGA)[fleury2005stochastic] and Non-dominated Sorting Genetic Algorithm (NSGA-II)[fleury2008bi] are proposed to cope with this problem. However, most studies focus on instances whose cost on edges is certain or follow a certain distribution. Gradually, people realized that the assumption of cost on edges following a certain pre-defined distribution is not realistic. Therefore, uncertainty is added to the CARP and a new problem, uncertain capacitated arc routing problem (UCARP), is introduced. It takes four uncertain factors (the demands of edges, the costs of edges, the presence of edges and the presence tasks) into consideration. Other extensions to CARP such as time window is proposed in [potvin1996vehicle]. Specifically, Time window means a time interval is attached to every task intuitively suggesting that the further task should be served in the range of time window. Although random variables with time constraints are more realistic, few studies have taken both factors into consideration. For example, the routing of school buses can be considered as a instance of arc routing problem with time limitations. Students can not be picked up before they arrived at the stop. Meanwhile, they must be picked up before the classes begin. A bus with capacity constraint can serve students from different schools and the time classes begin at each school can be different.

Above all, we formulate a new model called UCARP-TW, which takes both uncertain factors and time window constraints into consideration, meaning that the demand of edges, the cost of edges, the presence of edges and tasks are uncertain and the vehicles should serve tasks in the time window. We utilize EDASLS, a competitive algorithm for UCARP, to solve UCARP-TW.

II UCARP-TW

II-A Problem

A CARP instance is defined on a connected graph G=(V,E)G=(V,E), in which VV represents a set of vertices and EE represents a set of edges. There is a depotVdepot\in V and all vehicles must start and end at depotdepot. Subset TET\in E is the set of all the edges required to be served, called task set. Each required edge eTe\in T is associated with a demand dd (d0d\geq 0), which has to be served by one and only one pre-define vehicle. Each edge eEe\in E is associated with a cost cc that a vehicle takes to traverse.

A set of CARP instances can be used to approximate the Uncertain Capacitated Routing Problem (UCARP). Let θ\theta be a UCARP instance where θ\theta = {I1I_{1}, I2I_{2}, …, INI_{N}}. For any j{1,,N}j\in\{1,...,N\}, IjI_{j} is a CARP instance. All IjθI_{j}\in\theta are related but different from each other. UTUT is the union set of task set of each CARP instances in θ\theta, i.e., UT=j=1NTj,j{1,,N}UT=\cup_{j=1}^{N}T_{j},\forall j\in\{1,...,N\} and TjT_{j} is the instance of IjI_{j} [wang2015estimation]

Comparing with UCARP, UCARP-TW needs some additional restrictions. A soft time window [aa,bb] is added on every required task.

Considering that the UCARP-TW data set we use is created through adding uncertainty to a CARP-TW data set, there may be no solution for the new problem if we add hard window to original task, which means every task should be served in a special interval. For example, there may be a task can not be served in time even we set it as the first task of the first route in the solution because of the changes in the edges.

Therefore, we choose to add a soft window, which is much more flexible and close to the real life. Comparing with using hard time window, using soft window would add a penalty to the total cost of this road, rather than force each task to be served in its time window.

II-B Method

We set s=(R1R_{1},R2R_{2},…,RmR_{m}) as a solution of the UCARP-TW, where RkR_{k}=(tk,1t_{k,1},…,tk,lkt_{k,l_{k}})[wang2015estimation]. RkR_{k} is the k-th route. lkl_{k} is the length of the k-th route and tk,bt_{k,b} is the b-th task served in the k-th route. Let head(t) and tail(t) be the two endpoints of task t, inv(t) is task t with inverse direction. Q is the capacity of a vehicle.[wang2015estimation] d(t,Ij)d(t,I_{j}) is the demand of task t in instance IjI_{j}.

UCARP-TW can be formulated as

minimizemaxIjθk=1mC(Rk,Ij)\displaystyle minimize\mathop{max}\limits_{I_{j}\in\theta}\sum_{k=1}^{m}C(R_{k},I_{j}) (1)
s.t.\displaystyle s.t.
k=1mlk=|UT|,\displaystyle\sum_{k=1}^{m}{l_{k}}=|UT|, (2)
i=1lkd(tk,i,Ij)<=Q,\displaystyle\sum_{i=1}^{l_{k}}d(t_{k,i},I_{j})<=Q,
k=1,2,,m,j=1,2,,N\displaystyle\quad\quad\forall k=1,2,...,m,\ \forall j=1,2,...,N (3)
C(Rk,Ij)=c(tk,1,Ij)+dis(v0,head(tk,1),Ij)\displaystyle C(R_{k},I_{j})=c(t_{k,1},I_{j})+dis(v_{0},head(t_{k,1}),I_{j})
+i=2lk(c(tk,i,Ij)+dis(tail(tk,i1),head(tk,i),Ij)\displaystyle\quad\quad+\sum_{i=2}^{l_{k}}(c(t_{k,i},I_{j})+dis(tail(t_{k,i-1}),head(t_{k,i}),I_{j})
+dis(tail(tk,lk),v0,Ij)\displaystyle\quad\quad+dis(tail(t_{k,l_{k}}),v_{0},I_{j})
+wϕ(fk,i)2/(v(bk,iak,i)))\displaystyle\quad\quad+w*\phi(f_{k,i})^{2}/(v*(b_{k,i}-a_{k,i}))) (4)
ϕ(fk,i)=max(ak,ifk,i,fk,ibk,i,0),\displaystyle\phi(f_{k,i})=max(a_{k,i}-f_{k,i},f_{k,i}-b_{k,i},0),
k=1,2,,m,j=1,2,,N\displaystyle\quad\quad\forall k=1,2,...,m,\forall j=1,2,...,N (5)
TABLE I: Notation Table
Name Description
tk,it_{k,i} the i-th task of the k-th route
d(tk,i,Ij)d(t_{k,i},I_{j}) demand of tk,it_{k,i} in the j-th instance
c(tk,i,Ij)c(t_{k,i},I_{j}) cost of edge of tk,it_{k,i} in the j-th instance
QQ the capacity of a vehicle
IjI_{j} the j-th CARP instance
θ\theta a UCARP instance ( θ={I1,I2,,IN}\theta=\{I_{1},I_{2},...,I_{N}\})
UTUT a union task set consists of task sets of all the CARP instances
fk,if_{k,i} the time when task tk,it_{k,i} is finished
dis(a,b,Ij)dis(a,b,I_{j}) the shortest distance between node a and b in the j-th instance
vv the velocity of each vehicle
ww the penalty coefficient for excess time
ϕ(fk,i)\phi(f_{k,i}) the excess time

II-C Experiments

To verify our algorithm, we construct a new UCARP-TW dataset, which is based on CARP-TW instances and generated by the instance generator for UCARP[wang2015estimation]. One UCARP-TW instance contains 30 CARP-TW instances sharing the same graph structure. It is worth noting that only the cost and demand of edges are uncertain but there is no uncertainty on time window of edges, that is to say the time window on the same edge are the same in one UCARP-TW instance.

The parameters for EDASLS in UCARP-TW algorithm is shown in Table LABEL:param, other parameters for the following experiments are listed below in Table II. (processor and processor of original paper)

TABLE II: The parameters of EDASLS with Time Window
Name Description Value
vv Velocity of Vehicle 30
ww Penalty Coefficient For Excess Time 1

First, 20 independent runs are performed on every instance of UCARP-TW and the average execution time, average fitness and standard deviation of fitness are calculated. To compare the result with UCARP without time window, we remove the time windows in CARP-TW and generate a set of UCARP instances with the same graph structure as UCARP-TW and compare the fitness, as shown below in Table III. Besides, to compare our result with tabu search algorithm[lai2020split], the average cost of 10 runs of the tabu search algorithm is also listed. It is worth noting that tabu search result is obtained from CARP-TW instances and the returned results satisfy the time window constraints.

TABLE III: Results on UCARP-TW instances, UCARP instances with the same graph structure and tabu search result on the corresponding CARP-TW instances
Name E\|E\| V\|V\| UCARP-TW UCARP CARP-TW (tabu search)
Time Average Std Time Average Std Average
TW-A10A 15 10 28.99 82.01 2.39 25.13 77.89 3.47 107
TW-A13A 23 13 284.02 258.35 7.13 104.14 106.72 1.32 202
TW-A13B 23 13 277.97 255.66 7.34 102.88 106.12 1.61 171
TW-A13C 23 13 284.84 255.77 6.39 104.23 106.63 1.95 163
TW-A20B 31 20 170.18 260.46 3.52 134.25 211.64 4.46 260
TW-A40C 69 40 1759.74 1291.22 17.52 858.04 444.29 6.45 660
TW-A40D 69 40 1750.66 1278.61 25.03 859.46 445.49 5.08 809.8
TW-A60A 90 60 985.95 1589.71 14.03 798.85 1547.05 15.06 1841.2
TW-B10A 15 10 27.91 79.04 2.90 25.12 78.65 4.13 87
TW-B13A 23 13 179.39 210.18 3.06 103.13 105.78 1.38 167
TW-B13B 23 13 181.82 211.41 2.99 104.04 106.49 1.97 152
TW-B13C 23 13 177.05 211.12 2.93 103.50 106.79 1.29 141
TW-B20B 31 20 162.84 233.01 4.75 133.67 209.08 5.86 210
TW-B40C 69 40 1684.45 1024.93 13.85 851.61 444.66 4.05 602
TW-B40D 69 40 1675.28 1024.51 12.87 851.56 443.66 5.65 733.1
TW-B60A 90 60 978.88 1564.38 15.42 797.32 1529.75 21.35 1574.2
TW-C10A 15 10 26.14 79.05 3.20 25.19 78.72 3.28 73
TW-C13A 23 13 144.61 157.18 2.50 105.10 106.08 1.09 142.7
TW-C13B 23 13 164.75 160.96 3.37 104.71 106.49 1.53 132
TW-C13C 23 13 138.79 157.25 1.99 103.23 106.44 1.17 121
TW-C20B 31 20 148.65 217.71 4.59 134.23 211.44 4.77 191
TW-C40C 69 40 1425.94 758.53 6.73 846.48 443.26 3.99 544.9
TW-C40D 69 40 1461.29 774.70 7.74 861.13 445.14 4.73 630.8
TW-C60A 90 60 944.28 1544.04 15.22 796.95 1542.45 16.54 1325.7
TW-D10A 15 10 33.06 48.87 3.52 28.26 48.90 3.65 87
TW-D13A 23 13 172.47 139.59 2.02 111.71 101.31 1.36 167
TW-D13B 23 13 175.21 140.01 1.84 115.96 101.22 1.58 152
TW-D13C 23 13 173.94 139.83 1.71 113.76 101.26 1.17 141
TW-D20B 31 20 280.61 143.25 2.11 195.83 136.81 2.49 210

As shown in the above table, we can first estimate the punishment for violating time window constraints by the difference of cost between UCARP-TW and UCARP datasets. Also, there are some instances that the corresponding cost for UCARP-TW is smaller than CARP-TW. This is because tabu search on CARP-TW will only return solutions that satisfy the time window constraint. However, as we define our problem to be constraint by soft time windows, our solution can violate the time window constraint if the penalty for violating the time window is smaller than the cost for satisfying the time constraint.

III Conclusion And Future Work

In this paper, we formulate a new problem UCARP-TW taking the time window constraint and uncertain factors into account. The objective is to find a robust solution and an extension of EDASLS is proposed. Besides, a new dataset for UCARP-TW has been generated to test our algorithm.

Although our algorithm perform well in UCARP-TW, there are some potential directions to be explored.

At first, we would consider the time windows in the initialization part to increase the diversity in the initial population. For example, we can implement the column generation algorithm, which performs well in CARP-TW, and adding it to the initialization section to further improve (why) our algorithm. What’s more, the algorithm we designed can be used to solve large-scale UCARP-TW instances in theory, which means that our algorithm can be used to solve real-world problems. To prove this, however, experiments on real dataset needs to be conducted in the future.