LocalSolver快速入门指南(连载二十四) ---- 列表、集合变量4

Local Solver使用集合变量(sets)构建模型

集合可以作为一种紧凑的方法来建模各种问题中的组成员。如果k是货箱数量,则装箱问题将用k集合来建模。这些集合将被约束成一个分区(使用操作符partition)。

虽然列表在建模排序约束的能力上是唯一的,但是集合变量可以被等效的布尔模型所代替。如果问题涉及到将一个项目分配给几个相似的组或容器中的某一个,则应首选集合变量。这是用不相交算子(disjoint)或分区算子(partition)自然地建模的。

另一方面,在某些情况下,布尔模型可能执行得更好。当存在一个单独的集合时(例如一个背包问题),或者它们都是独立的,即集合不会给模型带来任何额外的结构时,就会发生这种情况。类似地,如果需要在项上添加许多约束,例如使用contains操作符,那么使用集合而不是布尔变量的好处往往较小,因为模型不会显得更紧凑。

在我们的示例之旅中可以找到使用集合变量的详细装箱示例。联系LocalSolver总代理无锡迅合信息科技有限公司获得学术试用。。。 未完待续,下一节:Lambda expressions(拉姆达表达式

Guess you like

Origin blog.csdn.net/qq_31243247/article/details/118002661