## 3 Proposed Algorithm and Formulation
### Basic Components of CVRP  
Let us give a complete graph \(G=(I,J,K)\), the notation used and the mathematical model are as follows:  
**Sets:**  
\(I\): set of all depots  
\(J\): set of customers  
\(K\): set of vehicles  
**Indices:**  
\(i\): depot index  
\(j\): customer index  
\(k\): route index  
**Parameters:**  
\(N\): number of vehicles  
\(C_{ij}\): distance between point \(i\) and \(j\), \(i\), \(j\in I\)\(\cup\)\(J\)  
\(d_{j}\): demand operation of customer \(j\) (in terms of time)  
\(Q_{k}\): time limit for operator \(k\)  
\(L_{j}\): service time at customer \(j\)  
**Decision variables:**  
\(x_{ijk}\): \(=\left\{\begin{array}{c}1,\;if\;i\;\mbox{\it preceeds}\;j\;\mbox{\it on}\; \mbox{\it route}\;k\\ 0,\;\mbox{\it otherwise}\end{array}\right.\)  
\(z_{ijk}\): \(=\left\{\begin{array}{c}1,\;if\;\mbox{\it customer}\;j\;\mbox{\it is matched}\;\mbox{\it to}\;\mbox{\it a depot}\;i\\ 0,\;\mbox{\it otherwise}\end{array}\right.\)  
\(y_{j}\): \(=\) cumulative travel and service time up through customer \(j\), \(j\in J\)  
\(U_{lk}\): \(=\) auxiliary variable for sub \(-\) tour elimination constrains in route \(k\)  
The objective function is to minimize the total distance of all vehicles given by:  
\[min\sum_{i\in I\cup J}\sum_{j\in I\cup J}\sum_{k\in K}C_{ij}x_{ijk} \tag{1}\]  
A single route has to be given to each customer:  
\[\sum_{k\in K}\sum_{i\in I\cup J}x_{ijk}=1,\;jeJ \tag{2}\]  
Each vehicle has a time capacity constraint:  
\[y_{j}+\sum_{j\in J}d_{j}\sum_{i\in I\cup J}x_{ijk}\leq\;Q_{k},\;keK \tag{3}\]The following equation defines the sub-tour elimination constraint:  
\[Ul_{lk}-U_{jk}+Nx_{ijk}\leq N-1,\;i\;\epsilon\;I,\;l,j\;\epsilon\;J,\;k\;\epsilon\;K \tag{4}\]  
While Equation (5) expresses the flow conservation:  
\[\sum_{j\in I\cup J}x_{ijk}-\sum_{j\in I\cup J}x_{jik}=0,\;k\;\epsilon\;K,\;i\; \epsilon\;I\cup J \tag{5}\]  
Each route is covered by one vehicle:  
\[\sum_{i\in I}\sum_{j\epsilon J}x_{ijk}\leq 1,\;k\;\epsilon\;K \tag{6}\]  
A customer is assigned to a depot only if there is a route from the aforementioned depot going to that customer:  
\[-z_{ij}+\sum_{u\in I\cup J}(x_{iuk}+x_{uik})\leq 1,\;i\;\epsilon\;I,\;j\; \epsilon\;J,\;k\;\epsilon K \tag{7}\]  
Equations (8) and (9) give the binary requirements on the decision variable:  
\[x_{ijk}\;\epsilon\;\{0,1\},\;i\;\epsilon\;I,\;j\;\epsilon\;J,\;k\;\epsilon\;K \tag{8}\]  
\[z_{ik}\;\epsilon\;\{0,1\},\;i\;\epsilon\;I,\;j\;\epsilon\;J \tag{9}\]  
Finally, Equation (10) defines the positive values of the auxiliary variable:  
\[Ul_{lk}\geq 0,\;l\;\epsilon\;J,\;k\;\epsilon\;K \tag{10}\]  
To summarize, the objective function (1) minimizes the total distance of all vehicles with respect to some constraints: (i) each customer is satisfied with only one route (2); (ii) the total daily time capacity of each operator (3); (iii) the sub-tour avoidance (4); (iv) the flow limits (5) and (v) route to be served (6).  
CVRP is NP-hard, therefore an efficient algorithm for solving the problem to optimality is generally unavailable with respect to real scenarios. To deal with the problem efficiently and effectively, a heuristic approach such as the Saving Algorithm and 2-Opt is applied.