scheduling

Document Sample
scheduling Powered By Docstoc
					Computer Science Capstone Project




                     Name: Jonathan Lobaugh
                     Date: 09/22/03
                     Team:
                     Mentor:
                                                Table of Contents

Abstract .................................................................................................... 3

Technical Introduction............................................................................. 3
         State of Research and Technology .........................................................................3
         Published works ......................................................................................................3
Goals and Objectives ............................................................................... 6
         Hierarchical .............................................................................................................6
         Descriptive ...............................................................................................................6

Approach .................................................................................................. 7
         Development paradigm ..........................................................................................7
         Resource utilization estimates – time, money, resources ....................................7

Bibliography ...........................................................................................10




                                                                                                                                   2
Abstract
            Scheduling the Behrend courses is a tedious and time extensive job. The system
    is outdated and needs updating to a more efficient computerized system. The proposed
    system would be expandable, rule based, and would optimize the use of resources for
    the School of Science‟s. The project will be modular to allow the ability to extend the
    system‟s programming without having to rewrite and adjust the original code. Utilizing a
    HTML based interface the system will allow novice computer users to interact with the
    system easily.


Technical Introduction
    State of Research and Technology
            Currently the scheduling products in the market are based off a simple linear
    algorithm. The products implement a wide array of extra features and accommodate a
    large number of customers. Huge Corporations, small business, and schools are all the
    main targets of the resource scheduling programs. Most systems allow the scheduling to
    be done real time and provide error checking for simultaneous use of the same resource.
    Mainly the systems are used for a day to day scheduling which is different from the
    current scheduling system Penn State Behrend uses.

    Published works

                   Explicit Learning: an Effort towards Human
                              Scheduling Algorithms
    J Li (j.li6@bradford.ac.uk), U Aickelin (u.aickelin@bradford.ac.uk), MOSAIC Research
    group, University of Bradford.

    Abstract
             Scheduling problems are generally NP-hard combinatorial problems, and a lot of
    research has been done to solve these problems heuristically. However, most of the
    previous approaches are problem-specific and research into the development of a
    'general' scheduling algorithm is still in its infancy. Mimicking the natural evolutionary
    process of the survival of the fittest, Genetic Algorithms (GAs) have attracted much
    attention in solving difficult scheduling problems in recent years. Some obstacles exist
    when using GAs: there is no canonical mechanism to deal with constraints, which are
    commonly met in most real-world scheduling problems, and small changes to a solution
    are difficult. To overcome both difficulties, two indirect approaches have been presented
    (in [1] and [2]) for nurse scheduling and driver scheduling, where GAs are used by
    mapping the solution space, and separate decoding routines then build solutions to the
    original problem.
             In our previous indirect GAs (IGAs), learning is implicit and is restricted to the
    efficient adjustment of weights for a set of rules that are used to construct schedules.
    The major limitation of those approaches is that they learn in a non-human way: like
    most existing construction algorithms, once the best weight combination is found, the
    rules used in the construction process are fixed at each iteration. However, normally a
    long sequence of moves is needed to construct a schedule and using fixed rule s at each
    move is thus unreasonable and not coherent with human learning processes.
             When a human scheduler is working, he normally builds a schedule step by step
    following a set of rules. After much practice, the scheduler gradually masters the
    knowledge of which solution parts go well with others. He can identify good parts and is



                                                                                              3
aware of the solution quality even if the scheduling process is not completed yet, thus
having the ability to finish a schedule by using flexible, rather than fixed, rules. In this
research we intend to design more human-like scheduling algorithms, by implementing
explicit learning from past solutions. To do this, novel approaches for general scheduling
purposes using ideas derived from Bayesian Optimization Algorithms (BOA) and Learning
Classifier Systems (LCS) are combined with our IGA. BOA can be applied to learn to
identify good partial solutions and rules to complete them by building a Bayesian network
of the joint distribution of solutions [3]. The Bayesian network is so called because it uses
Bayes‟ rule for probabilistic inference. The nodes, or variables, in the Bayesian network
we construct correspond to the individual rules by which a schedule will be constructed
step by step. The conditional probabilities are computed according to the set of
promising solutions. Subsequently, each new probability for each rule is generated by
using the corresponding conditional probabilities, until values for all rules have been
generated. Another set of rule strings will be generated in this way, some of which will
based on fitness replace old strings. If stopping conditions are not met, the Bayesian
network is updated again using a new set of good rule strings. The algorithm thereby
tries to explicitly identify and mix promising building blocks. It should be noted that for
most scheduling problems the structure of the network model is known and all the
variables are observed. In this case, the goal of learning is to find the rule values that
maximize the likelihood of the training data. Thus „learning‟ is much easier, and can
amount to counting in the case of multinomial distributions.
          In the LCS approach, each rule has its strength showing its current usefulness in
