[Scip] Column generation, meaning of the output from CPLEX after a column is added

Xavier Schepler xavier.schepler at gmail.com
Wed Mar 12 10:22:03 CET 2014


Here's the meaning of this message.
The third line seems to indicate that heavy computations are performed.

"
These messages refer to steepest edge norms for the primal simplex 
method.   Since you are adding columns to your master LP, you presumably 
invoke the primal simplex method because the previous basis remains 
primal feasible as long as 0 is in the domain of your newly added 
variable.   CPLEX has already calculated steepest edge norms for the 
columns in your previous master LP.   The addition of the new column 
doesn't affect the validity of those norms relative to the current 
basis, but CPLEX needs to compute a new norm for this newly added 
column.   That explains the first two lines of output, which I suspect 
do not take much time.

The third line about initializing primal norms surprises me a bit.   
This indicates that CPLEX decided to reinitialize all the steepest edge 
norms.   This involves a nontrivial amount of work that could amount to 
roughly m/2 simplex iterations. So, I presume the long time you see 
occurs after this third message.   While there are reasons to 
reinitialize the steepest edge norms, I don't see off the top of my head 
why it would need to do that here.  It would be interesting to see 
whether the norms are reinitialized immediately after the one new norm 
was computed, or later on.   If you set the simplex display level to 2, 
you can see whether any simplex iterations occur between the first two 
messages and the third one.   That may shed some light on the issue.

Regarding more info on steepest edge pricing and the maintenance and 
updates of the norms, some of the more computationally oriented LP text 
discuss this.   You could try 'Computer Solution of Linear Programs' by 
Larry Nazareth, and I'm sure there are others.
"

Best,

Xavier

Le 11/03/2014 18:04, Gerald Gamrath a écrit :
> Hi Xavier,
>
> I can only guess what it means: Probably, the steepest edge norm for 
> the new column is computed, because we use the steepest edge pricing 
> method within CPLEX by default. Is there any more output? But probably 
> the time is spent for solving the LP after the norms were initialized, 
> CPLEX does not always print output for that.
>
> You can also try to change the CPLEX pricing method to something else, 
> e.g., devex pricing by setting the parameter "lp/pricing = d" and see 
> how this changes the behavior.
>
> Best,
> Gerald
>
> On 11.03.2014 16:49, Xavier Schepler wrote:
>> Hi,
>>
>> What does the following message mean :
>>
>> Reinitializing primal norms . . .
>> Computed 1 new norms.
>> Initializing primal norms rowwise . . .
>>
>> produced each time a column is added ?
>> So much time (several seconds) is spent between each of this line.
>> It appears at each column generation iteration.
>> Then the LP is re-optimized.
>>
>> Best,
>>
>> Xavier
>>
>>
>>
>>
>> _______________________________________________
>> Scip mailing list
>> Scip at zib.de
>> http://listserv.zib.de/mailman/listinfo/scip
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20140312/9ac8f0b3/attachment.html>


More information about the Scip mailing list