Thanks to all. I got it<br><br><div id="ymail_android_signature"><a href="https://overview.mail.yahoo.com/mobile/?.src=Android">Sent from Yahoo Mail on Android</a></div> <br> <blockquote style="margin: 0 0 20px 0;"> <header style="font-family:Roboto, sans-serif; color:#6D00F6;"> <div>On Mon, Aug 26, 2019 at 3:13 AM, michael.winkler@zib.de</div><div><michael.winkler@zib.de> wrote:</div> </header> <div style="padding: 10px 0 0 20px; margin: 10px 0 0 0; border-left: 1px solid #6D00F6;"> Chuen,<br clear="none"><br clear="none">actually while C1 is a logicor constraint (at least one element out of a<br clear="none">list of (negated) binaries needs to be 1) C2 is not a logicor constraint<br clear="none">(and cannot be transformed in a single logicor constraint).<br clear="none"><br clear="none">But:<br clear="none"><br clear="none">C2: x1 - x2 + x3 >= 1  <=> x1 + ~x2 + x3 >= 2<br clear="none">                       <=> ~x1 + x2 + ~x3 <= 1<br clear="none"><br clear="none">The last form is a set-packing constraint (at most one element out of a<br clear="none">list of (negated) binaries can be 1).<br clear="none">So what you can do is to use SCIPgetNegatedVar() on necessary variables<br clear="none">and create a set-packing constraint directly.<br clear="none"><br clear="none">Best,<br clear="none">Michael<br clear="none"><br clear="none"><br clear="none">> Dear Chuen,<br clear="none">><br clear="none">> you could use SCIPgetNegatedVar(...) to get/create a negated variable<br clear="none">> and use this variable to model C2 as logic-OR constraint.<br clear="none">><br clear="none">> Best,<br clear="none">> Benjamin<br clear="none">><br clear="none">> On 8/15/19 4:02 AM, Chuen Teck See wrote:<br clear="none">>> Dear Scip,<br clear="none">>><br clear="none">>> C1: x1 + x2 + x3 >= 1, all var binary. This is a standard logic cons<br clear="none">>> C2: x1 - x2 + x3 >= 1, all var binary<br clear="none">>><br clear="none">>> SCIPcreateConsLogicor() is designed for users to handle creation of C1.<br clear="none">>> This is a function createNormalizedLogicor(), which handles C2 & it is<br clear="none">>> called by SCIP_DECL_LINCONSUPGD(linconsUpgdLogicor). Is there a way for<br clear="none">>> user to create C2 directly, as per creation of C1 using<br clear="none">>> SCIPcreateConsLogicor()?<br clear="none">>><br clear="none">>><br clear="none">>> _______________________________________________<br clear="none">>> Scip mailing list<br clear="none">>> <a shape="rect" ymailto="mailto:Scip@zib.de" href="mailto:Scip@zib.de">Scip@zib.de</a><br clear="none">>> <a shape="rect" href="https://listserv.zib.de/mailman/listinfo/scip" target="_blank">https://listserv.zib.de/mailman/listinfo/scip</a><br clear="none">>><br clear="none">><br clear="none">> --<br clear="none">> ______________________________<br clear="none">> Benjamin Müller<br clear="none">> Zuse Institute Berlin<br clear="none">> Takustr. 7, 14195 Berlin<br clear="none">> <a shape="rect" ymailto="mailto:benjamin.mueller@zib.de" href="mailto:benjamin.mueller@zib.de">benjamin.mueller@zib.de</a><br clear="none">> +49 30 841 85-195<div class="yQTDBase yqt9964329463" id="yqtfd47061"><br clear="none">> _______________________________________________<br clear="none">> Scip mailing list<br clear="none">> <a shape="rect" ymailto="mailto:Scip@zib.de" href="mailto:Scip@zib.de">Scip@zib.de</a><br clear="none">> <a shape="rect" href="https://listserv.zib.de/mailman/listinfo/scip" target="_blank">https://listserv.zib.de/mailman/listinfo/scip</a><br clear="none">><br clear="none"><br clear="none"><br clear="none"></div> </div> </blockquote>