BookmarkSubscribeRSS Feed
abhik_giri
Calcite | Level 5

Hi,

I am running proc optmodel using MILP solver on two different datasets (let's call them A & B) but more or less equivalent in terms of #variables, #integers, #constraints etc.

Surprisingly, A takes 16 min to converge, while B converges in negligible time (2-3 seconds). However, B seems to give correct output (I am also running Excel Analytic Solver Platform for the same problem, and results more or less match with that of SAS/OR).

The code for A & B are exactly same.

Any help will be greatly appreciated.

3 REPLIES 3
RobPratt
SAS Super FREQ
Unfortunately, that is the nature of MILP. Two similar instances of the same problem can yield very different performance. On the other hand, the likelihood of this situation can sometimes be reduced. If you attach your code and data, I'll take a look.
abhik_giri
Calcite | Level 5

Thanks a lot for the reply. Unfortunately, I cannot share the code/data due to confidentiality issues. Is there a way in proc optmodel to diagnose which particular variable eats up more time? 

RobPratt
SAS Super FREQ

In SAS/OR 14.1 (just released in July), PROC OPTMODEL has a new PROFILE statement that shows execution time for each statement:

http://support.sas.com/documentation/cdl/en/ormpug/68156/HTML/default/viewer.htm#ormpug_optmodel_syn...

 

But it sounds like you are looking for detailed information about the solver execution invoked by the SOLVE statement, and the best source for that is the node log:

http://support.sas.com/documentation/cdl/en/ormpug/68156/HTML/default/viewer.htm#ormpug_milpsolver_d...

 

Can you share that?  And can you share the MILP formulation?

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
  • 3 replies
  • 939 views
  • 0 likes
  • 2 in conversation