文章目录

  • GRBEnv
    • GRBEnv()

GRBEnv

  Gurobi 环境对象(Gurobi environment object)。 Gurobi 模型总是与环境相关联。 您必须先创建环境,然后才能创建和填充模型。 您的程序中通常只需要一个环境对象。

  环境对象上的方法主要用于管理 Gurobi 参数(例如,get、getParamInfo、set)。

GRBEnv()

  GRBEnv 对象的构造函数。 您可以选择构建一个本地环境,它在本地机器上解决 Gurobi 模型,一个 Gurobi 计算服务器的客户端环境,它将在服务器机器上解决 Gurobi 模型,或者一个即时云环境,它将启动一个 Gurobi 云服务器并在该服务器上求解模型。 为您要启动的环境类型选择适当的签名。

GRBEnv GRBEnv()

  创建一个 Gurobi 环境(禁用日志记录)。 此方法还将填充 gurobi.lic 文件中指定的任何参数(ComputeServer、TokenServer、ServerPassword 等)。 此方法还将检查当前工作目录中是否存在名为 gurobi.env 的文件,如果该文件存在,它将尝试从该文件中读取参数设置。 该文件应为 PRM 格式(简而言之,每行应包含一个参数名称,后跟该参数的所需值)。

  通常,即使您计划使用多个模型,您也应该致力于在您的程序中创建一个单一的 Gurobi 环境。 重用一个环境比创建和破坏多个环境要高效得多。 一个例外是如果您正在编写多线程程序,因为环境不是线程安全的。 在这种情况下,每个线程都需要一个单独的环境。

返回值: 一个环境对象(没有关联的日志文件)。

GRBEnv GRBEnv(bool empty)

  创建一个空的 Gurobi 环境。 使用 GRBEnv::start 启动环境。

  如果环境不为空,此方法还将填充 gurobi.lic 文件中指定的任何参数(ComputeServer、TokenServer、ServerPassword 等)。 此方法还将检查当前工作目录中是否存在名为 gurobi.env 的文件,如果该文件存在,它将尝试从该文件中读取参数设置。 该文件应为 PRM 格式(简而言之,每行应包含一个参数名称,后跟该参数的所需值)。

  通常,即使您计划使用多个模型,您也应该致力于在您的程序中创建一个单一的 Gurobi 环境。 重用一个环境比创建和破坏多个环境要高效得多。 一个例外是如果您正在编写多线程程序,因为环境不是线程安全的。 在这种情况下,每个线程都需要一个单独的环境。

参数 详解
empty 指示环境是否应为空。 如果要在实际启动环境之前设置参数,则应使用 empty=true。 如果您想连接到计算服务器、令牌服务器、Gurobi Instant Cloud 或集群管理器,这会很有用。 有关详细信息,请参阅环境部分。
返回值 一个环境对象。
GRBEnv GRBEnv(const string& logFileName)

  创建一个 Gurobi 环境(启用日志记录)。 此方法还将填充 gurobi.lic 文件中指定的任何参数(ComputeServer、TokenServer、ServerPassword 等)。 此方法还将检查当前工作目录中是否存在名为 gurobi.env 的文件,如果该文件存在,它将尝试从该文件中读取参数设置。 该文件应为 PRM 格式(简而言之,每行应包含一个参数名称,后跟该参数的所需值)。

  通常,即使您计划使用多个模型,您也应该致力于在您的程序中创建一个单一的 Gurobi 环境。 重用一个环境比创建和破坏多个环境要高效得多。 一个例外是如果您正在编写多线程程序,因为环境不是线程安全的。 在这种情况下,每个线程都需要一个单独的环境。

参数 详解
logFileName 所需的日志文件名。
返回值 一个环境对象。
GRBEnv GRBEnv(const string&  logFileName,const string&   computeServer,const string&     router,const string&    password,const string&  group,int   CStlsInsecure,int   priority,double     timeout )

  在计算服务器上创建客户端 Gurobi 环境。 此方法还将检查当前工作目录中是否存在名为 gurobi.env 的文件,如果该文件存在,它将尝试从该文件中读取参数设置。 该文件应为 PRM 格式(简而言之,每行应包含一个参数名称,后跟该参数的所需值)。

  通常,即使您计划使用多个模型,您也应该致力于在您的程序中创建一个单一的 Gurobi 环境。 重用一个环境比创建和破坏多个环境要高效得多。 一个例外是如果您正在编写多线程程序,因为环境不是线程安全的。 在这种情况下,每个线程都需要一个单独的环境。

