[英]Java Choco solver error (IntVar read as Int)
我正在嘗試使用java choco求解器(CP求解器)為圖形着色。 但是我似乎無法使其正常工作。 甚至本教程中的代碼也不起作用:
int n = 8;
Model model = new Model(n + "-queens problem");
IntVar[] vars = new IntVar[n];
for(int q = 0; q < n; q++){
vars[q] = (IntVar) model.intVar("Q_"+q, 1, n);
}
for(int i = 0; i < n-1; i++){
for(int j = i + 1; j < n; j++){
model.arithm(vars[i], "!=",vars[j]).post();
model.arithm(vars[i], "!=", vars[j], "-", j - i).post();
model.arithm(vars[i], "!=", vars[j], "+", j - i).post();
}
}
Solution solution = model.getSolver().findSolution();
if(solution != null){
System.out.println(solution.toString());
}
我總是得到以下錯誤:
類型IIntConstraintFactory中的方法arithm(IntVar,String,int)不適用於參數(IntVar,String,IntVar),我不明白,因為vars [j]應該是IntVar。
我希望有人能幫幫忙!
親切的問候,
尼古拉斯
您的代碼對我有用! 也許您的IDE配置不正確。 我不明白該錯誤消息,因為有一個方法model.arithm(IntVar,String,IntVar)...在按住Ctrl並單擊時會在源代碼中看到它嗎? 你能顯示你的進口嗎?
PS:IntVar中的強制轉換是無用的(如果您的IDE要求它,那么您將遇到配置問題)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.