An Efficient Assignment Algorithm, Given Preferences and Capacity Constraints
CSEF · 2016 Mathematics & Computer Science
Overview
Objectives/Goals The goal of my project is to design an efficient algorithm that creates assignments that maximize overall satisfaction, and to then make software specifically applying the algorithm to scheduling in schools. Methods/Materials I used a laptop computer with a django setup and a sqlite3 database. I tested the algorithm against already existing methods and created a web app to make interaction easier. Results The algorithm I created works in less than a minute when making seven assignments per person for 500 people. It does not guarantee optimality, as the problem it solves is known to be np hard, but it is efficient, running in time that is, in the worst case, a quadratic in the number of people. Conclusions/Discussion I built a heuristic that takes the preferences of many people and then tries to output assignments that will create the highest overall satisfaction level. This is done efficiently using a combination of limited back tracking, random sampling, and pairwise switchings, as opposed to the known optimal but inefficient methods of simply trying all permutations or full back tracking. The algorithm I created can also be used to make better and more efficient decisions in many other aspects of public life.
Summary statement
I designed an algorithm that takes many people's preferences and then creates assignments that maximize overall satisfaction.
Help received
I created and coded both the algorithm and the web app by myself. My computer science teacher helped me understand how to use django.
Competition history
- CSEF 2016
Resources
Related projects
CSEF · 2016
Programming a Smarter Planner for Students to Prioritize Their Daily School Work
ISEF · 2016
Schedule Advisory: Investigating Genetic Algorithms to Solve Class Scheduling
CSEF · 2016
Tempus Genie: A Time Budgeting and Planning App for Students
CSEF · 2023
Revolutionizing Personal Task Management: A Constraint Programming Approach to Optimizing Time
ISEF · 2019
Computational Models and Algorithms for Dynamic Resource Distribution
ISEF · 2022
On Worker-Optimal Matchings in Many-to-Many Markets With Indifferences
ISEF · 2017
Adaptive School Bus Routing Using a Genetic Algorithm
ISEF · 2020
SmartCal: A Machine Learning Approach to Enhancing Student Performance by Optimizing School Processes
Closest projects by meaning, across every fair and year in the corpus.
Browse more like this
Source: California Science & Engineering Fair public projects