配置参数
当你开始Gurobi会话时,你通常需要提供关于您的配置细节。你可能需要表明你是否想在本地机器上使用许可证,执照从令牌服务器,或者你想卸载计算云计算服务器或Gurobi即时。在令牌服务器或计算服务器,你必须提供服务器的名称。云计算服务器和即时,您还需要提供登录凭证。
在很多情况下,你需要的配置信息已经存储在您的许可文件(gurobi.lic
在您的环境中)或文件(gurobi.env
)。这些文件是自动读取,所以您可以简单地创建一个对象(使用标准Gurobi环境GRBloadenv在C,或者通过适当的GRBEnv
在面向对象的构造函数接口)。
如果你需要提供配置信息从您的应用程序在运行时呢?您可以使用一个空环境环境创建分割成几个步骤(而不是标准,单步方法上面提到的)。在第一步中,您将创建一个空对象(使用环境GRBemptyenv在C,或者通过适当的GRBEnv
在面向对象的构造函数接口)。你会设置配置参数在这种环境下使用API的标准参数。最后,您将开始环境(使用GRBstartenv在C,或使用env.start ()
方法在面向对象的接口),它将使用配置参数设置。
空环境的例子
给一个简单的例子,如果你想让你的Python项目将优化计算计算服务器命名server1
你可能会说:
进口gurobipy从gurobipy gp进口伽马线暴#设置环境env = gp.Env env(空= True)。setParam (ComputeServer, server1:61000) env。setParam (“ServerPassword”、“passwd”) env.start() #负荷模型和优化模型= gp.read (misc07。议员们,env = env) model.optimize ()
一个等价的Java程序是这样的:
进口gurobi。*;…/ /设置环境GRBenv env = new GRBenv(真正的);env.set (GRB.StringParam。ComputeServer,"server1:61000"); env.set(GRB.StringParam.ServerPassword, "passwd"); env.start(); // Load model and optimize GRBModel model = new GRBModel(env, "misc07.mps"); model.optimize()
一个等价的C程序是这样的:
# include“gurobi_c。h“int主要(空白){GRBenv * env =零;GRBmodel *模型=零;int错误= 0;/ *设置环境* /错误= GRBemptyenv (env);如果(错误)转到退出;错误= GRBsetstrparam (GRB_STR_PAR_COMPUTESERVER,“server1:61000”);如果(错误)转到退出;错误= GRBsetstrparam (GRB_STR_PAR_SERVERPASSWORD,“passwd”);如果(错误)转到退出; error = GRBstartenv(env); if (error) goto QUIT; /* Load model and optimize */ error = GRBreadmodel(env, "misc07.mps", &model); if (error) goto QUIT; error = GRBoptimize(model); if (error) goto QUIT; QUIT: /* Clean up model and environment */ GRBfreemodel(model); GRBfreeenv(env); return error; }
下面的例子使用了ComputeServer参数连接到计算服务器。给几个例子的配置参数,您可以使用CloudAccessID和CloudSecretKey参数提供您的凭据,以启动即时云实例。连接到一个令牌服务器,您将使用TokenServer参数。您还可以使用LicenseID,WLSAccessID,WLSSecret参数提供您的id和WLS许可证密钥。你可以找到更多的信息关于WLS许可证在您的帐户Gurobi Web许可证管理器网站。可以找到Gurobi参数的完整列表在这里。
配置参数必须设置在你开始Gurobi环境。变更一旦开始环境没有影响。
在Python中,你也可以直接作为提供这样的配置参数dict对环境参数的构造函数,创建一个空的环境。请参考Env()的manbet体育手机客户端文档了一个例子。