Introduction
Problem description
Parameter definition
-
\(R=\{ {1,2,...,r,...N_R} \}\) denotes the set of \(N_R\) requests.
-
Each request \(r=\{ {s_{id},erst,duet,dur,p} \}\) is determined by the required satellite identification \(s_{id}\), earliest start time erst, latest deadline ldt, required duration dur, and the priority weight p.
-
\(A=\{ {1,2,...,a,...N_A} \}\) is the set of \(N_A\) ground station antennas.
-
Antenna \(a=\{ {a_{id},swi} \}\) is specified by the antenna identification \(a_{id}\) and the switch time swi to serve next request.
-
\(S=\{ {1,2,...,s,...N_S} \}\) is the set of satellites with \(|S |= N_S\).
-
\(\textrm{VTW}=\{ {1,2,...,vtw,...N_\textrm{VTW}} \}\) is the set of \(|N_{VTW} |\) time windows.
-
\(vtw_r=\{ {vtw_{r,a}^k \;\vert {\;k = 1,2,...K}} \}\) means the ground station antennas have K vtws.
-
\(\forall vtw_{r,a}^k \in vt{w_r}\), \(vtw_{r,a}^k=\{{r,a,k,st,et}\}\). \(vtw_{r,a}^k\) means the kth time window that the ground station network can support request r, which ranges from start time st to end time et. And the vtw is provided by antenna a. For example, the number 2 in \(vtw_{6,2}\) in Fig. 1 denotes the vtw is provided by antenna \(a_2\), rather than the second vtw for request 6.
Mathematical model construction
Objective function
Constraints
-
Execution \(uniqueness\!:\) Each request is supported at most once;$$\begin{aligned} \forall \;r \in R,\;\;\;\sum \limits _{k = 1}^K {x_{r,a}^k} \le 1\ \end{aligned}$$(3)
-
Satellite \(uniqueness\!:\) One satellite can interact with as most one antenna simultaneously;where \(x_{s,a}^t\) is a binary variable representing whether request r is supported by antenna a at time t.$$\begin{aligned} \forall t \in T,\;s \in S,\;a \in A,\;\;\;\sum \limits _{t = 1}^{\vert T \vert } {\sum \limits _{s = 1}^{\vert S \vert } {x_{s,a}^t} } \le 1\;\ \end{aligned}$$(4)
-
Antenna \(uniqueness\!:\) One antenna is unable to support more than two requests simultaneously;where \(x_{s,a}^t\) is a binary variable representing whether request r is supported by antenna a at time t. The difference between constraint (4) and (5) lies in the accumulation way of \(x_{s,a}^t\).$$\begin{aligned} \;\forall t \in T,\;s \in S,\;a \in A,\;\;\;\sum \limits _{t = 1}^{\vert T \vert } {\sum \limits _{a = 1}^{\vert A \vert } {x_{s,a}^t} } \le 1\;\;\ \end{aligned}$$(5)
-
Execution \(feasibility\!:\) Each request should be scheduled within its required time window;where \(x_{s,a}^t\) is a binary variable representing whether request r is supported by antenna a at time t.$$\begin{aligned} \forall \;r \in R,\;\;\;s{t_r} \le es{t_r} < en{t_r} \le e{t_r}\, \end{aligned}$$(6)
-
Switch \(time\!:\) For one antenna, the minimal switch time must be satisfied to support next request. Suppose request \(r_1\) and \(r_2\) are adjacent requests on antenna a;$$\begin{aligned} \left[ s{t_{{r_1}}},e{t_{{r_1}}} + sw{i_a}\right] \cap \left[ s{t_{{r_2}}},e{t_{{r_2}}} + sw{i_a}\right] = \emptyset \ \end{aligned}$$(7)
Proposed algorithm
General framework
-
\(P_\textrm{C}\), solves the original problem \({{\varvec{f}}}_o\), is used to maintain the quality and feasibility of the solutions;
-
\(P_\textrm{D}\), solves a helper problem \({{\varvec{f}}}_h\) that considers less constrains, is used to assist \(P_\textrm{C}\) in exploring the search space and jumping over the local optima;
-
EA, stores all elite solutions found during evolution, is used to assist \(P_\textrm{C}\) maintain the potential optima recovery, fine-tune the population and enhance the exploration capability.
Cooperative co-evolutionary mechanism
Individual encoding
Mating selection
Offspring generation
Update mechanism of the \(P_C\)
Update mechanism of the \(P_D\)
Elite archive strategy
Update mechanism of the EA
Replacement operation
Experimental analysis
Experimental instances
Contrast algorithms
Parameter | Denotion | Value |
---|---|---|
Instance MaxFEs | 150–200 | 12,000 |
225–275 | 16,000 | |
300–350 | 20,000 | |
Population size | \(p_z\) | 16 |
Crossover probability | \(p_c\) | 0.9 |
Mutation probability | \(p_m\) | 0.05 |
Output archive size | \(\mu \) | 50 |
Performance indicators
Exploring the proposed method
Inst. | Metric | COEAS | COEAS-f | COEAS-g | COEAS-r | COEAS-nr | COEAS-nm |
---|---|---|---|---|---|---|---|
\(F_\beta \) | 0.075 | 0.056 | 0.069 | 0 | 0.063 | 0.005 | |
150 | DI | 0.926 | 0.837 | 0.870 | 0.443 | 0.865 | 0.590 |
RFR | 0.061 | 0.074 | 0.064 | 0.091 | 0.068 | 0.078 | |
\(F_\beta \) | 0.076 | 0.059 | 0.061 | 0 | 0.049 | 0.002 | |
175 | DI | 0.935 | 0.852 | 0.816 | 0.439 | 0.798 | 0.547 |
RFR | 0.053 | 0.062 | 0.054 | 0.076 | 0.061 | 0.076 | |
\(F_\beta \) | 0.109 | 0.033 | 0.077 | 0 | 0.029 | 0.003 | |
200 | DI | 0.976 | 0.659 | 0.754 | 0.410 | 0.638 | 0.473 |
RFR | 0.047 | 0.065 | 0.054 | 0.070 | 0.064 | 0.063 | |
\(F_\beta \) | 0.065 | 0.061 | 0.062 | 0 | 0.046 | 0.010 | |
225 | DI | 0.873 | 0.866 | 0.820 | 0.440 | 0.793 | 0.715 |
RFR | 0.042 | 0.049 | 0.044 | 0.065 | 0.054 | 0.052 | |
\(F_\beta \) | 0.096 | 0.062 | 0.029 | 0 | 0.012 | 0 | |
250 | DI | 0.750 | 0.678 | 0.570 | 0.451 | 0.536 | 0.491 |
RFR | 0.060 | 0.072 | 0.066 | 0.091 | 0.078 | 0.074 | |
\(F_\beta \) | 0.067 | 0.053 | 0.061 | 0 | 0.058 | 0.004 | |
275 | DI | 0.939 | 0.883 | 0.877 | 0.421 | 0.902 | 0.57 |
RFR | 0.040 | 0.044 | 0.041 | 0.064 | 0.043 | 0.053 | |
\(F_\beta \) | 0.094 | 0.046 | 0.042 | 0 | 0.050 | 0.007 | |
300 | DI | 0.936 | 0.745 | 0.681 | 0.422 | 0.758 | 0.554 |
RFR | 0.048 | 0.062 | 0.054 | 0.073 | 0.062 | 0.060 | |
\(F_\beta \) | 0.086 | 0.044 | 0.047 | 0 | 0.011 | 0.018 | |
325 | DI | 0.683 | 0.545 | 0.525 | 0.397 | 0.520 | 0.476 |
RFR | 0.095 | 0.112 | 0.100 | 0.129 | 0.114 | 0.109 | |
\(F_\beta \) | 0.102 | 0.057 | 0.061 | 0 | 0.032 | 0 | |
350 | DI | 0.682 | 0.615 | 0.572 | 0.424 | 0.532 | 0.449 |
RFR | 0.134 | 0.147 | 0.136 | 0.164 | 0.149 | 0.141 | |
\(F_\beta \) | 8/1/0 | 8/1/0 | 6/3/0 | 0/6/3 | 6/3/0 | \ | |
+/−/\(\approx \) | DI | 9/0/0 | 7/2/0 | 7/2/0 | 0/0/9 | 5/4/0 | \ |
RFR | 9/0/0 | 2/7/0 | 8/1/0 | 0/1/8 | 2/6/1 | \ |
Comparing with the related algorithm
Inst. | Metric | COEAS | CCMO | GA-PE | GA | ||||
---|---|---|---|---|---|---|---|---|---|
Random | / | Random | / | Random | / | Random | / | ||
150 | \(F_\beta \) | 0 | 0.181 | 0 | 0.043 | 0 | 0.028 | 0 | 0.041 |
DI | 0.426 | 0.929 | 0.422 | 0.612 | 0.423 | 0.582 | 0.407 | 0.602 | |
RFR | 0.091 | 0.061 | 0.115 | 0.080 | 0.117 | 0.088 | 0.122 | 0.089 | |
175 | \(F_\beta \) | 0 | 0.109 | 0 | 0.053 | 0 | 0.047 | 0 | 0.023 |
DI | 0.436 | 0.933 | 0.421 | 0.690 | 0.410 | 0.713 | 0.407 | 0.613 | |
RFR | 0.076 | 0.053 | 0.094 | 0.067 | 0.103 | 0.069 | 0.110 | 0.072 | |
200 | \(F_\beta \) | 0 | 0.158 | 0 | 0.046 | 0 | 0.020 | 0 | 0.009 |
DI | 0.399 | 0.977 | 0.400 | 0.641 | 0.390 | 0.508 | 0.398 | 0.552 | |
RFR | 0.070 | 0.047 | 0.079 | 0.062 | 0.084 | 0.070 | 0.088 | 0.070 | |
225 | \(F_\beta \) | 0 | 0.165 | 0 | 0.053 | 0 | 0.009 | 0 | 0.011 |
DI | 0.422 | 0.868 | 0.409 | 0.642 | 0.416 | 0.526 | 0.405 | 0.526 | |
RFR | 0.065 | 0.042 | 0.083 | 0.055 | 0.085 | 0.066 | 0.085 | 0.064 | |
250 | \(F_\beta \) | 0 | 0.150 | 0 | 0.021 | 0 | 0.008 | 0 | 0.005 |
DI | 0.434 | 0.744 | 0.418 | 0.470 | 0.428 | 0.480 | 0.412 | 0.470 | |
RFR | 0.091 | 0.060 | 0.107 | 0.075 | 0.108 | 0.085 | 0.112 | 0.085 | |
275 | \(F_\beta \) | 0 | 0.134 | 0 | 0.036 | 0 | 0.019 | 0 | 0.040 |
DI | 0.416 | 0.938 | 0.403 | 0.619 | 0.407 | 0.556 | 0.399 | 0.658 | |
RFR | 0.064 | 0.040 | 0.076 | 0.049 | 0.081 | 0.055 | 0.088 | 0.055 | |
300 | \(F_\beta \) | 0 | 0.180 | 0 | 0.031 | 0 | 0.015 | 0 | 0 |
DI | 0.411 | 0.934 | 0.396 | 0.568 | 0.397 | 0.509 | 0.392 | 0.423 | |
RFR | 0.073 | 0.048 | 0.090 | 0.067 | 0.095 | 0.069 | 0.099 | 0.071 | |
325 | \(F_\beta \) | 0 | 0.183 | 0 | 0 | 0 | 0 | 0 | 0.001 |
DI | 0.376 | 0.671 | 0.375 | 0.398 | 0.372 | 0.395 | 0.357 | 0.408 | |
RFR | 0.129 | 0.095 | 0.147 | 0.115 | 0.149 | 0.128 | 0.161 | 0.126 | |
350 | \(F_\beta \) | 0 | 0.163 | 0 | 0.049 | 0 | 0 | 0 | 0 |
DI | 0.409 | 0.676 | 0.390 | 0.489 | 0.395 | 0.420 | 0.383 | 0.415 | |
RFR | 0.164 | 0.134 | 0.180 | 0.142 | 0.185 | 0.155 | 0.192 | 0.161 |