Skip to content

This is an independent research conducted by John Chu and supervised by Professor D.Forrester in Dickinson College. In this research, we target to minimize the cost for assigning 660+ Dickinson freshmen into ~42 first year seminar courses while balancing gender and student type ratios and maintaining coure capacities.

License

Notifications You must be signed in to change notification settings

JuheonChu/DickinsonFYSAssignment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dickinson logo

About this project

  • Title: Improving Diversity and Preferred Assignment in Dickinson’s First-Year Seminar Selection Process Using Optimization Models
  • Authors: John Chu, Prof. Dick Forrester

Background:

Dickinson currently uses a process developed by Professor Dick Forrester and Dr. Thanh To (’11) to assign students to First-Year Seminars (FYS). This process utilizes a nonlinear multicriteria optimization model with the goal of assigning students to one of their top-ranked seminars while balancing the classes with regard to gender and the number of international students. In this study, we investigate alternative approaches aiming to improve the run-time and quality of the assignments. Specifically, we consider the linearization of the nonlinear objectives and the use of the hierarchical optimization model. These improvements resulted in a significant reduction in runtime and offer improved flexibility in adjusting assignment outcomes. The overarching aim of this study is to contribute robust optimization approaches that can be widely adopted across educational institutions.

Acknowledgement

We want to convey our sincere gratitude to the Gurobi community for its providing invaluable resources. The comprehensive documentations and responsive Q&A support significantly facilitated the implementation of the enhancements we aforementioned. For those new to the platform, Gurobi offers an accessible and well-structured manual available here.

Objective

  • Improve the program efficiency and quality of the assignement of the existing program.
  • The deployment of this computer program in practice for FYS assignment in Summer 2024 for students in Class of 2028.
  • Generalize the assignment optimization models to other academic institutions.
  • Undertake comparative analysis of the assignment qualities performed by those alternative optimization approaches.

Approaches

We performed a comparative analysis of assignment quality using the following optimization approaches. Each is aimed for a distinct purpose. This documentation outlines the detailed explanation of those approaches including the exemplary implementations in GurobiPy.

  1. Blended Optimization Model
    • This model targets the comprehensive balance of three objectives. We minimized the linear combination of weighted rank coefficients and penalties of the objectives. Here is the example. [Insert the image that describes the system of objective functions.]
  2. Hierarchical Optimization Model
    • This model aims to prioritize one over the other objectives. We can adopt this approach when we want to manipulate the outcome of the assignment rather than focusing on the comprehensive balance of conflicting objectives. The takeaway of this model can be described as follows. [Insert the image that shows the highlight of the hierarchical optimization model]
  3. Combining Blended and Hierarchical Objectives

Prerequisite

  • Python
  • PyCharm/spyder/Python Idle
  • Gurobi solver

How to set up Gurobi solver?

1. Download Install Python Gurobi Solver

  • Create your account here.
  • Choose the OS that supports your local machine and download the Gurobi Solver that corresponds to your system.
  • Issue the Gurobi License ID.
  • Customize the Environment Settings by setting the System variables.

environment setting

2. Python Install

  • Follow the protocol denoted here.

Project Workflow

Pipeline

Program Functionality

  • run.py: This assigns Dickinson first-year students into 40+ seminar courses aiming to balance gender and student-type ratios while maintaining the course capacities. Among many versions of running this program, run.py specifically describes the program that shows the best performance in timely and efficient manner.
  • parse.py: This program parses the data that was provided by Dickinson College and generates the DickinsonFirstYearSeminar.xlsx file to be loaded for run.py.
  • seminar_frequency.py: This program provides the frequency distribution of the seminars.

About

This is an independent research conducted by John Chu and supervised by Professor D.Forrester in Dickinson College. In this research, we target to minimize the cost for assigning 660+ Dickinson freshmen into ~42 first year seminar courses while balancing gender and student type ratios and maintaining coure capacities.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages