Giter Club home page Giter Club logo

group-allocator's Introduction

Group-Allocator

Group-Allocator is a solution developed by Oscar Dowson and Michael Fairley for allocating students to groups in a way that balances the characteristics of the students between the groups. It was first used to group 571 students for a systems engineering project at the University of Auckland with the goal to balance GPA, gender, engineering specialization and ethnicity between the groups. It is released under the MIT Licence.

The solution is implemented in a Microsoft Excel interface so it makes it easy for administrators to download and use. It requires SolverStudio, an add-in for Excel that provides "an integrated environment for optimization using modeling languages within Excel". SolverStudio can be downloaded from http://solverstudio.org. For further details, please read the "Instructions" sheet in the "Group_Allocator.xlsx" spreadsheet.

Compatible Versions of Microsoft Excel and SolverStudio

Group-Allocator has been tested on Microsoft Excel 2010 and 2013, and SolverStudio 0.6.0 and 0.5.4.

Technical Details

Group-Allocator uses a mixed integer program to minimize the difference between the maximum and minimum GPA and GPA variance over all the groups, and uses relaxed constraints to spread individuals from different groups (such as a particular gender or ethnicity) over all the groups. For the full model please consult the source code within "Group_Allocator.xlsx" by using the "Show Model" function of SolverStudio.

Files

  • Group_Allocator.xlsx - the main spreadsheet that contains everything necessary to run Group-Allocator with SolverStudio installed
  • solve_script.py - a copy of the source code contained within Group_Allocator.xlsx for easy editing in a text editor and commit history in Git
  • data_analysis/data_gen.xlsx - a spreadsheet with formulae to demonstrate how test data can be generated
  • data_analysis/box_plots.R - R script for generating box plots for each factor to check quality of result
  • data_analysis/group_histograms.R - R script for generating GPA histograms for each group
  • orsnz_paper/ - contains a paper submitted to the 2014 Joint Conference of the NZ Statistical Association and Operations Research Society of NZ regarding the development, validation and application of Group-Allocator
  • orsnz_presentation/ - contains slides for presentation at 2014 Joint Conference of the NZ Statistical Association and Operations Research Society of NZ

group-allocator's People

Contributors

odow avatar

Watchers

James Cloos avatar Pervaiz Ahmed Khan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.