Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mtarek97/timetable-generator

An automated time table generator using genetic algorithms in java.
https://github.com/mtarek97/timetable-generator

genetic-algorithms java javafx-application

Last synced: about 1 month ago
JSON representation

An automated time table generator using genetic algorithms in java.

Awesome Lists containing this project

README

        

# Timetable Generator

> An automated time table generator using genetic algorithms in Java with JavaFX application using MVC architecture pattern.

![alt logo](http://www14.0zz0.com/2018/08/13/19/689039255.png)

## Introduction
The timetabling problems are essentially the problems that deal with effective distribution of resources. During the timetabling process many constraints have to be considered. Resources are usually limited and no two tasks should occupy one particular resource at the same time. For most of the timetabling problems it has been shown that they are NP-hard, and that they can not be solved in polynomial time using a deterministic algorithm. Hence, genetic algorithms could provide us with a feasible solution in a reasonable time.

Genetic algorithms are belonging to guided random search techniques, which try to find the global optimum. Genetic algorithms are working with the set of potential solutions, which is called population. Each solution item (individual) is measured by fitness function. The fitness value represents the quality measure of an individual, so the algorithm can select individuals with better genetic material for producing new individuals and further generations.

## Sample Run
![alt start](http://www5.0zz0.com/2018/08/13/19/620371135.png)
![alt resources](http://www5.0zz0.com/2018/08/13/19/647305386.png)
![alt courses](http://www5.0zz0.com/2018/08/13/19/122709153.png)
![alt classes](http://www4.0zz0.com/2018/08/13/19/345193387.png)
![alt table](http://www4.0zz0.com/2018/08/13/19/105904211.png)
#### Generations Improvement ####
![alt generations-improvement1](http://www3.0zz0.com/2018/08/13/19/973571343.png)
![alt generations-improvement2](http://www3.0zz0.com/2018/08/13/19/894304128.png)
![alt generations-improvement3](http://www3.0zz0.com/2018/08/13/19/331989317.png)

## References
* [Solving Timetable Scheduling Problem by Using Genetic Algorithms](https://pdfs.semanticscholar.org/c266/52a46bee76a6395818da5984aacdb4e7568b.pdf)
* [THE NATURE OF CODE by Daniel Shiffman - Chapter 9. The Evolution of Code](https://natureofcode.com/book/chapter-9-the-evolution-of-code/)