On Wed, Jul 23, 2008 at 10:44:13PM -0400, Dan Heily wrote: > By modeling the network of tasks, the order is automatically determined. > > Forward pass: "start" all tasks that have no predecessor (assuming resource > availability). It's the above assumption of resource availability that I'm talking about. If you have two tasks that can both start, but require 100% of the same person/resource, then you need to make a decision about task ordering. What you decide can drastically change the makespan of the schedule. It is the algorithm that makes these decisions that is not trivial. In fact these algorithms are about more than just making a decision from time to time. They are usually a complete solution (using things like genetic algorithms) that give you a complete ordering of tasks at the end. I believe this makes it difficult to do things like task splitting if it isn't already part of the algorithm. I hope I'm not glossing over the rest of what you wrote, but I think I understand and agree with that part of it. > The epitome of my simulations was a machine shop simulation that would roll > back lower priority tasks that had allocated a resource that was later > needed by a higher priority task. The process flows included forks/joins > whereby a process could split and later synchronize. This is what I thought Kurt Maute's priority scheduling would be like. The advantage of this approach, besides the fact that tasks can easily be interrupted, is that the user can manually tweak the schedule by changing priorities of tasks. I still think this is a simple, yet useful way of scheduling. Regards, Maurice. -- Maurice van der Pot Gentoo Linux Developer griffon26 gentoo org http://www.gentoo.org Gnome Planner Developer griffon26 kfk4ever com http://live.gnome.org/Planner
Attachment:
pgp3dVitGXYEu.pgp
Description: PGP signature