Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Scheduling system

Options
  • 28-02-2009 2:37am
    #1
    Registered Users Posts: 86 ✭✭


    Hi, I am currently trying to develop a staff scheduling system which will atuomatically generate and assign staff to shifts. I was just wondering if anybody could recommend a language to code this in or areas to carry out some research for it. So far a lot of stuff I have come across has been recommending the use of a genetic algorithm.
    Sorry if I sound like an idiot, I'm just a bit lost with it:(. Thanks.


Comments

  • Registered Users Posts: 2,234 ✭✭✭techguy


    Hey,

    In my Operating Systems class I we had a quick chat about the Bankers Algorithm

    It is used by operating systems to allocate resources to running processes.

    I'm pretty sure it could be used in your program also, the timetable/schedule is the process requiring resources which are in your case, staff members.

    I see that this post is pretty new..I'm sure the pro's will be along very shortly and give you a more solid answer.


  • Closed Accounts Posts: 8,015 ✭✭✭CreepingDeath


    NerfNerder wrote: »
    Hi, I am currently trying to develop a staff scheduling system which will atuomatically generate and assign staff to shifts.

    Depends... not if the staff are in a trade union. It would be too complicated.


  • Closed Accounts Posts: 1,827 ✭✭✭Donny5


    NerfNerder wrote: »
    Hi, I am currently trying to develop a staff scheduling system which will atuomatically generate and assign staff to shifts. I was just wondering if anybody could recommend a language to code this in or areas to carry out some research for it. So far a lot of stuff I have come across has been recommending the use of a genetic algorithm.
    Sorry if I sound like an idiot, I'm just a bit lost with it:(. Thanks.

    Genetic algorithm - can you explain the rationale behind this? Maybe a little of the suggested implementation? I'd be very interested to see it.


  • Registered Users Posts: 163 ✭✭stephenlane80


    NerfNerder wrote: »
    Hi, I am currently trying to develop a staff scheduling system which will atuomatically generate and assign staff to shifts.

    This is a famous scheduling problem called the "Job Shop Scheduling Problem", scheduling problems are very difficult at the best of times, and impossible at the worst of times. One way to tackle the problem would be with linear programming, linear programming is a mathematical method of solving constraint problems. the problem with linear programming is that the problems get very hard very fast, and are unsolveable for large problems.

    In order to avoid complexitys associated with LP hueristic algorithms such as the genetic algorithm is used. Genetic algorithms iterate through possible solutions makeing better suggestions at each iteration.

    The genetic algorithm is difficult to implement for a specific problem if you don't ahve a background in operations management. An simplier less optimised solution might be a first in first out queueing system where the next free job goes to the next free resource. Most scheduling systems use some flavour of prolog.


  • Registered Users Posts: 23,212 ✭✭✭✭Tom Dunne


    NerfNerder wrote: »
    Hi, I am currently trying to develop a staff scheduling system which will atuomatically generate and assign staff to shifts. I was just wondering if anybody could recommend a language to code this in or areas to carry out some research for it. So far a lot of stuff I have come across has been recommending the use of a genetic algorithm.
    Sorry if I sound like an idiot, I'm just a bit lost with it:(. Thanks.

    Em, I think we are getting a little ahead of ourselves with talk of algorithms and stuff.

    You need to answer some basic questions before you get that far - what experience of programming do you have? What resources do you have available for support (e.g. is it a Windows shop or Unix)? Commercial software or open source?

    Then, of course, you need to decide if it is a stand-alone application, or a web application.

    Then decide on a platform. Then decide on a language.

    Then start talking about algorithms. :)


  • Advertisement
Advertisement