控制u的线性问题——Singular Controls

上一篇介绍了控制 u 的线性问题之 Bang-Bang Controls, 我们知道 Bang-Bang 控制是指 \psi(t)=0 仅在单点处成立. 相反的, 如果 \psi(t)=0 在一些区间上​​​​​​​成立, 我们就称 u^{*} 在区间上是 singular (非奇异?非平凡?).

下面将以一个具体的例子说明如何求解 Singular Controls 问题.

Example.  我们考虑如下一个渔业模型的最优化问题. 

\max\limits_{u}\int_{0}^{T}(p q x(t) -c) u(t) dt

subject to \dot{x}(t)=x(t) (1-x(t))-q u(t) x(t)

                                            x(0)=x_{0}>0                                     (1)    

 0\leq u(t)\leq M.

其中 x 表示收获鱼的单位, p 是一个单位的价格, q 是鱼的可捕获性, c 是收获一个单位的成本. 控制 u 是收获所付出的努力, 积分代表总利润、收入减去成本. 我们可以得到

H=(pqx-c)u+\lambda x-\lambda x^{2}-qux\lambda        (2)

\dot{\lambda}=-\frac{\partial H}{\partial x}=-pqu-\lambda+2 \lambda x+qu\lambda            (3)

\psi=\frac{\partial H}{\partial u}=pqx-c-qx\lambda                              (4)

假设\psi \equiv 0 在一些区间上横成立. 同时假设 c>0, 这就意味着 x \neq 0. 因此, 我们由 \psi \equiv 0, 可得

\lambda =\frac{pax-c}{qx}=p-\frac{c}{qx}       (5)

对 (5) 式两边关于 t 求微分, 可得

\dot{\lambda}=\frac{c}{qx^{2}}\dot{x}=\frac{c}{q x}(1-x-qu)   (6)

与 (3) 式连立并结合 (5) 式, 可得

2 x p-p-\frac{c}{q}=0

因此, 

x^{*}(t)=\frac{c+pq}{2 p q}

是一个常值, 因此在 singular interval  上 \dot{x}=0, 利用系统的方程(1), 可得

u^{*}(t)=\frac{pq-c}{2pq^{2}}

注意到, 这个最优控制问题的控制是有界的, 因此, 如果 \frac{pq-c}{2pq^{2}} 不在 [0, M] 内, 那么该问题仍然是一个 Bang-Bang control. 如果 0<\frac{pq-c}{2pq^{2}}<M, 就是 singular control.

那么问题来了, 对于这样的最优控制问题如何数值求解呢? 事实上只需要在更新控制 u 处做一些调整就可以了. 比如对于该问题, 我们需要做如下更改:

for i=1:N+1
temp = p*q*x(i)-c-q*x(i)*lambda(i)
if (temp < 0)
u1(i) = 0;
else if(temp == 0)
u1(i) = (p*q-c)(2*p*q^2);
else
u1(i) = M;
end
end
u = 0.5*(u1 + odeu);

但是, 实际上在数值计算中是很难精确的得到 temp==0 的结果的, 所以在实际计算中, 我们会在零附近取一个很小的区间 ( 如(-0.00001, 0.00001) ) 以此来表示temp==0的情况.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值