## 3 Algorithm Design
### Relative Algorithm
#### 3.2.2 Construction of Sensitivity Equation  
The Lagrange multipliers of constraint conditions of model 8 are defined as \(\mu_{k}\) and \(d_{a}\), and the original model can be transformed into model 10 [29]:  
\[L(\mathbf{x},\mathbf{\mu}\text{,}\mathbf{d},\boldsymbol{\epsilon})=Z(\mathbf{x },\boldsymbol{\epsilon})+\sum_{k}\mu_{k}h_{k}(\mathbf{x}^{o},\boldsymbol{ \epsilon})\,-\sum_{a}d_{a}g_{a}(\mathbf{x},\boldsymbol{\epsilon}). \tag{10}\]  
According to the Kuhn-Tucker condition, the equations are obtained:  
\[\mathbf{G}=\left\{ \begin{array}{c}\
abla L=0\\ d_{a}g_{a}(\mathbf{x},\boldsymbol{\epsilon})=0\\ h_{k}(\mathbf{x}^{o},\boldsymbol{\epsilon})=0\end{array} ,\,\mathbf{y}( \boldsymbol{\epsilon})=\left[ \begin{array}{c}\mathbf{x}^{o}(\boldsymbol{ \epsilon})\\ \mathbf{d}(\boldsymbol{\epsilon})\\ \mathbf{u}(\boldsymbol{\epsilon})\end{array} \right].\end{array}\right.\]  
In the optimal solution, the derivation of the above equations can be obtained as follows:  
\[\left[ \begin{array}{cc}\
abla^{2}\mathbf{L}&-\
abla\mathbf{g}^{\mathrm{T}}& \
abla\mathbf{h}^{\mathrm{T}}\\ \mathbf{d}\
abla\mathbf{g}\text{ diag}(\mathbf{g})&0\\ \
abla\mathbf{h}&0&0\end{array} \right]\
abla_{\boldsymbol{\epsilon}}\mathbf{y }+\left[ \begin{array}{c}\
abla_{xx^{o}}{}^{2}\mathbf{L}\\ \mathbf{d}\
abla_{\boldsymbol{\epsilon}}\mathbf{g}\\ \
abla_{\boldsymbol{\epsilon}}\mathbf{h}\end{array} \right]=0,\]  
where \"diag\" represents a diagonal matrix with diagonal vectors. In order to simplify the model form, vector matrices \(\boldsymbol{M}\) and \(\boldsymbol{N}\) are defined:  
\[\boldsymbol{M}\equiv\left[ \begin{array}{cc}\
abla^{2}\mathbf{L}&-\
abla \mathbf{g}^{\mathrm{T}}&\
abla\mathbf{h}^{\mathrm{T}}\\ \mathbf{d}\
abla\mathbf{g}\text{ diag}(\mathbf{g})&0\\ \
abla\mathbf{h}&0&0\end{array} \right],\,\boldsymbol{N}\equiv\left[-\
abla_{ xx^{o}}{}^{2}\mathbf{L}^{\mathrm{T}},\,\,-\mathbf{d}\
abla_{\boldsymbol{\epsilon}} \mathbf{g}^{\mathrm{T}},\,-\
abla_{\boldsymbol{\epsilon}}\mathbf{h}^{\mathrm{ T}}\right]^{\mathrm{T}}.\]  
Then, we can get: \(\
abla_{\boldsymbol{\epsilon}}\mathbf{y}=\boldsymbol{M}^{-1}\boldsymbol{N}\). From the above formula, combined with [PERSON] expansion, Equation (11) can be obtained:  
\[\mathbf{y}(\boldsymbol{\epsilon})=\left[ \begin{array}{c}\mathbf{x}^{o}(0)\\ \mathbf{d}(0)\\ \mathbf{u}(0)\end{array} \right]+\left(\boldsymbol{M}(0)^{-1}\boldsymbol{N}(0) \right)\boldsymbol{\epsilon}+o(||\boldsymbol{\epsilon}||). \tag{11}\]  
where \(\boldsymbol{\epsilon}\) represents the disturbance of the input variable, \(o(||\boldsymbol{\epsilon}||)\) is a real parameter, when \(\boldsymbol{\epsilon}\to 0\), \(o(||\boldsymbol{\epsilon}||)\to 0\). After getting a set of initial solutions, a new solution with the change of free flow time or OD demand can be obtained according to Equation (12). According to Equation (11), the Hessian matrix is obtained:  
\[\
abla^{2}L=\text{diag}\bigg{(}\big{(}t_{ij}(x_{ij})\big{)}_{x_{ij}}\bigg{)}_{ ij}-\frac{1}{\theta}\left(\frac{1}{\sum\limits_{m}x_{mj}^{o}}-\frac{1}{x_{ij}^{o}} \delta_{ij,gh}\right).\]  
When the section \((g,h)\) equal to the section \((i,j)\), \(\delta_{ij,gh}=1\), otherwise it is zero. At the same time, according to the Kuhn-Tucker condition, when \(x_{ij}\leq C_{ij}\), \(d_{a}=0\); when \(x_{ij}>C_{ij}\), a penalty algorithm is needed to make the solution approximate the real value, so \(g_{a}(x_{ij})=0\). According to the above analysis, the vector matrix \(\mathbf{M}\) and \(\mathbf{N}\) can be transformed into:  
\[\mathbf{M}=\left[ \begin{array}{ccc}1&0&0\\ 0&-\mathbf{d}&0\\ 0&0&1\end{array} \right]\bullet\left[ \begin{array}{ccc}\
abla^{2}\mathbf{L}&- \
abla\mathbf{g}^{\mathbf{T}}&\
abla\mathbf{h}^{\mathbf{T}}\\ -\
abla\mathbf{g}&0&0\\ \
abla\mathbf{h}&0&0\end{array} \right],\,\mathbf{N}=\left[ \begin{array}{ccc}1&0 &0\\ 0&-\mathbf{d}&0\\ 0&0&1\end{array} \right]\bullet\left[ \begin{array}{ccc}-\
abla_{ext}{}^{2} \mathbf{L}\\ \
abla_{\epsilon}\mathbf{g}\\ -\
abla_{\epsilon}\mathbf{h}\end{array} \right].\]  
So, we can get:  
\[\
abla_{\epsilon}\mathbf{y}=\left[