$title LogMIP User's Manual Example 2 (LOGMIP2,SEQ=335) $onText Example to illustrate disjunctions with multiple terms and logic propositions. Aldo Vecchietti, LogMIP User's Manual, 2007, http://www.logmip.ceride.gov.ar/files/pdfs/logmip_manual.pdf Keywords: extended mathematical programming, disjunctive programming, logical constraints $offText Positive Variable c, x1, x2; Variable z; Binary Variable y1, y2, y3; Equation obj, e1, e2, e3, e4, e5, e6; obj.. z =e= c + 2*x1 + x2; e1.. -x1 + x2 + 2 =l= 0; e2.. c =e= 5; e3.. -x2 + 2 =l= 0; e4.. c =e= 7; e5.. x1 - x2 =l= 1; e6.. x1 =e= 0; x1.up = 5; x2.up = 5; c.up = 7; Logic Equation l1, l2, l3; l1.. y1 -> not y3; l2.. y2 -> not y3; l3.. y3 -> not y2; Model m / all /; $onEcho > "%lm.info%" default indic disjunction y1 e1 e2 elseif y2 e3 e4 disjunction y3 e5 else e6 * optional, if not set LOGMIP will find the modeltype suitable modeltype mip $offEcho option emp = logmip, mip = cplex; solve m using emp minimizing z;