1.3 - Genetics Algorithm - User Manual

1.3.1 - Operation Specification

The program should be executed as follows:

Data entries for the program should be supplied within the tables in the “genalgo.accdb” database file. These tables contain the teacher definitions, teacher available times, subjects, teacher subjects mapping, rooms and corresponding room types. From all these tables in the preprocessing stage, the groups and then the cells tables are created, which will be used then as an input to our program.

We can execute our program from the “SPGenAlgo.exe”. This file will load the database file into memory, read input data from it, and run our Genetic Algorithm implementation in easy-to-use, interactive and multi-threaded way, for best performance and more user-friendly environment. These is the screen displayed when running the program:


There are several useful labels and form components, which give us very useful feedback about the progress of the program:



After a while, after satisfying all the hard constraints in the program, the program will give the feedback, through the current stage flag.

1.3.2 - Performance Metrics

According to our test and performance estimations, we have found out that it takes about 450 seconds to obtain the fitness function value below 10 within the hard stage. As about the soft stage, the value is not well defined, and cannot be estimated or tested, cause it’s totally dependent on the case we are working with. Sometimes, the working schedule, may not satisfy any of the soft constraints at all.


After working about 740 seconds on satisfying the hard constraints we have obtained the following results:


According to our estimations, it would take about 700 – 1000 seconds to obtain the hard constraints satisfied, i.e. a maximum of about 15 minutes.