我想对多变量使用AddMultiplicationEquality(),并**使用**乘法的结果.在看了很少的其他讨论帖子后,我想我们不能执行多个决策变量的乘法.但或许我错了.

我用的是CP-SAT solver v9.5.2237

作为下面的函数,我没有给出我想要的:

product_var = model.NewIntVar(1, 1000, 'product_var')
decision_var = [model.NewIntvar(1, 10, 'name_{i}') for _ in range(4)]


###
#some processing on 'decision_var' and some values are assigned here based on other constrains
###

# then I want the product of those assigned values in 'decision_var' 

model.AddMultiplicationEquality(product_var, constant, decision_var)

这样,我得到的模型错误为:

Invalid model: An int_prod constraint should have exactly 2 terms: int_prod

然后我try 了一些链接:

for i in range(4):
    model.AddMultiplicationEquality(product_var, [product_var, decision_var[i])

因此,我在预解算后得到以下错误:

Unsat after presolving constraint #17 (warning, dump might be inconsistent): int_prod...

我需要一些关于如何进行乘法和获得乘积的建议.这将对我非常有帮助:)

提前感谢:)

推荐答案

目前仅支持x==y*z.右手边的变量不超过2个.

Unsat表示您的模型不一致.这是另一个问题.

Python-3.x相关问答推荐

在循环访问XML中的多个层时,xml.etree.Elementree Python3解析器不起作用

While循环不停止地等待,直到时间.睡眠结束

PythonPandas READ_EXCEL空数据帧

regexp多重前瞻行为的解释

如何将项目添加到Python中具有固定大小的列表列表中

如何将函数映射到所有命名元组的元素?

如何提高 snowpark 程序的性能?

在 groupby 之后,Pandas 在特定类别中获得最常见和最后的值

Python 列表求和所有出现的保留顺序

如何在 20 秒后重复使用 Pillow 在现有图像上创建新图像?

Pandas 值列中列表中元素的计数

活动屏幕上的 PyQt4 中心窗口

Seaborn 热图 colored颜色 条标签作为百分比

__new__ 方法给出错误 object.__new__() 只接受一个参数(要实例化的类型)

作为函数对象属性的 __kwdefaults__ 有什么用?

Python在OrderedDict中 Select 第i个元素

计算两个文件的行差异的最有效方法是什么?

为现有项目创建virtualenv

使用 asyncio 的多个循环

如何在 Python 3.4 中使用 pip 3?