最优控制——变分法

最优控制——变分法第一章最优控制基础1、一般的最优化问题要最小化的性能指标定义在数域上,而变分问题的性能指标(目标泛函)的定义域是函数的集合。2、泛函:从任意定义域到实数域或复数域的映射。泛函的定义域是函数集,

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

 

第一章 最优控制基础

1、一般的最优化问题要最小化的性能指标定义在数域上,而变分问题的性能指标(目标泛函)的定义域是函数的集合。

2、 泛函:从任意定义域到实数域或复数域的映射。泛函的定义域是函数集,值域是数集,也就是说,泛函是从函数空间到数域的一个映射

3、最优控制问题的四个基本元素:状态方程、容许控制、目标集、性能指标

其中状态方程(关于状态变量和控制变量的常微分方程)

最优控制——变分法

 

是最优控制问题与经典变分问题的重要区别之一

4、经典变分问题需要连续的控制变量—>之后的极小值原理处理不连续控制变量、状态变量或者控制变量有约束的情况—>更复杂的非线性状态方程、控制变量不可微等      动态规划方法

5、无确定模型的最优控制方法:强化学习与自适应动态规划、模型预测控制、微分博弈、平行控制

第二章 最优控制方法

1、直接变分法 实质:以函数为输入,以实数为输出

在局部范围内对最优解加以”扰动“,再考察性能指标是否发生变化。利用微积分取极限的思想。

(链式法则,先对x求,再对x’求,以及分步积分巴拉巴拉复习一下最优控制——变分法

2、拉格朗日的delata方法,加以扰动,对比最优曲线和扰动后的曲线,看新的性能指标是不是会<最优的,若是极值点,这个增量应该总是>=0的,在该点足够小的邻域内是几乎为0的

最优控制——变分法

得出

最优控制——变分法 

问题:可能导致扰动后x落在定义域之外,结论不再有效

3、拉格朗日乘子法和KKT条件

 

第三章 变分法

1、函数变分:函数的增量 delta x    

泛函增量:J(x+delta x)-J(x)    类比计算极值的时候函数值的差

线性泛函:若满足齐次性条件和可加性条件,则称之为线性泛函

若泛函增量可以写成函数变分的线性泛函及其高阶无穷小项的两部分加和,则称泛函对函数x可微,且其中的线性泛函就是泛函变分。

2、泛函极值的必要条件

驻点条件:泛函变分为0(反证法,前提是定义域是开集) 

适用场景:控制变量可在全空间中任意取值没有约束,容许控制为连续函数全体。

不适用场景:控制变量或其分量取值于实数空间中的闭区间

3、最简变分法:(欧拉-拉格朗日方程)

最优控制——变分法

 

求变分不止可以用看线性泛函和高阶无穷小,还可以用微积分的方法求解:

最优控制——变分法

 

4、 欧拉-拉格朗日方程是关于状态x的二阶微分方程

分为三种情况:

最优控制——变分法三种结果:

最优控制——变分法

最优控制——变分法

 

最优控制——变分法

5、hamilton方程组

物理学家将欧拉-拉格朗日这个二阶微分方程化成了一阶常微分方程组

6、等式约束的处理

拉格朗日乘子法

最优控制——变分法

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/167735.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • CPU测试_性能测试cpu温度多少范围正常

    CPU测试_性能测试cpu温度多少范围正常目录一系统性能测试指标1.1响应时间1.2并发1.3点击量/点击率1.4吞吐量/吞吐率1.5TPS/QPS1.6PV/UV二Linux服务器性能指标2.1CPU使用率2.2内存占用率2.3系统平均负载2.4磁盘IO2.5linux常用性能命令2.5.1CPU2.5.2内存2.5.3负载2.5.4磁盘2.5.5整体性能测试指标是衡量系统性能的评价标准,常用的系统性能测试指标包括:响应时间…

    2025年8月20日
    16
  • 深度学习 相机标定_相机标定

    深度学习 相机标定_相机标定术语内参矩阵:IntrinsicMatrix焦距:FocalLength主点:PrincipalPoint径向畸变:RadialDistortion切向畸变:TangentialDistortion旋转矩阵:RotationMatrices平移向量:TranslationVectors平均重投影误差:MeanReprojectionError重投影误差:Repr…

    2022年5月28日
    93
  • 新的历程-近两个月的工作总结

    新的历程-近两个月的工作总结

    2021年11月15日
    47
  • Python的lambda表达式

    Python的lambda表达式1、lambda只是一个表达式,函数体比def简单很多2、lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去3、lambda函数拥有自己的名字空间,且不能访问自有参数列表之外或全局名字空间里的参数4、简单单行代码或者一次性的函数可以用lambda函数来书写,可以让代码更简洁。5、对于复杂函数或者函数体体量大的函数,最好不要用lambda函数,会增加代码的阅读难度,使代码晦涩难懂。6、在非多次调用的函数的情况下,lambda表达式即用既得,提高性能

    2022年10月18日
    2
  • vc怎么改变背景颜色_vc运行界面怎么设置颜色

    vc怎么改变背景颜色_vc运行界面怎么设置颜色最近眼睛发炎,特别怕亮色,看到vc的开发环境都太亮,于是想修改。1>在菜单”Tools”->”Options”的最后一页”Format”中选择“sourcewindow”,将前景色改为黑色,将背景色改为淡灰色。2>改变系统的窗口背景色.设置方法:桌面右击属性选择外观

    2022年8月12日
    48
  • Java—Sort排序

    Java—Sort排序Java中Sort排序是非常常用的方法,这一章我们主要来认识一下Sort的用法和相关的实现。一、数组Sort排序升序排序,直接使用Arrays.Sort方法,例如:int[]array={10,3,6,1,4,5,9};//正序排序Arrays.sort(array);//会检查数组个数大于286且连续性好就使用归并排序,若小于47使用插入排序,其余情况使用双轴快速排序Sy…

    2022年7月12日
    22

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号