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 solution 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.

wide screen

This post explains how the Gel project came to light.

  1. splitcells
    1. dem
      1. README.html
      2. external-documentation.html
      3. guidelines
        1. backwards-compatibility.html
        2. complexity-management.html
        3. dependency.html
        4. documentation.html
        5. index.html
        6. infrastructure.html
        7. program-code.html
        8. project.html
        9. software-project-file-system-standards.html
        10. software-project-file-system-standards.todo.html
        11. task-management.html
        12. technology-stack.html
        13. xslt.html
      4. history.html
      5. index.html
      6. lang
        1. perspective
          1. guidelines
            1. networks.html
            2. perspectives.html
          2. index.html
      7. project
        1. compatibilty-and-portability.html
        2. data-as-source-code.html
        3. effect-system.html
        4. interfaces.html
    2. gel
      1. README.html
      2. constraint
        1. index.html
      3. history
        1. origin-of-the-project-generic-allocator.html
        2. universal-allocation-program-manual.html
      4. index.html
      5. latest-articles.html
      6. model
        1. optimization
          1. interactive
            1. guidelines.html
          2. typed-ratings.html
        2. rating
          1. index.html
      7. presentation
        1. covid.html
      8. problem
        1. theory
          1. assignment
            1. problem
              1. bibliography
                1. 10.1145.321958.321975.html
                2. 1995.DISKI.86.html
              2. complexity
                1. linear.html
                2. nonlinear.html
                3. quadratic.html
              3. index.deprecated.html
              4. index.html
              5. index.illustration.svg
              6. linear.deprecated.html
              7. multidimensional.html
      9. project
        1. artificial-intelligence.html
        2. compatibilty-and-portability.html
        3. constraint-language.html
        4. documentation.html
        5. endless-recursion.html
        6. new-articles.html
        7. persistency.html
        8. reasoning-system.html
        9. release-process.html
        10. test-injection.html
        11. user-interface.html
      10. solution
        1. Solution.html
      11. test
        1. functionality
          1. n-queen-problem
            1. constraint.graph.svg
            2. constraint.tree.svg
            3. illustration.svg
          2. n-queen-problem.html
          3. n-queen-problem.implementation.html
    3. martins
      1. avots
        1. website
          1. 404.html
          2. advertisement-object-social.html
          3. advertisement-object-technical.html
          4. archive
            1. academic-publishers-of-research-papers-etc-with-open-accessin-computer-science.html
            2. blogs-related-to-computer-science.html
            3. complete-correlation-matrix-memories-orthogonal-key.tests.html
            4. complete-correlation-matrix-memories.html
            5. html-to-image-conversion-via-wkhtmltopdf.html
            6. information-related-to-managment.html
            7. optimization-software.html
            8. publications-defining-optimization-problems.html
            9. publications-related-to-optimization-algorithms.html
            10. publications-related-to-optimization-software.html
            11. writings-related-to-complexities-relevant-to-optimization.html
          5. art
            1. a-city-at-night.html
            2. average-source-code-image-generator.html
            3. average-source-code.html
            4. bird_s-banner.html
            5. community-at-moonlight.html
            6. community.html
            7. dream-about-a-city-at-night.html
            8. gallery.html
            9. index.html
            10. little-big-present.html
            11. music.external.html
            12. neural-biological-cell.html
            13. neural-birds.html
            14. night-at-home.html
            15. simple-bird.html
            16. simple-ruins.html
            17. some-things-are-done-without-reason.html
            18. starting-to-learn-how-to-draw-face.html
            19. visiting-card.html
          6. crib-sheet
            1. emacs.html
            2. emacspeak.html
            3. microsoft-narrator.html
            4. sway.html
          7. dedicated-menu-page.html
          8. den
            1. style.css
            2. test.html
            3. test.minimal.html
          9. experimental
            1. browser.layout.html
            2. desktop.layout.html
          10. images
            1. icon.png
            2. icon.svg
            3. license.standard
              1. a.city.at.night.jpg
              2. average.source.code.image.generator.jpg
              3. average.source.code.insight.jpg
              4. average.source.code.jpg
              5. bird_s.banner.jpg
              6. black.background.blog.discovery.0.jpg
              7. black.background.blog.discovery.1.jpg
              8. black.background.blog.programming.0.jpg
              9. black.background.cooperation.discovery.jpg
              10. community.2016.12.11.chrom.0.dina4.jpg
              11. community.DSC02958.jpg
              12. community.DSC03192.jpg
              13. community.DSC03197.jpg
              14. dream.about.a.city.at.night.jpg
              15. gallery.0.jpg
              16. gallery.1.jpg
              17. gallery.2.jpg
              18. gallery.3.jpg
              19. gallery.4.jpg
              20. gallery.5.jpg
              21. gallery.6.jpg
              22. gallery.7.jpg
              23. little_big_present.jpg
              24. net.splitcells.network.logo.jpg
              25. neural.birds.2.jpg
              26. neural.birds.3.jpg
              27. neural.birds.4.jpg
              28. neural.birds.5.jpg
              29. neural.birds.6.jpg
              30. night.at.home.jpg
              31. simple.bird.jpg
              32. simple.ruins.jpg
              33. some_things_are_done_without_reason.1.jpg
              34. some_things_are_done_without_reason.2.jpg
              35. some_things_are_done_without_reason.3.jpg
              36. starting-to-learn-how-to-draw-a-face.jpg
              37. surreal.biological.cell.jpg
              38. thumbnail
                1. big
                  1. medium
                    1. small
                    2. white.background.blog.discovery.0.jpg
                    3. white.background.blog.discovery.1.jpg
                    4. white.background.blog.programming.0.jpg
                    5. white.background.cooperation.discovery.jpg
                    6. white.dream.about.a.city.at.night.jpg
                    7. white.project.logo.art.jpg
                    8. white.project.logo.generic.allocator.jpg
                2. index.html
                3. info
                  1. about-this-site.html
                  2. contact.html
                  3. visibility-problem.html
                  4. xml-based-blog-framework-for-splitcells-net.html
                4. js
                  1. advertisment.js
                  2. basic.default.js
                  3. basic.js
                  4. jquery.particleground.min.js
                  5. math-jax
                    1. tex-mml-chtml.js
                  6. syntaxhighlighter.white
                    1. index.html
                    2. syntaxhighlighter.js
                    3. syntaxhighlighter.js.map
                    4. theme.css
                5. legal
                  1. impressum.html
                  2. licensing.html
                  3. privacy-policy.html
                6. license-AGPL-3-0.txt
                7. license-Apache-2-0.txt
                8. license-CC-BY-SA-4.txt
                9. license-CC0-1-0.txt
                10. license-MIT.txt
                11. premature-content.html
                12. programming
                  1. calculus-languages.html
                  2. math-formulas-implementation-pitfall.html
                  3. programming-language-concepts.html
                  4. simplifying-the-ast-of-set-manipulation-via-foreach.html
                13. programs
                  1. index.html
                  2. search.html
                  3. vnc-client.html
                14. projects
                  1. index.html
                  2. operation-system-state-interface.html
                15. protocol
                  1. feed.atom.html
                  2. feed.rss.html
                  3. http-404-not-found.html
                  4. sitemap.html
                16. symbiosis
                  1. an-attempt-at-defining-intelligence.html
                  2. apocrypha-of-free-open-source-software.html
                  3. apocrypha-of-software-development.html
                  4. free-will.html
                  5. funding-of-free-open-source-software.html
                  6. hate-as-a-popular-tool-in-politics.html
                  7. index.html
                  8. the-end-justifies-the-means.html
                  9. the-hug-of-life-and-death.html
                17. test.html
                18. unstructured-thoughts
                  1. a-review-on-the-dell-s-xps-15-9570-as-a-mobile-workstation.html
                  2. external-documentation.html
                  3. fun-and-chill.html
                  4. index.html
                  5. soundboard.html
                19. websites
                  1. cards
                    1. visiting
                      1. back.htm
                      2. back.jpg
                      3. front.htm
                      4. front.jpg
                20. white
                  1. 2015
                    1. 03
                      1. 01
            4. network
              1. CHANGELOG.html
              2. README.html
              3. deployment.html
              4. dictionary.html
              5. external-contribution.html
              6. guidelines
                1. changelog.html
                2. commonmark.html
                3. gist
                  1. git.html
                  2. pgp.html
                4. linking.html
                5. maven.html
                6. source-types.html
                7. tickets.html
              7. legal
                1. Developer_Certificate_of_Origin.v1.1.html
                2. Developer_Certificate_of_Origin.v1.1.txt
                3. licenses
                  1. Apache-2.0.html
                  2. Apache-2.0.txt
                  3. BSD-2-Clause.html
                  4. BSD-2-Clause.txt
                  5. BSD-3-Clause.html
                  6. BSD-3-Clause.txt
                  7. EPL-2.0.html
                  8. EPL-2.0.txt
                  9. GPL-2.0-or-later-WITH-Classpath-exception-2.0.html
                  10. GPL-2.0-or-later-WITH-Classpath-exception-2.0.txt
                  11. ISC.html
                  12. ISC.txt
                  13. LGPL-2.1-or-later.html
                  14. LGPL-2.1-or-later.txt
                  15. MIT.html
                  16. MIT.txt
                  17. MPL-2.0.html
                  18. MPL-2.0.txt
              8. overview.html
              9. project.html
              10. tickets
                1. done
                  1. 0.html
                  2. 2.html
                  3. 77.html
                2. index.html
                3. open
                  1. 10.html
                  2. 37.html
                  3. 71.html
                  4. 72.html
            5. system
              1. README.html
              2. index.html
              3. project.html
            6. website
              1. 404.html
              2. css
                1. basic.css
                2. basic.themed.css
                3. den.css
                4. gallery.themed.css
                5. graphml.css
                6. layout.column.main.fullscreen.css
                7. layout.cooperation.css
                8. layout.default.css
                9. layout.default.with.two.main.columns.css
                10. theme.black.variables.css
                11. theme.white.variables.css
                12. theme.white.yellow.variables.css
              3. den
                1. style.css
                2. test.html
                3. test.minimal.html
              4. empty.html
              5. images
                1. icon.png
                2. icon.svg
                3. license.standard
                  1. a.city.at.night.jpg
                  2. average.source.code.image.generator.jpg
                  3. average.source.code.insight.jpg
                  4. average.source.code.jpg
                  5. bird_s.banner.jpg
                  6. black.background.blog.discovery.0.jpg
                  7. black.background.blog.discovery.1.jpg
                  8. black.background.blog.programming.0.jpg
                  9. black.background.cooperation.discovery.jpg
                  10. community.2016.12.11.chrom.0.dina4.jpg
                  11. community.DSC02958.jpg
                  12. community.DSC03192.jpg
                  13. community.DSC03197.jpg
                  14. dream.about.a.city.at.night.jpg
                  15. gallery.0.jpg
                  16. gallery.1.jpg
                  17. gallery.2.jpg
                  18. gallery.3.jpg
                  19. gallery.4.jpg
                  20. gallery.5.jpg
                  21. gallery.6.jpg
                  22. gallery.7.jpg
                  23. little_big_present.jpg
                  24. net.splitcells.network.logo.jpg
                  25. neural.birds.2.jpg
                  26. neural.birds.3.jpg
                  27. neural.birds.4.jpg
                  28. neural.birds.5.jpg
                  29. neural.birds.6.jpg
                  30. night.at.home.jpg
                  31. simple.bird.jpg
                  32. simple.ruins.jpg
                  33. some_things_are_done_without_reason.1.jpg
                  34. some_things_are_done_without_reason.2.jpg
                  35. some_things_are_done_without_reason.3.jpg
                  36. starting-to-learn-how-to-draw-a-face.jpg
                  37. surreal.biological.cell.jpg
                  38. thumbnail
                    1. big
                      1. a.city.at.night.jpg
                      2. average.source.code.image.generator.jpg
                      3. average.source.code.insight.jpg
                      4. average.source.code.jpg
                      5. bird_s.banner.jpg
                      6. community.2016.12.11.chrom.0.dina4.jpg
                      7. community.DSC02958.jpg
                      8. community.DSC03192.jpg
                      9. community.DSC03197.jpg
                      10. dream.about.a.city.at.night.jpg
                      11. little_big_present.jpg
                      12. neural.birds.2.jpg
                      13. neural.birds.3.jpg
                      14. neural.birds.4.jpg
                      15. neural.birds.5.jpg
                      16. neural.birds.6.jpg
                      17. night.at.home.jpg
                      18. simple.bird.jpg
                      19. simple.ruins.jpg
                      20. some_things_are_done_without_reason.1.jpg
                      21. some_things_are_done_without_reason.2.jpg
                      22. some_things_are_done_without_reason.3.jpg
                      23. starting-to-learn-how-to-draw-a-face.jpg
                      24. surreal.biological.cell.jpg
                      25. white.project.logo.art.jpg
                      26. white.project.logo.generic.allocator.jpg
                    2. medium
                      1. a.city.at.night.jpg
                      2. average.source.code.image.generator.jpg
                      3. average.source.code.insight.jpg
                      4. average.source.code.jpg
                      5. bird_s.banner.jpg
                      6. community.2016.12.11.chrom.0.dina4.jpg
                      7. community.DSC02958.jpg
                      8. community.DSC03192.jpg
                      9. community.DSC03197.jpg
                      10. dream.about.a.city.at.night.jpg
                      11. gallery.0.jpg
                      12. gallery.1.jpg
                      13. gallery.2.jpg
                      14. gallery.3.jpg
                      15. gallery.4.jpg
                      16. gallery.5.jpg
                      17. gallery.6.jpg
                      18. gallery.7.jpg
                      19. little_big_present.jpg
                      20. neural.birds.2.jpg
                      21. neural.birds.3.jpg
                      22. neural.birds.4.jpg
                      23. neural.birds.5.jpg
                      24. neural.birds.6.jpg
                      25. night.at.home.jpg
                      26. simple.bird.jpg
                      27. simple.ruins.jpg
                      28. some_things_are_done_without_reason.1.jpg
                      29. some_things_are_done_without_reason.2.jpg
                      30. some_things_are_done_without_reason.3.jpg
                      31. starting-to-learn-how-to-draw-a-face.jpg
                      32. surreal.biological.cell.jpg
                      33. white.project.logo.art.jpg
                      34. white.project.logo.generic.allocator.jpg
                    3. small
                      1. a.city.at.night.jpg
                      2. average.source.code.image.generator.jpg
                      3. average.source.code.insight.jpg
                      4. average.source.code.jpg
                      5. bird_s.banner.jpg
                      6. community.2016.12.11.chrom.0.dina4.jpg
                      7. community.DSC02958.jpg
                      8. community.DSC03192.jpg
                      9. community.DSC03197.jpg
                      10. dream.about.a.city.at.night.jpg
                      11. little_big_present.jpg
                      12. neural.birds.2.jpg
                      13. neural.birds.3.jpg
                      14. neural.birds.4.jpg
                      15. neural.birds.5.jpg
                      16. neural.birds.6.jpg
                      17. night.at.home.jpg
                      18. simple.bird.jpg
                      19. simple.ruins.jpg
                      20. some_things_are_done_without_reason.1.jpg
                      21. some_things_are_done_without_reason.2.jpg
                      22. some_things_are_done_without_reason.3.jpg
                      23. starting-to-learn-how-to-draw-a-face.jpg
                      24. surreal.biological.cell.jpg
                      25. white.project.logo.art.jpg
                      26. white.project.logo.generic.allocator.jpg
                  39. white.background.blog.discovery.0.jpg
                  40. white.background.blog.discovery.1.jpg
                  41. white.background.blog.programming.0.jpg
                  42. white.background.cooperation.discovery.jpg
                  43. white.dream.about.a.city.at.night.jpg
                  44. white.project.logo.art.jpg
                  45. white.project.logo.generic.allocator.jpg
              6. index.html
              7. js
                1. advertisment.js
                2. basic.default.js
                3. basic.js
                4. math-jax
                  1. tex-mml-chtml.js
                5. syntaxhighlighter.white
                  1. index.html
                  2. syntaxhighlighter.js
                  3. syntaxhighlighter.js.map
                  4. theme.css
              8. license-AGPL-3-0.txt
              9. license-Apache-2-0.txt
              10. license-CC-BY-SA-4.txt
              11. license-CC0-1-0.txt
              12. license-MIT.txt
              13. white
                1. 2015
                  1. 03
                    1. 01
                      1. impressum.html