the system, and this strength is constantly assessed [4]. To implement sophisticated
„learning‟ based on previous solutions, an improved LCS-based algorithm is designed,
which consists of the following three steps. The initialization step is to assign each rule at
each stage a constant initial strength. Then rules are selected by using the roulette wheel
method. The next step is to reinforce the strengths of the rules used in the previous
solution, keeping the strength of unused rules unchanged. The selection step is to select
fitter rules for the next generation. It is envisaged that the LCS part of the algorithm will
be used as a hill climber to the BOA algorithm. This is exciting and ambitious research,
which might provide the stepping-stone for a new class of scheduling algorithms. Data
sets from nurse scheduling and mall problems will be used as test-beds. It is envisaged
that once the concept has been proven successful, it will be implemented into general
scheduling algorithms. It is also hoped that this research will give some preliminary
answers about how to include human-like learning into scheduling algorithms and may
therefore be of interest to researchers and practitioners of adjacent areas.

References
1. Aickelin, U. and Dowsland, K. (2001), “An Indirect Genetic Algorithm for a Nurse
Scheduling Problem”.
2. Li, J. and Kwan, R.S.K. (2003), “A Fuzzy Genetic Algorithm for Griver Scheduling”, (to
appear) European Journal of Operational Research.
3. Pelikan, M., Goldberg, D. and Cantu-Paz, E. (1999) “BOA: The Bayesian Optimization
Algorithm”, IlliGAL Report No 99003, University of Illinois.
4. Wilson, S. (1994) “ZCS: A Zeroth-level Classifier System”, Evolutionary Computation
2(1), pp 1-18.


             http://www.inf.brad.ac.uk/~uaickeli/papers/03mista_supervise.pdf




                                                                                            4
   K.J. Shaw and P.J. Fleming: 'Which Line is it Anyway? Use of
      Rules and Preferences for Schedule Builders in Genetic
               Algorithms Production Scheduling.'

Proceedings of the AISB '97 Workshop on Evolutionary
Computation, April 7th-8th, 1997.


Abstract
        Certain implementations of genetic algorithm, such as those used to optimize
production schedules, may include problem information in the algorithm by using a
transformation stage, such as a schedule builder, to supplement the information
contained within the chromosomes. The use of this information can be critical to the
performance of the genetic algorithm.
         The problem of unpredictability of fitness assignment to an individual when using
such a GA is discussed. Some possible improvements are explored, such as the use of
heuristic rules and preference expressions, which allow the use of extra information to
provide a more stable fitness assignment. These improvements are implemented in the
context of a real-life manufacturing example to show their effectiveness in improving the
genetic algorithm optimization performance.


               http://www.shef.ac.uk/~gaipp/publications/aisb97dld.html




  K.J. Shaw and P.J. Fleming. 'An Initial Study of Practical Multi-
    Objective Genetic Algorithms Production Scheduling using
                        Genetic Algorithms'.

Proceedings of the International Conference on Control '96,
University of Exeter, September 2nd-5th, 1996, pp. 479 - 485.

Abstract
        Applying genetic algorithms to scheduling problems is a powerful technique
which has the potential to be used as a multi-objective optimization tool.
Implementations of multi-objective genetic algorithms (MOGAs) could provide an
innovative and interactive decision making technique for adaptive scheduling in practical
manufacturing applications. Justification and implementation of MOGA schemes for
scheduling are discussed and compared.


               http://www.shef.ac.uk/~gaipp/publications/con96abs.html




                                                                                            5
      Current systems
                ScheduleSoft
                                   o     Founded in 1996, ScheduleSoft is an intelligent schedule
                                         generation and management program that provides a cost-
                                         effective alternative to paper and pencil scheduling. With the
                                         choice of desktop, internet, or network, ScheduleSoft is easily
                                         integrated with existing systems to serve all of your scheduling
                                         needs.

                          Resource Scheduler
                                   o     Resource Scheduler simplifies the scheduling, management and
                                         cost allocation of any kind of resource — real and virtual meeting
                                         rooms, A/V equipment, video and teleconferencing facilities,
                                         laptops, cars, even professional staff and airplanes. It enables
                                         anyone in your company to do their own scheduling faster and
                                         more easily than ever before, whether at the office or on the
                                         road. Rooms can be booked, special services such as food and
                                         beverage catering can be requested and arrangements for
                                         special equipment and table layouts can be made. Resource
                                         Scheduler can even manage charge backs and report on usage.



