After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 139443 - Use priority to help resolve overallocated resources
Use priority to help resolve overallocated resources
Status: RESOLVED OBSOLETE
Product: planner
Classification: Other
Component: Resources
unspecified
Other Linux
: Normal enhancement
: ---
Assigned To: planner-maint
planner-maint
: 329279 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2004-04-08 04:34 UTC by Lincoln Phipps
Modified: 2021-06-09 20:30 UTC
See Also:
GNOME target: ---
GNOME version: Unversioned Enhancement


Attachments
Open Office SXW - DRAFT: v0.3 Not for further release. (62.63 KB, application/octet-stream)
2004-08-27 03:02 UTC, Lincoln Phipps
Details

Description Lincoln Phipps 2004-04-08 04:34:14 UTC
The priority field is now effective in CVS. Planner doesn't 
yet use this field but planner could use this field as follows; 

An example: if you have TASK 1,2,3 and TASK2 and 3 are both 
linked to TASK 1 as FS and both use the same set of resources 
which are now at MAX (100%) then the "higher" priority task out 
of 2 or 3 should take precedence over the "lower" priority task. 

Thus the start of e.g. TASK 3 is the,
max(f(constraint(predecessor))->end, f(priority(siblings))->end)

As mentioned if priority is 0 then its never checked.

Other things...

-we would have to have flags to turn on/off this behaviour 
across a project and also a task (A "UsePriority" flag)

-we would have to have a project-wide definition as
define if 1 is the "higher" or "lower" priority

-if priority is used then we would have to have a project-wide
check to make it take into account resources 
(range of no resources, any resource or all resources).
If no-resources then this means that a higher priority 
task would always be completed before a lower priority task
within its siblings.

Other note: priority would only ever be compared within 
the siblings.
Comment 1 Lincoln Phipps 2004-04-08 09:51:11 UTC
I actually said...priority would only ever be compared within 
the siblings...but to there is no reason why you couldn't
also set a priority to a summary tasks to resolve contention
within its siblings and so on to the top level tasks.
Comment 2 Lincoln Phipps 2004-04-08 12:19:55 UTC
...or that priority could have a global meaning across the whole project. Maybe
a flag to say that the task has local or global precedence on priority. 
Comment 3 Jorge Godoy 2004-05-19 15:20:02 UTC
What if there was some kind of priority propagation from children tasks to
parents? This way you can designate priorities correctly to children and have it
reflected on parents. 

The higher priority goes also to the parent, and it gets ordered accordingly to
the time that task should be performed, as a second index variable. 

When there are conflicts in both tasks, one can change the priority slightly or
opt for an automatic solver: the first scheduled task wins over the last one...
(I suppose it was thought first, so it must be a bit more important than the
other one, although not so important to make the other with a lower priority level).
Comment 4 Lincoln Phipps 2004-05-21 09:07:34 UTC
Once the UNDO/REDO trache of patches is over I do think that this priority hint
is a good thing for allocation of task dates and so will work on a  functional
specification for it (as opposed to my usual approach of simply knocking up a
GLADE dialog box and then wacking code in at random ;) 

So yes - priority could be compared within siblings and then a suitable function
of the sibling priorities  could be propagated to the parent summary tasks and
so on up (e.g. work weighted average or cost weighted average or maximum sibling
priority - I actually like the idea of a work weighted average. What that means
is if we had 3 tasks,

T1 = 3 days @  prio = 5  cost 300
T2 = 1 day  @  prio = 2  cost 50
T3 = 4 days @  prio = 3  cost 800

the work weighted average would be,
(3/8 * 5)  +  (1/8 * 2) + (4/8 * 3) = 3.625 

the maximum sibling priority would be 5 

and the cost weighted average would be,
(300/ 1150 * 5) + (50/1150 * 2 ) + (800/1150 * 3) = 3.478

as to which you chose well maybe we have a global flag 
of priority propagation based on work, costs or priority.

Rgds,
Lincoln.

Comment 5 Lincoln Phipps 2004-05-21 09:10:15 UTC
...or propagate the minimum sibling priority ! we won't hard code 1= high and
9999 = low but will let the customer decide as to which is which on a 
project-wide flag.

Comment 6 Lincoln Phipps 2004-08-27 03:02:47 UTC
Created attachment 30998 [details]
Open Office SXW - DRAFT: v0.3 Not for further release.

Issued just so people can see where I'm up to on this. Needs lot more work and
so little time.
Comment 7 Alexandre Franke 2009-07-31 08:56:00 UTC
*** Bug 329279 has been marked as a duplicate of this bug. ***
Comment 8 GNOME Infrastructure Team 2021-06-09 20:30:21 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/World/planner/-/issues/53.