• Website
  • Contact
  • CV
  • Projects
  • Home
  • Gabi Seifert

    she/her

    Physics PhD student at the University of Colorado Boulder specializing in atomic, molecular, and optical physics.

    Location pin logoBoulder, CO

    Email logoEmail

    LinkedIn logoLinkedIn

    ORCID logoORCID

    Dining Halls Traffic Predictor

    Figure 1. All Students’ Dining Hall Choice. Scripps and Frary are the most popular (true to real life), Scripps' quality changes every two weeks (true to real life), Pitzer is initially unpopular but will regain its former high status, CMC is wildly unpopular with twice-weekly massive spikes in students (true to real life).

    In 2022, I took Computational Science and Engineering at Scripps College, a class focused on using computational methods in scientific computing software Maple and MATLAB to solve real-world physics problems too difficult to do by hand.

    For the final project, I decided to model a silly but complicated real-world situation in MATLAB: the dining halls at the Claremont Colleges. The Claremont Colleges are a consortium of five colleges, all located within a 1-square-mile campus just outside of Los Angeles. There are six dining halls available to students, one at each college with two at Pomona. Students are free to eat at any dining hall, which each have their own styles of food as well as reputations, so I wanted to predict the dining hall popularity over the course of a semester.

    I wanted to see if I could write a complex script in MATLAB, incorporating user input, 3-dimensional data sets, complicated variables, and useful visualizations.

    The script goes through each day (time loop), each college, and every student. Every student decides which dining hall to go to by finding a “value” (desirability) of each dining hall and then going to the dining hall with the highest value. If no value is high enough, the student just stays home.

    The code to determine the “value” of a college (in this case the Pitzer dining hall for a non-Pitzer student) is:

    Pval = randi(1000) + Pqual - 50*Dist(C, 3) - .05*Ptot(6, t-1) + .5*Ptot(C, t) - 5000/(t);

    • 1st term: a random number, meant to simulate mood
    • 2nd term: food quality, variable is set above and determined by polling students in my classes
    • 3rd term: distance to dining hall, determined by looking at a map of the Claremont colleges. A “Dist” matrix is defined above—this term looks at row C and column 3 of the matrix. Column 3 represents Pitzer, row C represents the student’s home college (C is defined earlier in the loop).
    • 4th term: the total number of students that were at the Pitzer dining hall yesterday, meant to discourage students from dining halls that were previously too crowded.
    • 5th term: the number of other students from this student’s home college that are currently at the Pitzer dining hall. Meant to represent the number of friends at this dining hall.
    • 6th term: home dining hall bias (not present here). Students are slightly more likely to go to their home dining hall.
    • 7th term: Pitzer food poisoning. People have been avoiding Pitzer recently because of fears of food poisoning, but the strength of this aversion will fade over time.
    • 8th term: fluctuating quality of Scripps food (not present here). Scripps’ food quality changes on a monthly basis, represented by a sine wave.
    • 9th term: twice-monthly decent CMC food (not present here). Once every two weeks CMC has something really good on the menu, so everyone rushes to CMC for just one day.

    Users can rate the importance of four variables and MATLAB plots out what the dining hall trends would be if everyone agreed with these inputs. If the user inputs are outside the acceptable range, MATLAB will reject them. The scaling modifiers in front of each term were determined by asking my friends which factors were most important in deciding which dining hall to go to.

    Here are some of the graphs produced. The exact graphs change slightly every time the code is run because of the user input and the random factor, but these particular graphs are fairly average.

    Figure 2. If Everybody Cared the Most About Everything (all variables are of the highest importance). In this case the Claremont Colleges dining hall system becomes reactionary chaos. A user will receive a warning of the impending chaos if they place too much value on crowding.

    Figure 3. No One Cares About Anything (all variables are of the lowest importance). In this case everyone just chooses a dining hall at random, and they each stay about equally busy every day for the entire semester.

    Figure 4. Scripps Students’ Dining Hall Choice. I selected this graph because it’s fairly representative of each individual college’s patterns. Scripps students tend to prefer their own dining hall but on special days CMC is more popular. They are also strongly biased against Frank because it’s so far away.

    Figure 5. CMC Students’ Dining Hall Choice. This graph is particularly interesting because CMC students strongly prefer Pomona dining halls above their own. This is true to real life, and reflects the opinions shared with me by CMC students when polled.

    Project Tags:

    • Coding
    • MATLAB