## 3 Problem Description  
The green ship routing and scheduling problem with berth time window constraints (GSRSP-BT) addressed in this paper involves the routing of a fleet of controlled ships and the allocation of berth times to barges at the ports, subject to a limited number of berths in each port, berthing time windows, and the time window required for each job. A control tower is responsible for decisions and controls the private fleet and berthing time slots of each port while aiming to minimize the total CO\({}_{2}\) equivalent emissions and total travel time. The barge type investigated in this research is dry bulk barge, which transports raw materials. A full barge load involves bulk cargo transportation; service providers have to move products between specified pairs of bulk port terminals with full barge loads. Barges travel from the depot to pick up and transport cargo from their origins to their destinations. There is a fleet of barges that return to the depot after completing all jobs. Cargo ships in Thailand have to return to the depot after serving all customers to prevent mooring outside of the port, which would obstruct the flow of the Chao Phraya River, which is the main drainage route from Northern Thailand to the sea during the flood season. However, the classical ship routing problem does not normally involve the return of ships to the depot. The bulk port terminal is divided into a specified number of berths (discrete layout), and it can serve as both an origin and a destination. When a barge is docked, the excavator loads the goods from the barge to trucks. After that, trucks transport the goods to the yard. Regarding the loading of goods onto the barge, trucks pick up goods from the yard, take them to the riverside, and then dump them onto the conveyor to transport them onto the ship. Each port terminal has a finite number of berths, and each berth is capable of serving (i.e., loading and unloading) one barge at a time, as shown in Figure 1. Additionally, berths have time windows during which the barges can be moored. We refer to each pickup and delivery operation as a \"job\". We constructed two dummy jobs, \(\mathrm{i_{0}}\) and \(\mathrm{i_{d}}\), to represent the initial departure from a depot and the final arrival of barge v at the same depot, respectively. We pre-assigned barge v to handle dummy jobs \(\mathrm{i_{0}}\) and \(\mathrm{i_{d}}\), so that only barge v handles these two jobs. We let I' denote the set of total jobs including jobs and dummy jobs (e.g., (0-job1-job2-job3-0)). We let I denote the set of all jobs (e.g., (job1-job2-job3)). This problem has P ports and k berths. Each job consists of a sequence of operations \(\mathrm{O_{i,h}}\). The execution of each operation h of a job i (noted as \(\mathrm{O_{i,h}}\)) requires one port out of a set of given ports called \(\mathrm{P_{i,h}}\subset\)P. Each port is independent of the others. The port setup time and the transfer time between operations are negligible. Examples of each operation of waterway transportation are presented in Table 1.  
We formulated the problem by establishing an underlying network with node set I as follows: between any two nodes i,j \(\in\) I, there are directed arcs i\(\rightarrow\)j and j\(\rightarrow\)i. Having barge v traverse arc i\(\rightarrow\)j means that barge v handles both jobs, i and j, and it handles job i immediately before job j. Additionally, jobs have time windows in which barges can perform pickup and delivery operations for job i. The job time windows are set by the time when job i is ready (\(\mathrm{a_{i}}\)) and the due date of job i (\(\mathrm{b_{i}}\)), while service of job i must occur during the time windows of job i [\(\mathrm{a_{i}}\), \(\mathrm{b_{i}}\)]. The berth time window is set based on the time when berth k is ready (\(\mathrm{r_{k}}\)) and the latest allowed arrival time at berth k (\(\mathrm{l_{k}}\)), while service at the loading node and discharge node of job i must occur during the time windows of the berth [\(\mathrm{r_{k}}\), \(\mathrm{l_{k}}\)].