Recently, I discovered that even with the above comprehensive schedule encompassing all class choices, creating diverse timetables to meet various preferences can be time-consuming. For instance, some of my friends prefer not to have classes on Saturdays, others aim to condense classes into fewer days, and I personally want to avoid morning sessions. Additionally, there are times when I may prefer not to attend college on specific days. Recognizing the recurring nature of this challenge, I realized the need for automated solutions.
With ChatGPT's recommendation, I employed the Python package pulp - an optimization modeler for solving linear programming problems. Upon further exploration into its methodology, it appeared to be utilizing the Lagrange method among other models. This method involves formulating a linear program with a linear objective function and linear constraints. While I'm not an expert in this field, these are just some reflections based on my own understanding.
Please refer to my Linkedin article for more details: https://www.linkedin.com/pulse/optimizing-your-class-schedule-customized-automatic-generator-ju-0eysc