[matlab]gurobi安装和配置

1 注册和激活

首先,我们需要进入Gurobi官网http://www.gurobi.com,进入下载地址Gurobi Software - Gurobi Optimization,下载gurobi并安装

随后,要申请gurobi学术版的使用,需要使用.edu后缀的邮箱进行注册。

(Gurobi向邮件发送验证码后,通常要过一段时间才能收到邮件,短则几分钟,多则半天。不知道这个问题是我学校邮箱的问题还是大家都有同样的问题)

注册完毕以后,进入账号界面,在左侧选择license,点击request,选择Named-User Academic,如下图所示:

申请成功后,你会获得一个license,在右侧点击install,得到一个key

复制上面的命令,然后进入cmd,输入上述命令,即可完成gurobi的激活。

(我之前已经有过license了,所以会询问你是否覆盖,总之按照提示来操作即可)

2 配置

完成Gurobi的注册安装和激活后,在matlab中,将gurobi的路径添加至matlab即可完成配置。目录为Gurobi根目录\win64\matlab

此时,我们输入yalmiptest命令,可以看到gurobi求解器的状态已经是Found了:

并且,可以看到相关的问题,其默认的求解器已经变成了Gurobi。

此时,Gurobi的安装大功告成。

将下面代码运行一下,可以正确求解,并且输出result变量,得到的结果如下:

复制代码
% 定义变量
x = sdpvar(1);
y = sdpvar(1);
% 定义约束条件
cons = [x+y<=2, 2*x+3*y<=5, x>=0, y>=0];
% 定义目标函数
z = 3*x + 4*y;
% 进行求解
result = optimize(cons, -z)
% 求解结束,若求解成功,则输出x,y,z的值,否则输出错误信息
if result.problem == 0
    value(x),value(y),value(z)
else
    disp(result.info)
end

注意,由于optimize函数默认是最小化目标函数,因此如果对于max的目标,应当取一个负号。result是一个变量,用于输出本次求解的信息(求解时间、求解是否成功的标志值等)。若求解成功,则result.problem=0;若求解失败,则result.problem会等于对应的错误类型的值,并且在http://result.info中输出错误信息。

此时,可以得到此时的最优解和最优值,分别为x=1,y=1,z=7

参考文献:

1 https://zhuanlan.zhihu.com/p/631879265

相关推荐
whcyhhh1 分钟前
头歌实践教学平台:数据科学与大数据技术导论(十八4)
大数据·开发语言·python
z落落27 分钟前
C# Modbus-RTU 串口读写设备+CRC16+邮件告警
开发语言·c#
DS随心转小程序29 分钟前
Gemini只能导出了一部分Word文档,很少的一部分,不是我这个窗口所有的对话内容?
开发语言·人工智能·c#·word·豆包·deepseek·ai导出鸭
江畔柳前堤30 分钟前
消息队列:从直觉到精通的完整认知地图
开发语言·人工智能·算法·机器学习·ruby on rails·scala
格林威38 分钟前
C# 相机图像配合频闪光源:实现高速稳定拍摄的几个方法
开发语言·网络·人工智能·数码相机·计算机视觉·c#·视觉检测
布莱克6051 小时前
单例模式详解:什么是单例模式,它能解决哪些问题?
开发语言·qt·单例模式
charlie1145141911 小时前
deque、list 与 forward_list:vector 之外的三个选择
开发语言·数据结构·c++·list·开源项目
mayaairi1 小时前
JS DOM属性操作完全指南:内容、样式与自定义属性
开发语言·前端·javascript
avi91111 小时前
Threejs新版本后glb导出提示.x问题GLTFExporter,替代3dmax
开发语言·前端·javascript·threejs·glb·gltfexporter
qq762118222 小时前
windows Qt mingw 编译libzip
开发语言·windows·qt