## 4 The Proposed AC-NSGA-III Algorithm
### Operator Design  
#### 4.2.1 IRC Coding  
Chromosome encoding is a pivotal component of the AC-NSGA-III algorithm. To ensure that the generated chromosome encodings correspond to feasible solutions and to prevent infeasible solutions resulting from crossover operations that violate model constraints (such as delivery priority, vehicle capacity limits, etc. ), a decoding rule based on a cellular array structure was designed. Path generation rule is shown in Algorithm 4. The cellular array \(Q\) represents a chromosome, \(Q=[x,y]\). The design of the chromosome structure leverages the concept of constructive heuristic methods, constructing the solution on an order-by-order basis. The variable \(x\) represents the construction sequence of the generated orders. The variable \(y\) is composed of two components, \(y=[y^{1},y^{2}]\), where the values indicate the insertion positions of the corresponding nodes. Specifically, \(y^{1}\) denotes the periodic insertion positions of the restaurant nodes associated with \(x\), and \(y^{2}\) denotes the periodic insertion positions of the customer nodes associated with \(x\). Both \(x\) and \(y^{2}\) are one-dimensional arrays of length \(|\)N\(|\), while \(y^{1}\) is a one-dimensional array of length \(|\)N\(2|\). Figure 6: Algorithm flow chart. The values in \(y^{1}\) and \(y^{2}\) exhibit periodic reducibility, meaning they are handled cyclically. When these values exceed the total number of available insertion positions, the insertion position for the corresponding order node is determined by the remainder of this value divided by the total number of insertion positions. If the remainder is zero, the insertion position is the last available slot. The decoding process for the chromosome involves inserting the restaurant and customer nodes corresponding to the order into the delivery route according to the values specified in \(y^{1}\) and \(y^{2}\). This ensures that the resulting solutions adhere to the model constraints while facilitating effective order construction and scheduling. ```
Input: Q = [x, y] %chromosome \(x\); % the construction sequence of the generated orders \(y\) = [y1, y2]; %arrays representing node insertion locations, including periodic insertion locations for pick-up and customer nodes \(N\); %The number of orders involved Output: RESULT; %node access order
```
L = []; %initially empty set, storing the temporary path (to be inserted)  Pick (); %function of getting the restaurant node  Delivery (); %function of getting the customer node  P 0; %function of getting the list of insertable locations  Insert Node (); %node insertion function  i = 1;  L = [pick(x(i)), delivery(x(i))];  for i = 2: N  M Node = pick(x(i)); % gets the restaurant node  n1 = P (M Node, L) %gets the list of insertable locations % Calculate the insertion location of the restaurant node  if mod(y1(i), length(n1) =0  insert Index=n1(end);  else  insert Index = n1((mod(y1(i), length(n1))));  L = insert Node (L, M Node, insert Index); % inserts the node at the insertion position C Node = delivery(i); % gets the customer node  n2 = P (C Node, L) %-gets the list of insertable locations % Calculate the customer node insertion location if mod(y2(i), length(n2) = 0  insert Index = n2(end);  else  insert Index = n2((mod(y1(i), length(n2))));  L = insert Node(L, C Node, insert Index); % insert a node at the insertion position  end  RESULT = L
```

**Algorithm 4** Path generation rule. (1) In this process, the AC strategy must be followed, and node insertion must not violate constraint (9), meaning that if the actual positions represented by adjacent order nodes in L are the same, they should be combined for pick-up or delivery. (2) Node insertion must not violate constraints (6)-(8), meaning it should not breach the delivery volume constraints or the order node and visit sequence restrictions. (3) Since the decoded results are real number sequences, the open chain structure constraint and sub-loop elimination constraints (16)-(20) can be naturally avoided.