参数 详解
logFileName 此环境的日志文件的名称。为没有日志文件传递一个空字符串。
computeServer 计算服务器。您可以使用其名称或 IP 地址来引用服务器。如果您使用的是非默认端口,则服务器名称后应跟端口号(例如 server1:61000)
router 计算服务器集群的路由器。路由器可用于提高计算服务器部署的稳健性。您应该使用路由器的名称或 IP 地址来引用路由器。如果没有使用路由器(这是典型情况),则传递一个空字符串。
password 获取指定Compute Server集群访问权限的密码。如果不需要密码,则传递一个空字符串。
group 计算服务器组的名称。
CStlsInsecure 表示是否在TLS(Transport Layer Security)中使用不安全模式。将此设置为 0,除非您的服务器管理员另有说明。
priority 作业的优先级。优先级必须介于 -100 和 100 之间,默认值为 0(按照惯例)。在较低优先级作业之前从服务器作业队列中选择较高优先级作业。根据服务器的配置,优先级为 100 的作业会立即运行,绕过作业队列并忽略服务器上的作业限制。您应该谨慎对待优先级为 100 的作业,因为它们可能会使服务器严重超载,从而导致作业失败,并且在极端情况下会导致服务器崩溃。此行为由 HARDJOBLIMIT 管理,默认情况下禁用。有关启动计算服务器选项的更多信息,请参阅 Gurobi 远程服务参考手册。
timeout 队列超时(以秒为单位)。如果作业在指定的超时之前没有到达队列的前面,则调用将退出并出现 JOB_REJECTED 错误。使用 -1 表示调用不应超时。
返回值 一个环境对象。
GRBEnv   GRBEnv(const string&    logFileName,const string&   accessID,const string&  secretKey,const string&     pool,int    priority )

  创建 Gurobi Instant Cloud 环境。 此方法还将检查当前工作目录中是否存在名为 gurobi.env 的文件,如果该文件存在,它将尝试从该文件中读取参数设置。 该文件应为 PRM 格式(简而言之,每行应包含一个参数名称,后跟该参数的所需值)。

  通常,即使您计划使用多个模型,您也应该致力于在您的程序中创建一个单一的 Gurobi 环境。 重用一个环境比创建和破坏多个环境要高效得多。 一个例外是如果您正在编写多线程程序,因为环境不是线程安全的。 在这种情况下,每个线程都需要一个单独的环境。

参数 详解
logfilename 此环境的日志文件的名称。可能为 NULL(或空字符串),在这种情况下不会创建日志文件。
accessID 您的 Gurobi Instant Cloud 许可证的访问 ID。这可以从 Gurobi Instant Cloud 网站检索。当与您的 secretKey 结合使用时,这允许您启动 Instant Cloud 实例并向它们提交作业。
secretKey 您的 Gurobi Instant Cloud 许可证的密钥。这可以从 Gurobi Instant Cloud 网站检索。当与您的 accessID 结合使用时,这允许您启动 Instant Cloud 实例并向它们提交作业。请注意,您应该将您的密钥保密。
pool 机器池。机器池允许您在 Instant Cloud 网站上创建固定配置(捕获机器类型、地理区域等),然后从客户端程序启动和共享机器,而无需在每次启动机器时重新启动配置信息.可能为 NULL(或空字符串),在这种情况下,您的作业将在与您的云许可证关联的默认池中启动。
priority 作业的优先级。优先级必须介于 -100 和 100 之间,默认值为 0(按照惯例)。在较低优先级作业之前从服务器作业队列中选择较高优先级作业。
返回值 一个环境对象。

