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

 

Time is running out to save with the early bird rate. Register by Friday, March 1 for just $695 - $100 off the standard rate.

 

Check out the agenda and get ready for a jam-packed event featuring workshops, super demos, breakout sessions, roundtables, inspiring keynotes and incredible networking events. 

 

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
  • 825 views
  • 0 likes
  • 2 in conversation