lewellent
lewellent

Reputation: 33

Multi-project job scheduling in OptaPlanner

I am a Java/C/Python developer who is looking to assist a relative who manages a custom product shop. I am new to optaplanner and contraint programming in general, so my questions are:

1.) Is the scheduling problem below likely solvable in optaplanner (or one of its alternatives)?

2.) What kind of algorithm is best suited for this problem? It seems like it has a close resemblance to the Project job scheduling example given in the (excellent) OptaPlanner documentation, but it has the additional constraint of scheduling multiple projects at any given time.

The simplified problem is:

Upvotes: 2

Views: 2037

Answers (1)

Geoffrey De Smet
Geoffrey De Smet

Reputation: 27312

Take OptaPlanner's "Project job scheduling" example and adjust it accordingly:

  • "there are 1 to n projects": The "Project job scheduling" example already has multiple projects.
  • "Each project has its own deadline." Add a hard constraint that the last job of a project must end before the project deadline. Make sure penalize the amount of time it's too late (see "score trap" in docs).
  • "sequenced series of jobs": configure the precedence constraints accordingly
  • "Any given job can appear 0 to many times in the sequence": each of those times is a separate job in the example-terminology.
  • "Each project shares global resources, namely employees A, B, and C": global, renewable resources
  • Solutions only need to be feasible, not optimal: Yet, I 'd still keep using the soft constraint to minimize the makespan.

Note: OptaPlanner 6.0 solves the "Project job scheduling" example pretty good already, but improvements planned for 6.1 are likely to improve results even more.

Upvotes: 1

Related Questions