Solving Optimization Problems with Python Linear Programming

Поділитися
Вставка
  • Опубліковано 14 жов 2024

КОМЕНТАРІ •

  • @DahaiWang-li9gy
    @DahaiWang-li9gy 3 місяці тому

    great job explaining the issue in a very simple and easy to understand way. One question to ask - m = Model(name= ‘Phone Production’), what is the purpose of setting ‘Phone Production’ as name for m? The same for name = ‘foldy phone production’ and name= ‘tiny phone production’. I did see they were used later in the code.

  • @sumukha111
    @sumukha111 3 роки тому +2

    Not many videos on the internet about docplex, please upload some more videos. Thank you mate

  • @pablomartinez1504
    @pablomartinez1504 2 роки тому +3

    Fantastic Video! The instructions are really easy to follow and you do a great job explaining why you're doing stuff. Unfortunately, when I try to run it, it gives me the following error:
    docplex.mp.utils.DOcplexException: Cannot solve model: no CPLEX runtime found.
    Then pip cannot find a version of cplex that can be installed. Any suggestions?

  • @ashraf3576
    @ashraf3576 3 роки тому +5

    great video, it makes me easy to understand the concept of mixed integer linear programming. keep up the good work

  • @saltsea9499
    @saltsea9499 Рік тому +1

    for those who need it with pycharm. settings, project, python interpreter, + to install cplex package

  • @raihankhanphotography6041
    @raihankhanphotography6041 3 роки тому +2

    You do the best educational videos of all! Thank you! A quick question -- can anyone access the IBM Watson service? Is it free or carries a fee?

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

      All of them have a free tier available. Give it a crack!

  • @folran5422
    @folran5422 3 роки тому +1

    I don't see how this problem is so complex as to warrant such a model. It's quite simple, really:
    A FoldyPhone is $900 in 1.5h = $600 in 1h.
    A TinyPhone is $1100 in 2h = $550 in 1h.
    *Obviously* you're gonna want to make as many FoldyPhones as possible, since they make more money per hour! How is this complex?
    To answer the question, just plug in the minimum number for TinyPhones:
    2999.5 - 200 * 2 = 2599.5 hours left for making FoldyPhones
    2599.5 / 1.5 = 1733 FoldyPhones we can make with the remaining time

  • @giridharan6800
    @giridharan6800 3 роки тому +4

    Would be great if you can explain with a time series data.

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

    Hi, thanks for the video. You explained all the concepts clearly and made it easy. I'm writing my bachelor's thesis. I've created some MILP model for feature selection in the support vector machine. Now I need to do the cross validation with the scikit learn library, but I can't use the fit method on my docplex models. Do you know how i should do?

  • @anilkumarl.biradar3555
    @anilkumarl.biradar3555 3 роки тому +3

    Awesome video, able to understand the concepts well 👏
    It would be great, if you could do some more videos about docplex

  • @mahanahmadi-jd3gp
    @mahanahmadi-jd3gp 19 днів тому

    thanks for your practical video, please share more videos

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

    I am glad that I found your channel

  • @user-or7ji5hv8y
    @user-or7ji5hv8y 3 роки тому +1

    Is docplex better than Scipy? Just wondering what the pros and cons are...

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

      Heya @C, docplex is based on CPLEX which is a super fast API. I tend to use it a lot for work in enterprise solutions. I haven't dealt too much with Scipy but from what I know, CPLEX scales ridiculously well, particularly if you have a large number of variables and constraints.

  • @amoghamaresh6702
    @amoghamaresh6702 3 роки тому +1

    Awesome video , it would be great help if you could do more videos about docplex

  • @ashraf3576
    @ashraf3576 3 роки тому +2

    hi Nicholas, when i run m.solve(), i got Error said that " DOcplexException: Cannot solve model: no CPLEX runtime found". Hope you can give me some idea on how to resolve this issue.

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

      Run it in the IBM environment, it has the CPLEX runtime preinstalled.

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

      @@NicholasRenotte how does one get access to the IBM environment?

  • @zahranamazian5540
    @zahranamazian5540 2 роки тому +3

    Hi,
    I have an optimisation model in a "for loop"using Python and Gurobi. For each iteration I need to record the decision variables and use them as an input of next "for loop".
    I was wondering if you advise me how I can record the decision variables in each loop.
    Thanks

  • @stallonetht
    @stallonetht 3 роки тому +1

    Hi Nicholas, do you have any tutorial to solve non linear problem as well?

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

      Not yet, any specific problem you're looking to solve @stallonetht?

  • @psymfmah
    @psymfmah 3 роки тому +1

    Do you have any video about how to operate non-linear least square regression with many constraints in python?

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

      Heya @Alireza, hmm, can you share a little more on the use case? So separately leverage LS Regression then apply a constrained problem?

  • @maxsh5350
    @maxsh5350 3 роки тому +1

    Hi! Thank you for the tutorial! But what to do in case of parametric programming problem? Are there any built-in libraries?
    like that:
    (c+t)x->max
    axmax
    ax

    • @NicholasRenotte
      @NicholasRenotte  3 роки тому +1

      Check this out: www.ibm.com/support/pages/solve-linear-parametric-model-using-cplex

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

      @@NicholasRenotte thanks 😉👌🏻

  • @behrouzChannel
    @behrouzChannel 3 роки тому +1

    Nicholas I've got a question , I'll be glad if you guide me ,
    Can I pass a data sciences course like Coursera's courses instead of a University degree to find a job in Europe or USA ?

    • @NicholasRenotte
      @NicholasRenotte  3 роки тому +1

      No problemo, the US market is VERY competitive and you'll likely being going up against people with advanced tertiary degrees (Masters and PdDs). If you're going to rely on Coursera courses only then you need a way to stand out so I'd suggest building an AMAZING portfolio. It'll be easier to score a DS role in Europe with that approach however.

    • @behrouzChannel
      @behrouzChannel 3 роки тому +1

      @@NicholasRenotte amazing guidance thank you so much 🌷

    • @NicholasRenotte
      @NicholasRenotte  3 роки тому +1

      @@behrouzChannel no problems, you're most welcome!

  • @jeethendraambarish100
    @jeethendraambarish100 3 роки тому +1

    Wow awesome teaching, could we please get some more videos , hard to find videos on docplex

  • @jorgeperea5095
    @jorgeperea5095 Рік тому +2

    Hi, I'm getting this error message could someone help me?
    DOcplexException: Cannot solve model: no CPLEX runtime found.

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

      I get the same error, were you able to solve this ?

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

    Is there any limitation for the number of decision variables(D.V.)?
    For example a code with 4 D.V. I got the optimum values, but for that problem with 6 D.V. I did not get the solution (NonType Object for [sol=m.solve()] ).
    what is the fault?
    thanks

  • @chanwitchanton2424
    @chanwitchanton2424 3 роки тому +1

    Very nice teaching, Thank you, krub.

  • @merin_here_am_i
    @merin_here_am_i 2 роки тому +1

    Awesome video... Can you please do optimization with cplex python API?

    • @NicholasRenotte
      @NicholasRenotte  2 роки тому +1

      Checked this out? ua-cam.com/video/EzhzJyu77y8/v-deo.html

  •  Рік тому

    hey, i have replicated the entire model but it keeps on saying m is not defined, neither is sol

  • @user-or7ji5hv8y
    @user-or7ji5hv8y 3 роки тому +1

    I'm not sure if docplex is still working properly, since I got an error when running m.solve(),
    DOcplexException: Cannot solve model: no CPLEX runtime found.

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

      Heya @C, are you running it in Watson Studio? The CPLEX API is natively enabled from WS. You would have to install it separately if you wanted to do it locally.

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

      Hey, I am the same problem... I am running it on google collab, is there a workaround?

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

      @@xknubbe nope, gotta do it with a CPLEX runtime!

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

    The video is very understandable but when i run the code, i get an error which is:
    DOcplexException: Model did not solve successfully
    Maybe you can help me?

  • @TejasGaga
    @TejasGaga 3 роки тому +1

    sir, the code gets stopped at sol=m.solve ()..ask for CPLEX.module..after pip install in google colab still norlt running..kindly help

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

      Won't run in Colab as there isn't a CPLEX environment.

  • @hninpannphyu8567
    @hninpannphyu8567 3 роки тому +2

    Hi, Thanks for the great tutorial. How can we implement the maximum flow problem with docplex. For instances, E =Arcs, (i,j) , x[i,j]=binary variable, 1 if i is linked to j, o otherwise.
    mdl.sum(x[i,j] for (i,j) in E)-mdl.sum(x[j,i] for (j,i) in E)==1 if i=source
    mdl.sum(x[i,j] for (i,j) in E)-mdl.sum(x[j,i] for (j,i) in E)==-1 if i==destination
    mdl.sum(x[i,j] for (i,j) in E)-mdl.sum(x[j,i] for (j,i) in E)==0 otherwise.
    Can you guide me the example code in python docplex Model for the above example?

    • @NicholasRenotte
      @NicholasRenotte  3 роки тому +1

      Check this out: ibmdecisionoptimization.github.io/tutorials/html/Beyond_Linear_Programming.html

    • @hninpannphyu8567
      @hninpannphyu8567 3 роки тому +1

      @@NicholasRenotte Thanks a lot it is really helpful. :D

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

      @@hninpannphyu8567 anytime!! GL

  • @ankitarya7492
    @ankitarya7492 3 роки тому +1

    Can we do optimization or constraint satisfaction if our input data is timestamps like job duration and it's start stop time and we need to assign resource to do that job.?

    • @NicholasRenotte
      @NicholasRenotte  3 роки тому +1

      Heya @Armored Flash, from what I've seen the way to handle this is to treat time as a constant (t) and stage resources using time from t. E.g. The plumber needs to start at t+60. Check this out: ibmdecisionoptimization.github.io/docplex-doc/mp/nurses_scheduling.html

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

      @@NicholasRenotte I'm referring to something like rail crew scheduling where you have time table for rails and you need to create crew duties to optimize number of resources that'll operate rails.

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

      @@ankitarya7492 yep, check out the Nurse Scheduling example I gave. You could repurpose that for rail crew scheduling!

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

    When I execute the #prodcution constraint in the 7:14, I got this error
    Conversion from constraint to expression is available only for discrete constraints, foldy phone production >= 500 is not discrete
    Can you please help me? #NicholasRenotte

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

    Is there a way to print the dual values?

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

    Pls can you do for integer programming, pls I need it asap. It urgent.

  • @rahmadewikartikasari6449
    @rahmadewikartikasari6449 4 роки тому +1

    Good day!
    What a helpful video.
    I'm trying to learn data science using python these days. And I tried using optimization method to solve McDonald's Nutrition data set. But i found an error when running the prob.solve code. 'PulpSolverError: Pulp: Error while executing glpsol.exe' appeared when I run the prob.solve()
    But I still can't find the solution to solve this problem. Can you help me to solve it?
    Thanks

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

      Awesome @rahma ika, what do you get when you run
      pulp.pulpTestAll()
      This SO thread might help? stackoverflow.com/questions/34764209/pulp-solvers-pulpsolvererror-pulp-cannot-execute-glpsol-exe

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

      @@NicholasRenotte hi! Thank you for taking time to help me.
      I've tried to run the pulp.pulpTestAll() code, and it said that module pulp.pulp has no attribute 'pulpTestAll'
      And i tried what's written in the thread, but nothing's worked for me.

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

      @@rahmadewikartikasari6449 can you share your code, I can try to test it on my machine? Github link?

    • @rahmadewikartikasari6449
      @rahmadewikartikasari6449 4 роки тому +1

      Dear @@NicholasRenotte , here is the github link github.com/Rahmadewiks/Mcd-Nutrition.git
      i hope you find out what made it error.

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

      Heya @Rahma, I'm getting a bunch of other errors when I test the model. Quick check, what type of machine are you running this on and what version of Python?

  • @behrouzChannel
    @behrouzChannel 3 роки тому +1

    It seems helpuf but I can't see the codes , wish you could zoom in the screen

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

      Hey @Behrouz, my bad, code is here: github.com/nicknochnack/LinearProgrammingBasics

    • @behrouzChannel
      @behrouzChannel 3 роки тому +1

      @@NicholasRenotte thanks a lot Nicholas

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

      @@behrouzChannel anytime!

  • @SSS0401
    @SSS0401 4 роки тому +1

    Unable to read your code - font too small on Gallaxy tablet

    • @NicholasRenotte
      @NicholasRenotte  4 роки тому +1

      Heyyy thanks for the heads up @Virgil Stokes, I've been zooming in on the more recent videos, can you let me know if it's better on this one ua-cam.com/video/ZUsaIOTJvM4/v-deo.html Also, I just uploaded the Notebook to GitHub if you wanted to take a look: github.com/nicknochnack/LinearProgrammingBasics

  • @kharthigeyan
    @kharthigeyan 3 роки тому +1

    Why not use minizinc for this?

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

      Possibly, I haven't actually done a lot with minizinc!

    • @cong1393
      @cong1393 3 роки тому +1

      Minizinc doesn't work with Python as easily as ILOG/DOcplex. When it come time to deploy the model to the cloud to expose an API, say to use it in your website or mobile app, Minizinc has no easy way of doing it. It's great to learn about constraint programming, but pretty meh when it comes to operationalise the model. Plus, ILOG's got multi-objective optimisation, pretty basic compared to MATLAB, but it's there.

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

      Thanks for sharing @@cong1393!

  • @mehdismaeili3743
    @mehdismaeili3743 5 місяців тому

    Excellent .

  • @franciscozorrilla8440
    @franciscozorrilla8440 2 роки тому +2

    i think its do cplex not doc plex :)

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

      HAHAHAHAHA, I am an idiot. Thanks a million @Francisco, that makes a lot more sense 😅

  • @13kriztian
    @13kriztian 3 роки тому +1

    Very helpful

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

      Heya @Christian, glad you found it useful!! 🙏

  • @ashleysami1640
    @ashleysami1640 4 роки тому +3

    What. I can do that already.

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

    thankyou ma bro

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

    Love it

  • @sidasdf
    @sidasdf 3 роки тому +3

    Unfortunate I was hoping I would actually be able to learn the process to optimize, not use some external library to do it for me.

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

      Oh my bad! Might add something on opt from scratch in the pipeline!

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

    I dont have ibm watson. Trying to replicate in jupyter but throwing an error at the last line
    (anaconda on w10 pc. I did pip install cplex ok)
    Is anyone able to help please?
    ---------------------------------------------------------------------------
    AttributeError Traceback (most recent call last)
    in
    ----> 1 sol.display()
    AttributeError: 'NoneType' object has no attribute 'display'

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

      Scrap that I think I fixed by adding sol = m.solution

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

      Run
      pip install cplex
      You need cplex as a separate package installed

  • @musedegefe5906
    @musedegefe5906 4 місяці тому

    Clinical!

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

    ibm solver not python

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

    Dont read

  • @donaldoconner5172
    @donaldoconner5172 2 місяці тому

    Don't try to kill God's sons again.

  • @killerDNA1001
    @killerDNA1001 3 роки тому +1

    and also when i run m.solve() i get a error saying
    "Cannot solve model: no CPLEX runtime found."
    Please help me
    this is kinda urgent

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

      Let's dig into it a little, are you running this from IBM Cloud? CPLEX would be pre-configured there for you! 😊

    • @killerDNA1001
      @killerDNA1001 3 роки тому +1

      @@NicholasRenotte thank you mate
      i figured this out now when i use it in IBM Watson Studio it works perfectly

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

      @@killerDNA1001 YESSS! I'm curious, what type of LP problems are you working on!?

    • @dominicscott7367
      @dominicscott7367 3 роки тому +1

      @@NicholasRenotte Hey is there a way to solve this error on pycharm?

    • @NicholasRenotte
      @NicholasRenotte  3 роки тому +1

      @@dominicscott7367 you have to have CPLEX installed on your local machine in order to run it in Pycharm.