问题
如何合理地对敌方目标分配武器,使得敌方的生存率最小(或毁伤率最大)。只讨论静态WTA问题,即每个武器最多只能攻击一次。问题给出每个目标的价值权重和每个武器对每个目标的毁伤率。
非线性建模
变量
二值变量 x i j x_{ij} xij表示武器 i i i是否攻击目标 j j j,若攻击则为 1 1 1,不攻击则为 0 0 0。
目标函数
M i n ∑ j = 1 n W j [ ∏ i = 1 m ( 1 − p i j x i j ) ] Min \sum_{j=1}^n W_{j} [ \prod_{i=1}^{m}(1-p_{ij}x_{ij})] Minj=1∑nWj[i=1∏m(1−pijxij)]
约束
∑
j
=
1
n
x
i
j
≤
1
,
i
=
1
,
2
,
.
.
.
,
m
\sum_{j=1}^nx_{ij} \le 1,i=1,2,...,m
j=1∑nxij≤1,i=1,2,...,m
x
i
j
∈
{
0
,
1
}
,
i
=
1
,
2
,
.
.
.
,
m
,
j
=
1
,
2
,
.
.
.
,
n
x_{ij} \in \lbrace 0,1 \rbrace,i=1,2,...,m,j=1,2,...,n
xij∈{0,1},i=1,2,...,m,j=1,2,...,n
线性建模
用二进制数来编码武器对目标的分配,设
s
j
s_j
sj表示目标
j
j
j的状态,则敌方目标
j
j
j在状态
s
j
s_j
sj下的生存概率为
P
s
j
=
∏
i
=
1
m
[
1
−
p
i
j
⋅
g
e
t
B
i
n
B
i
t
(
s
j
,
i
)
]
,
s
j
=
0
,
.
.
.
,
2
m
−
1
P_{s_j}= \prod_{i=1}^m[1-p_{ij} \cdot getBinBit(s_j,i)],s_j=0,...,2^m-1
Psj=i=1∏m[1−pij⋅getBinBit(sj,i)],sj=0,...,2m−1
变量
二值变量 y j , s j y_{j,s_{j}} yj,sj表示目标 j j j是否处于状态 s j s_j sj,若处于则为1,否则为0。
目标函数
M i n ∑ j = 1 n W j ∑ s j = 0 2 m − 1 ( y j , s j ⋅ P s j ) Min \sum_{j=1}^n W_j \sum_{s_j=0}^{2^m-1}(y_{j,s_j} \cdot P_{s_j}) Minj=1∑nWjsj=0∑2m−1(yj,sj⋅Psj)
约束
∑
j
=
1
n
∑
s
j
=
0
2
m
−
1
g
e
t
B
i
n
B
i
t
(
s
j
,
i
)
⋅
y
j
,
s
j
≤
1
,
i
=
1
,
2
,
.
.
.
,
m
\sum_{j=1}^n \sum_{s_j=0}^{2^m-1}getBinBit(s_j,i) \cdot y_{j,s_j} \le 1, i=1,2,...,m
j=1∑nsj=0∑2m−1getBinBit(sj,i)⋅yj,sj≤1,i=1,2,...,m
∑
s
j
=
0
2
m
−
1
y
j
,
s
j
=
1
,
j
=
1
,
2
,
.
.
.
,
m
\sum_{s_j=0}^{2^m-1}y_{j,s_j}=1,j=1,2,...,m
sj=0∑2m−1yj,sj=1,j=1,2,...,m
y
j
,
s
j
∈
{
0
,
1
}
,
j
=
1
,
2
,
.
.
.
,
n
,
s
j
=
0
,
.
.
.
,
2
m
−
1
y_{j,s_j} \in \lbrace 0,1 \rbrace ,j=1,2,...,n,s_j=0,...,2^m-1
yj,sj∈{0,1},j=1,2,...,n,sj=0,...,2m−1