8.3.7. MdoModel¶
- class mindoptpy.MdoModel¶
Bases:
object
此对象会实现包含优化模型的数据结构。
将列输入优化模型的典型步骤如下:
调用
mindoptpy.MdoModel.add_var()
,创建一组空变量对象。指定变量的下界、上界和目标系数。
创建一个空线性表达式对象
mindoptpy.MdoExprLinear()
。调用
mindoptpy.MdoModel.add_cons()
,输入约束。调用
mindoptpy.MdoModel.solve_prob()
,优化问题。
示例
from mindoptpy import * # Create an empty model. model = MdoModel() MDO_INFINITY = MdoModel.get_infinity() model.set_int_attr("MinSense", 1) model.set_obj_offset(10.0) # Add variables. x1 = model.add_var(0, 10.0, 1, None, "x1", False) x2 = model.add_var(0, MDO_INFINITY, 1, None, "x2", False) x3 = model.add_var(0, MDO_INFINITY, 1, None, "x3", False) x4 = model.add_var(0, MDO_INFINITY, 1, None, "x4", False) # Add constraints cons1 = model.add_cons( x1 + x2 + 2 * x3 + 3 * x4 == 1.0, "c1") cons2 = model.add_cons( x1 - x3 + 6 * x4 >= 1.0, "c2") # Set/get elements model.get_elements([cons1], [x1]) model.set_elements([cons1], [x1], [1.0]) model.delete_elements([cons1], [x1]) # Check model model.get_expr_linear(cons1) model.get_col(x1) model.get_cons(1) model.get_var(1) # Set parameters model.set_int_param("Method", 0) model.set_int_param("NumThreads", 4) model.set_int_param("Presolve", 0) model.set_int_param("SPX/MaxIterations", 400) model.set_int_param("IPM/MaxIterations", 400) # Solve and check model.solve_prob() model.display_results() model.get_int_attr("HasSolution") model.get_int_attr("HasPrimalRay") model.get_real_attr_index("Activity", 0) num_iters_spx = model.get_int_attr("SPX/NumIters") print('The problem took ' + str(num_iters_spx) + ' iterations with simplex method.') print('x4:', x4.get_real_attr("PrimalSoln")) print('c1:', model.get_cons(0).get_real_attr("DualSoln")) # Write model and solution model.write_prob('model.mps') model.write_prob('model.lp') model.write_soln("soln.sol") # Load model from file model.free_mdl() model.create_mdl() model.read_prob('model.mps') # Set/get objective model.set_objs([1.0, 2.0]) model.get_objs() model.set_max_obj_sense() model.get_int_attr("MinSense") model.get_obj_offset() model.is_max_obj_sense() model.is_min_obj_sense() # Set/get model attributes model.set_int_attr("MinSense", 1) model.get_int_attr("MinSense") model.get_int_attr("NumVars") model.get_int_attr("NumConss") model.set_real_attr("ObjConst", 10.0) model.get_real_attr("ObjConst") lhs_array = [0, -1] model.set_real_attr_array("LHS", 0, lhs_array) model.get_real_attr_array("LHS", 0, 2) rhs_array = [10, 20] model.set_real_attr_array("RHS", 0, rhs_array) model.get_real_attr_array("RHS", 0, 2) colname = "x_2" model.set_str_attr_index("ColName", 1, colname) model.get_str_attr_index("ColName", 1) rowname = "c_0" model.set_str_attr_index("RowName", 0, rowname) model.get_str_attr_index("RowName", 0) is_integer_array = [0, 1] model.set_int_attr_array("IsInteger", 0, is_integer_array) model.get_int_attr_array("IsInteger", 0, 2) # Model deletions delConss = model.get_conss() model.delete_conss(delConss) delVars = model.get_vars() model.delete_vars(delVars) # Model free model.free_mdl()
方法
此函数可向模型引入一个新的约束(行)。
此函数可向模型引入一个新的约束(行)。
此函数可向模型添加一组约束(行)。
此函数可向模型引入一个新的变量(列)。
此函数可向模型引入一个新的变量(列)。
此函数可创建内部模型。
此函数会从模型中删除一组约束(行)。
此函数会删除约束矩阵中的所有指定元素值的集合。
此函数会删除约束矩阵中所有元素的值。
此函数会删除二次规划的二次项矩阵中的所有二次项的值。
relax_integrality()
该函数会删除模型中所有整数值的要求,并将其转化为连续松弛问题。
此函数会从模型中删除一组变量(列)。
此函数可显示当前求解器结果。
此函数会说明求解器结果代码的详情。
此函数会说明求解器状态代码的详情。
此函数可计算不可约不可行系统 (IIS)。
此函数可释放内部模型。
copy_model()
此函数可复制模型。
此函数会返回一个列对象,此对象将包含一组约束和系数对。
此函数会返回约束对象。
此函数会返回一个将包含所有约束对象的列表。
此函数会返回约束矩阵中所有指定元素值的集合。
此函数会返回一个线性表达式对象,此对象包含一组变量和系数对。
get_infinity()
此函数可检索无穷值。
此函数可检索整数值模型属性的值。
此函数可检索指定的整数值行/列属性数组的值。
此函数可检索指定的整数值行属性数组的值。
此函数可检索整数值行/列属性的值。
此函数可检索指定的整数值列属性数组的值。
此函数可检索整数值参数的值。
此函数会返回目标偏移量(常数项)。
此函数会返回目标系数的值。
此函数可检索实值模型属性的值。
此函数可检索实值模型属性的值。
此函数可检索指定的实值行属性数组的值。
此函数可检索实值行/列属性的值。
此函数可检索指定的实值列属性数组的值。
此函数可检索实值参数的值。
此函数可检索模型结果。
此函数可检索求解器状态。
此函数可检索字符串值行/列属性的值。
此函数可检索字符串值参数的值。
此函数会返回一个变量对象。
此函数会返回一个将包含所有变量对象的列表。
此函数会向模型添加块变量(对称半正定矩阵)。
此函数会向模型添加多个块变量。
此函数会替换目标函数中指定块变量。
此函数会替换约束中指定块变量。
此函数会检索与指定块变量属性相关联的值。
此函数会返回一个标志,此标志可指定目标函数是否拥有最大化指向。
此函数会返回一个标志,此标志可指定目标函数是否拥有最小化指向。
此函数可载入问题。
此函数会从文件中读取优化问题。
此函数会从文件中加载优化模型任务。
此函数会查看已提交任务的状态,然后检索相应的优化结果(如有)。
此函数会修改约束矩阵中所有指定元素值的集合。
此函数可更改整数值模型属性的值。
此函数可更改指定的整数值行/列属性数组的值。
此函数可更改指定的整数值行属性数组的值。
此函数可更改整数值行/列属性的值。
此函数可更改指定的整数值列属性数组的值。
此函数可更改整数值参数的值。
此函数会将目标函数更改为最大化指向。
此函数会将目标函数更改为最小化指向。
此函数会更改目标偏移量(常数项)。
此函数会更改目标系数的值。
此函数可更改实值模型属性的值。
此函数可更改实值模型属性的值。
此函数可更改指定的实值行属性数组的值。
此函数可更改实值行/列属性的值。
此函数可更改指定的实值列属性数组的值。
此函数可更改实值参数的值。
此函数可更改字符串值行/列属性的值。
此函数可更改字符串值参数的值。
此函数可求解已加载的优化问题。
此函数会将优化模型任务提交至远程服务器以供优化。
此函数会向文件写入优化问题。
此函数会向文件写入最优解。
此函数会将优化任务写入文件。
- add_cons()¶
此函数可向模型引入一个新的约束(行)。
- Parameters
lhs (float 或 MdoTempLinear) – 新约束的左侧值,或临时线性对象。
rhs (float 或 str) – 新约束的右侧值,或者一个约束名称的字符串。
expr (MdoExprLinear) – 包含新线性约束的表达式。默认值为
None
。name (str) – 包含列名称的字符串对象。默认值为
""
。
- Returns
已创建的约束对象。
- Return type
- add_cons2()¶
此函数可向模型引入一个新的约束(行)。
- Parameters
temp (MdoTempLinear) – 包含新线性约束的临时对象。
name (str) – 包含新变量的名称前缀的字符串对象。默认值为
""
。
- Returns
已创建的约束对象。
- Return type
- add_conss()¶
此函数可向模型添加一组约束(行)。
- Parameters
generator – 生成器表达式,此表达式每次迭代可产生一个约束。
name (str) – 包含新变量的名称前缀的字符串对象。默认值为
"c"
。新变量的实际名称将具有以下格式:"c_index"
,其中 index 是约束索引。
- Returns
一个
mindoptpy.MdoTupleList()
对象,此对象包含新的约束作为值,使用其在模型中的检索作为键。- Return type
MdoTupleList
- add_var()¶
此函数可向模型引入一个新的变量(列)。
- add_vars()¶
此函数可向模型引入一个新的变量(列)。
- Parameters
indices – 访问新变量时所用的索引。
lb (float) – 新变量的下界值。默认值为
0.0
。ub (float) – 新变量的上界值。默认值为
1.E+20
。obj (float) – 新变量的目标系数。默认值为
0.0
。name (str) – 包含新变量的名称前缀的字符串对象。默认值为
"v"
。新变量的实际名称将具有以下格式:"v_index"
。is_integer (bint) – 一个可指定是否为整数变量的布尔标志。默认值为
False
。
- Returns
一个
mindoptpy.MdoTupleList()
对象,此对象包含新变量作为值,使用已提供的索引作为键。- Return type
MdoTupleList
- create_mdl()¶
此函数会创建内部模型。
- Parameters
env – MindOpt 全局环境;可能为 None。
- delete_conss()¶
此函数会从模型中删除一组约束(行)。
- Parameters
conss (array-like) – 待删除的约束对象列表。
- delete_elements()¶
此函数会删除约束矩阵中的所有指定元素值的集合。
- Parameters
conss (array-like) – 包含对约束的引用的列表对象。
vars (array-like) – 包含对变量的引用的列表对象。
- delete_all_elements()¶
此函数会删除约束矩阵中所有元素的值。
- delete_all_quadratic_elements()¶
此函数会删除二次规划的二次项矩阵中的所有二次项的值。
- delete_vars()¶
此函数会从模型中删除一组变量(列)。
- Parameters
vars (array-like) – 待删除的变量对象列表。
- display_results()¶
此函数可显示当前求解器结果。
- explain_result()¶
此函数会说明求解器结果代码的详情。具体来讲,如果 MindOpt 未能将已加载的问题优化至最佳,用户可使用此函数来填入结果代码的详情。
- Parameters
result (int) – 待说明的求解器结果代码。
- Returns
包含给定的求解器结果代码的详情的字符串。
- Return type
str
- explain_status()¶
此函数会说明求解器状态代码的详情。具体来讲,如果 MindOpt 成功优化已加载的问题,用户可使用此函数填入解的状态。
- Parameters
status (int) – 待说明的求解器状态代码。
- Returns
包含给定求解器状态代码的详情的字符串。
- Return type
str
- compute_iis()¶
此函数会计算至少包含一个 IIS(不可约不可行系统)的子系统。此子系统的基数应该很小。请注意,此问题应是不可行的。
- free_mdl()¶
此函数可释放内部模型。
- get_col()¶
此函数会返回一个列对象,此对象将包含一组约束和系数对。
- get_conss()¶
此函数会返回一个将包含所有约束对象的列表。
- Returns
一个将包含所有约束对象的列表。
- Return type
列表
- get_elements()¶
此函数会返回约束矩阵中所有指定元素值的集合。
- Parameters
conss (array-like) – 包含对约束的引用的列表对象。
vars (array-like) – 包含对变量的引用的列表对象。
- Returns
包含约束矩阵中所有指定元素的非零值的列表对象。
- Return type
类数组
- get_expr_linear()¶
此函数会返回一个线性表达式对象,此对象包含一组变量和系数对。
- Parameters
cons (MdoCons) – 一个约束对象。
- Returns
包含一组变量和系数对的线性表达式对象。
- Return type
- static get_infinity()
此函数可检索无穷值。
- Returns
无穷值。
- Return type
浮点型
- get_int_attr()¶
此函数可检索整数值模型属性的值。
- Parameters
att (str) – 整数值模型属性。
- Returns
当前值。
- Return type
整型
- get_int_attr_array()¶
此函数可检索指定的整数值行/列属性数组的值。
- Parameters
att (str) – 一个整数值行/列属性。
bgn (int) – 待访问的第一个元素的索引。
len (int) – 待访问的元素数量。
- Returns
一个包含指定的属性数组的当前值的数组。
- Return type
类数组
- get_int_attr_conss()¶
此函数可检索指定的整数值行属性数组的值。
- Parameters
att (str) – 一个整数值行属性。
vars (array-like) – 包含待访问的约束的数组。
- Returns
一个将包含指定的属性数组的当前值的数组。
- Return type
类数组
- get_int_attr_index()¶
此函数可检索整数值行/列属性的值。
- Parameters
att (str) – 一个整数值行/列属性。
idx (int) – 一个索引。
- Returns
当前值。
- Return type
整型
- get_int_attr_vars()¶
此函数可检索指定的整数值列属性数组的值。
- Parameters
att (str) – 一个整数值列属性。
vars (array-like) – 一个包含待访问变量的数组。
- Returns
一个将包含指定的属性数组的当前值的数组。
- Return type
类数组
- get_int_param()¶
此函数可检索整数值参数的值。
- Parameters
par (str) – 待访问的整数值参数。
- Returns
整数值参数的当前值。
- Return type
整型
- get_obj_offset()¶
此函数会返回目标偏移量(常数项)。
- Returns
目标偏移量(常数项)。
- Return type
浮点型
- get_objs()¶
此函数会返回目标系数的值。
- Returns
一个包含目标系数当前值的数组。
- Return type
类数组
- get_real_attr()¶
此函数可检索实值模型属性的值。
- Parameters
att (str) – 一个待访问的实值模型属性。
- Returns
实值模型属性的当前值。
- Return type
浮点型
- get_real_attr_array()¶
此函数可检索实值模型属性的值。
- Parameters
att (str) – 一个待访问的实值模型属性。
bgn (int) – 待访问的第一个元素的索引。
len (int) – 待访问的元素数量。
- Returns
一个包含指定的属性数组的当前值的数组。
- Return type
类数组
- get_real_attr_conss()¶
此函数可检索指定的实值行属性数组的值。
- Parameters
att (str) – 一个实值行属性。
conss (array-like) – 包含待访问的约束的数组。
- Returns
一个将包含指定的属性数组的当前值的数组。
- Return type
类数组
- get_real_attr_index()¶
此函数可检索实值行/列属性的值。
- Parameters
att (str) – 一个待访问的实值行/列属性。
idx (int) – 一个索引。
- Returns
实值数组属性的当前值。
- Return type
浮点型
- get_real_attr_vars()¶
此函数可检索指定的实值列属性数组的值。
- Parameters
att (str) – 一个实值列属性。
vars (array-like) – 一个包含待访问变量的数组。
- Returns
一个将包含指定的属性数组的当前值的数组。
- Return type
类数组
- get_real_param()¶
此函数可检索实值参数的值。
- Parameters
par (str) – 一个待访问的实值参数。
- Returns
实值参数的值。
- Return type
浮点型
- get_result()¶
此函数可检索模型结果。
- Returns
模型结果代码。
- Return type
整型
- Returns
对模型结果代码的说明。
- Return type
str
- get_status()¶
此函数可检索求解器状态。
- Return status_code
求解器状态代码。
- Return type
整型
- Return status_msg
对求解器状态代码的说明。
- Return type
str
- get_str_attr_index()¶
此函数可检索字符串值行/列属性的值。
- Parameters
att (str) – 一个字符串值行/列属性。
idx (int) – 一个索引。
- Returns
当前值。
- Return type
str
- get_str_param()¶
此函数可检索字符串值参数的值。
- Parameters
par (str) – 一个待访问的字符串值参数。
- Returns
字符串值参数的当前值。
- Return type
str
- get_vars()¶
此函数会返回一个将包含所有变量对象的列表。
- Returns
一个将包含所有变量对象的列表。
- Return type
列表
- add_sym_mat()¶
此函数会向模型添加块变量(对称半正定矩阵)。
- Parameters
dim_mat (int) – 维数(块变量的行数)。
mat_name (str) – 块变量名,默认是 “”。
- add_sym_mats()¶
此函数会向模型添加多个块变量。
- Parameters
dim_mats (list) – 一个包含每个块变量的维数的列表。
mat_names (list) – 一个保存块变量名称的列表。
- replace_sym_mat_objs()¶
此函数会替换目标函数中指定块变量。
- Parameters
mat_index (int) – 需要替换的块变量索引。
mat_row_indices (list) – 一个保存块变量的行索引的列表。
mat_col_indices (list) – 一个保存块变量的列索引的列表。
mat_values (list) – 一个保存块变量相关联的元素值的列表。
Note
如果 mat_row_indices[e] \(\neq\) mat_col_indices[e],那么为了保证矩阵的对称性, 矩阵 (mat_row_indices[e],mat_col_indices[e]) 及 (mat_col_indices[e],mat_row_indices[e])位置上的值均被改为 mat_values[e]。因此,用户应该只输入块变量的上三角或者下三角部分。
- replace_sym_mat_elements()¶
此函数会替换约束中指定块变量。
- Parameters
row_index (int) – 约束行索引。
mat_index (int) – 块变量索引。
mat_row_indices (list) – 一个保存块变量的行索引的列表。
mat_col_indices (list) – 一个保存块变量的列索引的列表。
mat_values (list) – 一个保存与块变量相关联的元素值的列表。
Note
如果 mat_row_indices[e] \(\neq\) mat_col_indices[e],那么为了保证矩阵的对称性, 矩阵 (mat_row_indices[e],mat_col_indices[e]) 及 (mat_col_indices[e],mat_row_indices[e])位置上的值均被改为 mat_values[e]。因此,用户应该只输入块变量的上三角或者下三角部分。
- get_real_attr_sym_mat()¶
此函数会检索与指定块变量属性相关联的值。
- Parameters
att (str) – 要访问的实值对称变量属性。
mat_index (int) – 块变量索引。
mat_row_indices (list) – 一个保存块变量的行索引的列表。
mat_col_indices (list) – 一个保存块变量的列索引的列表。
- Return
一个保存与指定块变量属性相关联的值的列表。
- Return type
list
- is_max_obj_sense()¶
此函数会返回一个标志,此标志可指定目标函数是否拥有最大化指向。
- Returns
一个可指定目标函数是否拥有最大化指向的布尔标志。
- Return type
bint
- is_min_obj_sense()¶
此函数会返回一个标志,此标志可指定目标函数是否拥有最小化指向。
- Returns
一个可指定目标函数是否拥有最小化指向的布尔标志。
- Return type
bint
- load_model()¶
此函数可载入问题。
- Parameters
num_cols (int) – 列数(变量)。
num_rows (int) – 行数(约束)。
bgn (list) – 一个可定义 CSC(压缩稀疏列)矩阵的起始索引的整数数组。此处,bgn 部分必须包含
num_cols + 1
个元素;因此最后一列的长度为bgn[num_cols] - bgn[num_cols - 1]
。indices (list) – 一个可定义 CSC 矩阵中的非零元素列索引的整数数组。
values (list) – 一个可定义 CSC 矩阵中的非零元素值的实数数组。
lbs (list) – 包含变量下界的实数数组。默认值为
None
;此时将使用 0 值作为所有下界的默认值。ubs (list) – 包含变量上界的实数数组。默认值为
None
;此时将使用一个无穷值作为所有上界的默认值。objs (list) – 包含线性目标系数的实数数组。默认值为
None
;此时将使用 0 值作为所有目标系数的默认值。are_integers (list) – 一个可指定变量是否为整数变量的标志数组。默认值为
None
;此时所有变量都将作为连续变量进行处理。obj_const (float) – 目标偏移量。默认值为
0.0
。is_min (bint) – 一个可指定目标函数是否拥有最小化指向的布尔标志。默认值为
True
。lhss (list) – 包含约束的下界(LHS 值)的实数数组。可以是
None
;此时负无穷值将作为所有下界的默认值。rhss (list) – 包含约束的上界(RHS 值)的实数数组。可以是
None
;此时无穷值将作为所有上界的默认值。col_names (list) – 包含列(变量)名称的字符串数组。默认值为
None
。row_names (list) – 包含行(约束)名称的字符串数组。默认值为
None
。
Note
此处使用包含列起点 (bgn)、行索引 (indices) 和非零元素 (values) 的标准压缩稀疏列 (CSC) 矩阵来指定约束矩阵。请注意,bgn 部分必须包含 num_cols + 1 个元素,因此,最后一列的长度为 bgn[num_cols] - bgn[num_cols - 1]。
- read_prob()¶
此函数会从文件中读取优化问题。请注意,已输入模型的类型由文件后缀决定。有效后缀为
.mps(.bz2/.gz)
或.lp(.bz2/.gz)
或.dat-s
。- Parameters
filename (str) – 一个可指定要读取的文件名的字符串数组。
- read_task()¶
此函数会从文件中加载优化模型任务。模型任务文件包括问题数据、参数设置和二进制格式的解。
- Parameters
filename (str) – 一个可指定要读取的文件名的字符串数组。
read_prob (bint) – 一个可指定是否应加载模型的布尔标志。默认值为
True
。read_param (bint) – 一个可指定是否应加载参数的布尔标志。默认值为
True
。read_soln (bint) – 一个可指定是否应加载解的布尔标志。默认值为
True
。
- retrieve_task()¶
此函数会查看已提交任务的状态,然后检索相应的优化结果(如有)。所有可能的状态值包括:
“Submitted”
“Solving”
“Canceled”
“Finished”
“Failed”
- Parameters
job_id (str) – 一个可指定已提交作业的 ID 的字符串。
- Returns
已提交任务的状态。
- Return type
str
- Returns
指定了模型状态的状态代码。
- Return type
整型
- Returns
一个指定了优化状态的响应代码,即在远程服务器上调用 solve_prob 时的响应代码。
- Return type
整型
- Returns
一个指定解的可用情况的标志。如果为 True,则用户可以使用 read_task 读取已保存至指定位置的解文件。
- Return type
bint
Note
只有在已提交任务处于“Finished”状态时,才会返回优化结果。
必须先指定远程服务器的令牌 ID 和地址,然后再调用此 API 函数。
- set_elements()¶
此函数会修改约束矩阵中所有指定元素值的集合。
- Parameters
conss (array-like) – 包含对约束的引用的列表对象。
vars (array-like) – 包含对变量的引用的列表对象。
values (array-like) – 包含约束矩阵中所有指定元素的新非零值的列表对象。
- set_quadratic_elements()¶
此函数会修改二次规划的二次项矩阵中所有指定元素的值
- Parameters
vars1 (array-like) – 包含对第一批变量的引用的列表对象。
vars2 (array-like) – 包含对第二批变量的引用的列表对象。
values (array-like) – 包含新的非零值的列表对象。
- set_int_attr()¶
此函数可更改整数值模型属性的值。
- Parameters
att (str) – 整数值模型属性。
val (int) – 一个新值。
- set_int_attr_array()¶
此函数可更改指定的整数值行/列属性数组的值。
- Parameters
att (str) – 一个整数值行/列属性。
bgn (int) – 待访问的第一个元素的索引。
vals (array-like) – 一个可存储指定的属性数组的新值的数组。
- set_int_attr_conss()¶
此函数可更改指定的整数值行属性数组的值。
- Parameters
att (str) – 一个整数值行属性。
vars (array-like) – 包含待访问的约束的数组。
vals (array-like) – 一个可存储指定的属性数组的新值的数组。
- set_int_attr_index()¶
此函数可更改整数值行/列属性的值。
- Parameters
att (str) – 一个整数值行/列属性。
idx (int) – 一个索引。
val (int) – 一个新值。
- set_int_attr_vars()¶
此函数可更改指定的整数值列属性数组的值。
- Parameters
att (str) – 一个整数值列属性。
vars (array-like) – 一个包含待访问变量的数组。
vals (array-like) – 一个可存储指定的属性数组的新值的数组。
- set_int_param()¶
此函数可更改整数值参数的值。
- Parameters
par (str) – 待访问的整数值参数。
value (int) – 整数值参数的一个新值。
- set_max_obj_sense()¶
此函数会将目标函数更改为最大化指向。
- set_min_obj_sense()¶
此函数会将目标函数更改为最小化指向。
- set_obj_offset()¶
此函数会更改目标偏移量(常数项)。
- Parameters
offset (float) – 新的目标偏移量(常数项)。
- set_objs()¶
此函数会更改目标系数的值。
- Parameters
MdoExprLinear (list or) – 一个包含目标系数新值的数组,或 MdoExprLinear 对象。
- set_real_attr()¶
此函数可更改实值模型属性的值。
- Parameters
att (str) – 一个待访问的实值模型属性。
val (float) – 实值模型属性的一个新值。
- set_real_attr_array()¶
此函数可更改实值模型属性的值。
- Parameters
att (str) – 一个待访问的实值模型属性。
bgn (int) – 待访问的第一个元素的索引。
val (array-like) – 一个可存储指定的属性数组的新值的数组。
- set_real_attr_conss()¶
此函数可更改指定的实值行属性数组的值。
- Parameters
att (str) – 一个实值行属性。
vars (array-like) – 包含待访问的约束的数组。
vals (array-like) – 一个包含指定的属性数组的新值的数组。
- set_real_attr_index()¶
此函数可更改实值行/列属性的值。
- Parameters
att (str) – 一个待访问的实值行/列属性。
idx (int) – 一个索引。
val (float) – 一个新值。
- set_real_attr_vars()¶
此函数可更改指定的实值列属性数组的值。
- Parameters
att (str) – 一个实值列属性。
vars (array-like) – 一个包含待访问变量的数组。
vals (array-like) – 一个包含指定的属性数组的新值的数组。
- set_real_param()¶
此函数可更改实值参数的值。
- Parameters
par (str) – 一个待访问的实值参数。
value (float) – 实值参数的一个新值。
- set_str_attr_index()¶
此函数可更改字符串值行/列属性的值。
- Parameters
att (str) – 一个字符串值行/列属性。
idx (int) – 一个索引。
val (str) – 一个新值。
- set_str_param()¶
此函数可更改字符串值参数的值。
- Parameters
par (str) – 一个待访问的字符串值参数。
value (int) – 字符串值参数的一个新值。
- solve_prob()¶
此函数可求解已加载的优化问题。
See also
- submit_task()¶
此函数会将优化模型任务提交至远程服务器以供优化。模型任务文件包括问题数据、参数设置和二进制格式的解。
- Returns
一个可指定已提交作业的 ID 的字符串。用户可使用此作业 ID 查询优化结果。
- Return type
str
Note
必须先指定远程服务器的令牌 ID 和地址,然后再调用此 API 函数。
- write_prob()¶
此函数会向文件写入优化问题。请注意,写的优化问题文件类型由文件后缀决定。有效后缀为
.mps
(.bz2/.gz
) 或.lp
(.bz2/.gz
)。- Parameters
filename (str) – 一个可指定输出文件名的字符串数组。
- write_soln()¶
此函数会向文件写入最优解。请注意,最优解的类型由文件后缀决定。有效后缀为
.sol
或.bas
。- Parameters
filename (str) – 一个可指定输出文件名的字符串数组。
- write_task()¶
此函数会将优化任务写入文件。模型任务文件包括问题数据、参数设置和二进制格式的解。
- Parameters
filename (str) – 一个可指定输出文件名的字符串数组。
write_prob (bint) – 一个可指定是否应输出模型的布尔标志。默认值为
True
。write_param (bint) – 一个可指定是否应输出参数的布尔标志。默认值为
True
。write_soln (bint) – 一个可指定是否应输出解的布尔标志。默认值为
True
。