Job scheduling with constraint programming using Google OR tools in Python

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 ธ.ค. 2024

ความคิดเห็น • 25

  • @shaggyaxe
    @shaggyaxe 10 หลายเดือนก่อน +1

    Hm, that link in the description doesn't take you to the source code. Takes you to an overview, and the output. But I'm not seeing the source code. 🤔

    • @linnartfelklm.sc.6467
      @linnartfelklm.sc.6467  10 หลายเดือนก่อน +1

      Thanks, some add-on on my blog is outdated. Didnt know. Fixing it now

    • @linnartfelklm.sc.6467
      @linnartfelklm.sc.6467  10 หลายเดือนก่อน +1

      should be visible now again

  • @Voronza
    @Voronza ปีที่แล้ว +1

    Thanks, really helped me to begin using ortools!

  • @semenovdanya4780
    @semenovdanya4780 ปีที่แล้ว

    Good afternoon! Thank you for this video!
    I have a question...
    will this library help for graph analytical method in passenger transportation?

  • @mangka123Right
    @mangka123Right ปีที่แล้ว

    wonderful video. do you have videos for job shop problems?

    • @linnartfelklm.sc.6467
      @linnartfelklm.sc.6467  9 หลายเดือนก่อน

      you mean scheduling models? I have mix of a time-indexed optimization model template, and an assignment heuristic available here: www.supplychaindataanalytics.com/product/job-shop-scheduling-library-python/

  • @juaneiros2100
    @juaneiros2100 ปีที่แล้ว

    Nice video. I’m still new to this library: do you know how you’d add a constraint that each shift is covered by multiple workers? (Not just one). Thanks!

    • @juaneiros2100
      @juaneiros2100 ปีที่แล้ว

      And how to take into account shift preferences? e.g: worker1 would rather work Shift1, Shift3 and Shift2 (in order of preference). So we’d try to avoid assigning worker1 to Shift2 as much as possible.

    • @linnartfelklm.sc.6467
      @linnartfelklm.sc.6467  ปีที่แล้ว +1

      for y in range(days):
      for z in range(shifts):
      model.Add(sum(shiftoptions[(x, y, z)] for x in range(workers)) > 1)

    • @linnartfelklm.sc.6467
      @linnartfelklm.sc.6467  ปีที่แล้ว

      @@juaneiros2100 shift preference is optimization (objective function) and not cp? For a cp model you could forbid certain worker shift mappings. If you want to model preference then use optimization model instead?

  • @sachacuenot4108
    @sachacuenot4108 3 ปีที่แล้ว

    Hello, good video!
    I have a question, I am planning to create an automatic schedule for operators for one day. There are different positions and not every operator knows all the positions. In addition, there are 4 job rotations per day.
    Do you think that OR-TOOLs with constraint programming fit with this project ?

    • @linnartfelklm.sc.6467
      @linnartfelklm.sc.6467  3 ปีที่แล้ว

      Hi Sacha. Thank you for your question. What do you mean with position? And what do you mean with not every operator knowing all positions? It seems like a problem that you can solve with constraint programming, yes. And OR-Tools provides the means for implementing a constraint programming model, yes.

    • @sachacuenot4108
      @sachacuenot4108 3 ปีที่แล้ว

      ​@@linnartfelklm.sc.6467 Sorry for the missunderstanding. I meant by "positions" job

    • @linnartfelklm.sc.6467
      @linnartfelklm.sc.6467  3 ปีที่แล้ว

      @@sachacuenot4108 this can be done with OR tools. If you need help let me know. You can contact me via my website www.supplychaindataanalytics.com

    • @sagarmittal1898
      @sagarmittal1898 2 ปีที่แล้ว

      Sacha cuenet were you able to build this automatic schedule project ?

    • @linnartfelklm.sc.6467
      @linnartfelklm.sc.6467  2 ปีที่แล้ว +1

      @@sagarmittal1898 another way you may consider for this is heuristic loading

  • @kartikeyaagrawal5917
    @kartikeyaagrawal5917 2 ปีที่แล้ว

    I ran the code in ipynb , it does not stop executing

    • @linnartfelklm.sc.6467
      @linnartfelklm.sc.6467  2 ปีที่แล้ว

      Does it print results?

    • @kartikeyaagrawal5917
      @kartikeyaagrawal5917 2 ปีที่แล้ว

      @@linnartfelklm.sc.6467 Yes, it does but unlike other ortools program it does not terminate.(Using .ipynb file)

    • @linnartfelklm.sc.6467
      @linnartfelklm.sc.6467  2 ปีที่แล้ว

      @@kartikeyaagrawal5917 how long did you let it run? it will print all solutions that it finds, if I remember this example code correctly