## 3 The Proposed Constraint Multi-Objective Optimization Algorithm
### Multi-Stage Constraint-Handling Strategy  
The constrained domination principle (CDP) is the most popular technique for handling constraints in constrained MOEAs. CDP adds a feasibility rule to the domination principle, that is, feasible solutions have better ranks than infeasible ones, and the constraint violation is compared when ranking two infeasible solutions. However, useful information contained within infeasible solutions might be lost when favoring feasible solutions over infeasible ones. This problem is especially severe when handling the constraints in this work, wherein the constraints are hard to satisfy and a large number of infeasible solutions arise during the search process. In the \(\varepsilon\) constraint-handling technique, infeasible solutions are treated as feasible ones if their constraint violation degree is less than \(\varepsilon\). This method can take advantage of the information within infeasible solutions, and show better performance than CDP. However, it is hard to control \(\varepsilon\) appropriately. In this paper, we propose a multi-stage constraint-handling strategy to handle the large number and complex constraints. A population can be easily become trapped in a local feasible region when tackling complicated constraints by the constrained search. For problems with small feasible regions, it may take an unnecessary amount of time to search the local optimal region. Therefore, at the first stage, we propose to use an unconstrained search to guide the searching process with more attention on convergence than feasibility. This can improve converging speed and alleviate the waste of computing resources caused by searching useless areas. Specifically, the default domination rule is used to rank the individuals regardless of the constraints during the non-dominated sorting. The unconstrained search stage runs from \(t=1\) to \(t=MaxGen/6\). We propose the use of an adaptive-linear-\(\varepsilon\) constraint-handling technique at the second stage to gradually divert the searching goal from convergence to feasibility. In \(\varepsilon\) constraint handling, solution \(x_{i}\) is treated as better than solution \(x_{j}\) if the following conditions are satisfied:  
1. \(x_{i}\) is feasible and \(x_{j}\) is not;
2. They are both feasible, and \(x_{i}\) dominates \(x_{j}\);
3. They are both infeasible, and the constraint violation of \(x_{i}\) is less than \(x_{j}\). Here, a solution is treated as feasible if its degree of constraint violation is less than \(\varepsilon\). At this stage, the proportion of feasible solutions \(p_{f}\) in the population is expected to increase linearly to 100% with \(t\). A simple way of achieving this is to decrease \(\varepsilon\) linearly. However, \(p_{f}\) might not change as expected with \(\varepsilon\), as shown in Figure 1. To overcome this problem, we develop an adaptive-\(\varepsilon\) strategy. \(\varepsilon\) is first initialized to decrease linearly as:  
\[\varepsilon^{*}(t)=1-\frac{2.5}{MaxGen}\bigg{(}t-\frac{1}{6}MaxGen\bigg{)} \tag{27}\]  
\(\varepsilon\) is then adjusted according to the current proportion of feasible solutions:  
\[\varepsilon(t)=\left\{ \begin{array}{ll}max(\varepsilon^{*}(t)-|\varepsilon^ {*}(t)-p_{f}(t)|,0),&\text{ if }p_{f}(t)\leq\varepsilon^{*}(t)\\ \varepsilon^{*}(t)+|\varepsilon^{*}(t)-p_{f}(t)|,&\text{ if }p_{f}(t)> \varepsilon^{*}(t)\end{array} \right. \tag{28}\]  
As shown in Figure 1, \(p_{f}\) is expected to decrease linearly and the adaptive \(\varepsilon\) works on bringing \(p_{f}\) back to linearity. The second stage lasts for 0.5 \(\times\) MaxGen generations, where \(\varepsilon\) decreases linearly for the first 0.4 \(\times\) MaxGen generations and is zero for the other 0.1 \(\times\) MaxGen generations. The unconstrained search is then performed at the third stage. This lasts for \(MaxGen/6\) generations to help the population escape from possible local feasible regions.