2016-06-10 15 views
0

Ich möchte eine Änderung an einer Planungsvariablen für eine Planungseinheit vornehmen, um dieselbe Variable für bestimmte andere Instanzen der gleichen Planungseinheit zu beeinflussen. In meinem Fall habe ich eine Planungsinstanz namens taskResourceAllocation, die eine Planungsvariable namens taskStartIndex hat, und ich möchte eine Änderung an taskStartIndex für eine taskResourceAllocation in den anderen taskResourceAllocations widerspiegeln, die zu derselben Aufgabe gehören, und an alle taskResourceAllocations, die taskResourceAllocations sind gehören zu anderen Aufgaben der gleichen Tätigkeit.Optaplanner: Planungsvariable, die auch eine Schattenvariable ist?

Kann ich den taskStartIndex mit einer @ PlanningVariable und einer @CustomShadowVariable annotieren?

Ich sah das Exam Beispiel in den Quellen, die Casting von Prüfung zu führenden Prüfung und folgende Prüfung verwendet und Schatten die Änderung der Periode von der führenden Prüfung zu den folgenden Prüfungen und dachte über mit diesem Ansatz gehen, aber ich bin mir nicht sicher dass es mir passt, da ich Angst habe, Entitäten zu duplizieren ...

Antwort

0

Klingt, als ob Sie eine echte Planungsvariable auf Task (die dann auch eine Planungseinheit ist, vergessen Sie es nicht in Ihrer Solver-Konfiguration) und dann eine Schattenvariable für jede taskResourceAllocation dieser Aufgabe haben. Ich bezweifle, wenn das sogar eine Schattenvariable sein muss, können Sie einfach getTask().getStartIndex() tun.

Eine echte Planungsvariable kann jedoch keine Schattenvariable sein.