how does scheduler decide?

P

Patrick Peters

I'm running project 2000. I'm putting together a project where I am
assigned to multiple tasks that have no contraints for start or finish time.
There are more requests for my time than there hours in the day, so
levelling pushes some of the dates out to fix the resource allocation.

When project has multiple tasks competing for the same resource, how does it
decide which task "wins"? I've tried raising the priority of the task, but
that doesn't seem to affect behavior.

Thanks

Pat
 
G

Gérard Ducouret

Hello Patrick,



If you raise (or lower) the priority of some tasks, you have to set the
"Leveling order" feature to "Priority,Standard" in the Resource Leveling
dialog box. Otherwise, the leveling algorithm doesn't take in account your
priorities.



Gérard Ducouret
 
P

Patrick Peters

Thanks for the clarification on leveling.

If there is no leveling, how does Project decide which task to schedule
first? Does it just start at the top of the file and work its way down?

Pat
 
G

Gérard Ducouret

Patrick,

If there is no leveling, Project does... nothing !
NB : You could set the Leveling Calculations to Automatic instead of Manual,
but generally nobody works like that.

May be, you wanted to say "If there is no priority...". So Ms Project takes
in account a lot of parameters, but I don't know the real order of them in
the algorithm :
- Duration
- Slack : MS Project will postpone a task which has a confortable slack
instead of another one which is on the critical path.
- ID number
- Creation date : MS Project pospones the new created tasks instead of the
"old" ones.
- Priorité

Gérard Ducouret
 
M

Mike Glen

Hi Patrick,

As a matter of interest, some 20 years ago, I attended the launch of
Computer Associates' Superproject for Windows. At the end of the
presentation I asked if he would tell us the algorithm that they used to
determine the leveling process. He looked me in the eye and said: "That's
propriety information - next question please?" This part of the schedulling
engine that make one product different from another, and thus a jealously
guarded secret! However, one can make some educated guesses - Project
obeys the logic linking and starts at the first minute of the project
looking down the task list to see if there's any overallocation. It will
then look at the slack and delay a non-critical task infavour of a critical
task. If there is more than one non-critial tasks overallocated, it will
delay the one with the most slack first. And so on... And then the trail
stops - what if there are 2 critical tasks, which one gets delayed? My
guess is the one with the highest Task ID as there is an option to level by
ID Only. Now consider there being more that one resource assigned - which
one gets delayed? Again my guess is the resource with the highest Resource
ID. I'm sure you can see how complicated the algorithm can become with
multiple resources assigned! Nevertheless, this knowledge, plus the use of
priorities, give us plenty of scope for tailoring leveling to optimise our
requirements should we so desire.

Mike Glen
MS Project MVP
 
G

Gérard Ducouret

Hello Mike,

And what did you think about the Computer Associates' Superproject leveling
algorithm ?

I made some tests with several scheduling software and Superproject always
find the solution when there is one.

Now it's no more in use, but I keep it on my shelve.



Gérard Ducouret
 
M

Mike Glen

Don't know, Gérard, as I never used it! It was very much more expensive.
:)

Mike Glen
MS Project MVP
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top