[Scip] Scope for improving performance?

Vivek Periaraj vivek.periaraj at gmail.com
Thu Apr 18 20:52:13 MEST 2013


Hi Ambros,

In the CPLEX standalone tests I did, the LP presolve eliminates lot more columns and rows because I have fixed many of the columns from my original model at it's lower bound. I change the upper bound of those variables that I generate in each solve. But in SCIP I only solve the restricted master problem. So currently I couldn't compare the presolve output from SCIP and my standalone CPLEX tests, if this information is useful.

Regards,
Vivek.


----- Original Message ----- 

From: "Ambros Gleixner" <gleixner at zib.de> 
To: scip at zib.de 
Sent: Thursday, April 18, 2013 10:52:00 PM 
Subject: Re: [Scip] Scope for improving performance? 

Hi Vivek, 

presolving is only applied when no warmstart information is available or 
CPX_PARAM_ADVIND is off. This could be one explanation, just guessing. 
There is no SCIP parameter to force CPX_PARAM_ADVIND to off, that is 
to force a coldstart. It is easy to hack, though, I can send you a 
manipulated lpi_cpx.c if you want to. 

Ambros 


In SCIP, you can set the parameter lp/presolving to 

Am 18.04.2013 19:12, schrieb Vivek Periaraj: 
> Hi Gerald, 
> 
> I have disabled CPX_PARAM_ADVIND because it helped in performance. Also, when ADVIND is on, I tend to get different set of duals. (My problem has multiple primal solutions and dual solutions). I actually didn't dig into it much but when ADVIND is on or off, the algorithm still converges. So I have disabled it for now. Excuse me, for not mentioning about this parameter setting before. I haven't realized it myself. Now I think this is the reason for the slow performance in SCIP. 
> 
> Currently I have set the following: 
> 
> lp/initalgorithm = p 
> lp/resolvealgorithm = p 
> 
> Thanks, 
> Vivek. 
> 
> ----- Original Message ----- 
> 
> From: "Gerald Gamrath" <gamrath at zib.de> 
> To: "Vivek Periaraj" <vivek.periaraj at gmail.com> 
> Cc: "Tobias Achterberg" <achterberg at zib.de>, "Mojtaba Maghrebi" <maghrebi at unsw.edu.au>, scip at zib.de 
> Sent: Thursday, April 18, 2013 10:23:42 PM 
> Subject: Re: [Scip] Scope for improving performance? 
> 
> Hi Vivek, 
> 
> if I understood correctly what CPX_PARAM_ADVIND means, you disable the 
> warmstart by setting it to 0? This does not seem very intuitive when you 
> reoptimize the same problem again and again with only slight changes due 
> to added variables? 
> 
> With a warmstart, you would always use the primal simplex after adding 
> new variables. When you disable the warmstart, CPLEX probably uses the 
> dual simplex or even concurrent, i.e., runs dual and barrier if you run 
> in parallel. Normaly, a warmstart should pay off, but perhaps in your 
> special case, the dual simplex or barrier is much faster. Which 
> algorithm does CPLEX use for your LP reoptimization? You can specify the 
> resolve algorithm in SCIP via the parameter lp/resolvealgorithm. 
> 
> Best, 
> Gerald 
> 
> 
> On 18.04.2013 16:42, Vivek Periaraj wrote: 
>> Hi Tobias, 
>> 
>> Setting CPX_PARAM_PRRIND to steepest pricing more or less gives me the same time. I have also set CPX_PARAM_ADVIND to 0 in my runs. Since I keep resolving the same problem, this could have impact. If so, is there a SCIP param that could turn off ADVIND, then I could test with that. I don't know how to set a CPLEX param through SCIP. 
>> 
>> Regards, 
>> Vivek. 
>> 
>> ----- Original Message ----- 
>> 
>> From: "Tobias Achterberg" <achterberg at zib.de> 
>> To: "Vivek Periaraj" <vivek.periaraj at gmail.com> 
>> Cc: scip at zib.de, "Mojtaba Maghrebi" <maghrebi at unsw.edu.au> 
>> Sent: Thursday, April 18, 2013 5:56:48 PM 
>> Subject: Re: [Scip] Scope for improving performance? 
>> 
>> Hi Vivek, 
>> 
>> one reason could be the pricing rule that SCIP uses for the CPLEX LP 
>> solves. To verify this, I would do your CPLEX-standalone tests again, 
>> using different pricing rules to assess their impact. I think that SCIP 
>> is using steepest edge pricing. 
>> 
>> Tobias 
>> 
>> 
>> On 04/18/13 12:39, Vivek Periaraj wrote: 
>>> Hi SCIP, 
>>> 
>>> For a model I have, each iteration in SCIP currently takes about 45 seconds average to resolve the LP with added/priced columns. I use CPLEX as the LP solver. If I do the adding of columns and resolving in CPLEX alone, it takes about 13 seconds average. (I did this for testing purposes). I have currently not included any of the heuristics, propagators and separators. Is the extra time (32 seconds) spent in creating a new CPLEX object for every resolve and if so, is there any way to improve performance here? If I use any other LP solver, can I improve performance? If SCIP is doing something additional, does the extra time of 32 seconds make sense? The problem size at the beginning of the root node is 6076 cols and 8000 rows. 
>>> 
>>> Regards, 
>>> Vivek. 
>>> _______________________________________________ 
>>> Scip mailing list 
>>> Scip at zib.de 
>>> http://listserv.zib.de/mailman/listinfo/scip 
>> _______________________________________________ 
>> Scip mailing list 
>> Scip at zib.de 
>> http://listserv.zib.de/mailman/listinfo/scip 
> _______________________________________________ 
> Scip mailing list 
> Scip at zib.de 
> http://listserv.zib.de/mailman/listinfo/scip 
> 

-- 
____________________________________________________________ 
Ambros M. Gleixner 
Zuse Institute Berlin - Matheon - Berlin Mathematical School 
http://www.zib.de/gleixner 
_______________________________________________ 
Scip mailing list 
Scip at zib.de 
http://listserv.zib.de/mailman/listinfo/scip 


More information about the Scip mailing list