Goals and Objectives
      Hierarchical



                                                        Scheduling Module


                  Faculty Module                   Course Module                    Resource Module                   Rules Module


 Course History               Scheduling History                     Availability                  General Rules


   Meta Data                           Meta Data                     Meta Data                   School interaction


  Faculty Rules                    Course Rules                    Resource Rules                 University Rules


                              Course Interaction




      Descriptive
               The proposed programming project is a scheduling system for the explicit use of
      Penn State Behrend. Currently the scheduling system is done by hand, and although
      effective, the system is inefficient, time extensive, and prone to errors. By removing the
      scheduling from the human hands to the computers, the scheduling will be optimized for
      teachers, students, and available resources (rooms, labs, etc). By applying rules, the
      system will attempt to find the most viable solution to the scheduling issue.



                                                                                                                            6
            The project will be broken into separate modules to allow the system to be
   extendable if needs require so. The Faculty, course, resource, and rules modules will be
   functionally independent of one other, their public interfaces will be the only way
   information sharing is possible. Each Module will have its own graphical interface that
   will allow the user to input user values.
            The underlying module, the scheduling module, will attempt to access all the
   user data and rules applied previously to the modules to create an optimized course
   schedule. Genetic algorithms seem to be the attested way of solving the scheduling
   problem. Since little has been covered on genetic algorithms at Penn State Behrend this
   project will require extensive research.
            Finally, a rule language will have to be established to create a systematic way of
   storing and evaluating rule statements. The rule language setup has been given a
   considerable amount of time in the project timeline. Previous languages have
   implemented the rule structure and most likely will influence the production of the
   systems structured rule language.


Approach
   Development paradigm
           Object oriented programming (OOP) seems to be the most logical of paradigms,
   primarily due to the anticipated data model the scheduling system must manipulate.
   Using the OOP model allows extendibility by modularizing components, this will allow the
   system to maintain a larger system if needs require so. To create an easy to use
   interface for the user, the project will be designed with the portability to a HTML based
   interface.

   Resource utilization estimates – time, money, resources

         Module Description               Time(%)            Anticipated schedule
    Faculty Module                          10%                  10.9 Days
           Data definition                       10%                       1.09 Days
           Method definition                     30%                       3.27 Days
           Interface to Module                   60%                       6.54 Days

    Course Module                            10%                  10.9 Days
           Data definition                       10%                       1.09 Days
           Method definition                     30%                       3.27 Days
           Interface to Module                   60%                       6.54 Days

    Resource Module                          10%                  10.9 Days
           Data definition                       10%                       1.09 Days
           Method definition                     15%                      1.635 Days
           Interface to Module                   30%                       3.27 Days
           Resource Builder                      45%                      4.905 Days

    Rules Module                             20%                  21.8 Days
           Rule Language                         60%                      13.08 Days
           Optimizing Functions                  40%                       8.72 Days

    Scheduling Module                        25%                 27.25 Days



                                                                                             7
 Testing and Debugging                    25%           27.25 Days
              Total                         100%                109 Days

 Estimated Start Date              Monday, January 12, 2004
 Estimated End Date                Friday, April 30, 2004

See attached sheet for schedule layout…




                                                                           8
9
Bibliography
  1. ANTINOOS - Orologio - School Timetable Scheduling Software. 23 Sept. 2003
     <http://www.antinoos.gr>.
  2. ScheduleSoft Personnel Scheduling Software. 23 Sept. 2003
     <http://www.schedulesoft.net>.
  3. Scheduling software and net meeting software from Meeting Maker - free trial. 23 Sept.
     2003 <http://www.meetingmaker.com>.




                                                                                          10

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:37
posted:10/15/2011
language:English
pages:10