## 3 Problem Statement  
In this section, we will state the problem we need to solve in this paper and introduce the notations and the basic definitions that will be used throughout the paper.  
Considering the disadvantages (which have been discussed in Section 1) in traditional cross-layer routing algorithms, for the new routing algorithm, the more cross-layer parameters we can get from other layers, the better the performance of the algorithm [6; 40]. In addition, we should note the fact that highlighting one aspect of performance of the network may have impact on other aspects. Since the network constraints are not isolated, they can interact and influence each other. In the routing algorithm design, for getting a more balanced and effective solution, we should take as many cross-layer parameters into consideration as possible. To this issue, the new routing algorithm should have the ability to handle multiple constraints and, furthermore, not increase the complexity of the algorithm.  
The main goal of this paper is to design a new routing algorithm which has the properties as follows: (1) the calculation will not seriously increase with the increased number of constraints; (2) the algorithm can handle as many cross-layer constraints as possible; (3) the algorithm should have the ability to adapt to the dynamic changing of the network conditions and topology, especially in the underwater wireless sensor network in which the network conditions and topology change frequently; and (4) the algorithm should achieve the balanced performance on selecting next hop relay node.  
The notations and basic definitions that will be used throughout the paper are now introduced.  
1. \(n\) : The sequence number of different cross-layer parameter;
2. \(i\) : The sequence number of different nodes;
3. \(\alpha_{n}\) : The weight of different cross-layer parameter;
4. \(\alpha\) : The weight matrix;
5. \(\beta_{n}\) : The cross-layer parameter matrix of parameter \(n\) ;
6. \(\beta^{i}_{n}\) : The cross-layer parameter \(n\)  of node \(i\) ;
7. \(D_{n}\) : The dispersion of parameter \(\beta_{n}\) ;
8. \(D\) : The dispersion matrix; and
9. \(U^{i}\) : The utility of node \(i\) ;  
_Definition 1_: The weight matrix \(\alpha\) is the set of different cross-layer parameter weights and can be expressed as:  
\[\alpha=\left[\alpha_{1},\alpha_{2},\alpha_{3},\cdots,\alpha_{n}\right] \tag{1}\]  
**Definition 2**: _The cross-layer parameter matrix is the set of cross-layer parameters \(\beta_{n}^{i}\) that are obtained from node \(i\), and can be expressed as:_  
\[\beta_{n}=\left[\beta_{n}^{i},\beta_{n}^{2},\beta_{n}^{3},\cdots,\beta_{n}^{i} \right]^{T} \tag{2}\]  
**Definition 3**: _The dispersion is used to decide the scatter of different cross-layer parameters; the dispersion matrix \(D\); \(\overline{\beta_{n}}\) is the mean of the cross-layer parameters from different nodes. \(D_{n}\) and \(D\) can be expressed as:_  
\[D_{n}=\frac{\left(\left|\beta_{n}^{1}-\overline{\beta_{n}}\right|+\left|\beta_ {n}^{2}-\overline{\beta_{n}}\right|+\cdots+\left|\beta_{n}^{i}-\overline{ \beta_{n}}\right|\right)/i}{\overline{\beta_{n}}} \tag{3}\]  
\[D=\left[D_{1},D_{2},D_{3},\cdots,D_{n}\right]^{T} \tag{4}\]  
**Definition 4**: _The utility of node \(i\) is used to decide the order of the neighbor nodes to be the next hop relay node, and can be expressed as:_  
\[U^{i}=\alpha\times\beta_{n} \tag{5}\]  
The object of BCFL is to calculate the value of \(U^{i}\) and chose the most suitable next hop relay node according to \(U^{i}\).