## 3 The Solution Algorithm
### Accuracy Improvement  
A line search in the fourth step, whereby a system of nonlinear ordinary differential equations with initial values is resolved [15], must be carried out in the implementation of the CCM algorithm. The desired unidimensional direction can be approximated numerically from any line search, but its explicit functional expression cannot be calculated. This drawback impedes the output of the points found in any line search system. We present a modification of the CCM algorithm used by [PERSON] and [PERSON] [15], which adopted the gradient method to determine the next point without any line searching. Suppose the feasible set \(S=\big{\{}u\in\mathbb{R}^{m+n}\big{|}\phi_{i}(u)=0,\,i=1,\cdots,m\big{\}}\) satisfies the condition of the implicit function theorem. That is, \(\phi_{i}(u)\) is a holomorphic function in the \(m+n\) variables, if one treats the \(m+n\) variables as complex variables such that one of its Jacobians is nonsingular. Therefore, one can find an \(m\) subset of the \(m+n\) variables, such as \(z_{1},\cdots,z_{m}\), so that the corresponding Jacobian matrix \((\partial\phi/\partial z)\) is nonsingular. Furthermore, there exist implicit functions \(g_{j}\), \(j=1,\cdots,m\) in terms of the remaining \(n\) variables, \(x_{1},\cdots,x_{n}\) for example, such that \(z_{j}=g_{j}(x_{1},\ldots,x_{n})\), \(j=1,\cdots,m\). The original NLP can now be viewed as the following induced NLP:  
\[ \begin{array}{ll}\text{Maximize}&F(x)\\ \text{Subject to}&x\in U\end{array} \]  
where \(F(x)=f(x,g_{1}(x),\cdots,g_{m}(x))\) and \(U\) is a neighborhood of the point \(x^{0}\in\mathbb{R}^{n}\) that the implicit function theorem holds. Because \(U\) contains an open subset of \(\mathbb{R}^{n}\), the induced NLP can be viewed as a locally non-constrained NLP model. One important benefit is that moving along the induced gradient direction \(D=(\partial F/\partial x)\) will stay in \(U\) if the distance is small enough. One common issue with solving an NLP model using the gradient method is that it is likely to leave \(S\) by traveling along the gradient direction of a feasible point. This causes a big problem in keeping the NLP model's feasibility. Applying the CCM algorithm does not present such a problem, as every iteration remains within the feasible region. This is because the gradient of the inducted objective function \(F\), with regard to the selected value \(x_{1},\cdots,x_{n}\), will locally move inside the feasible set \(U\) if selected carefully. When using the CCM algorithm in a small-scale NLP model, one can conduct a line search along the gradient direction of the induced objective function. The relation between the induced line search and the movement along the original feasible set is illustrated in Figure 1.  
Because there is one-to-one mapping between \(U\) and a neighborhood of \(\big{(}x^{0},z^{0}\big{)}\) in \(S\), there is a one-dimensional curve \(C\) in \(S\), corresponding to the line \(L=\{x(t)|t\geq 0\}\) in \(U\) such that  
\[C=\big{\{}x(t),z(t)\big{|}x(t)\in L,z(t)=g(x(t))\big{\}}\]  
The problem can be viewed as lifting a straight line in \(\mathbb{R}^{n}\) to a curve in \(\mathbb{R}^{m+n}\). In performing a line search, one has to find a one-dimensional, local, optimal point on such a curve with only the knowledge of the projection of the curve, while the other coordinates are unknown. Fortunately, we also know the explicit objective and constraint functions, so we can approximate the change of the unknown coordinates \(\Delta z\) with the derivatives \(dz/dt\). That is, we can approximate \(\Delta z\) by  
\[\Delta z\sim\left(\frac{dz}{dt}\right)\Delta t\]Let \(D^{0}=D\!\left(x^{0}\right)=\left(d_{1},\cdots,d_{n}\right)\), in which case  
\[\frac{dz_{j}}{dt}=\frac{\partial g_{j}}{\partial x_{1}}\frac{dx_{1}}{dt}+\cdots+ \frac{\partial g_{j}}{\partial x_{n}}\frac{dx_{n}}{dt}\]  
In addition,  
\[\left(\frac{dz}{dt}\right)=\left(\frac{\partial g}{\partial x}\right)\left( \begin{array}{c}d_{1}\\ \vdots\\ d_{n}\end{array}