pywraplp SAT 与 CP-SAT 有何不同?

How is pywraplp SAT different from CP-SAT?

在 ortools 中,如果你只有 0-1 个变量,你可以使用

中的 CP-SAT
from ortools.sat.python import cp_model

或者您可以使用

from ortools.linear_solver import pywraplp
solver = pywraplp.Solver.CreateSolver('SAT')

这些求解器是否相同,如果不同,有什么区别?

Pywraplp 支持带浮点系数的线性equations/inequations。

CP-SAT 仅是整数,但除了线性约束外还支持更多约束(二次调度、路由...)。

带有 SAT 后端的 pywraplp 缩放所有系数以实现仅具有整数系数的线性约束,然后调用 CP-SAT 求解器。