Gurobi 9是一款非常专业的数学优化软件。并且这款软件在之前的版本上作出了很多提升,新增了许多功能,主要是在线程、混合变成、二次编程等上面作出了显著的提高,可以很好的解决难搞的问题并且设计出一套完美的搭配方案和决策,该软件现在还支持最新的非凸二次优化,可以更好的解决该方面的问题,并且可以利用GRBloadmodel优化出一套完整的模型,并且还可以添加变量等等常规操作,可以随意的增添数据不受约束,另外该软件还遵循c语言的规范,在此基础上来进行运行,整体上来说更加方便了大家工作,并且为大家节省了很多时间,也极大的提高了工作效率。因为该软件正版需要付费并且费用不小,所以本次小编给大家带来的是Gurobi 9中文破解版,内置破解补丁,可以很好的激活该软件并且永久免费使用,这对于平民用户来说是非常友好的。所以对这款软件感兴趣的小伙伴们千万不要错过了哦,快来17软件下载下载体验一下吧。
软件特点
1.非凸二次优化:通过添加新的双线性求解器,Optimizer现在支持非凸二次优化。这一突破性的新增功能使用户能够解决非凸二次约束和目标的问题,从而使他们能够找到针对经典双线性合并和混合问题的全局最优解决方案。
2.逐段线性(PWL)约束:用户现在可以直接将PWL约束作为建模结构添加,而不必将它们表示为线性约束和SOS约束的组合–从而大大简化了它们的使用。
3.具有自动PWL转换的功能约束:使用9.0,用户可以添加九个基本,非线性,单变量函数约束-包括多项式,指数,对数和三角函数-并且将对这些函数执行自动的分段线性近似。
4.Python矩阵API:Optimizer的Python接口已扩展为支持使用NumPy或SciPy矩阵的面向矩阵的建模。
5.MIP方案分析:此新增功能允许用户构建多个方案并同时运行它们。
6.新的解决方案改进启发式:提供了一种新的,更有效的启发式,用于专注于改进MIP解决方案。
7.中间解决方案文件:用户现在可以将在MIP解决方案过程中找到的解决方案一经写入便立即写入文件。
二、Optimizer:提高性能
使用9.0,Optimizer(通过使用由数千个真实模型组成的测试库进行了测试)展示了与 8.1相比,LP,MIP和MIQP问题类型的显着性能改进。性能改进如下:
1.LP:默认设置下加快7%。
2.屏障:使用支持AVX 512的计算机,速度提高了7%,另外提高了4%。
3.MIP:整体速度提高18%,在耗时超过100秒的困难模型上,速度提高26%。
4.MIQP:提高24%。
Achterberg在评论最新版本中的Optimizer的新增功能和改进的性能时说:“借助9.0,我们实现了创纪录的求解器速度,并添加了商业求解器以前从未有过的新增功能。这些改进将为我们的客户带来巨大的利益,使他们能够更有效地利用数学优化来做出更好的业务决策,并实现更高的运营效率和成本节省。”
三、Compute Server:新增功能
9.0版本为Compute Server的本地部署和私有云部署添加了新增功能,其中包括:
1.新集群管理器:集群管理器是可以与Compute Server节点一起安装的新服务器组件。它通过用户身份验证和API密钥提供了更好的安全性,并且通过对交互式和非交互式优化任务的统一管理来扩展群集节点的功能。
2.新的非交互式解决方案(批处理模式)和APls:使用群集管理器,用户可以在本地构建优化模型,将其作为非交互式优化任务提交,然后与服务器断开连接。批处理完成后,用户可以检索结果。
3.新的Web用户界面:使用群集管理器,用户可以轻松地监视和管理用户帐户,群集节点,作业和批处理。用户还可以使用拖放界面从文件提交批处理。
4.新的作业/批处理历史记录:现在,使用群集管理器,用户可以保留已提交的作业和批处理的记录,使他们能够按用户,应用程序或时间范围监视群集的使用情况。
5.支持惰性约束回调:借助9.0,需要从回调中即时添加惰性约束的应用程序也可以在Compute Server或Cluster Manager上运行。
Gurobi 9安装教程(附破解教程)
1.在17软件下载下载并解压,如图所示
2.双击Gurobi-9.0.0-win64.msi运行安装,点击next
3.勾选我接受许可证协议条款并点击next
4.这里可以根据自己选择安装目录,点击next
5.点击install
6.这样Gurobi 9就安装完成啦
软件新增功能
1.非凸QP支持:我们添加了新的双线性求解器,可让您解决非凸二次规划问题(即QP,QCP,MIQP和MIQCP)。您需要将新的NonConvex参数设置为非默认值才能使用此功能。
2.新的Compute Server功能:Compute Server现在包括一个Cluster Manager,它增加了许多用于管理Compute Server群集的新增功能,包括Web用户界面,用户管理,作业历史记录,批处理模式支持等。有关详细信息,请参见《远程服务参考手册》。
3.Compute Server中的批处理优化:Compute Server现在允许您在客户端计算机上构建模型,将其提交到Compute Server,然后断开客户端连接并稍后(从客户端或另一台计算机上)检索结果。有关详细信息,请参见批优化讨论。与批处理模式关联的新属性:BatchErrorCode,BatchErrorMessage,BatchID,BatchStatus,VTag,CTag,QCTag,新参数:JSONSolDetail,
4.Python Matrix API:我们已经扩展了Python接口,以使用NumPy或SciPy矩阵来支持面向矩阵的建模。有关详细信息,请查阅有关新MVar对象的文档。
5.分段线性(PWL)约束:现在,我们支持分段线性约束。有关详细信息,请参见“一般约束”讨论。
6.具有自动PWL转换的函数约束:此版本允许您添加九种基本的非线性函数约束,包括多项式,指数,对数和三角函数。我们将对这些函数执行自动的分段线性近似。有关详细信息,请参见“一般约束”讨论。与函数约束关联的新属性:FuncPieces,FuncPieceError,FuncPieceLength,FuncPieceRatio。新参数:FuncMaxVal,7.FuncPieces,FuncPieceError,FuncPieceLength,FuncPieceRatio。
7.MIP方案分析:此新增功能使您可以描述模型的多个变更集(方案),并计算这些变更对解决方案的影响。有关详细信息,请参见新的“多种方案”部分。与方案关联的8.新属性:ScenNLB,ScenNUB,ScenNObj,ScenNRHS,ScenNName,ScenNX,ScenNObjBound,ScenNObjVal,NumScenarios。新参数:ScenarioNumber,
9.中间解决方案文件:现在,您可以使用新的SolFiles参数将在MIP解决方案过程中找到的解决方案尽快写入文件。
10.延迟约束回调:我们现在支持Compute Server的延迟约束回调。
11.变量和约束的索引:现在,您可以在OO API(Python,C++,Java和.NET)的基础约束矩阵中查询变量或约束的索引。在这些对象上寻找新的索引方法(例如Python中的Var.index)。
12.新的模型属性文件:属性文件格式合并了许多用户指定属性的属性设置。有关详细信息,请参见ATTR格式部分。
13.适用于Interactive Shell的Python版本:随附的Interactive Shell已从Python 2.7更新到3.7。
14.新参数:除了直接与上述新增功能绑定的属性和参数外,还有三个其他新参数:
BQPCuts新的切割平面类型。
RelaxLiftCuts新型切割平面类型。
RLTCuts新的切割平面类型。
Optimizer 9.0新版特色
1.非凸二次优化:通过添加新的双线性求解器,Optimizer现在支持非凸二次优化。这一突破性的新增功能使用户能够解决非凸二次约束和目标的问题,从而使他们能够找到针对经典双线性合并和混合问题的全局最优解决方案。
2.逐段线性(PWL)约束:用户现在可以直接将PWL约束作为建模结构添加,而不必将它们表示为线性约束和SOS约束的组合–从而大大简化了它们的使用。
3.具有自动PWL转换的功能约束:使用9.0,用户可以添加九个基本,非线性,单变量函数约束-包括多项式,指数,对数和三角函数-并且Optimizer将对这些函数执行自动的分段线性近似。
4.Python矩阵API:Optimizer的Python接口已扩展为支持使用NumPy或SciPy矩阵的面向矩阵的建模。
5.MIP方案分析:此新增功能允许用户构建多个方案并同时运行它们。
6.新的解决方案改进启发式:9.0提供了一种新的,更有效的启发式,用于专注于改进MIP解决方案。
7.中间解决方案文件:用户现在可以将在MIP解决方案过程中找到的解决方案一经写入便立即写入文件。
二、Optimizer:提高性能
使用9.0,Optimizer(通过使用由数千个真实模型组成的测试库进行了测试)展示了与8.1相比,LP,MIP和MIQP问题类型的显着性能改进。性能改进如下:
1.LP:默认设置下加快7%。
2.屏障:使用支持AVX 512的计算机,速度提高了7%,另外提高了4%。
3.MIP:整体速度提高18%,在耗时超过100秒的困难模型上,速度提高26%。
4.MIQP:提高24%。
Achterberg在评论最新版本中的Optimizer的新增功能和改进的性能时说:“借助9.0,我们实现了创纪录的求解器速度,并添加了商业求解器以前从未有过的新增功能。这些改进将为我们的客户带来巨大的利益,使他们能够更有效地利用数学优化来做出更好的业务决策,并实现更高的运营效率和成本节省。”
三、Compute Server:新增功能
9.0版本为Compute Server的本地部署和私有云部署添加了新增功能,其中包括:
1.新集群管理器:集群管理器是可以与Compute Server节点一起安装的新服务器组件。它通过用户身份验证和API密钥提供了更好的安全性,并且通过对交互式和非交互式优化任务的统一管理来扩展群集节点的功能。
2.新的非交互式解决方案(批处理模式)和APls:使用群集管理器,用户可以在本地构建优化模型,将其作为非交互式优化任务提交,然后与服务器断开连接。批处理完成后,用户可以检索结果。
3.新的Web用户界面:使用群集管理器,用户可以轻松地监视和管理用户帐户,群集节点,作业和批处理。用户还可以使用拖放界面从文件提交批处理。
4.新的作业/批处理历史记录:现在,使用群集管理器,用户可以保留已提交的作业和批处理的记录,使他们能够按用户,应用程序或时间范围监视群集的使用情况。
5.支持惰性约束回调:需要从回调中即时添加惰性约束的应用程序也可以在Compute Server或Cluster Manager上运行。
软件说明
1.环境环境
使用C优化器的第一步是使用GRBloadenv调用创建环境。 该环境充当与一组优化运行关联的所有数据的容器。 即使您希望使用多个优化模型,您通常也只需要在程序中使用一个环境即可。 处理完环境后,应调用GRBfreeenv释放关联的资源。
对于更高级的用例,可以使用GRBemptyenv例程创建未初始化的环境,然后以编程方式为您的特定要求设置所有必需的选项。
2.模型
您可以在环境中创建一个或多个优化模型。模型由一组变量,这些变量上的线性,二次或分段线性目标函数以及一组约束组成。每个变量都有一个关联的下限,上限,类型(连续,二进制,整数,半连续或半整数)和线性目标系数。每个线性约束具有关联的含义(小于或等于,大于或等于或等于)和右侧值。有关变量和约束的更多信息,请参考本节。
可以通过GRBloadmodel例程一次全部指定优化模型,也可以通过先调用GRBnewmodel然后调用GRBaddvars添加变量以及GRBaddconstr,GRBaddqconstr,GRBaddsos或任何GRBaddgenconstrXxx方法添加约束来逐步建立优化模型。模型是动态实体。您可以随时添加或删除变量或约束。
在整个C接口中,使用它们的索引来引用特定的变量和约束。当变量以连续方式添加到模型时,将分配变量索引。
约束也是如此。为了遵守C语言约定,索引都从0开始。我们经常引用优化模型的类。具有线性目标函数,线性约束和连续变量的模型是线性程序(LP)。如果目标是二次方,则模型是二次方程序(QP)。如果任何约束是二次约束,则模型是二次约束程序(QCP)。有时我们会提到QCP的一些特殊情况:具有凸约束的QCP,具有非凸约束的QCP,双线性程序和二阶锥程序(SOCP)。如果模型包含任何整数变量,半连续变量,半整数变量,特殊顺序集(SOS)约束或常规约束,则该模型为混合整数程序(MIP)。我们有时还会讨论MIP的特殊情况,包括混合整数线性程序(MILP),混合整数二次程序(MIQP),混合整数二次约束程序(MIQCP)和混合整数二阶锥程序(MISOCP)。Optimizer处理所有这些模型类。
3.解决模型
建立模型后,可以调用GRBoptimize来计算解决方案。默认情况下,GRBoptimize()将使用并发优化器来求解LP模型,使用barrier算法来解决具有凸目标的QP模型和具有凸约束的QCP模型,否则将使用分支剪切算法。解决方案存储为模型的一组属性。 C接口包含用于查询这些属性的大量例程。
算法会仔细跟踪模型的状态,因此,如果自上次优化模型以来相关数据已更改,则对GRBoptimize()的调用将仅执行进一步的优化。如果您想放弃先前计算的解决方案信息并从头开始优化而不更改模型,则可以调用GRBreset。
解决了MIP模型后,可以调用GRBfixmodel来计算关联的固定模型。该模型与输入模型相同,除了在MIP解决方案中所有整数变量都固定为其值。在某些应用中,在此连续版本的MIP模型上计算信息(例如,双变量,灵敏度信息等)非常有用。