Watch this Ask the Expert session to learn how to use prebuild ASTORE machine learning models that can be scored within the “runOptmodel” optimization action by the black-box solver to evaluate the objective function or constraints.
You will learn how to:
The questions from the Q&A segment held at the end of the webinar are listed below and the slides from the webinar are attached.
Q&A
Yes, there is a solver option called NTHREADS. If you have multiple threads in your environment, you can engage multiple threads, however many you want, to speed up the evaluation. So that way you can also increase the population size for each iteration. Then you are evaluating more sets of values, and it could get you to a better solution faster.
How is the CASLEVALN function different from a SUBMIT block in OPTMODEL?
In PROC OPTMODEL and the runOptmodel action, we have the SUBMIT block, which you can use to call SAS code or CASL code. But that is a one-time execution only. But with CASLEVALN, we are able to include that inside of the modeling itself. You can use a SUBMIT block for data prep or some data postprocessing or something like that, but you wouldn't be able to call it within the optimization model itself. That is the difference between the two.
Is there a way to accomplish this in 9.4 and Viya 3.5?
Yes. We don't have the CASLEVALN functionality in runOptmodel on Viya 3.5 or in SAS 9.4, and that has been a feature that was developed exclusively for Viya 4 in the last year or so. However, we can use 9.4 with the help of the FCMP procedure, and that's basically the function compiler proc that enables you to define user-defined functions that can then be called within PROC OPTMODEL. And in 3.5 the recommended way would be to use the solveBlackbox action, and that is a very CASL-native way. It does not allow you to however make use of the runOptmodel or PROC OPTMODEL syntax, which is why we moved towards developing the CASLEVALN functionality.
What is the limitation of this patent model?
The limitation really comes with which programming interface you're planning to use, I would say. We tested it with multiple machine learning models. If the machine learning model is too complicated, for example, the real-world case study that I provided earlier, I mentioned neural net and gradboost. The gradboost was a lot more lightweight than the neural net. But, of course, this was about two years ago, and our black-box optimization solver has become much better. It is improving, and right now, even though the patent talks only about manufacturing use cases, we are exploring other areas in which we can use it as well. So, I would say the main limitation would be with the programming interface that you end up using.
Recommended Resources
Maximize product quality with optimization and machine learning models
SAS optpy - The Python interface for SAS Optimization
Mathematical Optimization, Discrete-Event Simulation, and OR
Operations Research: Optimize, Simulate, Understand
Operations Research with SAS Optimization Education Course
Moving from SAS®9 to SAS® Viya®
Please see additional resources in the attached slide deck.
Want more tips? Be sure to subscribe to the Ask the Expert board to receive follow up Q&A, slides and recordings from other SAS Ask the Expert webinars.
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
Select SAS Training centers are offering in-person courses. View upcoming courses for:
Your Home for Learning SAS
SAS Academic Software
SAS Learning Report Newsletter
SAS Tech Report Newsletter