【发布时间】:2023-02-23 00:32:39
【问题描述】:
我正在尝试使用 mystic 来创建我的约束的简化表达式。我有一个包含 200 个元素的数组。我首先测试 1 个约束,它限制了最小和最大限制之间的所有变量的总和,如下所示:
0 <= x0 + x1 + x2 + ....... x198 + x199 <= 20000
问题是这个过程花费的时间太长,无法仅针对这 1 个约束进行简化 - 大约 1 小时(甚至还没有添加其他约束)。我该如何解决这个问题?
min_lim = 0
max_lim = 20000
def constraint_func():
variable_num = ['x'+str(i) for i in range(200)]
constrain_eq = f'{min_lim} <=' + ' + '.join(variable_num) + f' <= {max_lim}'
return constrain_eq
eqn = ms.simplify(constraint_func(), all=True)
constrain = ms.generate_constraint(ms.generate_solvers(eqn), join=my.constraints.and_)
【问题讨论】:
-
我不认为
mystic可以在单个表达式中处理多个方程式/不等式——您需要在单独的行中添加每个边界。
标签: python scipy scipy-optimize mystic