Detailed Description
constraint handler for linear ordering constraints
This constraint ensures that a given square matrix of binary variables corresponds to a tournament, i.e., it is an acyclic orientation of the complete graph. This encodes a linear order as follows. The rows and columns correspond to the elements of the set to be ordered. A variable x[i][j] is 1 if and only if element i appears before j in the order.
In this constraint handler we only add the symmetry equations and separate the triangle inequalities yielding a correct IP model.
The variables on the diagonal are ignored.
Definition in file cons_lop.h.
#include <scip/scip.h>
Go to the source code of this file.
Functions  
SCIP_RETCODE  SCIPincludeConshdlrLOP (SCIP *scip) 
SCIP_RETCODE  SCIPcreateConsLOP (SCIP *scip, SCIP_CONS **cons, const char *name, int n, SCIP_VAR ***vars, SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool dynamic, SCIP_Bool removable, SCIP_Bool stickingatnode) 
Function Documentation
◆ SCIPincludeConshdlrLOP()
SCIP_RETCODE SCIPincludeConshdlrLOP  (  SCIP *  scip  ) 
creates the handler for linear ordering constraints and includes it in SCIP
 Parameters

scip SCIP data structure
Definition at line 1159 of file cons_lop.c.
References CONSHDLR_CHECKPRIORITY, CONSHDLR_DELAYPROP, CONSHDLR_DELAYSEPA, CONSHDLR_DESC, CONSHDLR_EAGERFREQ, CONSHDLR_ENFOPRIORITY, CONSHDLR_NAME, CONSHDLR_NEEDSCONS, CONSHDLR_PROP_TIMING, CONSHDLR_PROPFREQ, CONSHDLR_SEPAFREQ, CONSHDLR_SEPAPRIORITY, NULL, SCIP_CALL, SCIP_OKAY, SCIPcreateConsLOP(), SCIPincludeConshdlrBasic(), SCIPsetConshdlrCopy(), SCIPsetConshdlrDelete(), SCIPsetConshdlrExit(), SCIPsetConshdlrInitlp(), SCIPsetConshdlrPrint(), SCIPsetConshdlrProp(), SCIPsetConshdlrResprop(), SCIPsetConshdlrSepa(), and SCIPsetConshdlrTrans().
Referenced by main(), SCIP_DECL_CONSCOPY(), and SCIP_DECL_CONSHDLRCOPY().
◆ SCIPcreateConsLOP()
SCIP_RETCODE SCIPcreateConsLOP  (  SCIP *  scip, 
SCIP_CONS **  cons,  
const char *  name,  
int  n,  
SCIP_VAR ***  vars,  
SCIP_Bool  initial,  
SCIP_Bool  separate,  
SCIP_Bool  enforce,  
SCIP_Bool  check,  
SCIP_Bool  propagate,  
SCIP_Bool  local,  
SCIP_Bool  modifiable,  
SCIP_Bool  dynamic,  
SCIP_Bool  removable,  
SCIP_Bool  stickingatnode  
) 
creates and captures a linear ordering constraint
 Parameters

scip SCIP data structure cons pointer to hold the created constraint name name of constraint n number of elements vars n x n matrix of binary variables initial should the LP relaxation of constraint be in the initial LP? separate should the constraint be separated during LP processing? enforce should the constraint be enforced during node processing? check should the constraint be checked for feasibility? propagate should the constraint be propagated during node processing? local is constraint only valid locally? modifiable is constraint modifiable (subject to column generation)? dynamic is constraint subject to aging? removable should the relaxation be removed from the LP due to aging or cleanup? stickingatnode should the constraint always be kept at the node where it was added, even if it may be moved to a more global node?
Definition at line 1188 of file cons_lop.c.
References CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPallocBlockMemory, SCIPallocBlockMemoryArray, SCIPcreateCons(), SCIPerrorMessage, and SCIPfindConshdlr().
Referenced by SCIP_DECL_CONSCOPY(), SCIP_DECL_READERREAD(), and SCIPincludeConshdlrLOP().