0
我在探索optaplanner,我發現它給了我一個最好的解決方案以及一些得分值,比如-4Hard/-3hard。optaplnner得分不滿足條件限制
我想獲得更多關於此分數的信息,例如列出在給定解決方案中不滿足的軟硬約束,以便用戶能夠稍微更改約束以獲得更好的解決方案。
optaplanner有可能嗎?如果是的話,怎麼樣?
我在探索optaplanner,我發現它給了我一個最好的解決方案以及一些得分值,比如-4Hard/-3hard。optaplnner得分不滿足條件限制
我想獲得更多關於此分數的信息,例如列出在給定解決方案中不滿足的軟硬約束,以便用戶能夠稍微更改約束以獲得更好的解決方案。
optaplanner有可能嗎?如果是的話,怎麼樣?
您的硬/軟分數取決於您的實施。
拿CloudBalancingEasyScoreCalculator(see docs)來自Optaplanner中的例子。 你看到分數實際上是累積和。 Optaplanner沒有機會知道在該總和中考慮的每個約束的細節。 沒有定義一組約束。我們只是把它們作爲全球目標。
解決方案1 :在這種情況下,解決方案是在計算您的分數時跟蹤自己無法預料的約束條件。
在同樣的例子,你會在這裏插入此處理:
// Hard constraints
int cpuPowerAvailable = computer.getCpuPower() - cpuPowerUsage;
if (cpuPowerAvailable < 0) {
hardScore += cpuPowerAvailable;
cloudbalance.trackUnrespectedHardConstraint(...)
}
,而不是
// Hard constraints
int cpuPowerAvailable = computer.getCpuPower() - cpuPowerUsage;
if (cpuPowerAvailable < 0) {
hardScore += cpuPowerAvailable;
}
我沒有探索Drools的得分配置,可能是一個解決方案2您的需求, 。
希望這會有所幫助。
是的,見文檔節[在解釋得分](http://docs.jboss.org/drools/release/latest/optaplanner-docs/html_single/index.html#explainingTheScore)。 – 2014-09-05 06:20:11
@GeoffreyDeSmet,它的所有關於如何計算得分值,我沒有找到任何部分是指定關於不滿意的約束信息,你能指出一些例子嗎? – 2014-09-23 06:42:07
爲什麼「5.5。解釋分數:使用求解器以外的分數計算」部分爲什麼不夠? – 2014-09-23 09:57:55