Yalmip最优化求解器+matlab | 教程(一)

2024-08-12

大部分内容来自:
https://www.bilibili.com/video/BV16y4y167dn

概念

首先,理清一个概念:

yalmip是一个matlab的工具包,是一种“语言”。通过yalmip描述模型,然后再调用其他的求解器(如gurobi和cplex进行求解)。

由于不同的求解器具有不同的专用语言,因此先用yalmip进行语言编译,再调用求求解器进行求解,具有极大的优势。

yalmip描述模型

1.定义决策变量

例如:

x=sdpvar(10,1)%定义实数变量
intvar %定义整型变量
binvar %定义0-1二进制变量

2.定义约束

Constraints=[约束1,约束2,约束3]
%也可以用分号进行分隔,无论使用哪个,符号要统一

3.定义目标函数

Objective= 目标函数 %默认去最小值

4.设置求解器属性

options=sdpsettings(‘field’,value,‘field’,value,…)

options=sdpsettings(‘verbose’,1,‘solver’,‘gurobi’)
verbose-冗余度
对应后面的0/1:1-显示结果详细;0-不详细,单纯显示结果

5.求解问题

sol=solvesdp(Constraints,Objective,options)
%使用solvesdp()或者optimize()都可以
且其中,三个属性都可以为空

6.分析结果

if sol.problem==0
solution=value(x)
else
disp(‘求解出错’)
end

地址:广东省广州市天河区88号 客服热线:400-123-4567 传真:+86-123-4567 QQ:1234567890

Copyright © 2012-2018 首页-焦点娱乐-注册登录站琼ICP备xxxxxxxx号

平台注册入口