BookmarkSubscribeRSS Feed
user24feb
Barite | Level 11


I migrated from SAS 9.2 to 9.4 and the very same optimiziation problem (proc optmodel) that worked just fine under 9.2 gives an "out-of-memory"-error under 9.4. The program still works, but can only process problems which are about 75 % (in terms of "basis-datasets") smaller than before. The proc options option=memsize spits out 2 GB which is the same amount as before. Any ideas what I didn´t think of?

4 REPLIES 4
LinusH
Tourmaline | Level 20

In cases like this, one need to ask if there are any other changes in the environment, such as if the HW is the same, OS version/setup/configuration, etc.

If you still have access to 9.2, try to run the exact the same code using the same data set in both versions, using the FULLSTIMER option, that could give you some hints of what's going on.

Data never sleeps
user24feb
Barite | Level 11

Thanks for your answer. Unfortunately the old version and all the settings are gone. (I wanted a "clean" environment for the new version to avoid any interference from the former version and used the uninstall-wizard.) I am pretty sure that the Windows settings were left unchanged during installation (but I have to admid I can´t prove this).

Still, this is a surprise. I thought that - apart from memsize - there is no cure for insufficient memory when using optmodel. Is there a list of additional options either in SAS or Windows that optimize the optmodel-environment?

gergely_batho
SAS Employee

Not sure if this helps: try to specify nothreads option. In 9.2 model generation was singe-threaded.

At which phase do you have the error message? At problem solving? Is it a MILP?

user24feb
Barite | Level 11

I did change some options (including the NoThreads option & changing RealMemSize, MaxMemQuery), but without success.

The model is a simple (dual) Simplex model. No integers. The error occurs right after the "Solve" command.

The log looks like:

325        Proc Optmodel;
1480                                                       The SAS System                          16:32 Thursday, February 27, 2014

326          Set <Str,Str> m_w;
326      !                      Num M{m_w};
327          Read Data Daten.Cost Into m_w=[R S] M=M1;
NOTE: There were 210000 observations read from the data set DATEN.Cost.
328          Num K{m_w};
329          Read Data Daten.Cost Into m_w=[R S] K=Cost_R;
NOTE: There were 210000 observations read from the data set DATEN.Cost.
330          Set R=Setof{<m,w> in m_w} m;
330      !                                        Set S=Setof{<m,w> in m_w} w;
331          Set <Str,Str> j_w;
331      !                      Num NM{j_w};
332          Read Data Daten.NM Into j_w=[W S] NM=M1;
NOTE: There were 1422000 observations read from the data set DATEN.NM.
333          Set N=Setof{<j,w> in j_w} j;
334          Num Demand{N};
335          Read Data Daten.Demand Into Demand=M;
NOTE: 9 non-missing values were discarded due to invalid target indices.
NOTE: There were 246 observations read from the data set DATEN.Demand.
336          Num Supply{R};
337          Read Data Daten.Supply Into Supply=M;
NOTE: 191 non-missing values were discarded due to invalid target indices.
NOTE: There were 226 observations read from the data set DATEN.Supply.
338          Var X{N,S}>=0;
339          Con Cns_S{m in R}:Sum{j in N,w in S}X[j,w]*M[m,w]*NM[j,w]<=Supply;
340          Con Cns_D{j in N}:Sum{m in R,w in S}X[j,w]*M[m,w]*NM[j,w]=Demand;
341          Min Ob=Sum{j in N,m in R,w in S}X[j,w]*M[m,w]*K[m,w]*NM[j,w];
342          *Performance NThreads=4;
343          Solve;
NOTE: Problem generation will use 4 threads.
ERROR: Out of memory during problem generation.
NOTE: Unable to create problem instance due to previous errors.

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 4 replies
  • 1340 views
  • 0 likes
  • 3 in conversation