昨天查了不能说一晚上吧,也差不多,不知道是问题太简单了还是没有多少能说清楚的,但至少网上的回答令我大失所望,让我云里雾里的,完全迷惑了这些名词到底是个啥,如何清楚的理解它们。
幸好之前搞了一本清华大学出版社出版的《运筹学基础》,晚上泡脚的时候终于搞明白了这些概念。为让跟我一样困惑的初学者们能清楚的理解它们的含义,故此记录。
文章目录
可行解基向量和非基向量基变量、非基变量、基解基本可行解图解
首先我们先列出线性规划的数学模型,通过该模型来一一说明每个概念的含义。
m
a
x
Z
=
c
x
(1)
max Z= \bf cx \tag 1
maxZ=cx(1)
s
.
t
.
A
x
=
b
(2)
s.t.\, \, \, \bf Ax=b \tag 2
s.t.Ax=b(2)
x
≥
0
(3)
\bf x≥0 \tag 3
x≥0(3) 其中,
A
\bf A
A是
m
∗
n
m*n
m∗n 的矩阵(系数矩阵),
r
(
A
)
=
m
r(A)=m
r(A)=m表示线性规划模型的秩,且
n
>
m
n>m
n>m。
注:这说明方程个数=r
可行解
凡是满足约束条件(2)和(3)的解
x
=
[
x
1
x
2
⋮
x
n
]
\bf x=\begin {bmatrix} x_1 \\x_2 \\ \vdots\\ x_n\end {bmatrix}
x=⎣⎢⎢⎢⎡x1x2⋮xn⎦⎥⎥⎥⎤称为线性规划问题的可行解,同时满足目标函数(1)的可行解成为最优解。
基向量和非基向量
设线性规划约束方程组中的系数矩阵
A
\bf A
A的秩为
m
(
n
>
m
)
m(n>m)
m(n>m),则
A
\bf A
A中任一个
m
\bf m
m阶可逆矩阵
B
\bf B
B 称为线性规划问题的一个基矩阵,简称基。记
B
=
(
p
1
,
p
2
,
⋯
,
p
m
)
\bf B=( p_1, p_2,\cdots,p_m)
B=(p1,p2,⋯,pm),则称
p
j
(
j
=
1
,
2
,
⋯
,
m
)
p_j(j=1,2,\cdots,m)
pj(j=1,2,⋯,m) 为
B
\bf B
B的一个基向量,而
A
\bf A
A 中剩余
n
−
m
n-m
n−m个列向量称为非基向量。
何为任一? 也就是说
B
\bf B
B 是矩阵
A
\bf A
A 中任一m列组成的矩阵,那么
B
\bf B
B 可以表示为(假设矩阵
A
\bf A
A有四列,
r
=
2
r=2
r=2):
B
=
(
p
1
,
p
2
)
o
r
B
=
(
p
1
,
p
3
)
o
r
B
=
(
p
1
,
p
4
)
o
r
B
=
(
p
2
,
p
3
)
o
r
B
=
(
p
2
,
p
4
)
o
r
B
=
(
p
3
,
p
4
)
\bf B=(p_1,p_2) or B=(p_1,p_3) or B=(p_1,p_4) or B=(p_2,p_3) or B=(p_2,p_4) or B=(p_3,p_4)
B=(p1,p2)orB=(p1,p3)orB=(p1,p4)orB=(p2,p3)orB=(p2,p4)orB=(p3,p4) , 只要
B
\bf B
B可逆,即
∣
B
∣
≠
0
\bf |B|≠0
∣B∣=0, 则就有基本解,也就是后边提到的线性规划最多有基本解的个数为
C
n
m
C{^m_n}
Cnm
基变量、非基变量、基解
取
A
\bf A
A中一个基
B
=
(
p
1
,
p
2
,
⋯
,
p
m
)
\bf B=(p_1,p_2,\cdots,p_m)
B=(p1,p2,⋯,pm) , 对应的基变量为
x
1
,
x
2
,
⋯
,
x
m
\bf x_1,x_2,\cdots,x_m
x1,x2,⋯,xm, 则
x
m
+
1
,
x
m
+
2
,
⋯
,
x
n
\bf x_{m+1},x_{m+2},\cdots,x_n
xm+1,xm+2,⋯,xn 为非基变量,当非基变量取值均为零时且满足约束(2)的一个解
x
x
x 称为关于基
B
\bf B
B的一个基本解,线性规划问题最多只有
C
n
m
C{^m_n}
Cnm个基本解
基本可行解
若一个基本解
x
x
x同时满足非负约束条件(3),则称
x
x
x为基本可行解。
图解
其实,这些概念的大小关系可以通过一张图完美的解释,上图 从图中我们可以得出这样的一些结论(自己理解):
可行解或者基本解是针对约束而言的,最优解是针对约束和目标函数而言的;基本可行解是可行解的一个特解;基本解中存在非可行性解,换句话说非可行解最多只满足约束中的一个,而不能同时满足两个约束,也存在非可行解满足目标函数,但不完全满足约束的情况
第三条或许就是为什么很多多目标EA对比分析feasible solutions 和infeasible solutions的原因了。但在例如NSGA中 infeasible solution与feasible solution是在constraint中提到的,感觉是为了保证多样性,即使两个均为infeasible solution,还是选择了smaller constraint violation的那个解,让其拥有better Pareto Rank。
疑问:是不是所谓的最优解中存在infeasible solutions呢?(🐶)