0

My problem appears to be a scheduling problem, but there’s a few twists I don’t know how to handle - I’m not even sure what terms to Google.

I have a set of “resources”, which may or may not have a lower bound on their first availability date (or even an upper bound on their last date of availability). The number of resources is fixed.

Then I have a set of tasks: those tasks do not really have any precedence over one another (in general), but some of them may have a lower bound on when they can be executed (I.e., not before a certain date). They of course have durations (in general every task has a different duration).

There cannot be two resources allocated to the same task. Also, the tasks to be executed can only be done at a set of specific locations (I.e., 2D points on a map). For this reason, there cannot be two resources at the same location at the same time - even if they execute two different tasks.

Now, assuming I could ever formulate (and solve) this type of problem, the resulting schedule has to be fed to a time-based fluid flow simulation, which is nonlinear. The results of this simulation are going to give me how much each task is worth (together with how much all the tasks together are worth, which is my target to maximize).

Of course, changing the timing of execution of a task will make the nonlinear simulation give a different “worth” for that task. I.e., executing it in January 2023 will give a number, executing it in June 2023 will give another number. Inside the simulator these tasks interfere with one another and they are subject to additional, complex constraints.

Does anyone have any suggestion on how to approach this problem? I’m familiar with Python and linear programming (LPSolve, GLPK, but anything would do I guess).

Infinity77
  • 1,317
  • 10
  • 17

0 Answers0