非线形优化 Matlab和Python (含01规划)

MATLAB:fmincon

在matlab中,一般使用fmincon来解决非线性优化问题

x,fval,exitflag,output,lambda,grad,hessian\]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options) 一般使用: \[x,fval,exitflag\]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon) ![](https://file.jishuzhan.net/article/1765922248796934146/a95e6c0907d74de23bb433f0911b182d.webp) 式中,输出x是最优解,fval是最优化结果,exitflag是优化成功与否 fun是目标函数(最优化函数) x0是初始状态 A,b是不等式线性约束 Aeq,beq是等式线性约束 lb和ub是x的约束范围 nonlcon 是非线性约束,和fun同理若此项不存在,用\[\]替代 ## 案例分析: 比如在无人机追逃过程中,XDi和XAj,分别为一个二维的位置点,a为常数,来求解使得f最小的位置x ![](https://file.jishuzhan.net/article/1765922248796934146/1592817d11364037efe6da46c5932903.webp) 参考资源: [https://download.csdn.net/download/weixin_44346182/88925127](https://download.csdn.net/download/weixin_44346182/88925127 "https://download.csdn.net/download/weixin_44346182/88925127") ## Python:minimize 在python中,使用scipy库里的minimize函数 ​pip install scipy -i https://pypi.tuna.tsinghua.edu.cn/simple 和matlab类似,res = minimize(fun(), x0, constraints=cons) fun()是要优化的函数 x0是初始状态,co nstraints是约束函数,不过这个是大于0的式子 ## 案例分析 同上的问题,代码 [https://download.csdn.net/download/weixin_44346182/88925133](https://download.csdn.net/download/weixin_44346182/88925133 "https://download.csdn.net/download/weixin_44346182/88925133") ## 01规划:intlinprog matlab中解决01规划使用的是intlinprog函数 [https://www.cnblogs.com/goodtwo/p/11145699.html](https://www.cnblogs.com/goodtwo/p/11145699.html "https://www.cnblogs.com/goodtwo/p/11145699.html") 使用方法为: \[x,fval\]**=intlinprog(f,intcon,A,b,Aeq,beq,lb,ub****)** ![](https://file.jishuzhan.net/article/1765922248796934146/5baceaf0cd8bbdf9303ea31d2da4b79a.webp) x是最优解:比如\[1,0,1\],fval是最优解,f是约束函数的系数,intcon是整数的个数 例如: ![](https://file.jishuzhan.net/article/1765922248796934146/069ef0ff2e6bf3062fd89d7eae748b79.webp) 三个都是整数变量,intcon=1:3 注意:此函数是求整数规划的最小值,如果是最大值,则优化函数的系数矩阵f去负号 ![](https://file.jishuzhan.net/article/1765922248796934146/faeb2b06bc4ef52ea3bef5a9bfd0bf2d.webp) f=\[-5 -8\]; A=\[1 1;5 9\]; b=\[6 45\]; lb=zeros(2,1);%约束范围 intcon=\[1 2\]; \[x,fval\]=intlinprog(f,intcon,A,b,\[\],\[\],lb,\[\]);

相关推荐
kyle~22 分钟前
OpenCV---特征检测算法(ORB,Oriented FAST and Rotated BRIEF)
人工智能·opencv·算法
初学小刘29 分钟前
决策树:机器学习中的强大工具
算法·决策树·机器学习
nightunderblackcat30 分钟前
进阶向:人物关系三元组,解锁人物关系网络的钥匙
开发语言·python·开源·php
山顶风景独好32 分钟前
【Leetcode】随笔
数据结构·算法·leetcode
站大爷IP1 小时前
Pandas与NumPy:Python数据处理的双剑合璧
python
站大爷IP1 小时前
Python枚举进化论:IntEnum与StrEnum的实战指南
python
甄超锋1 小时前
python sqlite3模块
jvm·数据库·python·测试工具·django·sqlite·flask
lxmyzzs2 小时前
【图像算法 - 16】庖丁解牛:基于YOLO12与OpenCV的车辆部件级实例分割实战(附完整代码)
人工智能·深度学习·opencv·算法·yolo·计算机视觉·实例分割
R-G-B2 小时前
OpenCV Python——Numpy基本操作(Numpy 矩阵操作、Numpy 矩阵的检索与赋值、Numpy 操作ROI)
python·opencv·numpy·numpy基本操作·numpy 矩阵操作·numpy 矩阵的检索与赋值·numpy 操作roi
细节处有神明3 小时前
Jupyter 中实现交互式图表:ipywidgets 从入门到部署
ide·python·jupyter