Simplex Solver
My senior year, I took a class called Design Principles which is an upper level Chemical Engineering course focused on the design and modeling of chemical processes. As part of this class, there was a unit on optimization techniques. Many of the techniques we learned were iterative, and therefore were timely and long to write out, especially on exams / assessments. To this end, we were tasked with building a computational tool in matlab, excel, or python to do these iterative calculations for us when tested on the subject.
This site is a user-friendly solution for solving Linear Programming Word Problems. It utilizes the Tableau method of simplex optimization to find optimal solutions. After the user inputs a coefficient matrix (A) and constants vector (b) in restricted normal form, the site performs each iteration of the simplex optimization until it converges to a final answer which is both displayed and shown graphically using the Desmos API.
This was a convenient and accessible solution for many of my classmates who had limited coding experience. However, I decided I could take it one step further. Almost all of the linear programming problems that we received were word problems, in which we had to parse out the objective function, constraints, decide if an auxiliary function was necessary, and then convert the whole thing to restricted normal form. At this same time I had been following the progression of LLMs, and had been introduced to the concept of agentic workflows. It is based on the idea that as good as LLMs get, to reach their full potential, especially for task-specific applications, we need to use these tools better. One such framework is called an agentic workflow by which LLMs aren't expected to solve an entire problem in one shot, but instead utilize crafted prompts that extract meaningful information, and then feed this information back into the data for later queries to extract more meaningful responses. Using this framework, I created a pipeline that could solve linear programming word problems, convert them to restricted normal form, and then solve the optimization problem using the API that I had already built. I tested and tuned my pipeline on problems I found by scraping the internet and that my professor graciously provided me. This tool has now been implemented into the core curriculum of the class that I learned it from.