I have been studying OptaPlanner for some time. I used the example Task Assignment as the basis for my project development. But I have a problem.

31 views
Skip to first unread message

Air

unread,
Aug 3, 2022, 4:02:30 AMAug 3
to OptaPlanner development
Hi guys!

I have been studying OptaPlanner for some time. I used the example Task Assignment as the basis for my project development. But I have a problem. Here is a simplified description of my project design:

1. The machine is ProblemFact and the task is PlanningEntity.
2. Each machine can perform tasks of the corresponding type. There are more than one machine of the same type.
3. Each device can be reused. Each task must be scheduled after the execution of the previous task on the corresponding machine (except the first task).
4. Minimize the makespan that performs all tasks.

Simplified data set:
TaskList: task1, task2, task3, task4, task5. (These 5 tasks can be executed on the machine of type A, and the execution time is 10 minutes.)
There are two types of machines of type A (assuming they are exactly the same, regardless of other parameters) : Machine1 and Machine2.

Because the data is very simple, the ideal task arrangement result can be quickly obtained as follows: three tasks are allocated on one machine and two tasks are allocated on the other machine. The resulting makespan value is 30min.

But what I actually got was this:
Machine1: task1, task3, task4, task5
Both machine2: task2
or
Machine1: task1, task2, task3, task4, task5
Both machine2: null

can please help me analyze the cause of this result and how to solve it?

Thanks,
Air

Radovan Synek

unread,
Aug 3, 2022, 9:13:45 AMAug 3
to optapla...@googlegroups.com
Hello,

there is a couple of things to check:
1) did a local search phase run and make any changes on top of what the construction heuristic achieved? Take a look at debug-level logging to see the steps OptaPlanner took.
2) how do you implement the makespan in the scoring function?

I don't understand what you mean by "Both machine2". How many machines are at play in the example you described? I got the impression there are only two machines: Machine1 and Machine2.

Best regards,
Radek

--
You received this message because you are subscribed to the Google Groups "OptaPlanner development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to optaplanner-d...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/optaplanner-dev/e8a4edcf-f4d0-4101-a460-c8def5ab2c11n%40googlegroups.com.


--

Radovan Synek

Principal Software Engineer, Business Automation

Red Hat EMEA

Brno, Czech Republic

Reply all
Reply to author
Forward
0 new messages