Geoffrey's OptaPlanner channel
Geoffrey's OptaPlanner channel
  • 40
  • 286 013
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
Переглядів: 5 575

Відео

Host your OptaPlanner app on OpenShift (Kubernetes)
Переглядів 1,5 тис.2 роки тому
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
Переглядів 9 тис.2 роки тому
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,6 тис.2 роки тому
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,4 тис.3 роки тому
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,5 тис.3 роки тому
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,1 тис.3 роки тому
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,4 тис.3 роки тому
Learn more about OptaPlanner: www.optaplanner.org/ Get the source code: github.com/kiegroup/optaplanner-quickstarts
Vaccination appointment scheduling optimization with OptaPlanner
Переглядів 3,9 тис.3 роки тому
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,8 тис.3 роки тому
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
Переглядів 6 тис.4 роки тому
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
Переглядів 24 тис.4 роки тому
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,2 тис.5 років тому
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,3 тис.5 років тому
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)
Переглядів 18 тис.6 років тому
OptaWeb Employee Rostering with OptaPlanner (java, open source)
Quick update on the OptaShift employee rostering work
Переглядів 1,2 тис.6 років тому
Quick update on the OptaShift employee rostering work
Conference talk scheduling with OptaPlanner
Переглядів 5 тис.6 років тому
Conference talk scheduling with OptaPlanner
Employee Shift Rostering in the cloud: OptaPlanner on OpenShift
Переглядів 20 тис.7 років тому
Employee Shift Rostering in the cloud: OptaPlanner on OpenShift
Hospital Bed Planning with OptaPlanner
Переглядів 4,8 тис.7 років тому
Hospital Bed Planning with OptaPlanner
Task assigning for skills, affinity and priority with OptaPlanner
Переглядів 11 тис.8 років тому
Task assigning for skills, affinity and priority with OptaPlanner
Optaplanner Workbench And Execution Server: Cloud Optimization (OptaCloud example)
Переглядів 4,1 тис.8 років тому
Optaplanner Workbench And Execution Server: Cloud Optimization (OptaCloud example)
Meeting scheduling with OptaPlanner
Переглядів 4,5 тис.8 років тому
Meeting scheduling with OptaPlanner
Sneak peek OptaPlanner Workbench
Переглядів 3 тис.9 років тому
Sneak peek OptaPlanner Workbench
Investment Portfolio Optimization
Переглядів 4,8 тис.9 років тому
Investment Portfolio Optimization
Cheap time scheduling to reduce electricity power costs
Переглядів 2,6 тис.9 років тому
Cheap time scheduling to reduce electricity power costs
Benchmarking constraint satisfaction problems with the OptaPlanner Benchmarker
Переглядів 3,1 тис.10 років тому
Benchmarking constraint satisfaction problems with the OptaPlanner Benchmarker
Exam timetabling with OptaPlanner
Переглядів 4,3 тис.10 років тому
Exam timetabling with OptaPlanner
Optimal Dinner Party Seating with OptaPlanner
Переглядів 3 тис.10 років тому
Optimal Dinner Party Seating with OptaPlanner
Decision tables in OptaPlanner
Переглядів 3,5 тис.10 років тому
Decision tables in OptaPlanner

