# Cooperative Position Aware Mobility Pattern of AUVs for Avoiding Void Zones in Underwater WSNs
## 3 Proposed Schemes
### Throughput Maximization  
Linear programming is one of the most widely-used techniques for achieving a best possible outcome of an objective function. It is a special case of mathematical programming in order to optimize the linear function. Few linear constraints and some inequality constraints are defined; those must validate the objective function by giving positive results. We have formulated an objective function to show that the throughput is optimized via reducing the energy consumption by the linear model. Figure 6: Protocol operation of Co PAMP. The operations of PAMP and Co PAMP consume energy during the data transmission and the data reception. Therefore, it is necessary that maximum and minimum energy consumption required for data gathering must be known to evaluate our objective function, which is given in Equation (22). \[Max\sum_{gliders=0}^{gliders_{max}}Th(gliders)\ \ \forall\ \mathit{gliders}\in N \tag{22}\]  
where \(gliders\) are used to sense and collect data packets from the network field and \(Th\) shows throughput that is defined as the amount of total data packets received successfully at the destination. \(Th\) is presented in Equation (23). \[Th=\sum_{p=0}^{p_{max}}lq(p_{n})\ \ \forall\ p\in Th \tag{23}\]  
\(p_{n}\) denotes the total number of packets, and \(lq\) represents that only those data packets are considered to satisfy the \(PA_{th}\); where \(lq\) is given in Equation (24). \[lq=\left\{ \begin{array}{ll}1&\text{if }lq\geq th\\ 0&\text{if }lq<th\end{array} \right. \tag{24}\]  
Equation (24) shows that when \(lq\) is greater than the threshold \(th\) (\(lq=1\)), only then it is counted in network \(Th\). Linear constraints for the objective function are given as follows:  
\[E_{tx,rx}\leq E_{initial}^{max}\ \ \forall\ i\in N \tag{25a}\] \[E_{(required)}\geq E_{(i)}^{min}\ \ \forall\ i\in N\] (25b) \[lq\geq th\ \ \forall\ lq,th\in N\] (25c) \[depth_{gliding}\leq depth_{gliding}^{max}\ \ \forall\ s,d\in N \tag{25d}\]  
Equation (25a) ensures that the energy required for data communication should not exceed the initial energy of a sensor node. Moreover, Equation (25b) shows that the energy needed for gathering data packets must be above the minimum required energy. The \(lq\) is checked at every destination glider in order to gather data packets with high SNR. A data packet is counted in throughput only if it has \(lq=1\), which means it has \(lq\)above or equal to the predefined threshold; otherwise, \(lq=0\) means the packet will not be accounted, and a relay glider will retransmit the data packet to improve the SNR at the destination (Equation (25c)). In order to avoid the wastage of the energy, Equation (25d) is defined to restrict that the data packets must be transmitted within or at the maximum allowed gliding depth. In this way, the loss of data packets is avoided by keeping data packets within the gliding depth. Let us suppose that the total available energy is \(E_{total}\), which is computed by Equation (26). \[E_{total}=E_{tx}+E_{rx} \tag{26}\]  
where \(E_{tx}\) and \(E_{rx}\) denote transmission energy and reception energy, respectively. These are calculated by the following Equation (27). \[E_{tx,rx}=P_{min,max(tx,rx)}(PacketSize/DataRate) \tag{27}\]  
\(P_{min,max(tx,rx)}\) shows the minimum and the maximum power required to transmit a data packet. It can be noted that the mechanism of allocating energy for receiving and transmitting a data packet gives the optimal results to the objective function. We have used the graphical method because of two decision variables in our schemes, which are \(E_{tx}\) and \(E_{rx}\), and it is presented to analyze our objective function that the allocated energies are with in the feasible region. Graphical analysis: Let us suppose that we have a scenario, in which the numbers of gliders are five to 45; \(P_{tx}\) varies from 1 to 10 watt; \(P_{rx}\) is from 0.1 to 0.5 watt; data rate = 10 Kbps; and packet size = 200 B.