非线形优化 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,\[\]);

相关推荐
久菜盒子工作室5 分钟前
量化金融|基于算法和模型的预测研究综述
算法·金融
扑克中的黑桃A8 分钟前
Python学习的自我理解和想法(27)
python
CoovallyAIHub36 分钟前
SBP-YOLO:面向嵌入式悬架的轻量实时模型,实现减速带与坑洼高精度检测
深度学习·算法·计算机视觉
CoovallyAIHub1 小时前
医药、零件、饮料瓶盖……SuperSimpleNet让质检“即插即用”
深度学习·算法·计算机视觉
dragoooon341 小时前
[优选算法专题二滑动窗口——串联所有单词的子串]
数据结构·c++·学习·算法·leetcode·学习方法
刃神太酷啦1 小时前
C++ 异常处理机制:从基础到实践的全面解析----《Hello C++ Wrold!》(20)--(C/C++)
java·c语言·开发语言·c++·qt·算法·leetcode
蓝倾9761 小时前
小红书获取用户作品列表API接口操作指南
java·服务器·前端·python·电商开放平台·开放api接口
Brookty2 小时前
【算法】双指针(二)复写零
学习·算法
yBmZlQzJ2 小时前
PyQt5 修改标签字体和颜色的程序
开发语言·python·qt
胖达不服输2 小时前
「日拱一码」081 机器学习——梯度增强特征选择GBFS
人工智能·python·算法·机器学习·梯度增强特征选择·gbfs