Gurobi——GRBEnv相关推荐

  1. 【运筹优化】调用Gurobi求解LP问题(Java代码示例)

    文章目录 问题 代码 求解结果 问题 代码 import gurobi.*; /*** @Author:WSKH* @ClassName:TestGurobi* @ClassType:* @Descr ...

  2. gurobi学习笔记(一)

    Gurobi简介 eclipse配置gurobi 环境与模型 添加变量 添加约束条件 设置目标与计算 输出结果 参考文档 Gurobi简介 Gurobi是由美国Gurobi公司开发的新一代大规模数学规 ...

  3. 手把手教你在C++中配置Gurobi

    手把手教你在C++中配置Gurobi C++中配置Gurobi:视频教程 C++中配置Gurobi 新建C++项目 配置C/C++外部包含目录 配置链接器的附加目录库和附加依赖项 案例测试 参考资料 ...

  4. Gurobi——GRBModel

    文章目录 GRBModel GRBModel::addConstr() GRBModel::addVar() GRBModel::addVars() 参考 GRBModel   Gurobi 模型对象 ...

  5. Gurobi教程——C++ API概览

    C++ API 概述   本节介绍 Gurobi C++ 接口.本手册首先简要概述了接口中公开的类以及这些类中最重要的方法.然后继续全面介绍所有可用的类和方法.   如果您是 Gurobi Optim ...

  6. Gurobi Optimizer的安装教程

    这里写自定义目录标题 Gurobi Optimizer 的安装和使用 证书的配置 Gurobi Optimizer 的安装和使用 在这个网张https://www.gurobi.com/documen ...

  7. Gurobi 生产计划调度学习案例(含代码实现) (生产切换、装配计划)

    一.前言 利用数学规划建立和解决生产计划调度问题,已经是运筹学成熟应用领域之一.各种书籍.案例.最佳实践不胜枚举. 大部分数学规划方法在建立生产计划和调度模型时,假设以某个自然的时间间隔为建模时间单位 ...

  8. gurobi和java_Gurobi和java和空解决方案

    我正在使用Gurobi和 java来解决ILP问题. 我设置了所有,然后启动程序.但是Gurobi甚至没有尝试解决我的问题并且给我一个空解决方案,所有变量都设置为0. 在放松步骤中,Gurobi显示该 ...

  9. Gurobi建模遇到的坑

    1.quicksum好像不支持嵌套 最好还是尽可能多的使用一些中间变量来表达. 另外,quicksum()返回的是表达式而不是var,像addGenConstrMax(resvar, [var, va ...

最新文章

  1. python 空指针_python 空指针
  2. linux下gdb所有实用方法
  3. mysql事务未提交读_mysql事务之未提交读Read uncommitted(仅学习)
  4. 小米3显示sim卡无服务器,小米手机无服务怎么解决
  5. Python模块及其导入
  6. 使用RMAN创建复制数据库
  7. mysql排序自段为字符串类型问题解决
  8. 老司机如何找素材,如何找灵感?
  9. VOSviewer初步学习
  10. STM32 SIM800C SIM868 连接OneNet 以及远程控制流程详解
  11. 中国注塑机市场十四五规划建议与竞争态势研究报告2022版
  12. 手机不能连接本地服务器进行调试的解决办法(Localhost:8080)
  13. 台湾中华大学-田庆诚教授-射频放大器-观看笔记 1
  14. iOS 战斗机跑车效果
  15. Git操作不规范,战友提刀来相见。
  16. java实现png有损压缩
  17. NLP面试宝典:38个最常见NLP问题答案一文get
  18. 月半弯,亦真亦幻亦婉约
  19. UNIAPP中H5微信登录
  20. 原码、反码、补码概念及转换

热门文章

  1. PhpWord 输出换行符回车符
  2. qq飞车手游早上会服务器维护吗,QQ飞车手游3月23日新版本更新问题一览[图]
  3. 《甩了,甩了,甩了他》----转
  4. HTML+CSS+JS实现简易汇率计算器(使用Fetch)
  5. 英特尔中国战略升级,首次系统阐述英特尔中国2.0
  6. 关于代码编辑器Ctrl+Z(撤销快捷键失效)的可能解决办法
  7. 电商对接使用圆通电子面单接口方法
  8. 微服务和SOA有什么区别?读完你就懂了!
  9. 安卓混合开发——原生Java和H5交互,保证你一看就懂!
  10. php 正则抓取页面内容_php使用curl和正则表达式抓取网页数据示例