<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" dir="ltr" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif, "EmojiFont", "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;">
<p><span id="ms-rterangepaste-start"></span></p>
<p><span>Dear SCIP Community,</span></p>
<p><span><span>I am currently working on a Branch and Price algorithm with SCIP and the C++ interface</span> with
</span><span>SCIP version 6.0.1. <span>I've noticed the hints and the VRP example and implemented the callback functions. So<span> my pricer returns *result =SCIP_SUCCESS when it has found a new variable, or it could prove that no more variables with negative
 reduced cost exists. I am solving my problem with the following settings:<br>
</span></span></span></p>
<div>SCIP_CALL( SCIPsetHeuristics     (scip,SCIP_PARAMSETTING_OFF,true));<br>
SCIP_CALL( SCIPsetSeparating     (scip,SCIP_PARAMSETTING_OFF,true)); <br>
</div>
<div>
<div> SCIP_CALL( SCIPsetLongintParam(scip,"limits/nodes", 2000));<br>
  SCIP_CALL( SCIPsetIntParam(scip,"pricing/maxvars",10000));</div>
<div><br>
</div>
<div><span>I stoped the solution process for comparability after 2000 Branch and Bound nodes</span>.</div>
<div><br>
</div>
<div>With a pricer, which have to generate the variables, i have 11.227 dual Lp calls and 2027 primal LP calls with 2902 own_pricer calls with 1201 generated variables.
<br>
</div>
<div>With a problem with all variables an a pricer, that can not generate variables, i have 9273 dual calls and 2001 own_pricer calls, with 0 generated variables.
<br>
</div>
<div>With a full problem with all variables an no pricer, i have <span>2837</span> dual LP calls.
<br>
</div>
<div><br>
</div>
<div>The variables of case 1 and case 3 are generated the same way. The only difference of these cases is the possibility to use a pricer, that only returns SCIP_SUCCESS.
<br>
</div>
<span>So it is confusing, that the solver, with the pricer, calls dual LP more often than without, although the pricer does nothing.
<br>
I thought, that the LP is solved with the existing variables of memory and model and after that, the pricing is called. The pricing can not improve the model, so the LP should not be touched again. But my way of thinking does not explain the difference of 
 2837 and 9273 calls. <br>
</span></div>
<div><span><br>
</span></div>
<div><span>I am searching for an explanation, why the  dual LP is called more often, when I am activating my own pricer. 
<br>
</span></div>
<div><span>Also I hope, that you understand my point of view <span>and I hope you have an explanation for this phenomenon.</span><br>
</span>
<div><br>
</div>
<div><br>
</div>
<span><span></span></span></div>
<span><span>Nice regards<br>
Andreas</span></span><span id="ms-rterangepaste-end"></span><br>
<p></p>
</div>
</body>
</html>