tpaviot / ProcessScheduler

A Python package for automatic and optimized resource scheduling
https://processscheduler.github.io/
GNU General Public License v3.0
59 stars 18 forks source link

Maximum tasks from a list between two timepoints #18

Closed dreinon closed 3 years ago

dreinon commented 3 years ago

Any ideas about how to constraint a maximum of n tasks (no minimum) from a list of tasks to be scheduled between a certain interval of time?

For instance, such that a person can do a maximum of 3 tasks between the periods 5-15, and a maximum of 4 between the periods 15-30.

With 3 tasks maximum FROM A LIST OF TASKS between 5-15, this doesn't mean that there couldn't be more tasks that aren't in that list between this periods.

Thanks!

tpaviot commented 3 years ago

There are two different features expected:

  1. Any ideas about how to constraint a maximum of n tasks (no minimum) from a list of tasks to be scheduled between a certain interval of time?
  2. person can do a maximum of 3 tasks between the periods 5-15, and a maximum of 4 between the periods 15-30.

The first one targets tasks. The second one targets CumulativeWorker resources. The first one is adressed by PR #20. The capacity limitation on a CumulativeWorker requires another constraint.

dreinon commented 3 years ago

Got me wrong Thomas. Both are the same constraint that is being developed.

For what you described as the second feature, I didn't mean that the worker is able to do n tasks at the same time, because in my problem, a person is not a worker, the worker is the car.

A person is just a shortcut to address to a list of tasks related to that person.

tpaviot commented 3 years ago

ok, right, the "person" you mention is not a cumulative worker. So point 2 is out of topic, although this constraint should be available anyway.

I leave this ticket opened, feel free to close it as soon as you checked that PR #20 does the job.

dreinon commented 3 years ago

Works fine IMO.