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

相关推荐
forEverPlume11 小时前
PHP怎么使用Eloquent Attribute Composition属性组合_Laravel通过组合构建复杂属性【方法】
jvm·数据库·python
Aleeeeex11 小时前
RAG 那点事:从 8 份企业文档到能用的问答系统,全过程拆给你看
人工智能·python·ai编程
2301_8092047011 小时前
mysql在docker容器中如何部署_利用docker-compose快速启动
jvm·数据库·python
_深海凉_12 小时前
LeetCode热题100-寻找两个正序数组的中位数
算法·leetcode·职场和发展
2301_8009769312 小时前
正则表达式
开发语言·python·正则表达式
码界奇点13 小时前
基于Python的新浪微博数据爬虫系统设计与实现
数据库·爬虫·python·毕业设计·新浪微博·源代码管理
AI木马人13 小时前
1.人工智能实战:大模型推理接口响应慢?从模型加载到 FastAPI 部署的完整优化方案
人工智能·python·fastapi
青少儿编程课堂13 小时前
2026青少儿信息素养大赛备赛指南!Python/Scratch/C++备考要点
开发语言·c++·python
旖-旎13 小时前
深搜练习(电话号码字母组合)(3)
c++·算法·力扣·深度优先遍历
谭欣辰13 小时前
C++快速幂完整实战讲解
算法·决策树·机器学习