首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >choco将整型赋值给IntVar

choco将整型赋值给IntVar
EN

Stack Overflow用户
提问于 2016-04-12 00:55:57
回答 1查看 287关注 0票数 0

对于像这样的变量数组

代码语言:javascript
复制
IntVar[][] array = VF.boolMatrix("example", 5, 10, solver);

它们之间的区别是什么

代码语言:javascript
复制
solver.post(ICF.arithm(array[i][j], "=", 0));

代码语言:javascript
复制
array[i][j] = VariableFactory.fixed(0, solver);

在eg方面是一个优于另一个。需要更少的空间,更快的求解,更少的回溯?

EN

回答 1

Stack Overflow用户

发布于 2016-04-21 15:49:07

arrayi = VariableFactory.fixed(0,solver);更有效,因为固定视图消耗更少的内存(对于BoolVar来说差别不大,但对于依赖于BitSet列表域实现的IntVar来说是这样的),并且它避免了创建无用的约束。这些元素非常小,但当乘以10000时,它可以在运行时产生差异。此外,它们被缓存:如果两个视图具有相同的值,那么实际上只会创建一个新对象。然而,回溯数量将保持不变(除非搜索启发式是基于随机性或约束数量等)。

最好的

让-纪梵希愤怒的https://www.cosling.com/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36554787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档