full screen
Origin of The Project Generic Allocator
The idea of this project originated from an internship during my studies of computer science. During the internship the assignment problem solver Universal Allocation Program was developed. This program had two purposes.
First of all it had to assign pupils to a set of courses where each pupil had one or more preferred courses. Additionally, the number of pupil in each course was limited. Each course which took place also had to have more pupil than specified by a certain threshold.
The second goal of the program was to provide an expressive problem model. This was tested with a second problem. The task was to schedule exams of pupils. The problem could be modeled by the program. Unfortunately, the program was not able to solve it because a more advanced solving algorithm than present was needed.
The goal of my master thesis was to create a new framework for assignment problems that had an improved problem model and superior solving routines compared to the Universal Allocation Program. Three scheduling problems of schools were used in order to validate the framework. Two of the problems were optimally solved for the given test cases. The third problem was nearly solved but in the end correct solutions were not produced (for a given problem instance about 5 out of 508 assignments were done incorrectly). In addition, each problem required its own solving routine.
After getting my master's degree in computer science I wanted to learn more about optimization problems, artificial intelligence(AI) and programming. Therefore, I have created this hobby project in order to organize my learning process in this field. The framework of my master thesis (which is used as the project's name) is recycled for this undertaking. Unfortunately the foundation of the framework needs some improvement which in practice leads to a rewrite of the framework.