2016-08-10 4 views
0

Je suis généralement nouveau sur optaplanner avec quelques mois d'expérience sur l'outil. La version que nous utilisons est 5.5.0 finale.Utiliser des pénalités de score pour influencer le prochain mouvement

Auparavant avec la ligne suivante:

insertLogical(new IntConstraintOccurrence("rule1", ConstraintType.NEGATIVE_HARD, 50, $someViolatingEntity)); 

je suppose que je peux peine de violation en quelque sorte associé à une entité violant déclarée, et l'influence Optaplanner de choisir un mouvement lié à l'entité dans le prochain mouvement. Je n'arrive seulement à réaliser aujourd'hui que cette hypothèse est fausse. $ someViolatingEntity semble être un identifiant pour une violation.

Alors, je voudrais savoir s'il y a loin pour atteindre le genre de capacité dans Optaplanner? Basé sur le score calculé, dériver ou favoriser un mouvement particulier, de sorte qu'une meilleure solution peut être atteint plus tôt.

+0

Version 5.5? ** [Mise à niveau vers 6.4 hier!] (Http://www.optaplanner.org/download/upgradeRecipe/) ** (suivez cette recette de mise à niveau). –

+0

Salut, j'ai aussi testé 6.4 pour un projet séparé, et j'ai essayé de me plaindre. Je pense que c'est un concept dont je ne suis pas certain. Le calcul du score aide à indiquer qu'une entité particulière est pénalisée. Mais cela aide-t-il optaplanner à se concentrer sur les mouvements associés à cette entité? Est-ce que [Sélection probabiliste] (http://docs.jboss.org/optaplanner/release/6.4.0.Final/optaplanner-docs/html_single/index.html#probabilisticSelection) est la seule option? – Kymerlion

+0

Vous recherchez une recherche locale guidée. Bien que nous ayons une sélection probabiliste et une sélection filtrée, ce qui vous permet de faire des choses similaires, une véritable option Guided LS facile à utiliser n'est pas encore implémentée, bien qu'une grande partie de la plomberie soit déjà là. L'instance de ConstraintMatchTotal qu'elle peut obtenir à partir de ScoreDirector est en effet la clé pour que cela fonctionne ... –

Répondre

0

IntConstraintOccurrence est une grande douleur et a été remplacé il y a des années, dans la version 6 par un bien meilleur système. Mettre à niveau en premier.