BookmarkSubscribeRSS Feed
zamolotov
Calcite | Level 5

SolveBlackBox Action in SAS Optimization. How to find the optimum without having an analytical representation of the objective function?

 

There's my review of this solver.
Launched in 2020, a new solver in the SAS Optimization package, supported since SAS VIYA 3.5. Some facts about this method:
The method allows you to find the optimums with the highest quality even if the objective function is represented by a black box:
- Machine learning model (both in CAS and Python/R)
- Deep learning model (both in CAS and Python/R)
- Reinforcement learning model
- Time-Series Forecasting, Statistics or Econometrics model
- Another optimization task (for example, look for parameters for the best model)

Attached is a presentation with an overview and usage examples with different types of objective functions.

#SAS #SASOptimization #SASOR #OperationsResearch #BlackBox #SolveBlackBox #SASCAS #SASReview

4 REPLIES 4
sbxkoenk
SAS Super FREQ

Hello,

 

Here's a nice use case for the BlackBox solver in PROC OPTMODEL (SAS Optimization) :
Maximize product quality with Optimization and Machine Learning models
by NATALIA SUMMERVILLE on MARCH 23, 2021

https://blogs.sas.com/content/subconsciousmusings/2021/03/23/maximize-product-quality-with-optimizat...

 

In SAS 9.4 I used PROC OPTLSO for this task

, now I call BlackBox solver in PROC OPTMODEL. It's in both cases Local Search Optimization based on Genetic Algorithms.

 

Why?

• Incorporating non-closed-form and nonlinear models (such as Neural Nets or Gradient Boosting) in optimization does not allow for traditional sound-and-proof algorithms to work (such as branch-and-bound or simplex).

• You need cutting-edge (nonlinear optimization) solvers.

• SAS has the black-box solver for this task ! 

 

The Black-Box Optimization Solver

  • The black-box solver is based on a genetic algorithm (GA).
  • GAs are a family of local search algorithms that seek optimal solutions to problems by applying the principles of natural selection and evolution.
  • You can apply genetic algorithms to almost any optimization problem. They are especially useful for problems where calculus-based techniques do not work, such as when the objective function has many local optima, when the objective function is not differentiable or continuous, or when solution elements are constrained to be integers or sequences.
  • In most cases, genetic algorithms require more computation than specialized techniques that take advantage of specific problem structures or characteristics. However, for optimization problems for which no such techniques are available, genetic algorithms provide a robust general method of solution.

BR,

Koen

zamolotov
Calcite | Level 5

Thanks a lot! It's valuable information! Thought I single enthusiast who research it!

I tried it, it's classical LSO and it's working with EM and Forecast Studio Models. But 9.4 doesn't have Python Environment and there is'n opportunity for scoring python models (for example, Catboost or PyTorch NN). Do you have information about it? In this example from Natalia she is using SAS VIYA (i seen mycas library).

RobPratt
SAS Super FREQ

Thank you for sharing this review.  Here are a couple of additional links of interest.

zamolotov
Calcite | Level 5

Thanks Rob!

Ready to join fellow brilliant minds for the SAS Hackathon?

Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.

Register today!
Multiple Linear Regression in SAS

Learn how to run multiple linear regression models with and without interactions, presented by SAS user Alex Chaplin.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 4 replies
  • 1186 views
  • 1 like
  • 3 in conversation