# ICN-Oriented Mobility Support Method for Dynamic Allocation of Mobile Data Flows
## 4 Search Algorithm for Late-Binding Node Selection  
After receiving the MPN, the access router of the producer uses a search algorithm to select the late-binding node for multiple data flows according to the various information contained in the MPN and then completes the selection of the switching path. There are two approaches that exist for solving an MMKP: one is a heuristic algorithm, which can find the best possible solution in a short calculation time, and the other is the exact method, which can find the optimal solution. The exact solution has high complexity and a long calculation time and is thus not suitable for the mobility support method. In terms of the heuristic algorithm, [PERSON] et al. [28] proposed a classical heuristic algorithm that uses the concept of Lagrange multipliers to reduce the number of resource constraints, thus reducing complexity. The complexity of the algorithm is \(O\left(m(n-g)^{2}+mn\right)\). Ref. [28] shows that the solution obtained by this algorithm is very close to the optimal solution in almost all experiments. The late-binding node selection problem is not a simple MMKP, but rather the joint solution of two MMKPs. Therefore, [PERSON] et al. [28] could not solve the late-binding node selection problem. Based on the Moser algorithm, this paper proposesa heuristic algorithm with double constraints (DCHA), which realizes the joint solution of two MMKPs by simultaneously adjusting the bandwidth resource constraints of the switching path and the space resource constraints of the Mobility Flow Table (MFT). By introducing Lagrange multipliers, [PERSON] [35] showed that the solution for the optimization problem (3) under constraint (5) and constraint (7) is equivalent to the solution of the following problem:  
\[ \begin{cases}min\left\{\sum\limits_{i=1}^{S}\sum\limits_{j=1}^{F}D_{i}^{j}Z_{i }^{j}-\sum\limits_{k=1}^{S}\mu_{k}\sum\limits_{i=1}^{S}\sum\limits_{j=1}^{F}b_ {i}^{j}Z_{i}^{j}\right\}\\ min\left\{\sum\limits_{i=1}^{S}\sum\limits_{j=1}^{F}D_{i}^{j}Z_{i}^{j}-\sum \limits_{k=1}^{S}\mu_{k}\sum\limits_{i=1}^{S}\sum\limits_{j=1}^{F}n_{i}^{j}Z_{ i}^{j}\right\}\end{cases}  \tag{12}\]  
Subject to  
\[ \begin{cases}\sum\limits_{i=1}^{S}\sum\limits_{j=1}^{F}b_{i}^{j}Z_{i}^{j}\leq \sum\limits_{i=1}^{S}\sum\limits_{j=1}^{F}b_{i}^{j}Z_{i}^{*j}\\ \sum\limits_{i=1}^{S}\sum\limits_{j=1}^{F}n_{i}^{j}Z_{i}^{j}\leq\sum\limits_{ i=1}^{S}\sum\limits_{j=1}^{F}n_{i}^{j}Z_{i}^{*j}\end{cases}  \tag{13}\]  
where \(Z_{i}^{*j}\) is the optimal solution. Therefore, \(\sum\
olimits_{i=1}^{S}\sum\
olimits_{j=1}^{F}b_{i}^{j}Z_{i}^{*j}\) corresponds to the optimal capacity of switching paths and \(\sum\
olimits_{i=1}^{S}\sum\
olimits_{j=1}^{F}n_{i}^{j}Z_{i}^{*j}\) corresponds to the optimal capacity of the MFT used by the optimal solution. Therefore, if the Lagrange multipliers \(\mu_{k}\) are known, the optimization problem is easily solved. By a simple manipulation of the equations, Equation (12) can be written as  
\[ \begin{cases}min\left\{\left(\sum\limits_{i=1}^{S}\sum\limits_{j=1}^{F}D_{i}^{ j}-\sum\limits_{k=1}^{S}\mu_{k}\sum\limits_{i=1}^{S}\sum\limits_{j=1}^{F}b_ {i}^{j}\right)Z_{i}^{j}\right\}\\ min\left\{\left(\sum\limits_{i=1}^{S}\sum\limits_{j=1}^{F}D_{i}^{j}-\sum \limits_{k=1}^{S}\mu_{k}\sum\limits_{i=1}^{S}\sum\limits_{j=1}^{F}n_{i}^{j} \right)Z_{i}^{j}\right\}\end{cases}  \tag{14}\]  
This implies that the solutions are  
\[Z_{i}^{*j}=\left\{ \begin{array}{l}1,\ if\ D_{i}^{j}-\sum\limits_{k=1}^{S}\mu _{k}b_{i}^{j}>0,\ D_{i}^{j}-\sum\limits_{k=1}^{S}\mu_{k}n_{i}^{j}>0\\ 0,\ otherwise\end{array} \right. \tag{15}\]  
The difficulty lies in how to calculate the Lagrange multipliers \(\mu_{k}\) effectively. If the calculation of these multipliers results in item \(B_{i}-\sum\
olimits_{j=1}^{F}b_{i}^{j}Z_{i}^{*j}\) and \(N_{i}-\sum\
olimits_{j=1}^{F}n_{i}^{j}Z_{i}^{*j}\) all being non-negative, then the solution is feasible.