New results

advertisement
A hybrid particle swarm optimization based algorithm for high school
timetabling problems, Ioannis X. Tassopoulos, Grigorios N. Beligiannis
Published at Applied Soft Computing, 2012

General information
Two new result sets are listed below, derived from the algorithm presented at the
corresponding paper, due to a minor significance bug correction and further experiments
conducted after the publication date of the paper. The algorithm that produced these results is
identical to this published at the corresponding paper except that is utilizes 15 particles instead of
50. This way, a better performance has been observed as far as the computational time concerns.
Moreover, the new results may differ from those mentioned at the text of the original paper, but, in
general, they are at least as good as the previous ones concerning the total cost per instance. That
means that some improved results have been observed compared with the previous ones.
The first set of results are produced by an executable constructed using Lcc 64bit compiler
and the experiments were carried out on Windows 7 64bit OS, with 7GB of RAM and Intel i7
Q740 CPU 1.73 GHz.
The second set of results are produced by an executable constructed using DEV C++ 64bit
compiler and the experiments were carried out on Windows 8.1 64bit OS, with 16GB of RAM and
Intel i7 4770 CPU 3.40 GHz.
The results refer to the three factors that characterize the efficiency of the proposed algorithm and
affect the quality of the produced timetable. These factors are:
 The number of gaps that the teachers have during their daily schedule
 The class dispersion, i.e. the number of days that the classes have repeated lessons
during their daily schedule
 The teacher dispersion, i.e. the number of days that the teachers have uneven
distribution of their workload during their daily schedule
The total cost of the produced timetable is the sum of the above three numbers and the
objective is to minimize this cost while having a feasible solution. For the definition of a
feasible solution, i.e. the kind of constraints that should be satisfied in order to have a feasible
schedule, please refer to the text of the paper. In addition, in order to be informed about the
structure of each input file, you should refer to the InputFilesInterpretation.docx document
provided at this site, where there is an analytical description of them.
instance
1
2
3
4
5
7
8
9
10
11
Number of
teachers and
gaps
Number of
classes and
days with
wrong
dispersion
6(8)
12(14)
1(1)
3(4)
0(0)
14(25)
0(0)
2(2)
0(0)
0(0)
2(2)
2(2)
3(3)
0(0)
0(0)
0(0)
5(11)
0(0)
6(10)
8(16)
Number of
teachers and
days with
wrong
dispersion
2(4)
1(2)
1(2)
0(0)
0(0)
0(0)
0(0)
0(0)
0(0)
2(4)
Total
cost
Execution Time
(mins/secs)
seed
14
18
6
4
0
25
11
2
10
20
92' 43''
111' 11''
12' 20''
36' 22''
9' 10''
147' 40''
5' 20''
11' 16''
9' 54''
17' 23''
1397515963
1397556029
1397507723
1397569836
1397584106
1397601126
1397464999
1397668318
1397666996
1397657264
Best results of the proposed PSO algorithm, using 15 particles, produced from Lcc 64 bit executable.
instance
1
2
3
4
5
7
8
9
10
11
Number of
teachers and
gaps
Number of
classes and
days with
wrong
dispersion
7(7)
10(14)
0(0)
4(5)
0(0)
16(22)
0(0)
2(2)
0(0)
0(0)
2(2)
2(2)
3(3)
0(0)
0(0)
1(1)
5(11)
0(0)
6(10)
8(17)
Number of
teachers and
days with
wrong
dispersion
1(2)
1(2)
1(2)
0(0)
0(0)
0(0)
0(0)
0(0)
0(0)
1(2)
Total
cost
Execution Time
(mins/secs)
seed
11
18
5
5
0
23
11
2
10
19
32' 39''
48' 33''
3' 30''
13' 4''
3'
57' 52''
1' 43''
4' 21''
3' 45''
7' 7''
1424454573
1424690838
1424983391
1424786268
1425113810
1424598917
1425225158
1425124280
1425114220
1425047954
Best results of the proposed PSO algorithm, using 15 particles, produced from Dev C++ 64 bit executable.
As it is observed the second results sets, those based on executable produced by Dev C++,
contains results of better quality.

Execution instructions
In order to execute the executable, include the provided txt input files (e.g. 1.txt, 2.txt)
into the same folder as the executable. Then double click the executable and enter the number
of the instance you like to run, when prompted. Please note that you should enter just a
number from 1 to 11 (with the number 6 to be excluded, since there is no instance named
6.txt) without the txt extension. Afterwards, you will be prompted to enter a desired seed
needed for algorithm’s randomness. You may enter a positive integer with maximum length
of 10 digits or you may enter the value -1, meaning that you let the system to use its own
seed.
After the algorithm completeness, you may enter the following values:







1, to get the timetable by class displayed at the screen
2, to get the timetable by teacher displayed at the screen
3, to get an overview of the results displayed at the screen
11, to get the timetable by class displayed at a txt file generated automatically
22, to get the timetable by teacher displayed at a txt file generated automatically
33, to get an overview of the results displayed at a txt file generated automatically
Any other value, to terminate the application.
Please note that the program also generates a txt file recording the evolution of fitness versus
generation number. The recorded values are actually the logarithms of fitness values.








What this site includes
This site includes the following information:
A NewResults_ASoCo.docx file (the current one) which contains general
information.
A set of 10 instances taken from real world situations, a.k.a. from Greek high schools.
The instances are: 1.txt, 2.txt, 3.txt, 4.txt, 5.txt, 7.txt, 8.txt, 9.txt, 10.txt and 11.txt.
An InputFilesInterpretation.docx file which explains the structure of an input file and
the information that each input file section provides.
The corresponding results, a.k.a. for each input file, the timetable by class, the
timetable by teacher and general information and details about the output.
The source code which is written in ANSI C.
Two executable files named ASoCo_PSO_Lcc.exe, which is produced by lcc 64 bits
compiler, and ASoCo_PSO_Dev.exe, which is produced by Dev C++ 64 bits
compiler.
Specific information about how to run the application.
For comments, remarks and suggestions please contact:
Tassopoulos I.X.
e-mail : johnytass@gmail.com
Download