2017-10-02 9 views
0

J'utilise Optaplanner pour la planification d'événements (exemple ~ stageschedule). Optaplanner nécessite un comparateur de poids/usine pour peser les cours, cependant certaines propriétés peuvent être plus faciles à exprimer via les expressions Drools insertLogical.Existe-t-il un moyen d'utiliser la pondération Drools pour Entity dans Optaplanner?

Par exemple: le cours est plus difficile de prévoir s'il y a beaucoup de voix pour le visiter. C'est-à-dire que j'ai Votes comme fait.

Bien sûr, je peux réorganiser les votes et leur attribuer à l'entité Course, mais il semble difficile à avoir « des propriétés supplémentaires calculées ailleurs sur mon entité », et il semble être plus facile d'exprimer certains calculs par rule+insertLogical. Est-ce quelque chose qui manque dans Optaplanner? Est-il intentionnellement omis?

+0

OptaPlanner ** ne nécessite pas ** de comparaison de poids de difficulté d'entité *. C'est facultatif et juste un indice pour certains algorithmes. Il ne devrait être utilisé que lors d'une modification de la puissance. –

Répondre

1

Cela pourrait être un bon jira, pour soutenir la LRD pour la comparaison des difficultés de l'entité aussi. Cependant, il ne peut pas faire partie du scoreDrl car cela devrait être une session Kie séparée. La comparaison de difficulté se déroule une fois au début (et le futur que nous pourrions soutenir en l'exécutant à chaque étape). D'autre part, le calcul du score DRL s'exécute à chaque mouvement.

Personnellement, je pense qu'il pourrait être surpuissant comme weightFactory de sont assez polyvalent. Créer un jira et essayer d'illustrer le cas d'utilisation avec l'exemple aussi bien que possible, pour changer d'avis.