构造和解决任何需要创建Gurobi Gurobi模型环境。而在其他api Gurobi环境必须显式地创建和销毁,gurobipy包括默认的环境。默认环境简化了问题当你积极试验模型制定在一个交互式的环境(如Gurobi交互式shell,开放的python交互式解释器像python本身或IPython,或Jupyter笔记本)。
我们的许多例子代码(如。mip1.py)使用一个模式,使用默认的环境,不显式地处理它的代码。这些例子只用于说明gurobipy关键特性的基本用法。在生产系统中你应该更小心:我们强烈建议明确环境管理,防止资源泄漏。这是特别重要的,当涉及到远程资源或如果有使用限制你的许可,狗万app足彩即。
- 计算服务器:工作槽是占领,直到环境是封闭的。
- 浮动(令牌服务器)使用许可或WLS许可证:你的过程占用许可令牌,直到环境是封闭的。
- 单一的使用许可:没有其他进程可以使用的机器上Gurobi直到你关闭环境。
- Gurobi即时云:机器保持活跃与槽占领,直到工作环境是关闭的。
gurobipy管理环境的正确方法是使用上下文管理器,就像你应该每次打开一个文件或其他Python库的连接。下面是两种可能的模式;这个例子mip1_remote.py提供了一个更完整的代码。
- 解决单个模型绑定到一个单一的环境:
进口gurobipy全科医生
与全科医生。Env()作为env,全科医生。模型(env=env)作为模型:
#构造、解决和后处理的模型
x = model.addVar ()
…
model.optimize ()
…
#结束时,环境是显式地释放,
#即使有错误。这将返回资源来计算狗万app足彩
#服务器或即时云,或发布有限使用许可证
#令牌不太久。
- 当解决许多模型顺序,最好可以使用单个Gurobi环境多次避免支付开销成本。在序列在一个环境中使用多个模型:
进口gurobipy全科医生
与gp.Env env ():
与gp.Model model1 (env = env):
#制定和解决model1
与gp.Model model2 (env = env):
#制定和解决model2
#两个模型共享一个许可或连接,即关闭
#的环境。
注意,如果没有显式地管理环境,然后默认环境生活只要你的过程。所以你的WLS或象征性的许可使用,云计算服务器连接,或即时机器将保持活跃,直到你的死亡过程。
评论
0评论
请登录留下你的评论。