簡體   English   中英

Choco-solver IntVar 聲明:如何聲明具有兩個(或更多)boundedDomain 的 IntVar?

[英]Choco-solver IntVar declaration : How to declare an IntVar with two(or more) boundedDomain?

IntVar v = model.intVar("v", 1, 12, true);
// or 
v= model.intVar("v", 20, 30, true);

我希望 IntVar v 的值不僅在 [1,12] 中,而且在 [20,30] 和其他值段中 [...,...] 我不明白如何使用IntVar 的特定聲明

在 choco-solver 中,您可以定義有界域變量(使用model.intVar(name, lowerBound, upperBound)

// domain is [1,7]
IntVar v = model.intVar("v", 1,7);

或枚舉域變量( model.intVar(name, values...)

// domain is {1,3,5}
IntVar v = model.intVar("v", new int[]{1,3,5});

因此,如果您要聲明的域是由范圍組成的,那么除了列出所有可能的值之外別無選擇。

// domain is [1,3]U[5,7]
IntVar v = model.intVar("v", new int[]{1,2,3,5,6,7});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM