Adrian Ribao
2y ago
Ex-CTO with 15+ years in IT, now pursuing a stress-free life. Passionate about family, freedom, and innovative projects. Learning to write to share my vision and make a global impact.
The other day, I was presented with a problem that caught my attention.
An academy told me they were having severe problems creating student schedules. The director even told me it was costing them their health.
The funny thing is that it is not the first time I have heard this.
If an academy has 50 students and 5 different classes (very modest numbers), the possible combinations are 5⁵⁰, which is a vast number. Approximately 88, followed by 33 zeros.
If we could process a thousand combinations per second, it would take several trillion years longer to process them all than the universe's current age.
The numbers would be much bigger if students could choose more than one class. There would be about as many combinations as there are atoms in the universe.
Restrictions help us narrow down the possibilities.
For example:
* Students can only have one class per week.
* Student A can only attend the class on Mondays.
* There can be no more than one class at the same time.
* A teacher can teach up to 30 hours of classes per week.
* etc...
The problem involves finding a solution within a space as vast as the number of possible combinations.
It is a very complex problem for our minds, but it is also computationally expensive.
One way to approach it is using genetic or evolutionary algorithms. I am currently exploring this area.
It is a common problem and mathematically expensive, but from my point of view, it is exciting!
I will keep working on it!