- 40
- 284 797
Geoffrey's OptaPlanner channel
เข้าร่วมเมื่อ 24 มิ.ย. 2011
OptaPlanner is an AI constraint solver. OptaPlanner is open source software, released under the Apache License.
The OptaPlanner codebase was created by Geoffrey De Smet in 2006 as Taseree (later Drools Planner) in his spare time. He created this channel shortly after to showcase his work. In 2013, the code and this channel was renamed to OptaPlanner, and Red Hat sponsored active development from 2013 until 2023.
In 2023, Geoffrey forked OptaPlanner as Timefold to continue the project:
timefold.ai/blog/2023/optaplanner-fork
The OptaPlanner codebase was created by Geoffrey De Smet in 2006 as Taseree (later Drools Planner) in his spare time. He created this channel shortly after to showcase his work. In 2013, the code and this channel was renamed to OptaPlanner, and Red Hat sponsored active development from 2013 until 2023.
In 2023, Geoffrey forked OptaPlanner as Timefold to continue the project:
timefold.ai/blog/2023/optaplanner-fork
The Vehicle Routing Problem with OptaPlanner
Twitter: GeoffreyDeSmet
LinkedIn: www.linkedin.com/in/ge0ffrey/
Learn more about OptaPlanner: www.optaplanner.org/
Get the source code: github.com/kiegroup/optaplanner-quickstarts
LinkedIn: www.linkedin.com/in/ge0ffrey/
Learn more about OptaPlanner: www.optaplanner.org/
Get the source code: github.com/kiegroup/optaplanner-quickstarts
มุมมอง: 5 424
วีดีโอ
Host your OptaPlanner app on OpenShift (Kubernetes)
มุมมอง 1.5K2 ปีที่แล้ว
Twitter: GeoffreyDeSmet LinkedIn: www.linkedin.com/in/ge0ffrey/ Get the source code: github.com/kiegroup/optaplanner-quickstarts OpenShift: openshift.com Host an OptaPlanner application in the cloud, in container pods, on OpenShift, a open source container platform built on Kubernetes. 00:00 Intro 00:20 Quickstarts overview 01:44 Start an OpenShift Sandbox 02:12 Add a deployment 03:...
OptaPlanner - A fast, easy-to-use, open source AI constraint solver for software developers
มุมมอง 9K2 ปีที่แล้ว
Learn more: www.optaplanner.org/ OptaPlanner optimizes plans and schedules with hard constraints and soft constraints. It reduces costs substantially, improves service quality, fulfills employee wishes and lowers carbon emissions, using Artificial Intelligence algorithms. 0:00 Introduction 0:41 Vehicle Routing Problem (VRP) 1:17 Employee rostering 1:46 Maintenance scheduling 2:07 School timetab...
Order picking planning with OptaPlanner
มุมมอง 2.5K2 ปีที่แล้ว
Learn more about OptaPlanner: www.optaplanner.org/ Get the source code: github.com/kiegroup/optaplanner-quickstarts How to solve order picking problem? Generate an optimal picking plan for completing a set of orders. This video shows how to use OptaPlanner Order picking quick start to assign products to trolleys, if you need to pick up multiple orders simultaneously and minimize the distance co...
Maintenance scheduling and inspection planning with OptaPlanner
มุมมอง 2.3K3 ปีที่แล้ว
My twitter: GeoffreyDeSmet Learn more about OptaPlanner: www.optaplanner.org/ Get the source code: github.com/kiegroup/optaplanner-quickstarts Assign crews to maintenance jobs for roads, railroads, electricity grids, buildings, vehicles, airplanes, elevators or any other types of machinery. Or assign inspectors to inspection jobs for bridges or schools. 00:00:00 Introduction 00:00:3...
School timetable optimization with OptaPlanner
มุมมอง 4.4K3 ปีที่แล้ว
My twitter: GeoffreyDeSmet Learn more about OptaPlanner: www.optaplanner.org/ Source code: github.com/kiegroup/optaplanner-quickstarts Assign lessons to timeslots and rooms to create the optimal schedule for teachers (compact roster without gaps, room stability) and students (subject variety). 00:00:00 Introduction 00:00:13 Problem 00:01:05 Demo 00:01:49 Hard constraints 00:02:28 So...
Schedule incoming calls real-time
มุมมอง 1.1K3 ปีที่แล้ว
Learn more about OptaPlanner: www.optaplanner.org/ Get the source code: github.com/kiegroup/optaplanner-quickstarts
User friendly vaccination appointment scheduling
มุมมอง 5333 ปีที่แล้ว
My twitter: GeoffreyDeSmet Learn more about OptaPlanner: www.optaplanner.org/ Get the source code: github.com/kiegroup/optaplanner-quickstarts
Rental car maintenance scheduling optimization with OptaPlanner
มุมมอง 1.4K3 ปีที่แล้ว
Learn more about OptaPlanner: www.optaplanner.org/ Get the source code: github.com/kiegroup/optaplanner-quickstarts
Vaccination appointment scheduling optimization with OptaPlanner
มุมมอง 3.9K3 ปีที่แล้ว
My twitter: GeoffreyDeSmet Get the source code: github.com/kiegroup/optaplanner-quickstarts Learn more about OptaPlanner: www.optaplanner.org/ Article: www.optaplanner.org/blog/2021/03/04/OptimizingCovid19VaccinationScheduling.html 00:00 Introduction 00:27 Goals and techniques 06:18 Implementation 08:39 Demo: 2nd shot same vaccine type 10:10 Demo: 2nd shot on ideal date and assign a...
Getting started with OptaPlanner Quickstarts
มุมมอง 4.8K3 ปีที่แล้ว
My twitter: GeoffreyDeSmet Learn more about OptaPlanner: www.optaplanner.org/ Get the source code: github.com/kiegroup/optaplanner-quickstarts
Artificial Intelligence in Kotlin: code school timetabling from scratch with OptaPlanner and Quarkus
มุมมอง 6K4 ปีที่แล้ว
My twitter: GeoffreyDeSmet Get the source code: github.com/kiegroup/optaplanner-quickstarts 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
Artificial Intelligence in Java: how to write a Quarkus app with OptaPlanner from scratch
มุมมอง 23K4 ปีที่แล้ว
Twitter: GeoffreyDeSmet LinkedIn: www.linkedin.com/in/ge0ffrey/ Guide: quarkus.io/guides/optaplanner OptaPlanner homepage: www.optaplanner.org Shows how to program a REST application that optimizes a school timetable according to hard and soft constraints with constraint solving Artificial Intelligence algorithms (such as metaheuristics, local search and construction heuristics). It...
Routing 2 mechanics with OptaPlanner for Red Hat Summit 2019 keynote
มุมมอง 3.2K5 ปีที่แล้ว
My twitter: GeoffreyDeSmet For more information, go to www.optaplanner.org For more about Vehicle Routing, see www.optaplanner.org/learn/useCases/vehicleRoutingProblem.html
Conference Scheduling Devoxx and Voxxed with OptaPlanner
มุมมอง 1.3K5 ปีที่แล้ว
My twitter: GeoffreyDeSmet Use OptaPlanner to connect to the devoxx-cfp REST api and assign each talk to a room and timeslot taking into constraints such as speaker availability. For more information go to www.optaplanner.org/learn/useCases/conferenceScheduling.html
OptaWeb Employee Rostering with OptaPlanner (java, open source)
มุมมอง 18K5 ปีที่แล้ว
OptaWeb Employee Rostering with OptaPlanner (java, open source)
Quick update on the OptaShift employee rostering work
มุมมอง 1.2K6 ปีที่แล้ว
Quick update on the OptaShift employee rostering work
Conference talk scheduling with OptaPlanner
มุมมอง 5K6 ปีที่แล้ว
Conference talk scheduling with OptaPlanner
Employee Shift Rostering in the cloud: OptaPlanner on OpenShift
มุมมอง 20K7 ปีที่แล้ว
Employee Shift Rostering in the cloud: OptaPlanner on OpenShift
Task assigning for skills, affinity and priority with OptaPlanner
มุมมอง 11K8 ปีที่แล้ว
Task assigning for skills, affinity and priority with OptaPlanner
Optaplanner Workbench And Execution Server: Cloud Optimization (OptaCloud example)
มุมมอง 4.1K8 ปีที่แล้ว
Optaplanner Workbench And Execution Server: Cloud Optimization (OptaCloud example)
Cheap time scheduling to reduce electricity power costs
มุมมอง 2.5K9 ปีที่แล้ว
Cheap time scheduling to reduce electricity power costs
Benchmarking constraint satisfaction problems with the OptaPlanner Benchmarker
มุมมอง 3.1K9 ปีที่แล้ว
Benchmarking constraint satisfaction problems with the OptaPlanner Benchmarker
Optimal Dinner Party Seating with OptaPlanner
มุมมอง 3K10 ปีที่แล้ว
Optimal Dinner Party Seating with OptaPlanner
Very good
Hi, do you know how to dynamically define the score type of a penalty in the constraints of the solver?
Yes, see ConstraintConfiguration in the OptaPlanner/Timefold docs.
i loved it!
awesome stuff!
can I use Opta for free?
Hi, is there any updated docker verison of optaplanner ?
literally cant even get it to open, whats the point
@GeoffreyDeSmet can you pls advise if, OptaPlanner is good for solving a problem for EV drivers. I need to plan a route from A to D, and stop on B,C or only B because B is fast-charging. something like that.
Timefold (= OptaPlanner++) is often used for that kind of cases. Model wise you let it decided the route without recharging, and force "just in time automatic nearest recharging" through a shadow variable. Basically if I can get from start to Z to A without recharging, fine. If I can't get to D any more without recharging, automatically active the shadow var on D to state that it will first recharge at the nearest recharger (B).
I haven't seen such poor documentation. Man, I am practically figuring out everything on my own. You might wanna make things a bit easy for those who are just getting into it.
What are you missing in the document? Also take a look at the timefold-quickstarts repo, directory use-cases/vehicle-routing-time-windows etc
Hi. Would you tell me how to edit the source code for Vehicle Routing? I mean, the exact archive. I'm trying to change the map and edit the nodes but I can't seem to find the right code to edit. Is there a way of editing on the web version? I get to open it at the host but I can't edit that.
How to run this? For me it's opening on browser(local host), but I can't edit nodes like you can do in real time. How to download it locally? and where to access code? Is optaPlanner supports CVRPR(capacitated vehicle routing problem with revisits)?
If you run it from source, you can edit the source code. In Timefold quickstarts we're making this easier by providing curl commands to send the json dataset to the VRP rest API. Revists are possible, but you'll currently have to add that revisit constrain yourself.
"the sky is the limit with those constraints right?" haha thats a perfect sentence. "You can limit yourself unlimitedly!"
Does it do project task scheduling optimization?
hi, has this progressed in the last 10 years? is it more efficient/faster? also, is there documentation so we can see how we can do the same exercise/test?
Good evening, I would like you to help me generate a jar with the Optaplanner project
What's the difference between Optaplanner and OptyPy?
How can you optimise for bicycle, does it support other graphhopper profiles?
In optaweb-vehilce-routing, it's a matter of fetching the travelDuration matrix (or distance matrix) on basis of a bicycle instead of a car.
constraint for some subject needs to teach continuously for same stusent group at same room ? can you help me for that?
How do i use optaplanner with the map of Brazil? For me, the South America option does not appear.
In optaweb-vehicle-routing demo application, run runLocally.sh --help to see info on how to select your geographical region.
How can I do the following : Please help asap *1.* Make an Artificial Neural Network with dynamic input and binary out .... *2.* Make a Self Organizing Maps with dynamic input and binary out ....
Hi! I'd like to try it but I'm a complete newbie. I managed to run optaplanner since there's a .bat file that my windows PC can run, but i really do not understand how to execute this employee rostering application. Is there any guide about it? Thank you so much!
Please use 1080p resolution. Very hard to read small text @ 480
Hi geoffrey, why the software is browser based? I mean it would be easier for everyone to install and use if it had a GUI.
I'm very new to Opta Planner, and find it very interesting, I would like to learn how to customise this application, where would suggest me to start with ?
There's are good getting started guides on the OptaPlanner website: click on the big blue button there. There are also getting started videos in this youtube channel.
How can I customize the VRP to a territory optimizer
In the optaplanner-quickstarts repo, take a look at the facility-location (see also the video on this youtube channel) and vehicle-routing quickstarts. You'll need to tweak the constraints depending on your needs. For example, you could add a soft constraint that penalizes the distance between every pair of assignments in the same territory. For questions/discussions on that, open a thread on Stackoverflow or our forum: www.optaplanner.org/community/getHelp.html
How can I use optaplanner to generate a DMN decision table?
OptaPlanner doesn't consume DMN. Our sibling project, Drools (drools.org) does support DMN decision tables. Give it a try! As for generating DMN with OptaPlanner, it depends. It could be a good fit. Please open a discussion on OptaPlanner's forum (optaplanner.org -> Get Help).
@@GeoffreyOptaPlanner thanks. I should have been clearer. I'm familiar with Drools. It would be good see Optaplanner used to optimise the settings used in a DMN decision table.
@@magick93 That could be a good fit indeed - please open a thread on Stackoverflow or our forum: www.optaplanner.org/community/getHelp.html
勉强看完,大概懂意思了,还得结合文档和代码看一下。谢谢你这个视频教程
Thank you, Geoffrey, for another super video. Very informative and clear.
You're welcome :)
Thanks for this awesome video! :)
Excellent tutorial, many thanks.
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 😎
Can you share the code with me : sochuyendoi@gmail.com
Hi Geoffrey if i have to pass the drl file instead of. constraint provider then what i have to do in solver manager
Please open a StackOverflow question: www.optaplanner.org/community/getHelp.html - Look at SolverManager.create().
@@GeoffreyDeSmet okk sure thanks for replying really loved your session
For those of you who wonder about scaling: for 8.3.0, we can schedule 200 000 new injections (without partitioning the dataset) in less than an hour. With partitioning, it will takes less time, but solution quality probably suffers as a result.
Thanks Geoffrey
Nice set of examples! Thank you!
Great video
I am looking for an optaplanner in India. If you have any references please share with me.
optaplanner developer ?
Hi Geoffrey! Thanks for the tutorial. I tried to open de project in Netbeans but it says [unloadable] would you throw me a piece of advice on that? Thanks in advance!
Does "mvn clean install" work?
@@GeoffreyDeSmet Hi Geoffrey thank you for your response. Finally a managed to install it. The problem was on me lack of expertise side. The problem I have now is that the generated project with Quarkus I made has some different dependencies from the one you generated for the tutorial. So I'm stack.
@@nettogrowthpartners9567 The dependencies changed from io.quarkus:quarkus-optaplanner to org.optaplanner:optaplanner-quarkus Follow the guide here: quarkus.io/guides/optaplanner Or the source code here: github.com/kiegroup/optaplanner-quickstarts
@@GeoffreyDeSmet Thanks a lot Geoffrey!
Thanks Geoffrey.
Thanks Geoffrey
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
Thank you for this great demonstration tutorial.
Sound volume is very low. :(
Thanks Geoffrey.!
Hello Geoffey, I am trying to add a new tenant using REST API (/rest/tenant/add Add a new tenant). But keep on getting "400 Undocumented error". I am able to use other methods. Any help will be highly appreciated. ------------------------------------------------------- connection: close content-length: 0 date: Fri, 31 Jul 2020 12:29:26 GMT vary: Origin, Access-Control-Request-Method, Access-Control-Request-Headers
Somehow unable to find documentation of parameters REST APIs. I am able to configure Swagger APIs on localhost:8080/swagger-ui.html
For example unable to add a new parameter even though the input format is given. Is there a document which gives example calls or give details of parameters that are mandatory - { "draftLength": 0, "firstDraftDate": "string", "id": 0, "lastHistoricDate": "string", "publishLength": 0, "publishNotice": 0, "rotationLength": 0, "tenant": { "id": 0, "name": "string", "version": 0 }, "tenantId": 0, "timeZone": { "id": "string", "rules": { "fixedOffset": true, "transitionRules": [ { "dayOfMonthIndicator": 0, "dayOfWeek": "MONDAY", "localTime": { "hour": 0, "minute": 0, "nano": 0, "second": 0 }, "midnightEndOfDay": true, "month": "JANUARY", "offsetAfter": { "id": "string", "totalSeconds": 0 }, "offsetBefore": { "id": "string", "totalSeconds": 0 }, "standardOffset": { "id": "string", "totalSeconds": 0 }, "timeDefinition": "UTC" } ], "transitions": [ { "dateTimeAfter": "2020-07-29T18:40:19.295Z", "dateTimeBefore": "2020-07-29T18:40:19.295Z", "duration": { "nano": 0, "negative": true, "seconds": 0, "units": [ { "dateBased": true, "durationEstimated": true, "timeBased": true } ], "zero": true }, "gap": true, "instant": "2020-07-29T18:40:19.295Z", "offsetAfter": { "id": "string", "totalSeconds": 0 }, "offsetBefore": { "id": "string", "totalSeconds": 0 }, "overlap": true } ] } }, "unplannedRotationOffset": 0, "version": 0 }ble to add a new tenant even
how do you calculate expected return percentage?
Great example! Thanks for sharing! Can you help with the source code? I can't find the patientAdmissionScheduleSolverConfig.xml
Thank you very much @@GeoffreyOptaPlanner ! Funny that in the repository search does not match file titles. github.com/kiegroup/optaplanner/search?q=patientAdmissionScheduleSolverConfig&type=Code
thank you a lot, very interesting.