8.6.1. 全局函数

MindOpt Python SDK 全局函数。

方法

models()

返回当前所有实例化的模型,但存储在用户数据结构中的模型不会返回

disposeDefaultEnv()

释放默认Environment对应的资源

multidict()

将一个词典分拆为多个词典

paramHelp()

获取Mindopt参数相关的帮助文档

quicksum()

快速求和以得到一个表达式

read()

从文件读取一个模型

readParams()

从文件中读取参数设置

resetParams()

将所有参数设置为默认值

setParam()

设置一个参数的值

system()

以shell方式启动进程执行命令或脚本

writeParams()

将当前默认Environment的参数设置写入到文件

version()

获取MindOpt的版本信息

models()

返回当前所有实例化的模型,但存储在用户数据结构中的模型不会返回

Returns

实例化的模型列表

disposeDefaultEnv()

释放默认Environment对应的资源。

Note

当需要再次使用默认Environment的时候,Environment会再次申请资源。

multidict(d)

将一个词典分拆为多个词典

Parameters

d – 需要拆分的词典

Returns

一个包含所有key的list,以及多个multidict

example:

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

获取Mindopt参数相关的帮助文档

Parameters

paramname – 需要获取帮助的参数名称

example:

paramHelp()
paramHelp("MaxTime")
paramHelp("IPM*")

Note

参数 paramname 可以包含’*’和’?’通配符

quicksum(li)

快速求和以得到一个表达式

Parameters

li – 包含term的列表

Returns

一个LinExpr或QuadExpr,取决于是否有quadratic term。

example:

m = Model()
x = m.addVar()
y = m.addVar()
linExpr = quicksum([1 * x, 2 * y])
quadExpr = quicksum([1 * x * x, 2 * x * y])
read(filename, env=None)

从文件读取一个模型

Parameters
  • filename – 包含模型的文件名称,模型的格式由文件名的后缀决定,如’.mps’, ‘.lp’, ‘.qps’, ‘.dat-s’。如果文件是压缩的需要一个后缀来表明压缩格式,如’.gz’,’.bz2’

  • env=None – optional,如果要使用自定义的Environment,则传入自定义的Environment

Returns

从文件读取的模型实例

readParams(filename)

从文件中读取参数设置

Parameters

filename – 保存参数设置的文件名,以’.prm’为后缀

example:

readParams("settings.prm")

Note

该修改会应用到所有可以从models()返回的模型

resetParams()

将所有参数设置为默认值。

example:

resetParams()

Note

该修改会应用到所有可以从models()返回的模型

setParam(paramname, paramvalue)

设置一个参数的值

Parameters
  • paramname – 需要设置的参数名称

  • paramvalue – 需要设置的参数值

example:

setParam("MaxTime", 10)
setParam("MaxTi*", 10)
setParam("MaxTi*", "default")

Note

  1. 该修改会应用到所有可以从models()返回的模型。

  2. 参数名称可以包含’*’和’?’通配符,当匹配到不止一个参数名称时,不修改参数值。

  3. 参数值为’default’时,可以将参数重设为默认值。

system(command)

以shell方式启动进程执行命令或脚本

Parameters

command – 要执行的命令或脚本参数列表

example:

system("echo 'mindopt'")
writeParams(filename)

将当前默认Environment的参数设置写入到文件

Parameters

filename – 文件的名称

example:

writeParams("settings.prm")

Note

如果当前的默认Environment被释放,则该方法报错

version()

获取MindOpt的版本信息。 返回一个tuple,包含三个数字:

  • 大版本号

  • 小版本号

  • technical版本号