2012-09-10 1 views
1

Je suis en train de jouer avec le planificateur bave comme finalement je dois former une solution de classement. J'ai commencé à partir de Drools Planner user guide, j'ai réussi à exécuter les exemples dans Eclipse.Drools planificateur: changer SimpleScore à HardAndSoftScore

En essayant de comprendre les différences entre les types de partition simple et HardAndSoft, j'essaie de modifier l'exemple NQueens en changeant le score de Simple à HardAndSoft.

J'ai fait comme suit:

  1. Dans le nqueensSolverConfig.xml je mis <scoreDefinitionType>HARD_AND_SOFT</scoreDefinitionType>.

  2. Dans le NQueens.java:

    • Je mis public class NQueens extends AbstractPersistable implements Solution<HardAndSoftScore> {...}

    • j'ai changé SimpleScore propriété et méthodes dans les membres HardAndSoftScore correspondants:

    privé HardAndSoftScore hsScore;

    public HardAndSoftScore getScore() { return hsScore; }

    setScore public void (score HardAndSoftScore) { this.hsScore = score; }

Mais quand je lance la solution que je reçois le message suivant:

"The scoreString (0) doesn't follow the 999hard/999soft pattern." 

Qu'est-ce qui ne va pas?

Répondre

0

Vous aurez encore dans votre config solveur:

<termination> 
    <scoreAttained>0</scoreAttained> 
</termination> 

Toute partition écrite dans la configuration du solveur doit être dans le format de la définition de score, donc quelque chose comme ceci:

<termination> 
    <scoreAttained>0hard/0soft</scoreAttained> 
</termination> 

Note: vous êtes probablement absent en regardant l'un des «vrais» exemples, tels que la planification des cours ou l'inscription infirmière, au lieu de N Queens.

Questions connexes