{"id":15055808,"url":"https://github.com/mtarek97/timetable-generator","last_synced_at":"2025-10-08T02:11:57.093Z","repository":{"id":72221463,"uuid":"144599015","full_name":"mtarek97/Timetable-Generator","owner":"mtarek97","description":"An automated time table generator using genetic algorithms in java.","archived":false,"fork":false,"pushed_at":"2018-08-13T16:26:03.000Z","size":40,"stargazers_count":36,"open_issues_count":1,"forks_count":14,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-03T09:43:06.359Z","etag":null,"topics":["genetic-algorithms","java","javafx-application"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mtarek97.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-13T15:30:39.000Z","updated_at":"2025-07-19T15:39:05.000Z","dependencies_parsed_at":"2023-05-19T12:45:32.299Z","dependency_job_id":null,"html_url":"https://github.com/mtarek97/Timetable-Generator","commit_stats":null,"previous_names":["mtarek97/timetable-generator"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mtarek97/Timetable-Generator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtarek97%2FTimetable-Generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtarek97%2FTimetable-Generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtarek97%2FTimetable-Generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtarek97%2FTimetable-Generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mtarek97","download_url":"https://codeload.github.com/mtarek97/Timetable-Generator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtarek97%2FTimetable-Generator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278877092,"owners_count":26061381,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["genetic-algorithms","java","javafx-application"],"created_at":"2024-09-24T21:46:29.214Z","updated_at":"2025-10-08T02:11:57.060Z","avatar_url":"https://github.com/mtarek97.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Timetable Generator\n\n\u003e An automated time table generator using genetic algorithms in Java with JavaFX application using MVC architecture pattern.\n\n![alt logo](http://www14.0zz0.com/2018/08/13/19/689039255.png)\n\n## Introduction\nThe 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.\n\nGenetic 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.\n\n## Sample Run\n![alt start](http://www5.0zz0.com/2018/08/13/19/620371135.png)\n![alt resources](http://www5.0zz0.com/2018/08/13/19/647305386.png)\n![alt courses](http://www5.0zz0.com/2018/08/13/19/122709153.png)\n![alt classes](http://www4.0zz0.com/2018/08/13/19/345193387.png)\n![alt table](http://www4.0zz0.com/2018/08/13/19/105904211.png)\n#### Generations Improvement ####\n![alt generations-improvement1](http://www3.0zz0.com/2018/08/13/19/973571343.png)\n![alt generations-improvement2](http://www3.0zz0.com/2018/08/13/19/894304128.png)\n![alt generations-improvement3](http://www3.0zz0.com/2018/08/13/19/331989317.png)\n\n## References\n* [Solving Timetable Scheduling Problem by Using Genetic Algorithms](https://pdfs.semanticscholar.org/c266/52a46bee76a6395818da5984aacdb4e7568b.pdf)\n* [THE NATURE OF CODE by Daniel Shiffman - Chapter 9. The Evolution of Code](https://natureofcode.com/book/chapter-9-the-evolution-of-code/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmtarek97%2Ftimetable-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmtarek97%2Ftimetable-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmtarek97%2Ftimetable-generator/lists"}