我正在尝试通过执行以下操作向我的求解器基础添加一个基本约束:
model.AddConstraint("c1", x % y == 0);
我收到一个编译错误,提示“运算符 '%' 不能应用于 'Microsoft.SolverFoundation.Services.Decision' 和 'Microsoft.SolverFoundation.Services.Decision' 类型的操作数”。
这是有道理的,因为许多运算符不受支持。但是,许多不受支持的运算符(sin、cos、tan 等)可用作 Model 类的特定方法,如下所示:
model.AddConstraint("c1", Model.Sum(x,y) == 0);
如果我将“Sum”替换为“Mod”,则没有可用的方法。
关于如何在 Solver Foundation 中执行模运算的任何想法?根据此处的文档,它是受支持的。
我将开始使用反射器来挖掘代码,但我想我也会在这里发布它。如果我找到解决方案,我将更新我的问题以包含答案。