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.
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?
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
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?
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.
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.
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
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
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 ?
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.
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
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.
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.
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?
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?
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.?
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
@@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.
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
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
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
@@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.
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?
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
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.
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'
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.
Not many videos on the internet about docplex, please upload some more videos. Thank you mate
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?
great video, it makes me easy to understand the concept of mixed integer linear programming. keep up the good work
for those who need it with pycharm. settings, project, python interpreter, + to install cplex package
you're a legend, tysm
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?
All of them have a free tier available. Give it a crack!
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
Would be great if you can explain with a time series data.
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?
Awesome video, able to understand the concepts well 👏
It would be great, if you could do some more videos about docplex
thanks for your practical video, please share more videos
I am glad that I found your channel
Is docplex better than Scipy? Just wondering what the pros and cons are...
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.
Awesome video , it would be great help if you could do more videos about docplex
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.
Run it in the IBM environment, it has the CPLEX runtime preinstalled.
@@NicholasRenotte how does one get access to the IBM environment?
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
Hi Nicholas, do you have any tutorial to solve non linear problem as well?
Not yet, any specific problem you're looking to solve @stallonetht?
Do you have any video about how to operate non-linear least square regression with many constraints in python?
Heya @Alireza, hmm, can you share a little more on the use case? So separately leverage LS Regression then apply a constrained problem?
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
Check this out: www.ibm.com/support/pages/solve-linear-parametric-model-using-cplex
@@NicholasRenotte thanks 😉👌🏻
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 ?
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.
@@NicholasRenotte amazing guidance thank you so much 🌷
@@behrouzChannel no problems, you're most welcome!
Wow awesome teaching, could we please get some more videos , hard to find videos on docplex
Sure!
Hi, I'm getting this error message could someone help me?
DOcplexException: Cannot solve model: no CPLEX runtime found.
I get the same error, were you able to solve this ?
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
Very nice teaching, Thank you, krub.
Awesome video... Can you please do optimization with cplex python API?
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
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.
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.
Hey, I am the same problem... I am running it on google collab, is there a workaround?
@@xknubbe nope, gotta do it with a CPLEX runtime!
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?
sir, the code gets stopped at sol=m.solve ()..ask for CPLEX.module..after pip install in google colab still norlt running..kindly help
Won't run in Colab as there isn't a CPLEX environment.
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?
Check this out: ibmdecisionoptimization.github.io/tutorials/html/Beyond_Linear_Programming.html
@@NicholasRenotte Thanks a lot it is really helpful. :D
@@hninpannphyu8567 anytime!! GL
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.?
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
@@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.
@@ankitarya7492 yep, check out the Nurse Scheduling example I gave. You could repurpose that for rail crew scheduling!
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
Is there a way to print the dual values?
Pls can you do for integer programming, pls I need it asap. It urgent.
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
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
@@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.
@@rahmadewikartikasari6449 can you share your code, I can try to test it on my machine? Github link?
Dear @@NicholasRenotte , here is the github link github.com/Rahmadewiks/Mcd-Nutrition.git
i hope you find out what made it error.
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?
It seems helpuf but I can't see the codes , wish you could zoom in the screen
Hey @Behrouz, my bad, code is here: github.com/nicknochnack/LinearProgrammingBasics
@@NicholasRenotte thanks a lot Nicholas
@@behrouzChannel anytime!
Unable to read your code - font too small on Gallaxy tablet
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
Why not use minizinc for this?
Possibly, I haven't actually done a lot with minizinc!
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.
Thanks for sharing @@cong1393!
Excellent .
i think its do cplex not doc plex :)
HAHAHAHAHA, I am an idiot. Thanks a million @Francisco, that makes a lot more sense 😅
Very helpful
Heya @Christian, glad you found it useful!! 🙏
What. I can do that already.
Hmmm....but can you really @Ashley Sami?
thankyou ma bro
Love it
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.
Oh my bad! Might add something on opt from scratch in the pipeline!
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'
Scrap that I think I fixed by adding sol = m.solution
Run
pip install cplex
You need cplex as a separate package installed
Clinical!
ibm solver not python
Dont read
Don't try to kill God's sons again.
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
Let's dig into it a little, are you running this from IBM Cloud? CPLEX would be pre-configured there for you! 😊
@@NicholasRenotte thank you mate
i figured this out now when i use it in IBM Watson Studio it works perfectly
@@killerDNA1001 YESSS! I'm curious, what type of LP problems are you working on!?
@@NicholasRenotte Hey is there a way to solve this error on pycharm?
@@dominicscott7367 you have to have CPLEX installed on your local machine in order to run it in Pycharm.