将 CP-SAT 求解器用于非线性 objective 函数
Using CP-SAT Solver for non-linear objective function
我正在尝试对一些变量使用 CP-SAT 求解器:x
、y
。我想在一些约束条件下最大化 x**2-y*x
形式的 objective 函数。我得到
TypeError: unsupported operand type(s) for ** or pow(): 'IntVar' and
'int'
错误信息。我假设我不能对 CP-SAT 使用非线性 objective 函数是否正确,因为我找不到任何使用非线性 objectives 的文档或示例?或者有什么办法可以做到这一点?
您必须使用 AddMultiplicationEquality(x2, [x, x])
创建一个中间变量
我正在尝试对一些变量使用 CP-SAT 求解器:x
、y
。我想在一些约束条件下最大化 x**2-y*x
形式的 objective 函数。我得到
TypeError: unsupported operand type(s) for ** or pow(): 'IntVar' and 'int'
错误信息。我假设我不能对 CP-SAT 使用非线性 objective 函数是否正确,因为我找不到任何使用非线性 objectives 的文档或示例?或者有什么办法可以做到这一点?
您必须使用 AddMultiplicationEquality(x2, [x, x])
创建一个中间变量