Re: Simple priority scheduling



Sorry for the delay, I missed these as my procmail email filter was
up the creak.

Notes below

Cheers


Terry

On 12/03/15 13:47, Alexandre Franke wrote:
Hey,

On Thu, Mar 12, 2015 at 8:24 AM, Terry Barnaby <terry beam ltd uk> wrote:
Hi, I have been using planner on and off for a few years now for some
projects. Its not ideal but works ok for us. The biggest issue though has
been the lack of some form of automatic scheduling of tasks that share the
same resource.
There was the --enable-simple-priority-scheduling build option but
this did not seem to do much if anything.
Yeah, as far as I know this was more of an experiment, which is why it
is not enabled by default.

Anyway, we wanted to have some basic priority scheduling for a project
and after looking around at alternative programs decided to modify
planner a bit.
Cool!

So we have implemented a basic priority scheduler, enabled with the
--enable-simple-priority-scheduling build option. What this does
is:
If it is good enough, and has no undesirable side effect, we could
enable this by default (and maybe use a
--disable-simple-priority-scheduling if we still want to be able to
disable it, though I'm not sure why we'd want that).

1. Has a "scheduling" checkbox in the project dialog to enable
    the feature. This is saved to/restored from the xml project file.
Are you talking about the project properties dialog that can be
launched from Project → Edit project properties?
Yes. it is a simple checkbox although the stored value is an integer.
The idea was that maybe this could be extended to support multiple
scheduling algorithms. The one I have create is pretty basic and
there is a lot to scheduling algorithms

2. When enabled if there is any degree of clash between two tasks
    that use the same resource the task with the lowest priority
    and its dependants is/are moved in time to be after the task with
    the higher priority.
What kind of move are we talking about here? Is it only computed and
displayed, or is the new start date saved in the file? Will the
scheduling happen everytime I open the file? Everytime I edit a task?
The scheduling is only computed live while the scheduling is enabled.
Nothing is stored in the file bar the scheduling on/off item.
A separate scheduling date could be stored in the file and acted upon
I guess. I just needed a simple scheduler.

3. If the clashing tasks have the same priority, the earliest task
    in the list of tasks (nearer the top) are deemed to have higher
    priority than the ones below.
Simple no-nonsense behaviour. I like that. Are there complex cases
where the scheduler messes up or gets lost? E.g. what happens with
lots of dependencies or when several people work on the same task, but
with different calendars? Or any other corner case you might think of…
Generally it is simple enough not to mess up, but it can. It does
iterate a few times and gives up after a fixed number of tries.
It was designed so that multiple people with different calendars can
be scheduled. It does currently assume 100% resource usage if that
person is named for the task (ideally it would allow task overlap based
on the percentage of resource usage).

At the moment I use a simple toggle button to enable, but an integer
is stored in the xml file to enable it so it would be possible to
extend this with various simple algorithms.
Seems fair enough.

I can provide a patch for this, but I don't have much time to really
polish it and update the main sources. Some things may need to
be changed (for example I have modified the mrproject-0.6.dtd file
it may be better to have an updated version dtd file etc).
I'm not sure if anyone is actively maintaining the code and/or
thinks this patch would be a good idea and would like to take the
patch and update the code ?
Let's say I'm semi-actively maintaining it. The code is not moving
much currently because we're transitionning to GTK+3 and I'm waiting
for GSK to arrive to replace our current gnome-canvas based Gantt
chart.

But sure, your contribution is welcome and I'd be happy to have it merged.

As I said it could do with more work and polish, but might form the
basis of multiple scheduling algorithms. At least it works for us.
The mail list would not accept the patch as an attachment so I have put it at:
http://www.beam.ltd.uk/files/share/planner-beam1.patch

Cheers


Terry

--
  Dr Terry Barnaby                     BEAM Ltd
  Phone: +44 1454 324512               Northavon Business Center, Dean Rd
  Fax:   +44 1454 313172               Yate, Bristol, BS37 5NH, UK
  Email: terry beam ltd uk             Web: www.beam.ltd.uk
  BEAM for: Instrumentation, Real-Time/Parallel, Hardware/Software, Linux
                         "Tandems are twice the fun !"



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]