BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Matthew_Galati
SAS Employee

By the way, there is a restricted integer programming solver inside IML:

SAS/IML(R) 13.2 User's Guide

This uses the same technology as SAS/OR (supported by the same department) - it is just restricted in size and feature set, and you need to define the model in terms of matrices (rather than symbolically in OPTMODEL).

"The MILPSOLVE subroutine solves a mixed integer linear programming problem. For complete functionality the SAS/OR product must also be installed, otherwise the maximum number of variables and maximum number of constraints is restricted to 500."

For small case of the Fantasy problem in the original post, this should work fine without the need for installing the full SAS/OR product.

LeoLopes
SAS Employee

Meta-heuristics like GAs are great tools. They are well-suited for certain jobs, and not so well-suited for others.

For example: they perform poorly on search spaces where infeasibilty is common; they require a great deal of tuning and customization when there are intricate combinations of constraints; and as Matt pointed out, you have to provide your own bounds if you want a guarantee of how good the solution is.

There is a growing academic literature that rigorously compares the performance of different algorithms on instances of the same problem, and predicts relative algorithmic performance based on statistical features of the instances. The answers those studies provide is almost always "it depends". There are no algorithms that always dominate, even on the same kind of problem. If you are interested in this topic, a good place to start is with the so-called "No Free Lunch" theorems.

In practice, SAS/OR is very hard to beat. SAS provides a very broad collection of state of the art optimization algorithms, most of which are accessible from PROC OPTMODEL. In particular, even for problems for which GAs are well-suited, it is usually much less work in practice to encode the problem using simple expressions in OPTMODEL than it is to customize a GA (or Tabu Search, or GRASP, etc.) for that problem. The OPTMODEL code is also much more flexible and agile as the underlying business problem changes.


Even implementing a GA is much easier to do in OPTMODEL than in most other environments and languages. With OPTMODEL you can do things like having your fitness function be itself a MILP or an NLP, or build a variety of hybrid algorithms that save months of development time and lots of money, and that are easy to read and maintain.

Ksharp
Super User

Thanks your clarify . Anyway, I am still going to keep an eye on GA .

sas-innovate-2024.png

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

Register now!

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
  • 32 replies
  • 5047 views
  • 3 likes
  • 8 in conversation