非线形优化 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)

式中,输出x是最优解,fval是最优化结果,exitflag是优化成功与否

fun是目标函数(最优化函数)

x0是初始状态

A,b是不等式线性约束

Aeq,beq是等式线性约束

lb和ub是x的约束范围

nonlcon 是非线性约束,和fun同理若此项不存在,用[]替代

案例分析:

比如在无人机追逃过程中,XDi和XAj,分别为一个二维的位置点,a为常数,来求解使得f最小的位置x

参考资源:

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

01规划:intlinprog

matlab中解决01规划使用的是intlinprog函数

https://www.cnblogs.com/goodtwo/p/11145699.html

使用方法为:

 [x,fval]=intlinprog(f,intcon,A,b,Aeq,beq,lb,ub

x是最优解:比如[1,0,1],fval是最优解,f是约束函数的系数,intcon是整数的个数

例如:

三个都是整数变量,intcon=1:3

注意:此函数是求整数规划的最小值,如果是最大值,则优化函数的系数矩阵f去负号

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,[]);

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/519273.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于C/S架构的在线阅读器

项目简介 本项目实现了用户的基本阅读功能。项目内容涉及到IO,网络编程,C,QT等知识点。本次项目服务器搭建在ubuntu上,客户端ui在QT中实现,客户端和服务器使用套接字通信。 一、基本功能展示 (1&#xff…

力扣513 找树左下角的值 Java版本

文章目录 题目描述解题思路代码 题目描述 给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 输入: root [2,1,3] 输出: 1 示例 2: 输入: [1,2,3,4,null,5,6,null,null,7] 输出: 7 提示: 二…

python 截取字符串string.split

目录 作用语法只要第一个值获得第3个值遍历 作用 根据某个符号对数据进行截取 从而获得自己想要的内容 语法 使用’string.split’ 方法 对字符串’123/abc/BPYC’ 以 ‘/’ 进行截取 string "123/abc/BPYC" substring string.split("/") print(subs…

cocos creator 3.7.2使用shader实现图片扫光特效

简介 功能:图片实现扫光效果 引擎:cocos Creator 3.7.2 开发语言:ts 完整版链接 链接https://lengmo714.top/284d90f4.html 效果图 shader代码 // Copyright (c) 2017-2020 Xiamen Yaji Software Co., Ltd. CCEffect %{techniques:- passes:- vert: sprite-vs:vertfrag…

MySQL 备份方案

优质博文:IT-BLOG-CN 一、为什么要备份 【1】容灾恢复:硬件故障、不经意的 Bug 导致数据损坏,或者服务器及其数据由于某些原因不可获取或无法使用等(例如:机房大楼烧毁,恶意的黑客攻击或 Mysql 的 Bug 等&…

Linux:线程控制和原生线程库

文章目录 线程的id和LWP线程的终止线程的返回值问题关于原生线程库问题 本篇总结的内容主要是关于线程的控制专题 线程的id和LWP 对于获取线程的id来说&#xff0c;在Linux系统中存在这样的调用 这个调用就可以获取返回当前线程的id 先写出下面的实例代码 #include <ios…

基于springboot+vue的高校教师电子名片系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

OJ习题之——圆括号编码

圆括号编码 1.题目描述2.完整代码3.图例演示 1.题目描述 题目描述 令Ss1 s2 …sn是一个规则的圆括号字符串。S以2种不同形式编码&#xff1a; &#xff08;1&#xff09;用一个整数序列Pp1 p2 … pn编码&#xff0c;pi代表在S中第i个右圆括号的左圆括号数量。&#xff08;记为…

进程之舞:操作系统中的启动、状态转换与唤醒艺术

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua&#xff0c;在这里我会分享我的知识和经验。&#x…

nmaptocsv.py脚本无法处理结果的备用工具

python nmaptocsv.py -i test.nmap -f ip-fqdn-port-protocol-service-version。 一: 使用背景&#xff1a; 使用一些其他的端口扫描软件&#xff0c;指纹识别可能有些端口 如一次&#xff1a;11011端口是mysql数据库但是别的软件扫不出来是mysql&#xff0c;借助nmap对1101…

基类指针指向派生类对象,基类不带虚函数,子类带虚函数产生的异常分析

基类指针指向派生类对象&#xff0c;基类不带虚函数&#xff0c;子类带虚函数产生的异常分析 基类指针指向派生类对象&#xff0c;指针的起始地址一定是指向基类起始地址的 这种情况下&#xff0c;当基类没有虚函数&#xff0c;而子类存在虚函数时&#xff0c;就会出现问题&am…

lqb省赛日志[1/37]

一只小蒟蒻备考蓝桥杯的日志 文章目录 笔记mod进制转换轻轻崩溃前缀和 差分双指针&#xff08;夹逼&#xff09;人脑思维...->计算机思维历史遗留问题1--22年B组初赛历史遗留问题2--试题 基础练习 阶乘计算 刷题心得小结 笔记 mod 进制转换 进制转换——颠覆小蒟蒻认知了…