<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Dear Marc,</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Thanks that is helpful. I'll start by simply re-running the inference. Perhaps I can work out a way of using the inferinfo value to at least speed this up - perhaps in special cases.</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
James</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div id="Signature">
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
James Cussens</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Room MVB 3.26</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
School of Computer Science, University of Bristol</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Phone: +44 (0)117 455 8723</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<a href="https://jcussens.github.io/" id="OWA6e0b9ccd-ffa9-a6e6-74b6-8c8cbcb2114f" class="OWAAutoLink">https://jcussens.github.io/</a><br>
</div>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Scip <scip-bounces@zib.de> on behalf of Marc Pfetsch <pfetsch@mathematik.tu-darmstadt.de><br>
<b>Sent:</b> 01 August 2024 20:14<br>
<b>To:</b> scip@zib.de <scip@zib.de><br>
<b>Subject:</b> Re: [SCIP] conflict analysis</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText"><br>
Dear James,<br>
<br>
yes, encoding the reason into just an int is quite limiting. In most <br>
cases, this was enough in the past and this information has to be stored <br>
for every bound change - so it is better to keep storage small.<br>
<br>
Your consdata might have significantly changed between the time you <br>
performed the propagation and the time the resolving happens, because <br>
the latter is called at the time infeasibility occurs - possibly much <br>
deeper in the tree than the propagation.<br>
<br>
One solution that often helps is to just indicate the type of reduction <br>
and then rerunning the reduction steps. You can access the bound changes <br>
as they have been at the time of reduction - so it is "just" a question <br>
of running time. Of course, if your reduction is slow, then this might <br>
not be an option.<br>
<br>
Hope this helps.<br>
<br>
Best<br>
<br>
Marc<br>
<br>
On 01/08/2024 13:18, James Cussens wrote:<br>
> Hi all,<br>
> <br>
> I am considering adding conflict analysis to a constraint handler <br>
> (CONSRESPROP) for which I already have a propagator (CONSPROP). The <br>
> constraint handler involves only n X n binary variables which represent <br>
> the adjacency matrix for a directed graph. The "reason" for a <br>
> propagation is that a set of binary variables are locally fixed to 1 <br>
> which means that another set of binary variables should all be fixed to 0.<br>
> <br>
> I'm predicting that encoding the "reason" - the relevant set of binary <br>
> variables locally fixed to 1 as a single inferinfo int will be tricky, <br>
> particularly for large values of n. That's a bit frustrating since it's <br>
> easy enough to store this set in the consdata at propagation (CONSPROP) <br>
> time. Is there any reason to think that this information will not still <br>
> be in my consdata when CONSRESPROP is called?<br>
> <br>
> James<br>
> <br>
> James Cussens<br>
> Room MVB 3.26<br>
> School of Computer Science, University of Bristol<br>
> Phone: +44 (0)117 455 8723<br>
> <a href="https://jcussens.github.io/">https://jcussens.github.io/</a> <<a href="https://jcussens.github.io/">https://jcussens.github.io/</a>><br>
> <br>
> _______________________________________________<br>
> Scip mailing list<br>
> Scip@zib.de<br>
> <a href="https://listserv.zib.de/mailman/listinfo/scip">https://listserv.zib.de/mailman/listinfo/scip</a><br>
_______________________________________________<br>
Scip mailing list<br>
Scip@zib.de<br>
<a href="https://listserv.zib.de/mailman/listinfo/scip">https://listserv.zib.de/mailman/listinfo/scip</a><br>
</div>
</span></font></div>
</body>
</html>