全局函数#
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 表达式(LinExpr
或QuadExpr
对象)更加高效。该函数以一系列项作为其参数。请注意,虽然
quicksum
比sum
快得多,但它并不是构建大型表达式的最快方法。如果您想要最快的表达式构建,请使用addTerms
或LinExpr()
构造函数。
- 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
传递已弃用。