<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body style='font-size: 10pt; font-family: Verdana,Geneva,sans-serif'>
<p><span style="white-space: nowrap;">Dear Steve</span><br /><br /><span style="white-space: nowrap;">Many thanks for your answer.</span><br /><span style="white-space: nowrap;">The question of free alternation between cut and price seems to be a new</span><br /><span style="white-space: nowrap;">strategy since it's not classical for SCIP!</span><br /><br /><span style="white-space: nowrap;">Unfortunately, as said by Edward, your proposal seems not to work.</span><br /><span style="white-space: nowrap;">Indeed, setting the result as SCIP_DIDNOTRUN in PRICERREDCOST callback</span><br /><span style="white-space: nowrap;">appears to exactly work as artificially saying that no column is produced.</span><br /><br />This brings the problem you point out: no pricing round is launched after a cutting<br /><span style="white-space: nowrap;">round with no generated cut.</span><br />This a problem for us because the previous pricing round has been artificially<br /><span style="white-space: nowrap;">inhibit in order to launch a cutting phase.</span><br />Indeed, when there is no generated cut in a cutting round, a supplementary exact<br />pricing round is needed to assert convergence (and potentially to go on with the<br /><span style="white-space: nowrap;">price&cut process).</span><br /><br /><span style="white-space: nowrap;">A solution appears  to turn off the test stopping the price&cut process</span><br /><span style="white-space: nowrap;">when no cut have been generated during a cutting round</span><br /><span style="white-space: nowrap;">With such a deleted test, the price&cut iterations will have no end since</span><br /><span style="white-space: nowrap;">the cutting and pricing rounds will call each other in a never ending loop.</span><br />A way to stop this loop is to add a test having the memory of the previous round<br />in order to stop when two successive non-inhibited price and cut rounds have produced<br /><span style="white-space: nowrap;">nothing.</span></p>
<p><span style="white-space: nowrap;">Regards,</span><br /><span style="white-space: nowrap;">Pierre and Alexandre</span><br /><br /><br />Ps: Another disturbing problem for us was that a cutting round is launched only<br />if the current solution is not integer: this is a problem for us because an integer<br /><span style="white-space: nowrap;">solution can appear (before convergence) right after a pricing round.</span><br />In this case, it is mandatory for us to do a second pricing round, even if our strategy<br /><span style="white-space: nowrap;">is to alternate with a cutting round (our cutting procedure cannot produce cuts for integral solutions).</span><br />We add a test at the beginning of the PRICERREDCOST callback for no-inhibiting the pricing<br /><span style="white-space: nowrap;">when the current solution is integer.</span></p>
<div id="signature"> </div>
<p><br /></p>
<p id="reply-intro">Le 2021-11-08 11:25, Edward Lam a écrit :</p>
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0"><!-- html ignored --><!-- head ignored --><!-- meta ignored -->I have tried this. It sounds like this would work according to the documentation but this does not work. Sometimes it skips pricing and separation and goes straight to branching. I guess branching is technically okay if the master problem is fractional but sometimes its integral and gets messy quickly.<br />
<div> </div>
<div>
<div dir="auto" style="caret-color: #000000; color: #000000; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">
<div dir="auto" style="caret-color: #000000; color: #000000; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><span style="font-style: normal;">Cheers<br />Eddie</span></div>
</div>
</div>
<div><br />
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0">
<div>On 8 Nov 2021, at 7:10 pm, Maher, Stephen <<a href="mailto:S.J.Maher@exeter.ac.uk" rel="noreferrer">S.J.Maher@exeter.ac.uk</a>> wrote:</div>
<br class="Apple-interchange-newline" />
<div><!-- meta ignored -->
<div style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;">Hi Alexandre,</div>
<div style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;"> </div>
<div style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;">Sorry about the delay in response to this question. This happens to be a question that we have not encountered before, so we needed to work out how to actually achieve this.</div>
<div style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;"> </div>
<div style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;">I am not sure whether this would work, since I don't have an example to test with. I believe that by setting the result in your PRICERREDCOST callback to SCIP_DIDNOTRUN, you will terminate pricing and then continue with the rest of the node processing. The separation round will begin after you terminate the pricing round.</div>
<div style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;"> </div>
<div style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;">There are two things to note here. The first is that if you add a cut, then the node processing will enter back into pricing. So you may want to keep returning the result of SCIP_DIDNOTRUN from your pricer while you want to keep generating cuts. The second is that if you don't add a cut during the separation round, then you will not enter back into the pricing round. So you must ensure that you have completely finished pricing before the final separation round.</div>
<div style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;"> </div>
<div style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;">Since this is untested, please let us know if it works for your setting. If not, then we can think of a different approach.</div>
<div style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;"> </div>
<div style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;">Cheers,</div>
<div style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;"> </div>
<div style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;">Steve</div>
<div style="caret-color: #000000; font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;">
<div id="appendonsend"> </div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;"> </div>
<hr style="display: inline-block; width: 1281.828125px;" />
<div id="divRplyFwdMsg" dir="ltr"><span style="font-size: 11pt; font-family: Calibri, sans-serif;"><strong>From:</strong><span class="Apple-converted-space"> </span>Scip <<a href="mailto:scip-bounces@zib.de" rel="noreferrer">scip-bounces@zib.de</a>> on behalf of Alexandre Dupont-Bouillard <<a href="mailto:dupont-bouillard@lipn.univ-paris13.fr" rel="noreferrer">dupont-bouillard@lipn.univ-paris13.fr</a>><br /><strong>Sent:</strong><span class="Apple-converted-space"> </span>25 October 2021 09:54<br /><strong>To:</strong><span class="Apple-converted-space"> </span><a href="mailto:scip@zib.de" rel="noreferrer">scip@zib.de</a><span class="Apple-converted-space"> </span><<a href="mailto:scip@zib.de" rel="noreferrer">scip@zib.de</a>><br /><strong>Subject:</strong><span class="Apple-converted-space"> </span>[SCIP] How to freely tune between pricing and cutting ?</span>
<div> </div>
</div>
<div class="BodyFragment">
<div class="PlainText">CAUTION: This email originated from outside of the organisation. Do not click links or open attachments unless you recognise the sender and know the content is safe.<br /><br /><br />Hi<br /><br />We try to build a BCP method where cuts are added through a separator.<br />We would like to have a free hand on the alternation between pricing and<br />cutting phases.<br /><br />We haven't found how to add parameters to choose for instance to begin<br />by a cutting phase<br />or to stop pricing before convergence to add some inequalities and come<br />back to pricing<br />and so on...<br /><br />The best would be to be able to switch from cutting to pricing (and from<br />pricing to cutting) using a test done by an algorithm.<br /><br />Does someone know how to perform such alternation?<br /><br />Thanks<br />Pierre and Alexandre<br />_______________________________________________<br />Scip mailing list<br /><a href="mailto:Scip@zib.de" rel="noreferrer">Scip@zib.de</a><br /><a href="https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Flistserv.zib.de%2Fmailman%2Flistinfo%2Fscip&amp;data=04%7C01%7CS.J.Maher%40exeter.ac.uk%7Ce1f9ee8f46304091c1a308d99796bbb3%7C912a5d77fb984eeeaf321334d8f04a53%7C0%7C0%7C637707496323265507%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=BjaINZ3HZglnha70BFGyyDMOEtBY9ygHd9Nz%2F6VsGGM%3D&amp;reserved=0" target="_blank" rel="noopener noreferrer">https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Flistserv.zib.de%2Fmailman%2Flistinfo%2Fscip&amp;data=04%7C01%7CS.J.Maher%40exeter.ac.uk%7Ce1f9ee8f46304091c1a308d99796bbb3%7C912a5d77fb984eeeaf321334d8f04a53%7C0%7C0%7C637707496323265507%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=BjaINZ3HZglnha70BFGyyDMOEtBY9ygHd9Nz%2F6VsGGM%3D&amp;reserved=0</a></div>
</div>
</div>
<span style="caret-color: #000000; font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">_______________________________________________</span><br style="caret-color: #000000; font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" /><span style="caret-color: #000000; font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">Scip mailing list</span><br style="caret-color: #000000; font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" /><a style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" href="mailto:Scip@zib.de" rel="noreferrer">Scip@zib.de</a><br style="caret-color: #000000; font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" /><a style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" href="https://listserv.zib.de/mailman/listinfo/scip" target="_blank" rel="noopener noreferrer">https://listserv.zib.de/mailman/listinfo/scip</a></div>
</blockquote>
</div>
<br /><br />
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">_______________________________________________<br />Scip mailing list<br /><a href="mailto:Scip@zib.de" rel="noreferrer">Scip@zib.de</a><br /><a href="https://listserv.zib.de/mailman/listinfo/scip" target="_blank" rel="noopener noreferrer">https://listserv.zib.de/mailman/listinfo/scip</a></div>
</blockquote>
</body></html>