time table generator in java-source code
Posts: 8,059
Threads: 1
Joined: Mar 2014
code for timetable generator in java
ABSTRACT
The Time table generation is the most fundamental activity in any Educational institution. It is also the most difficult and time-consuming process.
The time table generation can be compared with many classical problems in computer theory such as ‘ N-Queen problem’, ‘ Job scheduling’.
The basic aim of our project is to automate the timetable generation process. Our aim is to design a user interactive program that generates the timetable according to the given constraints. The program is designed with special emphasis on the engineering college requirements. The program can simply be extended to suit to the requirements of other kinds of institutions also.
The timetable generation problem can be compared with the optimization problems such as ‘ Traveling Sales person problem’. In Traveling sales person problem a set of feasible solutions are obtained, and one among them is chosen as the optimal one, which satisfies the constraints. Using the concept of ‘ Hop field Memory’ in Neural Networks, an ‘Energy function’ can be derived for any optimization problem. The optimal solution is the one, which minimizes the Energy function. Similarly an Energy function can be derived for the timetable generation problem using the Hop field nets and the solution, which minimizes this Energy function, is the optimal solution.
Problem definition:
The problem under consideration is to automate the process of timetable scheduling in an educational institution subjected to the given constraints. The user will specify the constraints and these constraints will drive the scheduling of timetable. The user may specify some of the following constraints.
The number of departments in his institution.
The number of staff personnel available in each department.
The number of classes in each department.
The number of subjects to be dealt for each class.
The minimum number of hours required completing each subject.
The total number of available hours for each day.
The number of laboratories available.
The number of practical sessions per week that are necessary for each class.
Along with the above-mentioned constraints the user may specify some of the weak constraints such as
A teacher should not engage two consecutive slots. i.e. he should be provided with an interval of at least one slot between two classes.
The workload on all teachers should be uniform.
The practical should be continuous for three consecutive slots.
The teacher who is assigned with the subject having practical must be engaged with the lab slots during practical session i.e. he should not be engaged with other slots while the practical session is going on.
INTRODUCTION:
Design is technical kernel of software engineering. During design progressive refinements of data structure, program architecture, interfaces and procedural details are developed and documented. Design results in representations of software that can be accessed for quality. Modularity and concept of abstraction enable the designer to simplify and reuse software components. Design principles guide the software engineer as the design process proceeds.
PURPOSE:
For both new software systems and existing systems, it is important to ensure that the design and implementation used for a software system satisfy the requirements driving that system. The software design description is one of these required products. It records the result of the design processes that are carried out during the design phase.
This Software Design Document referred to as SDD shows how the envisaged software system to be developed will be structured to satisfy the requirements identified in the Software Requirements Specifications. It is a translation of requirements into a description of the software structure, software components, interfaces and data necessary for the implementation phase.
SCOPE:
This document explains the design features of the system that is to be developed. This SD document is the only one that describes the design of the system. It is meant for the developers.