2014-09-04 3 views
0

optaplanner를 탐험 중입니다. -4Hard/-3hard와 같은 점수 값과 함께 가장 좋은 해결책을 찾았습니다.optaplnner 점수가 만족스럽지 않음

주어진 솔루션에서 만족스럽지 않은 하드 및 소프트 제약 조건을 나열하는 것과 같은 더 자세한 정보를 얻으 려하므로 사용자가 더 나은 솔루션을 얻기 위해 제약 조건을 약간 변경할 수 있습니다.

optaplanner에서 가능합니까? 그렇다면 어떻게 할 수 있습니까?

+0

예 [스코어를 설명하면] 문서 부분을 참조 (http://docs.jboss.org/drools/release/latest/optaplanner-docs/html_single/index.html#explainingTheScore). –

+0

@GeoffreyDeSmet, 점수 값을 계산하는 방법에 관한 모든 것, 만족스럽지 않은 제약 정보를 지정하는 섹션을 찾지 못했지만 몇 가지 예를 지적 할 수 있습니까? –

+0

"5.5 점수 설명 : 해답이 아닌 점수 계산 사용"섹션으로 충분하지 않은 이유는 무엇입니까? –

답변

0

하드/소프트 점수는 구현에 따라 다릅니다.

Optaplanner의 예제에서 CloudBalancingEasyScoreCalculator (see docs)을 가져옵니다. 점수는 실제로 누적 합계입니다. 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가 당신의 필요를위한 솔루션이 수 있습니다 구성 점수 .

희망이 도움이됩니다.

ThePolyscope.com

관련 문제