The scope of task planning - not flow planning!

I am working on a Java application that should allow users to optimize their daily schedule. To do this, I need a structure that helps calculate the optimal times for the "tasks", taking into account:

  • Required Resources and Resource Use Restrictions
  • Dependencies between tasks (perhaps only with relations F-> S)
  • Earliest and most recent start, downtime
  • The initial period compared with the actual time - allows you to report the actual start and end time, respectively, updating the remaining tasks.

Some clarifications: I'm not looking for a framework for drawing these gantts, nor a framework that deals with one specific problem domain (for example, classrooms), and is definitely not a thread planning environment.

Thanks!

+4
source share
3 answers

I don’t think there is a framework that suits your needs out of the box. I know that you said that you are not looking for a work / flow scheduler, but I think your best bet is probably to roll your own optimization / prioritization code around a “dumb” work / flow planning structure like Quartz (or whatever something else that you have). If you go with Quartz, the API can probably provide you with some information useful for points 3 and 4 of your optimization criteria. In addition, Quartz has the concept of "priority" of work, so once you have calculated the optimized priority, it should make it easier to plan for execution.

If you find a framework that does what you ask for, send it here. I am sure there are others who could use something like that.

+5
source

You can check out project management software . It seems you need it, written in java with the ability to change code. It really narrows the list, but I did a quick scan, and I see at least 2 of them that might help (Endeavor and Project.net).

0
source

Perhaps you need something like an evolutionary genetic algorithm to create an optimized graph?

If so, you can take a look at this time bar: http://watchmaker.uncommons.org/

With an evolutionary / genetic algorithm, it randomly generates a schedule pool. The focus will be on defining evaluation criteria for each chart generated. Then let it (generated graphics) evolve from generation to generation until it becomes optimal for you.

0
source

All Articles