枚举线性解
(函数来自 pyomo.contrib.alternative_solutions.lp_enum)
- pyomo.contrib.alternative_solutions.lp_enum.enumerate_linear_solutions(model, *, num_solutions=10, rel_opt_gap=None, abs_opt_gap=None, zero_threshold=1e-05, search_mode='optimal', solver='gurobi', solver_options={}, tee=False, seed=None)[source]
寻找(混合整数)线性规划的替代最优解。
此函数实现了这里描述的技术:
S. Lee, C. Phalakornkule, M.M. Domach, 和 I.E. Grossmann, “用于在代谢网络的LP模型中寻找所有替代最优解的递归MILP模型”, 计算机与化学工程, 24 (2000) 711-716.
- Parameters:
model (ConcreteModel) – 一个具体的Pyomo模型
num_solutions (int) – 生成的最大解决方案数量。
rel_opt_gap (float 或 None) – 原始目标的相对最优性差距,将为其找到变量边界。None 表示不会将相对差距约束添加到模型中。
abs_opt_gap (float 或 None) – 原始目标的绝对最优性差距,将为其找到变量边界。None 表示不会向模型添加绝对差距约束。
zero_threshold (float) – 连续变量的值被认为等于零的阈值。
search_mode ('optimal', 'random', 或 'norm') – 表示用于生成替代解决方案的模式。 optimal 模式找到下一个最佳解决方案。random 模式 在随机射线的方向上找到一个替代解决方案。norm 模式迭代地找到与先前发现的解决方案的 L2 距离最大化的解决方案。
solver (string) – 要使用的求解器。
solver_options (dict) – 传递给求解器的选项-值对。
tee (boolean) – 布尔值,指示是否应显示求解器输出。
seed (int) – 可选的整数种子,用于numpy随机数生成器
- Returns:
解决方案对象的列表。 [Solution]
- Return type:
解决方案