or-tools - 约束多个 IntVarArray
问题描述
我正在使用模型中的几个 IntVarArray-s,它们的元素之间存在交叉依赖关系。这是将它们用作 MakePhase 方法的参数的正确方法吗?
var nr = 10;
var fLoc = s.MakeIntVarArray(nr, 0, 1);
var gLoc = s.MakeIntVarArray(nr, 0, 1);
// ... create other arrays
// ... constrain the arrays
// collect them
var decisions = new IntVarVector();
decisions.AddRange(fLoc);
decisions.AddRange(gLoc
//... add other arrays to decisions
// call MakePhase
solver.MakePhase(decisions, ...);
解决方案
是的,这行得通。
请确保订单是正确的,或者选择动态的变量选择策略,例如 CHOOSE_MIN_SIZE_LOWEST_MIN。
推荐阅读
- asynchronous - TCL中的fileevent非常慢
- android - 模拟 SharedPreferences.Editor.putString()
- tfs - 为什么 tfs 2018 部署组阶段将在前一个部分失败后运行?
- python - 如何使用 python 从 sqlite 获取数据?
- javascript - 无需jQuery UI即可在分隔符的拖放上调整Div大小
- batch-file - 批处理 - 功能 - 参数不起作用
- android - 在我的应用中显示受保护的版权视频
- html - 默认隐藏RPubs文档中的工具栏
- github - 在应用程序 GUI 上注释 github 问题
- c++ - 在 C++ 中初始化邻接矩阵