我正在使用JaCoP--一種用於Java的約束規劃求解器 - 來計算複雜調度問題的解決方案。現在我面臨着找到的解決方案不正確的問題。約束規劃求解器JaCoP解決方案找到但存儲不一致
我施加以下約束:
store.impose(new XplusYeqZ(start, duration, cipStart));
完成搜索求解找到解決辦法後,無奈的解決方案顯然是錯誤的,違反上述約束。
我在開始搜索前檢查商店與consistency()
的一致性,它返回true
,但在搜索後返回false
。
我還遍歷商店的所有約束的搜索之後和印刷如果使用此代碼滿足:
store.getConstraints().forEach(constraint -> {
System.out.println(constraint.id() + " " + constraint.satisfied());
});
的上述方法返回false
上實施該約束。
我的問題是:是否有合理的解釋,爲什麼不是每個約束都必須滿足正確的解決方案?我可以忽略一些東西嗎
附錄:我使用JaCoP 4.4.0
某些求解器在處理某些問題時遇到了整數溢出/下溢問題。你可能會碰到這個。 – TLW