学习完SOSTOOLS工具箱后,开始学习平方和规划(Sum-of-Square Programming,SOSP)理论估计非线性系统的吸引域(Region of Attraction, ROA)。因为,非线性系统的全局渐近稳定性很难得到验证,一般都是得到一个局部围绕平衡点的吸引域。
SOS的定义
对于有 n n n 个实变量的多元多项式 p ( x ) p(x) p(x),其中 x x x 是分量为 x 1 , . . . , x n x_1,...,x_n x1,...,xn 的向量。如果存在多项式 f i ( x ) f_i(x) fi(x) 使得: p ( x ) = ∑ i = 1 M f i 2 ( x ) (1) p(x)=\sum_{i=1}^Mf_i^2(x)\tag{1} p(x)=i=1∑Mfi2(x)(1)那么多元多项式 p ( x ) p(x) p(x) 就被称为 SOS。
SOS多项式的集合表示为 ∑ [ x ] \sum[x] ∑[x],如果 p ( x ) p(x) p(x) 是SOS,那么它是半正定的(平方的和都是非负的)。
对于
p
(
x
)
p(x)
p(x) 来说,它的阶数就是最高阶单项式的阶数,比如
p
(
x
)
=
x
1
6
+
x
2
3
x
3
4
p(x) = x_1^6+x_2^3x_3^4
p(x)=x16+x23x34阶数为
3
+
4
=
7
3+4=7
3+4=7。
如果
p
(
x
)
p(x)
p(x) 是SOS,可以写成:
p
(
x
)
=
Z
T
(
x
)
Q
0
Z
(
x
)
=
Z
T
(
x
)
(
Q
0
+
∑
i
=
1
N
λ
i
M
i
)
Z
(
x
)
(2)
p(x)=Z^T(x)Q_0Z(x)=Z^T(x)(Q_0+\sum_{i=1}^N\lambda_iM_i)Z(x)\tag{2}
p(x)=ZT(x)Q0Z(x)=ZT(x)(Q0+i=1∑NλiMi)Z(x)(2)
其中
Q
0
>
0
Q_0>0
Q0>0 是Gram矩阵。
因此,如果存在
λ
i
\lambda_i
λi 使得
Q
=
Q
0
+
∑
i
=
1
N
λ
i
M
i
≥
0
(3)
Q = Q_0+\sum_{i=1}^N\lambda_iM_i\geq0\tag{3}
Q=Q0+i=1∑NλiMi≥0(3)
则
p
(
x
)
p(x)
p(x) 是SOS,这是一个LMI的可行性问题。
综上,我们可以总结一下:并不是所有的非负的多项式都是SOS,但是所有的SOS都是非负的多项式,也就是SOS是非负多项式的充分不必要条件。但是检查SOS分解是否存在在计算上可以通过多项式的复杂性进行分解,通过此来寻找非线性系统的Lyapunov函数。
广义S-procedure
S-procedure的目的就是将一些不是凸约束的问题转化成LMI约束。
考虑
p
0
(
x
)
p_0(x)
p0(x),
x
∈
D
x \in D
x∈D
p
(
x
)
≥
0
:
R
n
⟹
R
p(x)\geq0: \mathbb{R}^n \Longrightarrow \mathbb{R}
p(x)≥0:Rn⟹R为了限制
x
x
x的域,需要
p
i
(
x
)
≥
0
,
.
.
.
,
p
m
(
x
)
≥
0
p_i(x)\geq0,...,p_m(x)\geq0
pi(x)≥0,...,pm(x)≥0
则有:
∩
i
=
1
m
{
x
∈
R
n
∣
p
i
(
x
)
≥
0
}
⊆
{
x
∈
R
n
∣
p
0
(
x
)
≥
0
}
(4)
\cap_{i=1}^m\{x\in\mathbb{R}^n|p_i{(x)}\geq0\}\subseteq\{x\in\mathbb{R}^n|p_0(x)\geq0\}\tag{4}
∩i=1m{x∈Rn∣pi(x)≥0}⊆{x∈Rn∣p0(x)≥0}(4)
存在半正定函数
q
1
(
x
)
,
.
.
.
,
q
m
(
x
)
q_1(x),...,q_m(x)
q1(x),...,qm(x)使得:
p
0
(
x
)
−
∑
i
=
1
m
q
i
(
x
)
p
i
(
x
)
≥
0
(5)
p_0(x)-\sum_{i=1}^mq_i(x)p_i(x)\geq0\tag{5}
p0(x)−i=1∑mqi(x)pi(x)≥0(5)
我的理解大概就是:先判断
p
0
(
x
)
−
∑
i
=
1
m
q
i
(
x
)
p
i
(
x
)
≥
0
p_0(x)-\sum_{i=1}^mq_i(x)p_i(x)\geq0
p0(x)−∑i=1mqi(x)pi(x)≥0成立,同时,
p
i
(
x
)
≥
0
,
.
.
.
,
p
m
(
x
)
≥
0
p_i(x)\geq0,...,p_m(x)\geq0
pi(x)≥0,...,pm(x)≥0,那么可以得到
p
(
x
)
≥
0
p(x)\geq0
p(x)≥0
吸引域估计
考虑以下形式的自治非线性系统:
x
˙
=
f
(
x
(
t
)
)
\dot x=f(x(t))
x˙=f(x(t)),假设
f
(
0
)
=
0
f(0)=0
f(0)=0。如果
ξ
(
x
0
,
t
)
\xi(x_0,t)
ξ(x0,t)是在
t
t
t时刻的解,初始条件是
ξ
(
x
0
,
0
)
=
x
0
\xi(x_0,0)=x_0
ξ(x0,0)=x0。吸引域是
{
x
0
∈
R
n
:
l
i
m
t
→
∞
ξ
(
x
0
,
t
)
=
0
}
\{x_0\in\mathbb{R}^n: lim_{t\rightarrow\infty}\xi(x_0,t)=0\}
{x0∈Rn:limt→∞ξ(x0,t)=0}。对于
t
>
0
t>0
t>0,
x
0
∈
M
x_0\in\mathcal{M}
x0∈M意味着
ξ
(
x
0
,
t
)
∈
M
\xi(x_0,t)\in\mathcal{M}
ξ(x0,t)∈M,那么,集合
M
\mathcal{M}
M 在
f
(
x
(
t
)
)
f(x(t))
f(x(t))下是不变的。
Theorem 1(Lyapunov稳定性的充分条件) 考虑以下形式的自治非线性系统:
x
˙
=
f
(
x
(
t
)
)
\dot x=f(x(t))
x˙=f(x(t)),
x
x
x是状态向量,
f
f
f 是局部 Lipschitz 函数,描述系统动力学。该系统局部稳定的条件是:存在连续可微函数
V
V
V,使得下面两个条件成立:
(1) 对于所有
x
≠
0
x\neq 0
x=0,有
V
(
x
)
>
0
V(x)>0
V(x)>0,同时
V
(
0
)
=
0
V(0)=0
V(0)=0
(2)
V
˙
(
x
)
≤
0
\dot V(x)\leq0
V˙(x)≤0,即
∇
x
V
(
x
)
f
(
x
)
≤
0
\nabla xV(x)f(x)\leq0
∇xV(x)f(x)≤0
此外,如果
∇
x
V
(
x
)
f
(
x
)
<
0
\nabla xV(x)f(x)<0
∇xV(x)f(x)<0,平衡点是局部渐近稳定的。
具有多项式向量场的Lyapunov函数可以通过上述两个条件放宽到SOS约束来构造,假设
φ
i
\varphi_i
φi 是正定多项式定义为:
φ
i
(
x
)
=
∑
j
=
1
n
ϵ
i
j
x
j
2
(6 )
\varphi_i(x)=\sum_{j=1}^n \epsilon_{ij}x_j^2\tag{6 }
φi(x)=j=1∑nϵijxj2(6 ) 其中,
ϵ
i
j
\epsilon_{ij}
ϵij是比较小的正实数。可以使用SOSP在原点建立平衡的局部渐近稳定性
Program 1:给定具有多项式向量场的ODE系统,如果能找到
V
(
x
)
V(x)
V(x),使得
V
(
0
)
=
0
V(0)=0
V(0)=0,并且
q
(
x
)
∈
∑
[
x
]
q(x)\in\sum[x]
q(x)∈∑[x],
V
(
x
)
−
φ
1
(
x
)
∈
∑
[
x
]
(7)
V(x)-\varphi_1(x)\in\sum[x]\tag{7}
V(x)−φ1(x)∈∑[x](7)
−
∇
x
V
(
x
)
f
(
x
)
−
φ
2
(
x
)
+
q
(
x
)
g
(
x
)
∈
∑
[
x
]
(8)
-\nabla_xV(x)f(x)-\varphi_2(x)+q(x)g(x)\in\sum[x]\tag{8}
−∇xV(x)f(x)−φ2(x)+q(x)g(x)∈∑[x](8)则可以检查原点平衡的局部渐近稳定性。
其中
(
7
)
(7)
(7) 是由
V
(
x
)
>
0
V(x)>0
V(x)>0,
V
(
0
)
=
0
V(0)=0
V(0)=0 得到,
(
8
)
(8)
(8) 是由
∇
x
V
(
x
)
f
(
x
)
≤
0
\nabla xV(x)f(x)\leq0
∇xV(x)f(x)≤0 和 S-procedure得到。
对于具有有理形式的系统
x
˙
=
n
(
x
)
d
(
x
)
,
d
(
x
)
>
0
\dot x=\frac{n(x)}{d(x)},d(x)>0
x˙=d(x)n(x),d(x)>0
将约束
(
8
)
(8)
(8)乘以
d
(
x
)
d(x)
d(x)得到了可以使用SOS分解的形式,那么就可以使用 Program 1 来检查原点的稳定性,可以得到:
Program 2
V
(
x
)
−
φ
1
(
x
)
∈
∑
[
x
]
(9)
V(x)-\varphi_1(x)\in\sum[x]\tag{9}
V(x)−φ1(x)∈∑[x](9)
−
∇
x
V
(
x
)
n
(
x
)
−
φ
2
(
x
)
d
(
x
)
+
q
(
x
)
g
(
x
)
d
(
x
)
∈
∑
[
x
]
(10)
-\nabla_xV(x)n(x)-\varphi_2(x)d(x)+q(x)g(x)d(x)\in\sum[x]\tag{10}
−∇xV(x)n(x)−φ2(x)d(x)+q(x)g(x)d(x)∈∑[x](10)那么在建立平衡点的稳定性之后,就可以尝试去估计ROA了。
Lemma 1 假设
γ
>
0
\gamma>0
γ>0 , 并存在连续可微函数
V
:
R
n
→
R
V: \mathbb{R}^n\rightarrow\mathbb{R}
V:Rn→R 使得:
(1)
V
(
0
)
=
0
V(0)=0
V(0)=0, 且对所有非零
x
∈
R
n
x\in\mathbb{R}^n
x∈Rn 有
V
(
x
)
>
0
V(x)>0
V(x)>0
(2)
M
V
,
γ
=
{
x
∈
R
n
:
V
(
x
)
≤
γ
}
\mathcal{M}_{V,\gamma}=\{x\in\mathbb{R}^n:V(x)\leq\gamma\}
MV,γ={x∈Rn:V(x)≤γ}是有界的
(3)
M
V
,
γ
\
{
0
}
⊂
{
x
∈
R
n
:
∇
x
V
(
x
)
f
(
x
)
≤
0
}
\mathcal{M}_{V,\gamma} \backslash \{0\}\subset\{x\in\mathbb{R}^n: \nabla xV(x)f(x)\leq0\}
MV,γ\{0}⊂{x∈Rn:∇xV(x)f(x)≤0}
那么,对于所有的
x
0
∈
M
V
,
γ
x_0\in\mathcal{M}_{V,\gamma}
x0∈MV,γ,非线性系统的解
ξ
(
x
0
,
t
)
\xi(x_0,t)
ξ(x0,t) 存在于
[
0
,
∞
]
[0,\infty]
[0,∞] 上,且对于
t
≥
0
t\geq0
t≥0,
l
i
m
t
→
∞
ξ
(
x
0
,
t
)
=
0
lim_{t\rightarrow\infty}\xi(x_0,t)=0
limt→∞ξ(x0,t)=0。
如果 Lemma 1 满足,则
M
V
,
γ
\mathcal{M}_{V,\gamma}
MV,γ 是平衡点处的 ROA 不变子集。对于在
M
V
,
γ
\mathcal{M}_{V,\gamma}
MV,γ 内的任何初始条件
x
0
x_0
x0,非线性系统的开环解都收敛于原点。
(
3
)
(3)
(3)中两个集合均由不等式描述,通过 S-procedure 来建立包含关系。如果
φ
(
x
)
\varphi(x)
φ(x)是正定的,
q
(
x
)
q(x)
q(x) 是半正定的,同时
q
(
x
)
(
V
(
x
)
−
γ
)
≥
(
φ
(
x
)
+
∇
x
V
f
(
x
)
)
q(x)(V(x)-\gamma)\geq(\varphi(x)+\nabla _xVf(x))
q(x)(V(x)−γ)≥(φ(x)+∇xVf(x))那么
(
3
)
(3)
(3) 成立。
所以,要寻找满足 Lemma 1 非负条件的 Lyapunov函数的问题可以使用 SOS 松弛方法,将其转化为 SDP 问题。通过找到使得稳定性条件成立的 Lyapunov 函数的最大水平集 γ \gamma γ 来估计吸引域的大小。
Program 3 有理系统
x
˙
=
n
(
x
)
d
(
x
)
,
d
(
x
)
>
0
\dot x=\frac{n(x)}{d(x)},d(x)>0
x˙=d(x)n(x),d(x)>0 平衡点周围的吸引域可以通过找到使得
β
\beta
β 最大化的
V
V
V,
q
1
∈
∑
[
x
]
q_1\in\sum[x]
q1∈∑[x],
q
2
∈
∑
[
x
]
q_2\in \sum[x]
q2∈∑[x] 来估计,这样:
m
a
x
β
max~~~ \beta
max β
V
(
x
)
−
φ
1
(
x
)
∈
∑
[
x
]
(11)
V(x)-\varphi_1(x)\in\sum[x]\tag{11}
V(x)−φ1(x)∈∑[x](11)
q
1
(
x
)
(
s
(
x
)
−
β
)
−
(
V
(
x
)
−
γ
)
∈
∑
[
x
]
(12)
q_1(x)(s(x)-\beta)-(V(x)-\gamma)\in\sum[x]\tag{12}
q1(x)(s(x)−β)−(V(x)−γ)∈∑[x](12)
−
∇
x
V
(
x
)
n
(
x
)
−
φ
2
(
x
)
d
(
x
)
+
q
2
(
x
)
d
(
x
)
(
V
(
x
)
−
γ
)
∈
∑
[
x
]
(13)
-\nabla_xV(x)n(x)-\varphi_2(x)d(x)+q_2(x)d(x)(V(x)-\gamma)\in\sum[x]\tag{13}
−∇xV(x)n(x)−φ2(x)d(x)+q2(x)d(x)(V(x)−γ)∈∑[x](13)
条件
(
11
)
(11)
(11) 确保 Lemma 1.1 满足,保证
V
(
x
)
V(x)
V(x)的正定性
条件
(
12
)
(12)
(12) 确保
M
s
,
β
=
{
s
(
x
)
≤
β
}
⊂
M
V
,
γ
=
{
V
(
x
)
≤
γ
}
\mathcal{M}_{s,\beta}=\{s(x)\leq\beta\}\subset\mathcal{M}_{V,\gamma}=\{V(x)\leq\gamma\}
Ms,β={s(x)≤β}⊂MV,γ={V(x)≤γ},其中,
s
(
x
)
s(x)
s(x) 是给定的形状函数
条件
(
13
)
(13)
(13) 确保 Lemma 1.3 满足,强迫
V
˙
(
x
)
\dot V(x)
V˙(x) 为负值。
因此要使得
β
\beta
β 最大,来使得 ROA 的面积最大
算法: Program 3 可以通过重复以下步骤来迭代求解,直到
β
\beta
β 不再改进。
(1)
γ
\gamma
γ step:初始化
V
V
V,通过找到
q
2
(
x
)
q_2(x)
q2(x) 使得 (13) 成立来最大化
γ
\gamma
γ
(2)
β
\beta
β step:保持
V
V
V
γ
\gamma
γ
q
2
(
x
)
q_2(x)
q2(x) 固定,并通过找到
q
1
(
x
)
q_1(x)
q1(x)使得 (12) 成立来最大化
β
\beta
β
(3)
V
V
V step:保持
γ
\gamma
γ
β
\beta
β
q
1
(
x
)
q_1(x)
q1(x)
q
2
(
x
)
q_2(x)
q2(x) 固定,并找到
V
V
V 使得 (11)-(13) 成立
γ
\gamma
γ:通过
γ
\gamma
γ 的二分法来求解约束(13),直到
γ
\gamma
γ的下估计值和上估计值之间的差异达到某个指定阈值。
β
\beta
β:通过
β
\beta
β 的二分法来求解约束(12),直到
β
\beta
β的下估计值和上估计值之间的差异达到某个指定阈值。
V
V
V
q
1
(
x
)
q_1(x)
q1(x)
q
2
(
x
)
q_2(x)
q2(x) 不需要包含常数项。
论文中建议的多项式阶数如下:
d
e
g
(
V
)
≥
d
e
g
(
φ
1
)
deg(V)\geq deg(\varphi_1)
deg(V)≥deg(φ1)
d
e
g
(
q
1
)
+
d
e
g
(
s
)
≥
d
e
g
(
V
)
deg(q_1)+deg(s)\geq deg(V)
deg(q1)+deg(s)≥deg(V)
d
e
g
(
q
2
)
+
d
e
g
(
d
)
≥
d
e
g
(
n
)
−
1
deg(q_2)+deg(d)\geq deg(n)-1
deg(q2)+deg(d)≥deg(n)−1