Problem description and modeling of clustering
We define the victims’ information as a vector space as
\({\mathbb{V}}=\{V\left(1\right),V\left(2\right),\dots ,V(N)\}\). Vector
\(V\left(k\right)=({x}_{k},{y}_{k})\) contains the Euclid position of a victim whose identification denotes
\(k\). The positions of victims are acquired via GPS or UAVs as above discussions and assumptions. The geographical distribution determines the clustering results of victims. The number of clusters equals the number of backbone links. Then, victims’ clusters are formed as a new vector space
\({\mathbb{C}}=\{C\left(1\right),C\left(2\right),\dots ,C(m)\}\). The
ith cluster is represented as
\(C\left(i\right)=\{V\left(p\right),V\left(q\right),\dots \}\). Specifically, we define the vector
\(c\left(i\right)=({x}_{i},{y}_{i})\) as the center position of cluster
\(i\). Therefore, the clustering of victims is extracted as a multi-objective optimization model:
$$\mathrm{min}\sum_{\forall V(k)\in C(i)}^{Q(i)}\left[\sqrt{{\left({V\left(k\right)}_{x}-{c\left(i\right)}_{x}\right)}^{2}+{\left({V\left(k\right)}_{y}-{c\left(i\right)}_{y}\right)}^{2}}\right]$$
(1)
$$\mathrm{max}\sum_{\forall C\left(i\right),C(j)\in {\mathbb{C}}}^{Q(i)}\left[\sqrt{{({c(i)}_{x}-{c(j)}_{x})}^{2}+{({c(i)}_{y}-{c(j)}_{y})}^{2}}\right]$$
(2)
s.t.
$$\bigcup_{i=1}^{m}C\left(i\right)={\mathbb{V}},$$
(3)
$$C\left(i\right)\bigcap C\left(j\right)=\varnothing , \qquad \forall i,j,i\ne j$$
(4)
$$1\le Q\left(i\right)\le \frac{N}{2},$$
(5)
$$m\le \frac{N}{2},$$
(6)
$$\frac{\Vert V\left(k\right)-c(i)\Vert }{\Vert V\left(k\right)-c(j)\Vert }<1,\qquad V\left(k\right)\in C\left(i\right), V\left(k\right)\notin C\left(j\right)$$
(7)
Here, the first objective Eq. (
1) satisfies the minimum sum of distances between victims within the specific cluster.
\(Q\left(i\right)\) is a scalar that denotes the number of victims in the
ith cluster. The second objective Eq. (
2) guarantees the maximum sum of the distance between the divided clusters. The distance between any two clusters depends on the positions of their centers, which denotes as
\({c(i)}_{x}=\frac{1}{Q\left(i\right)}\sum \{{V(k)}_{x}\}\) and
\({c(i)}_{y}=\frac{1}{Q\left(i\right)}\sum \{{V(k)}_{y}\}\). The multi-objective of the proposed optimization model considers the positions of both inter-cluster and intra-cluster. The constraints further limit the victims’ clustering. The first constraint shows that all the victims will be divided into a specific cluster without missing. Equation (
4) constricts that there is no overlap of any two clusters. Equation (
5) means that there is at least one victim in each cluster and
\(\frac{N}{2}\) at most.
\(N\) denotes the total number of victims. Furthermore, Eq. (
6) shows that the number of clusters
\(m\) should not be larger than
\(\frac{N}{2}\). The third and fourth constraints, i.e. Equations (
5) and (
6), control the clustering process within a reasonable range. A victim
\(V\left(k\right)\) is classified into cluster
\(i\) instead of
\(j\), because it is closer to
\(c\left(i\right)\) than
\(c\left(j\right)\) as shown in Eq. (
7).
Modelling and communication estimation of backbones and branches
Based on the above multi-objective optimization model, all victims can be divided into several clusters according to their positions. The number of clusters determines the number of backbone communication links. Backbone links are built by using rescue robots as fixed relay nodes and start from the ECV to the centers of clusters.
To model backbone and branch links, some communication performance metrics are given first. The connection probability per hop
\({P}_{h}\) denotes Eq. (
8) [
8].
$${P}_{h}=(1-{e}^{-r\rho })$$
(8)
Here,
\(r\) denotes the average wireless communication range of rescue robots.
\(\rho \) denotes the density of relay nodes per communication range. The entire connection probability from the source to the destination depends on the relative distance of adjacent fixed robots. Therefore, the connection probability of the backbone link
\(i\) denotes Eq. (
9).
$${P}_{bb}\left(i\right)={(1-{e}^{-r\rho })}^{{k}_{i}}$$
(9)
Here,
\({k}_{i}\) is the number of hops in the backbone link
\(i\), as well as the fixed robots needed in this link. To simplify, the fixed robots obey the uniform distribution in the backbone link, which means that
\({k}_{i}=\lceil\frac{{L}_{i}}{r}\rceil\).
\({L}_{i}\) denotes the distance from the ECV to
\(c\left(i\right)\). Suppose that the duration per hop denotes
\({t}_{\mathrm{hop}}\) and the average moving speed of robots is
\(v\).
\(D{e}_{bb}\left(i\right)\), the end-to-end data delivery delay estimation of backbone link
\(i\) is in Eq. (
10).
$$D{e}_{bb}\left(i\right)={\left(1-{e}^{-r\rho }\right)}^{{k}_{i}}{k}_{i}{t}_{\mathrm{hop}}={P}_{bb}\left(i\right){k}_{i}{t}_{\mathrm{hop}}$$
(10)
And the completed recovery duration of backbone link
\(i\) is:
$${T}_{bb}\left(i\right)=\frac{{L}_{i}}{v}+D{e}_{bb}\left(i\right)$$
(11)
After discussing backbone links, branch links connecting all victims within a cluster attract attention. The dispatch of robots including fixed ones for backbone links and mobile ones for branches should satisfy several basic rules shown in Eqs. (
12–
15). Certainly, the specific dispatch mechanism will be formed according to various factors of the actual cases.
$$\mathbf{R}\left(i\right)={\mathbf{R}}_{\mathbf{f}}\left(i\right)\cup {\mathbf{R}}_{\mathbf{m}}\left(i\right), \forall i\in \{\mathrm{1,2},,\dots ,m\}$$
(12)
$${\mathbf{R}}_{\mathbf{f}}\left(i\right)\cap {\mathbf{R}}_{\mathbf{m}}\left(i\right)=\varnothing , \forall i\in \{\mathrm{1,2},,\dots ,m\}$$
(13)
$$\mathbf{R}\left(i\right)\cap \mathbf{R}\left(j\right)=\varnothing , \forall i,j\in \left\{\mathrm{1,2},,\dots ,m\right\},i\ne j$$
(14)
$$\bigcup_{i=1}^{m}\mathbf{R}\left(i\right)=\mathbf{R}$$
(15)
\(\mathbf{R}\left(i\right)\) represents the set of robots dispatched to the cluster \(i\). \({\mathbf{R}}_{\mathbf{f}}\left(i\right)\) is the set of fixed robots on the backbone link \(i\). \({\mathbf{R}}_{\mathbf{m}}\left(i\right)\) is the set of mobile robots wandering within cluster \(i\). \(m\) equals the number of total robots.
To further draw up the dispatching plan of mobile robots in cluster
\(i\),
\({R}_{m}^{\mathrm{thr}}\left(i\right)\), a threshold number of mobile robots is put in Eq. (
16). It means besides the fixed robots if there are still at least
\({R}_{m}^{\mathrm{thr}}\left(i\right)\) robots in cluster
\(i\), communication can be resumed without dispatching robots again.
$${R}_{m}^{\mathrm{thr}}\left(i\right)=\sum_{j=1}^{Q(i)}\left\lceil\frac{\sqrt{{({V(j)}_{x}-{c(i)}_{x})}^{2}+{({V(j)}_{y}-{c(i)}_{y})}^{2}}}{r}\right\rceil$$
(16)
Comparing the number of mobile robots \({R}_{m}\left(i\right)\) and \({R}_{m}^{\mathrm{thr}}\left(i\right)\), there are two cases:
Case 1:
\({{R}_{m}\left(i\right)\ge R}_{m}^{\mathrm{thr}}\left(i\right).\) The intra-cluster communication of cluster
\(i\) can be recovered within one loop when the number of available robots is more than the threshold. In this case,
\({R}_{m}^{\mathrm{thr}}\left(i\right)\) mobile robots can make sure every victim is connected. The robot dispatch can be extracted as an optimization model with a drift-plus-penalty architecture, shown as Eqs. (
17)–(
19). The model considers the max connection probability of victims and the min moving time of robots.
$$\underset{V\left(k\right)\in C\left(i\right)}{\mathrm{max}}\sum_{k=1}^{Q\left(i\right)}\left[{\left(1-{e}^{-r\rho }\right)}^{\lceil\frac{{L}_{V\left(k\right),c\left(i\right)}}{r}\rceil}-\frac{{L}_{V\left(k\right),c(i)}}{v}\right]$$
(17)
$$s.t. \; {R}_{m}\left(ij\right)\in {\mathbf{R}}_{\mathbf{m}}\left(i\right)$$
(18)
$${{R}_{m}\left(i\right)\ge R}_{m}^{\mathrm{thr}}\left(i\right)$$
(19)
Here,
\({L}_{V\left(k\right),c(i)}\) denotes the distance between victim
\(k\) and the center of cluster
\(i\). Similar to
\({T}_{bb}\left(i\right)\) in Eq. (
11), the completed recovery time of the branch link
\(i\) denotes
\({T}_{br}\left(i\right)\) in Eq. (
20).
$$\begin{aligned} T_{{br}} \left( i \right) &= {\mkern 1mu} \mathop {{\text{max}}}\limits_{{V(k) \in C(i)}} \Bigg\{ \left( {1 - e^{{ - r\rho }} } \right)^{{\left\lceil {\frac{{L_{{V\left( k \right),c\left( i \right)}} }}{r}} \right\rceil }} \left\lceil {\frac{{L_{{V\left( k \right),c\left( i \right)}} }}{r}} \right\rceil t_{{{\text{hop}}}} \\ & \quad + \frac{{L_{{V\left( k \right),c\left( i \right)}} }}{v} \Bigg\} \end{aligned}$$
(20)
Case 2:
\({{R}_{m}\left(i\right)<R}_{m}^{\mathrm{thr}}\left(i\right).\) The intra-cluster communication of cluster
\(i\) will be recovered after multiple dispatching attempts because robots are understaffed. The more than once dispatch maintains the connection status of all victims to the greatest extent. The number of dispatch loops denotes
\(D=\lceil\frac{{R}_{m}^{\mathrm{thr}}\left(i\right)}{{R}_{m}\left(i\right)}\rceil\). Equation (
17) is modified accordingly.
Therefore,
\(T\left(i\right)\) the total recovery time of cluster
\(i\) containing both backbone and branch link is shown in Eq. (
21).
$$T\left(i\right)={T}_{bb}\left(i\right)+{T}_{br}\left(i\right)$$
(21)
Because the communication links to all clusters are recovered synchronously, the total communication recovery time
\(TT\) depends on the slowest cluster, as shown in Eq. (
22).
$$TT={\mathrm{max}}_{i=1}^{m}\{T(i)\}$$
(22)
Overall, the models of victim distribution, backbone link establishment, and mobile robot dispatch in branch links are extracted in this subsection.