前言

该节主要说明OPTI非线性求解工具箱的安装与使用

1、简介

OPTI是一个开源的MATLAB优化工具箱,相比MATLAB自带非线性优化求解函数fmincon,该优化器更加人性化,同时也有丰富的求解方法可供选择,后续的MPC求解将使用该工具箱完成求解。

2、下载链接链接

https://www.inverseproblem.co.nz/OPTI/index.php/DL/DownloadOPTI

GitHub源码下载链接

https://github.com/jonathancurrie/OPTI

3、可供选择的求解器

线性规划 CLP,CSDP,DSDP,GLPK,LP_SOLVE,OOQP,SCIP

混合整数线性规划 CBC,GLPK,LP_SOLVE,SCIP

二次规划 CLP,OOQP,SCIP

混合整数二次规划 SCIP

二次约束二次规划 SCIP

混合整数二次约束二次规划 SCIP

半定规划 CSDP,DSDP

非线性方程组 HYBRJ,LM_DER,MKLTRNLS,NL2SOL

非线性最小二乘 LEVMAR,LM_DER,MKLTRNLS,NL2SOL

非线性规划 FILTERSD,IPOPT,L-BFGS-B,M1QN3,NLOPT,SCIP

全局非线性规划 NLOPT,NOMAD,PSWARM,SCIP

混合整数非线性规划 BONMIN,NOMAD,SCIP

4、安装过程

a.使用2中的链接完成opti的源码下载,并完成解压,放置在合适的文件夹

b.打开MATLAB,进入到文件夹所在路径

c.点击opti_Install.m文件,并运行

d.按照命令窗口的提示,选择‘Y’完成安装

5、示例

https://www.inverseproblem.co.nz/OPTI/index.php/Examples/Examples

带约束的非线性方程组求解

MATLAB代码

% Objective (fun(x))
fun = @(x) x(1)*x(4)*sum(x(1:3)) + x(3);
% Row Nonlinear Constraints
nlcon = @(x) [ prod(x); sum(x.^2) ];
cl = [25;40];
cu = [Inf;40];
% Bounds (lb <= x <= ub)
lb = ones(4,1);
ub = 5*ones(4,1);
% 初始值设置
x0 = [1 5 5 1]';
% Build OPTI Object
Opt = opti('fun',fun,'nl',nlcon,cl,cu,'bounds',lb,ub)
% Solve Problem
[x,fval] = solve(Opt,x0)

6、optiset项的相关设置

各个参数的具体设置可以查看该链接 https://www.inverseproblem.co.nz/OPTI/index.php/Advanced/Opts#sOpts

基于simulink的光伏电站仿真_基于 Carsim 2016 和 Simulink的无人车运动控制联合仿真(二)...相关推荐

  1. 基于gazebo实现多无人车的编队仿真(一)

    基于gazebo实现多无人车的编队仿真(一)--多机器人的显示 研究背景 宏定义部分 gazebo的gui启动以及world启动 多机器人模型显示部分 致谢 研究背景 网上已经有许多的多机器人显示的资 ...

  2. 基于cnn的短文本分类_基于时频分布和CNN的信号调制识别分类方法

    文章来源:IET Radar, Sonar & Navigation, 2018, Vol. 12, Iss. 2, pp. 244-249. 作者:Juan Zhang1, Yong Li2 ...

  3. 基于python的入侵检测系统毕设_基于时空特征融合的入侵检测系统模型

    期刊:COMPUTERS & SECURITY 期刊信息:JCR分区Q1:中科院分区2区:引用因子4.85 摘要: 入侵检测系统可以通过分析网络流量的特征来区分正常流量和攻击流量.近年来,神经 ...

  4. python基于svm项目+课程设计报告_基于机器学习的脑电病理诊断

    是新朋友吗?记得先点蓝字关注我哦- (图片来自于网络) 1 引言 将机器学习方法应用于脑电信号的自动分析,特别是在基于脑电信号的临床诊断领域,因其巨大的应用前景而引起了广泛的兴趣.例如,它是检测和预测 ...

  5. ansys怎么使用anand模型_【干货】经典ANSYS 与 Workbench如何实现联合仿真,相互切换操作。...

    原标题:[干货]经典ANSYS 与 Workbench如何实现联合仿真,相互切换操作. ANSYS经典界面操作比较繁琐,但是能够实现很多具体化的操作,不过有时候学起来真的比较繁琐,然而转入workbe ...

  6. XTDrone无人机、无人车等自动控制仿真平台

    简要背景 近年来,无人机的智能化程度不断提高,集群的规模不断增大,在这种背景下,良好的无人机通用仿真平台的重要性越发凸显.相较于无人车和地面机器人,无人机更容易出现失控问题.因此,如果利用真实无人机进 ...

  7. 基于pt100温度计仿真_基于8pt网格的设计系统

    基于pt100温度计仿真 重点 (Top highlight) This article is the 2nd in a two part series - to the previous chapt ...

  8. Matlab/Simulink自动生成STM32代码_基于模型的开发_环境搭建

    目录 前言 官方简介 Matlab R2018b安装 STM32-MAT/TARGET 安装 STM32CubeMX 安装 STM32CubeIDE, Keil安装 ST-Link驱动安装 微信公众号 ...

  9. 基于wincc的虚拟电梯设计_一文带你了解西门子整个虚拟调试与仿真软硬件体系...

    写在面前 大家好,我是小智,智能制造之家号主~ 经常有朋友关注到PLCSIM.SIMIT.Amesim.NX MCD. Process Simulate.Plant Simulation等,但都不知道 ...

最新文章

  1. 卷积神经网络补充—GoogleNet
  2. 自从阿里买了Flink母公司以后,你不懂Flink就out了!
  3. 【数据结构的魅力】002.单向、双向链表栈和队列递归
  4. mysql时间总结_MYSQL日期时间总结
  5. Unity3D之创建3D游戏场景
  6. 线性系统大作业——1.一阶倒立摆建模与控制系统设计
  7. 关于交换机端口的Trunk和Access模式的分析与验证
  8. 程序员叫啥名字_什么是资深程序员?看自“配”的网名就真相了!
  9. 电话程控交换机安装经验
  10. php中文的正则表达式_php汉字正则表达式
  11. windows10 系统家庭版转专业版小结
  12. request.setAttribute()的用法
  13. VS-Code的使用
  14. 记录一次VCSA添加ESXI主机失败的处理过程
  15. 用MATLAB绘制国债NSS模型,[matlab]用lsqcurvefit或lsqnonlin实现NSS利率期限模型-经管之家官网!...
  16. Spring Boot 之 MDC 实现全链路调用日志跟踪
  17. firefox的一些插件~
  18. Redis_学习笔记
  19. 项目管理-会议运作机制
  20. 量化买卖压力选股(附源码)

热门文章

  1. sql还原数据库备份数据库_有关数据库备份,还原和恢复SQL面试问题–第二部分
  2. 解决An attempt was made to load a program with an incorrect format.问题
  3. 判断存储,是栈?还是队列?
  4. 【POJ】1067 取石子游戏(博弈论)
  5. windows server 2008中IIS7的功能模塊
  6. java证书已过期如何继续运行_过期证书上的Java trustmanager行为
  7. LuoguP1402 酒店之王
  8. HTTP认证模式:Basic and Digest Access Authentication
  9. SSH整合(1)异常
  10. 【自】数据库系统原理(三)——测试总结后,