Artificial Intelligence in Kotlin: code school timetabling from scratch with OptaPlanner and Quarkus
Vložit
- čas přidán 9. 07. 2024
- My twitter: / geoffreydesmet
Get the source code: github.com/kiegroup/optaplann...
Learn more about OptaPlanner: www.optaplanner.org/
0:00:00 Introduction
0:05:50 Build and dependencies
0:11:20 REST
0:13:56 Domain
0:21:00 Database
0:33:58 UI
0:37:55 Solve with OptaPlanner
0:53:33 AI constraints - Věda a technologie
Good day sir. Great video!. I was practicing along with the video but you imported some files at the 35th minute, so I'm stuck and can't continue.
Do you mind sharing the UI folder or the files in the folder so I can finish this tutorial?
Thank you in advance
@@geoffreydesmet1043 Thank you sir. I'm done with the project and it's working fine 😎
Would there be a way to have a similar situation however with lessons of variable length? In that case I couldn't really pre-populate the timetable since the length of class could vary. Also number of days doesn't really matter but maybe would have a soft constraint of ideal date such as "it should be done in this week however if it can't it could be pushed to the previous or next week". Any idea of how that could be done?
Then I guess there's situations where one lesson date and time might already be locked in for some reason... would this solution work in that situation?
@@idev247 We call this locking down "pinning". It's very easy to do in OptaPlanner, just add a boolean field with an @PlanningPin annotation on the Lesson class. If it's true, optaplanner will not reassign that lesson instance to another room or timeslot - but it will of course take it into account for the constraints.
For lessons of variable lenght, you need to adjust the model. In the conference scheduling example the talks are of variable length (for example labs take 2 hours, but normal sessions 1 hour), but because both talk types have their own set of timeslots, it hardly impacts the model.
In what you're describing, that's different: that's the "time grain design pattern": see docs and the meeting scheduling example.
@@GeoffreyDeSmet Thanks getting back to me Goeffrey! Will look at the docs for "time grain design pattern"/meeting schedule example
Sound volume is very low. :(