Skip to content

Simulation – 3 April 2026

For this project, we were given a hypothetical laptop manufacturing system. We were asked to model the current state of the system in Simul8 and propose and evaluate potential improvements to the system. This proved an unexpected opportunity to utilize the more business school-type classes I took as a part of my undergraduate degree in Industrial Engineering, specifically as I suggested improvements in inventory management (thank you Materials Management in Supply Chains), and in quality control/six sigma and lean (thanks Quality Control and Achieving Effective Operations). There was some software-related friction related to cooperating in Simul8 through Github and using the browser version of Simul8 since I run MacOS, but it was a good experience for learning the software and further expanding on my simulation modelling experience.

Case Studies in Industrial Engineering – 29 April 2024

Apparently when I have complete freedom to choose relatively low stakes project topics, I choose cycling. This time, since it was a Data Envelopment Analysis project, I decided I would try to find an efficient frontier of the 84 professional cyclists who had participated in a 1.UWT race through that spring. I specifically compared wins, podiums, and top-tens scored in Monuments and in non-Monuments, both on an individual and team basis. The process involved checking the results of each one day World Tour race and writing down who finished in the top 10, then going through each of those riders' pages on FirstCycling and writing down where they finished and where their highest-placing teammate finished. Then I evaluated each riders' output (race results) per their input (race days in 1.UWT races) through Data Envelopment Analysis using Opensolver in Excel. Both parts of this process were a bit tedious, and, had there been more work and/or stakes to the project, I would have found ways to automate more of the work. The results highlighted the shortcomings of DEA as a method for this particular application and inspired an idea I may get around to implementing one day for better rider comparisons. Because I find the application interesting, I have attached the pdf below.

DEA Report

Linear Programming – 13 October 2023

As I got to choose my own topic for this project in Linear Programming, I decided to formulate a cycling diet for myself. The whole rage around this time was about how professionals were suddenly eating around 90-120 grams of carbohydrates per hour in competition, which was being and still is used to explain the crazy increase in speed we've seen in the peloton since the pandemic (how believable that is I'll leave to the nutrition scientists). I figured I'd take a stab at figuring out a good diet along these lines for my purposes using Linear Programming. I decided I could shoot for 60 grams of carbs per hour, and I would really prefer to make that diet weigh as little as possible since I don't have a fleet of soigneurs to hand me food when I'm out on my training rides or even the one time I went racing for a relevant distance (shoutouts GSSR 2025 road stage). I also decided I should make sure I hydrate, and I knew that if I made myself eat too many gels or gummies I would choose to not eat, so I should limit my consumption of what I called type "Other" in the writing but was privately calling "Goop" while working. This gave me a pretty straightforward diet problem, get enough calories, carbs, electrolytes, and caffeine while carrying as little weight as possible. I got dinged for formulating it as a Mixed Integer problem; while I explained how Branch and Bound was functionally just a bunch of LPs in a trenchcoat, the course didn't explicitly cover MIP, so I wasn't supposed to use it. As with most of my undergraduate work, I used Opensolver in Excel.

Advanced Prescriptive Analytics – 11 October 2023

Our original vision for this project was to formulate and solve a Mixed Integer Program that would model and select potential offshore wind sites in Massachusetts according to budget and generation constraints (i.e. select according to proposed budgets and according to renewable targets set in the Commonwealth's Decarbonization Roadmap). Unfortunately, the way in which we did this consisted of assumptions based on assumptions based on assumptions, and I would argue that the results we generated don't really say much about anything. The project was also more or less entirely done the night before it was due. Together, this means I'm not too proud of this one, and would rather not call much attention to it. That said, it was a MIP using parameters based on some rationale for assumptions about installation costs, generation potential, and potential sites (granted this was just a grid of 3 km by 3 km squares), and it gave solutions. On top of that, this was my first time using Gurobi (granted, it was initially done in Excel using Opensolver, with the Gurobi aspect coming once we were sure we at least had something to submit). In an ideal world, I would have preferred we did more work on this project, and did that work over a longer time period. Knowing what I know now about power systems and renewable generation, I also think that the formulation and assumptions could have been much better. "You live and learn. At any rate, you live" (Douglas Adams, Mostly Harmless, 1992)

Intro to Prescriptive Analytics – 3 March 2023

For this project, we were given a hypothetical humanitarian disaster scenario and tasked with finding an optimal way of deploying aid resources. We presented two possible formulations that differed only in objective, as one of the parameters given were priority scores for each location in need of aid. We gave then a formulation maximizing raw demand met, as well as one maximizing priority-weighted demand met, subject to constraints on budget, available supplies, and vehicle capacities. Pretty straightforward linear programming stuff. I think the more interesting part of this project came in the "Other Considerations" section that I wrote. In this section, I highlight three considerations to be considered for the problem. The first was a shortcoming of our model, that being that we did not consider mixed-use vehicles, i.e. our model dispatched a unique vehicle for each node visited for each supply delivered, whereas a more practical approach might consider vehicle's with multiple types of supplies and/or multiple demand nodes on its routing. The second consideration was to highlight that meeting short-term emergency relief needs does not yield successful long-term disaster recovery, highlighting the failures of the international response to earthquakes in Haiti in 2010 at addressing structural issues such as infrastructure damage. The final consideration had to do with the parameters given, whether they should be considered reliable, and what inherent socioeconomic or sociopolitical biases they may contain that would yield an inequitable response. While I would not contend that the actual content of our work was all that interesting, I do think that my considerations section was worth highlighting, and it went on to inspire several similar report sections for similar projects through the rest of my undergraduate experience.

Materials Management in Supply Chains – 1 March 2023

For this project, we were given a set of historical demand data for a set of five factory-warehouse tandems to analyze for patterns and calculate optimal reordering points and order quantities. Then, a competitive simulation game pit our group against the rest of the class to see whose inventory policies would prove most profitable "in practice." My analysis identified two of the regions had steady demand patterns, one region had seasonal demand with seasons of length 60 days, one region had orders with random interarrival times and fixed size, and the final region had demand that linearly increased for a period of about half of the runtime before stabilizing. Based on these patterns, I calculated reordering points and economic order quantities that fit the demand projections. I forget the exact details of this simulation, but I do remember setting alarms for something like 2am to adjust ordering policies for a region with seasonal demand. This also happened to occur at the same time as my mother and sister were in Massachusetts visiting, so I found myself at times excusing myself to adjust fake numbers in a fake supply chain to make a fake profit value get bigger. In the end it was worth it, as our group won the competition. As I recall, the first our group communicated was after the game's conclusion, where I explained the method behind my madness so they could write the report. Obviously this was not the best example of group work or cooperation, but in the end everything turned out as well as I could ask for, so I for one have no complaints.