КОМЕНТАРІ

  • @salogo9228
    @salogo9228 6 місяців тому

    Very good

  • @marcushuziwara3497
    @marcushuziwara3497 7 місяців тому

    Hi, do you know how to dynamically define the score type of a penalty in the constraints of the solver?

    • @GeoffreyDeSmet
      @GeoffreyDeSmet 7 місяців тому

      Yes, see ConstraintConfiguration in the OptaPlanner/Timefold docs.

  • @锐锐-p6z
    @锐锐-p6z 10 місяців тому

    i loved it!

  • @timon5851
    @timon5851 11 місяців тому

    awesome stuff!

  • @MesayMekonen-n2l
    @MesayMekonen-n2l Рік тому

    can I use Opta for free?

  • @plazmax
    @plazmax Рік тому

    Hi, is there any updated docker verison of optaplanner ?

  • @Uhoh9876
    @Uhoh9876 Рік тому

    literally cant even get it to open, whats the point

  • @olegkokhanchyk8369
    @olegkokhanchyk8369 Рік тому

    @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.

    • @GeoffreyDeSmet
      @GeoffreyDeSmet Рік тому

      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).

  • @fuccboii007
    @fuccboii007 Рік тому

    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.

    • @GeoffreyDeSmet
      @GeoffreyDeSmet Рік тому

      What are you missing in the document? Also take a look at the timefold-quickstarts repo, directory use-cases/vehicle-routing-time-windows etc

  • @viniciusedson5826
    @viniciusedson5826 Рік тому

    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.

  • @aishwaryaomar6741
    @aishwaryaomar6741 Рік тому

    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)?

    • @GeoffreyDeSmet
      @GeoffreyDeSmet Рік тому

      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.

  • @nachhilfehvm
    @nachhilfehvm Рік тому

    "the sky is the limit with those constraints right?" haha thats a perfect sentence. "You can limit yourself unlimitedly!"

  • @JC-rb1nc
    @JC-rb1nc Рік тому

    Does it do project task scheduling optimization?

  • @JC-rb1nc
    @JC-rb1nc Рік тому

    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?

  • @borisedu260367
    @borisedu260367 Рік тому

    Good evening, I would like you to help me generate a jar with the Optaplanner project

  • @MrHefist
    @MrHefist Рік тому

    What's the difference between Optaplanner and OptyPy?

  • @JJ-gp1mk
    @JJ-gp1mk 2 роки тому

    How can you optimise for bicycle, does it support other graphhopper profiles?

    • @GeoffreyDeSmet
      @GeoffreyDeSmet 2 роки тому

      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.

  • @vijayalakshmiselvaranga6714
    @vijayalakshmiselvaranga6714 2 роки тому

    constraint for some subject needs to teach continuously for same stusent group at same room ? can you help me for that?

  • @vandersondiniz1345
    @vandersondiniz1345 2 роки тому

    How do i use optaplanner with the map of Brazil? For me, the South America option does not appear.

    • @GeoffreyOptaPlanner
      @GeoffreyOptaPlanner 2 роки тому

      In optaweb-vehicle-routing demo application, run runLocally.sh --help to see info on how to select your geographical region.

  • @filakabamba9584
    @filakabamba9584 2 роки тому

    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 ....

  • @cyberbiscottato
    @cyberbiscottato 2 роки тому

    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!

  • @aparfeno
    @aparfeno 2 роки тому

    Please use 1080p resolution. Very hard to read small text @ 480

  • @isimlikullanc2638
    @isimlikullanc2638 2 роки тому

    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.

  • @minhvuongluu7644
    @minhvuongluu7644 2 роки тому

    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 ?

    • @GeoffreyOptaPlanner
      @GeoffreyOptaPlanner 2 роки тому

      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.

  • @minhvuongluu7644
    @minhvuongluu7644 2 роки тому

    How can I customize the VRP to a territory optimizer

    • @GeoffreyOptaPlanner
      @GeoffreyOptaPlanner 2 роки тому

      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

  • @magick93
    @magick93 2 роки тому

    How can I use optaplanner to generate a DMN decision table?

    • @GeoffreyOptaPlanner
      @GeoffreyOptaPlanner 2 роки тому

      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).

    • @magick93
      @magick93 2 роки тому

      @@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.

    • @GeoffreyOptaPlanner
      @GeoffreyOptaPlanner 2 роки тому

      @@magick93 That could be a good fit indeed - please open a thread on Stackoverflow or our forum: www.optaplanner.org/community/getHelp.html

  • @albertchen9199
    @albertchen9199 2 роки тому

    勉强看完,大概懂意思了,还得结合文档和代码看一下。谢谢你这个视频教程

  • @jmcrowley
    @jmcrowley 3 роки тому

    Thank you, Geoffrey, for another super video. Very informative and clear.

  • @mike.nussbaumer
    @mike.nussbaumer 3 роки тому

    Thanks for this awesome video! :)

  • @vikingofengland
    @vikingofengland 3 роки тому

    Excellent tutorial, many thanks.

  • @lawalhayde3933
    @lawalhayde3933 3 роки тому

    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

    • @lawalhayde3933
      @lawalhayde3933 3 роки тому

      @@geoffreydesmet1043 Thank you sir. I'm done with the project and it's working fine 😎

  • @chuyendoiso2041
    @chuyendoiso2041 3 роки тому

    Can you share the code with me : sochuyendoi@gmail.com

  • @lovedeepsangha4818
    @lovedeepsangha4818 3 роки тому

    Hi Geoffrey if i have to pass the drl file instead of. constraint provider then what i have to do in solver manager

    • @GeoffreyDeSmet
      @GeoffreyDeSmet 3 роки тому

      Please open a StackOverflow question: www.optaplanner.org/community/getHelp.html - Look at SolverManager.create().

    • @lovedeepsangha4818
      @lovedeepsangha4818 3 роки тому

      @@GeoffreyDeSmet okk sure thanks for replying really loved your session

  • @GeoffreyDeSmet
    @GeoffreyDeSmet 3 роки тому

    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.

  • @diegonayalazo
    @diegonayalazo 3 роки тому

    Thanks Geoffrey

  • @simonelibera2629
    @simonelibera2629 3 роки тому

    Nice set of examples! Thank you!

  • @wchua043
    @wchua043 3 роки тому

    Great video

  • @pinumpatel
    @pinumpatel 3 роки тому

    I am looking for an optaplanner in India. If you have any references please share with me.

  • @nettogrowthpartners9567
    @nettogrowthpartners9567 4 роки тому

    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!

    • @GeoffreyDeSmet
      @GeoffreyDeSmet 4 роки тому

      Does "mvn clean install" work?

    • @nettogrowthpartners9567
      @nettogrowthpartners9567 3 роки тому

      @@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.

    • @GeoffreyDeSmet
      @GeoffreyDeSmet 3 роки тому

      @@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

    • @nettogrowthpartners9567
      @nettogrowthpartners9567 3 роки тому

      @@GeoffreyDeSmet Thanks a lot Geoffrey!

  • @diegonayalazo
    @diegonayalazo 4 роки тому

    Thanks Geoffrey.

  • @diegonayalazo
    @diegonayalazo 4 роки тому

    Thanks Geoffrey

  • @idev247
    @idev247 4 роки тому

    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?

    • @idev247
      @idev247 4 роки тому

      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?

    • @GeoffreyDeSmet
      @GeoffreyDeSmet 4 роки тому

      @@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.

    • @GeoffreyDeSmet
      @GeoffreyDeSmet 4 роки тому

      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.

    • @idev247
      @idev247 4 роки тому

      @@GeoffreyDeSmet Thanks getting back to me Goeffrey! Will look at the docs for "time grain design pattern"/meeting schedule example

  • @hediabed6109
    @hediabed6109 4 роки тому

    Thank you for this great demonstration tutorial.

  • @jamilxt
    @jamilxt 4 роки тому

    Sound volume is very low. :(

  • @diegonayalazo
    @diegonayalazo 4 роки тому

    Thanks Geoffrey.!

  • @techtalks4506
    @techtalks4506 4 роки тому

    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

  • @techtalks4506
    @techtalks4506 4 роки тому

    Somehow unable to find documentation of parameters REST APIs. I am able to configure Swagger APIs on localhost:8080/swagger-ui.html

    • @techtalks4506
      @techtalks4506 4 роки тому

      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

  • @adityabothra6678
    @adityabothra6678 4 роки тому

    how do you calculate expected return percentage?

  • @GustavoRPS
    @GustavoRPS 4 роки тому

    Great example! Thanks for sharing! Can you help with the source code? I can't find the patientAdmissionScheduleSolverConfig.xml

    • @GustavoRPS
      @GustavoRPS 4 роки тому

      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

  • @PietervandenHombergh
    @PietervandenHombergh 4 роки тому

    thank you a lot, very interesting.