## 3 Problem Definition and Formulations
### Graphical Formulation  
#### 3.2.1 The DAOV Graph  
Although the comprehensive CDP shares some similarities with the VRP in vehicle scheduling and route planning, it also has distinct characteristics, notably the requirement that flexible requests involving empty container transportation should be simultaneously considered with the planning of truck routing. The uncertainty and unpredictability mentioned in Section 3.1 obviously increase the complexity of this problem, which makes it difficult to directly establish a mathematical model. To address this issue, this study graphically formulates the proposed problem based on a DAOV graph.  
A DAOV graph \(G=(N,A)\) comprises a set of vertices \(N\) and arcs \(A\). Note that \(N=N_{r}\cup N_{d}\), where \(N_{r}\) is the set of request vertices, and \(N_{d}\) is the set of depot vertices. A vertex refers to not only the physical node, but also the determinate activities that occur at that node. For example, a depot vertex stands for both the depot node and the activity of departing from or returning to the depot; as such, it is termed the departure or return vertex. Similarly, for a basic request, its vertex denotes either the customer location (for IF, ER, ED, and OF requests) or the terminal (for IE or OE requests), and encompasses the associated pickup or delivery activities at these sites. However, for a composite request, since it involves both the delivery and pickup activities at the customer location, representing it with a single request vertex will render the Drop-and-pull mode inapplicable. To accurately model this type of request and effectively implement the Drop-and-pull mode, it is imperative to split the composite request into two sequential vertices: a delivery request vertex and a pickup request vertex. The delivery request vertex must be served prior to the pickup request vertex, with the service start time of the pickup request not occurring earlier than the service completion time of the delivery request.  
Based on the classification of request types and the split of composite requests, four types of request vertices can be formulated, and thus, \(N_{r}=N_{DEC}\cup N_{DFC}\cup N_{PEC}\cup N_{PFC}\). The activities that may be performed at each type of request vertex are shown in Table 2. An arc \((i,j)\) in set \(A\) is responsible for connecting two different vertices in set \(N\), which corresponds to the truck scheduling-related indeterminate activities that should be determined by the optimization process. The activities and transfer time on arcs are illustrated in Table 3. The number 0 in Table 3 denotes the terminal when it serves as a bypass vertex/node, while \(t_{0}\) is the time required for loading or unloading a container at the terminal, and \(t_{i0}(t_{0j})\) is the travel time from vertex \(i\) (0) to 0 (_j_).  
\begin{table}
\begin{tabular}{c c c} \hline
**Request Vertices** & **Request Types** & **Activities at Request Vertices** \\ \hline \(N_{DEC}\) & ED, OE & Delivering an empty container to either a customer or the terminal \\ \(N_{DEC}\) & IF & Delivering a full container to a customer \\ \(N_{PEC}\) & ER, IE & Picking up an empty container from either a customer or the terminal \\ \(N_{PFC}\) & OF & Picking up a full container from a customer \\ \hline \end{tabular}
\end{table}
Table 2: Activities at request vertices.