LP Optimization

I am an Industrial Engineer utilizing the power of python to gain deeper insights in data.
I am currently learning Deep learning with TensorFlow
Search for a command to run...

I am an Industrial Engineer utilizing the power of python to gain deeper insights in data.
I am currently learning Deep learning with TensorFlow
No comments yet. Be the first to comment.
I recently built an interactive A3 process improvement app using Claude Sonnet 4 - and here's the interesting part: the app itself uses Claude's API to analyze completed A3 documents. It's essentially Claude helping to build a tool that leverages Cla...

Comparing Mistral 7B vs. LLaMA-2 7B using HuggingFace

Implementing a RAG model

This took a bit of time to get the certificate, but circling back to follow up on a previous accomplishment — I officially completed an AI/ML Apprenticeship! [U.S. Department of Labor apprenticeship completion certificate for the AI/ML Fundamentals P...
A time-series forecasting and anomaly-detection tool

In this project the goal was to find a method to take a group of 100 students and form 5 teams of students where the average team score was balanced.
The students are originally grouped into 7 teams shown below.
Each student has an average score based on the categories: Reading, Writing, Math, and Science.
Team Distribution of Average Student Scores

The average of the teams ranged from 43.25 to 50.85. The difference between the teams is relatively small, but let's see if we can improve the teams.

For the future state teams, I'll be using Linear Programming to minimize the difference between the average team score. Making the teams as balanced as possible.
New team constraints:
There will be 5 new teams
Each student can only be assigned to 1 team
Team size will have the specified size, team_sizes = [15, 25, 20, 20, 20]
There will be at least 1 student with a score of 70 or more in each of the categories 'Reading', 'Writing', 'Math', and 'Science'.
The constraints were used to create a Linear Programming model with the following results.


The team averages are more balanced than the current state while following the constraints.

In the chart above you can see each students score. I also clustered the students based on the category scores, to help find students of similar skill level. The clustering did not affect the results of the linear optimization. It was more for identification of student groupings.

One benefit was that I was able to write some code that allowed for finding a similar student.
In the example below with student 99, the nearest students are student 4 and student 87.

Conclusion
I was able to build a model that could rebalance the students while following a set of constraints on the new teams.