## 3 Materials and Methods
### Model Formulation and Analysis
#### 3.3.3 Solution Algorithm  
The multi-objective model is a bi-level optimization model in which the upper model decides the locations of EBLs, and the lower model describes the demand assignment. Inaddition, the lower function \(f_{2}\) is a nonlinear optimization model, which is hard to solve. Therefore, a two-stage algorithm based on a feedback-loop process is proposed to solve the bi-level optimization model first. In addition, a linearization algorithm is proposed to transform the nonlinear model into a linear function, which can significantly decrease the difficulty of solving the model [41; 42]. For the two-stage algorithm, the first step is searching, which determines the alternative solutions set in function \(f_{1}\). The second step is a feedback-loop process in which each the EBL scheme resulting from the function \(f_{1}\) is applied into function \(f_{2}\), in which the transit demand distribution will be calculated. Then, the result will be input back into function \(f_{1}\). With the continuously cycling iteration, the optimal EBL scheme will be estimated. Step 1: Searching. Determine the range of decision variables \(P[P_{1},\,P_{2},\,P_{3},\ldots,\,P_{n}]\) in function \(f_{1}\). Delete the unfeasible solutions from the alternative solution set. For roads which can be the candidates to set an EBL, the following conditions of the traffic environment should be met: (1) The number of bus lines running on an EBL is greater than \(N_{1}\). (2) The number of road lanes is greater than \(N_{2}\). (3) The ratio of private car volume and road capacity should be greater than \(a_{1}\), which indicates that only congested roads are suitable for EBL. (4) The maximum total length of an EBL should be less than \(L_{max}\). Step 2: Feedback-loop step. According to feasible EBL schemes \(P^{*}[P_{1}\,^{*},\,P_{2}\,^{*},\,P_{3}\,^{*},\ldots,\,P_{n}\,^{*}]\) the results are input into function \(f_{2}\). Then, the passenger-flow distribution results \(F^{*}[F_{1}\,^{*},\,F_{2}\,^{*},\,F_{3}\,^{*},\ldots,\,F_{n}\,^{*}]\) can be calculated and input back into the upper model again. Using iterations, the best scheme \(P^{**}\) is selected. The algorithm is terminated. The solution framework is shown in Figure 3.  
The objective function \(f_{2}\) is combined with the costs of an in-vehicle arc, waiting arc, and transfer arc [37]. As Equations (14) and (15) show, \(f_{2}\) includes a part of the nonlinear functions, which are hard to solve and is presented in Equation (27) as follows:  
\[\int_{0}^{y_{s}}c_{s}(\vec{x})d\vec{z}=\,C_{s}(\vec{x})|_{0}^{y_{s}}=\frac{u \rho\beta_{1}}{(n+1)K^{n}}(y_{s})^{n+1}\,s\in S_{waiting} \tag{27}\]  
Referring to Ref. [35], a series of tangent lines are introduced to linearize the nonlinear function, which is described as follows:  
Step 1. Take the second derivative of Equation (27) and obtain the following  
\[C(y_{s})^{\prime\prime}=\frac{d(\frac{dC(y_{s})}{dy_{s}})}{dy_{s}}=\frac{u \rho\beta_{1}}{nk^{n}}(y_{s})^{n-1}\,s\in S_{waiting} \tag{28}\]  
Usually, \(n\geq 1\),so \(C(y_{s})^{\prime\prime}\geq 0\). It is concluded that \(C(y_{s})\) is the concave function within the range, which is shown as Figure 4.  
Figure 3: Solution framework. Step 2. N nodes are inserted on the curve with space \(\Delta h\) and a tangent line is added on each node, as Figure 4 shows. It is easily concluded that when N is large enough, the original curve is equivalent to the envelope curve. On any node \(h\), the envelope curve can be expressed as follows:  
\[\mathrm{L}:\left\{ \begin{matrix}y_{1}(h)y_{s}+y_{2}(h)&h=n\Delta h,\ n=1,2, \ldots,N\\ y_{1}(h)=\mathrm{C}^{\prime}(h)\\ y_{2}(h)=\mathrm{C}(h)-y_{1}(h)h\end{matrix} \right. \tag{29}\]  
Step 3. The assistant decision variable \(z_{s}\) is introduced and formulated as follows:  
\[y_{1}(h)y_{s}+y_{2}(h)\ \leq z_{s}\ \ \ \ \ h=n\Delta h,\ n=1,2,...,N \tag{30}\]  
For Equation (30), it is indicated that the value of \(z_{s}\) is greater than the value of the ordinate node on the blue grid.