Добавьте переменную планирования рабочей станции в проект назначения задач OptaPlanner - PullRequest
1 голос
/ 04 мая 2020

Я пытаюсь добавить понятие «рабочая станция» в K IE Серверный проект по назначению задач OptaPlanner.

Это означает, что для выполнения задачи потребуется одновременно сотрудник (со списком навыков) , как это уже существует сегодня, и рабочая станция (со списком атрибутов). Подводя итог, я пытаюсь продублировать и интегрировать понятие сотрудника.

В коде Task и Employee оба наследуются от класса TaskOrEmployee. Если я хорошо понимаю, это наследование сделано для того, чтобы можно было использовать понятие теневой переменной, которое может быть сделано только между классом и классом, который он наследует, или интерфейсом, который он реализует.

Я пробовал несколько вещей

  • Иметь TaskOrEmployeeOrWorkstation вместо TaskOrEmployee с абстрактным методом getWorkstation(). Тесты проекта терпят неудачу с:

Can not set org.kie.server.examples.optaplanner.taskassignment.kjar.domain.Workstation field org.kie.server.examples.optaplanner.taskassignment.kjar.domain.Task.workstation to org.kie.server.examples.optaplanner.taskassignment.kjar.domain.Employee

  • Иметь класс рабочей станции, который является переменным PlanningVariable of Task. Исходный тест проходит, но кажется, что он не имеет никакого эффекта (задачи планируются так, как если бы не было параллелизма рабочей станции).

Какова лучшая стратегия для интеграции этой концепции рабочей станции?

Я также видел пример проекта OptaPlanner «Project Job Scheduling», который, возможно, мог бы послужить хорошей основой для того, что я хочу сделать.

Что вы думаете об этом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...