全局函数#

Gurobi全局函数。与Gurobi Python接口中的所有其他方法不同,这些函数不需要Gurobi对象来调用它们。

disposeDefaultEnv()#

处理默认环境。

调用此函数会释放由Gurobi Python模块创建的默认环境。此函数在长时间运行的Python会话(例如,在Jupyter笔记本中)中特别有用,否则Gurobi环境将在整个会话期间继续存在。

请注意,使用默认环境构建的模型必须在默认环境被释放之前进行垃圾回收。你可以通过语句 del m 强制对模型 m 进行垃圾回收。调用 disposeDefaultEnv 会打印消息

Freeing default Gurobi environment

然后尝试释放默认环境。但请注意,如果某些引用默认环境的模型尚未被处理掉,此尝试可能会失败。如果是这种情况,当最后一个引用它的模型被处理掉时,默认环境将自动被释放。

Example:
gp.disposeDefaultEnv()
multidict(data)#

此函数将单个字典拆分为多个字典。输入字典应将每个键映射到n个值的列表。函数返回共享键的列表作为其第一个结果,随后是n个单独的Gurobi元组字典(存储为tupledict对象)。

Parameters:

data – 一个Python字典。每个键应该映射到一个值列表。

Returns:

一个列表,其中第一个成员包含共享的键值,后面的成员包含从输入字典中拆分值列表得到的字典。

Example:
keys, dict1, dict2 = gp.multidict( {
  'key1': [1, 2],
  'key2': [1, 3],
  'key3': [1, 4] } )
paramHelp(paramname)#

获取有关Gurobi参数的帮助。

Parameters:

paramname – 包含您希望获取帮助的参数名称的字符串。名称可以包含‘*’和‘?’通配符。如果有多个参数匹配,将列出匹配的名称。请注意,大小写将被忽略。

Example:
gp.paramHelp("Cuts")
gp.paramHelp("Heu*")
gp.paramHelp("*cuts")
quicksum(data)#

Python sum 函数的一个版本,对于构建大型 Gurobi 表达式(LinExprQuadExpr 对象)更加高效。该函数以一系列项作为其参数。

请注意,虽然quicksumsum快得多,但它并不是构建大型表达式的最快方法。如果您想要最快的表达式构建,请使用addTermsLinExpr()构造函数。

Parameters:

data – 要添加的术语列表。术语可以是常量、 Var 对象、LinExpr 对象,或 QuadExpr 对象。

Returns:

一个表示输入列表中各项之和的表达式。

Example:
expr = gp.quicksum([2*x, 3*y+1, 4*z*z])
expr = gp.quicksum(model.getVars())
read(filename, env=defaultEnv)#

从文件中读取模型。

Parameters:
  • filename – 包含模型的文件名。请注意,文件的类型由文件名后缀编码。有效的后缀包括 .mps, .rew, .lp, .rlp, .dua, .dlp, .ilp, 或 .opb。 文件可以被压缩,因此还接受 .zip, .gz, .bz2, .7z.xz 作为附加后缀。文件名可以包含 *? 通配符。如果没有找到匹配的通配符,则不会读取任何文件。如果找到多个匹配项,此例程将尝试读取第一个匹配的文件。

  • env – 创建模型的环境。创建你自己的环境(使用Env constructor)可以让你更好地控制Gurobi的许可,但这可能会使你的程序更加复杂。除非你知道需要控制自己的环境,否则请使用默认环境。

Returns:

Model 对象包含从输入文件中读取的模型。

Example:
m = gp.read("afiro.mps")
m.optimize()
readParams(filename)#

从文件中读取一组参数设置。文件名必须以.prm结尾,并且文件必须为PRM格式。

Parameters:

filename – 包含参数设置的文件名。

Example:
gp.readParams("params.prm")
resetParams()#

将所有参数的值重置为其默认值。请注意,存储在Python数据结构(列表、字典等)或用户类中的现有模型不会受到影响。

Example:
gp.resetParams()
setParam(paramname, newvalue)#

将参数的值设置为新值。请注意,存储在Python数据结构(列表、字典等)或用户类中的现有模型不会受到影响。

Parameters:
  • paramname – 包含您想要修改的参数名称的字符串。paramname的大小写和下划线将被忽略。

  • newvalue – 参数的期望新值。

Example:
gp.setParam("Cuts", 2)

自版本12.0起已弃用:paramname中使用'*''?'进行通配符名称匹配已弃用。将'default'作为newvalue传递已弃用。

writeParams(filename)#

将所有修改后的参数写入文件。文件以 PRM格式写入。

Example:
gp.setParam("Heu*", 0.5)
gp.writeParams("params.prm")  # file will contain changed parameter
gp.system("cat params.prm")