Detailed Description
constraint handler for conjunction constraints
Definition in file cons_conjunction.c.
#include "blockmemshell/memory.h"
#include "scip/cons_conjunction.h"
#include "scip/pub_cons.h"
#include "scip/pub_message.h"
#include "scip/scip_cons.h"
#include "scip/scip_copy.h"
#include "scip/scip_general.h"
#include "scip/scip_mem.h"
#include "scip/scip_message.h"
#include "scip/scip_prob.h"
#include "scip/scip_sol.h"
#include <string.h>
Go to the source code of this file.
Macros | |
#define | CONSHDLR_NAME "conjunction" |
#define | CONSHDLR_DESC "conjunction of constraints" |
#define | CONSHDLR_ENFOPRIORITY +900000 |
#define | CONSHDLR_CHECKPRIORITY -900000 |
#define | CONSHDLR_EAGERFREQ 100 |
#define | CONSHDLR_MAXPREROUNDS -1 |
#define | CONSHDLR_NEEDSCONS TRUE |
#define | CONSHDLR_PRESOLTIMING SCIP_PRESOLTIMING_FAST |
Functions | |
static SCIP_RETCODE | consdataCreate (SCIP *scip, SCIP_CONSDATA **consdata, SCIP_CONS **conss, int nconss) |
static SCIP_RETCODE | consdataFree (SCIP *scip, SCIP_CONSDATA **consdata) |
static SCIP_RETCODE | consdataAddCons (SCIP *scip, SCIP_CONSDATA *consdata, SCIP_CONS *cons) |
static SCIP_RETCODE | addAllConss (SCIP *scip, SCIP_CONS **conss, int nconss, SCIP_RESULT *result) |
static SCIP_RETCODE | checkAllConss (SCIP *scip, SCIP_CONS **conss, int nconss, SCIP_SOL *sol, SCIP_Bool checkintegrality, SCIP_Bool checklprows, SCIP_Bool printreason, SCIP_Bool completely, SCIP_RESULT *result) |
static | SCIP_DECL_CONSHDLRCOPY (conshdlrCopyConjunction) |
static | SCIP_DECL_CONSDELETE (consDeleteConjunction) |
static | SCIP_DECL_CONSTRANS (consTransConjunction) |
static | SCIP_DECL_CONSENFOLP (consEnfolpConjunction) |
static | SCIP_DECL_CONSENFORELAX (consEnforelaxConjunction) |
static | SCIP_DECL_CONSENFOPS (consEnfopsConjunction) |
static | SCIP_DECL_CONSCHECK (consCheckConjunction) |
static | SCIP_DECL_CONSPRESOL (consPresolConjunction) |
static | SCIP_DECL_CONSLOCK (consLockConjunction) |
static | SCIP_DECL_CONSPRINT (consPrintConjunction) |
static | SCIP_DECL_CONSPARSE (consParseConjunction) |
static | SCIP_DECL_CONSCOPY (consCopyConjunction) |
SCIP_RETCODE | SCIPincludeConshdlrConjunction (SCIP *scip) |
SCIP_RETCODE | SCIPcreateConsConjunction (SCIP *scip, SCIP_CONS **cons, const char *name, int nconss, SCIP_CONS **conss, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool dynamic) |
SCIP_RETCODE | SCIPcreateConsBasicConjunction (SCIP *scip, SCIP_CONS **cons, const char *name, int nconss, SCIP_CONS **conss) |
SCIP_RETCODE | SCIPaddConsElemConjunction (SCIP *scip, SCIP_CONS *cons, SCIP_CONS *addcons) |
Macro Definition Documentation
◆ CONSHDLR_NAME
#define CONSHDLR_NAME "conjunction" |
Definition at line 49 of file cons_conjunction.c.
◆ CONSHDLR_DESC
#define CONSHDLR_DESC "conjunction of constraints" |
Definition at line 50 of file cons_conjunction.c.
◆ CONSHDLR_ENFOPRIORITY
#define CONSHDLR_ENFOPRIORITY +900000 |
priority of the constraint handler for constraint enforcing
Definition at line 51 of file cons_conjunction.c.
◆ CONSHDLR_CHECKPRIORITY
#define CONSHDLR_CHECKPRIORITY -900000 |
priority of the constraint handler for checking feasibility
Definition at line 52 of file cons_conjunction.c.
◆ CONSHDLR_EAGERFREQ
#define CONSHDLR_EAGERFREQ 100 |
frequency for using all instead of only the useful constraints in separation, propagation and enforcement, -1 for no eager evaluations, 0 for first only
Definition at line 54 of file cons_conjunction.c.
◆ CONSHDLR_MAXPREROUNDS
#define CONSHDLR_MAXPREROUNDS -1 |
maximal number of presolving rounds the constraint handler participates in (-1: no limit)
Definition at line 55 of file cons_conjunction.c.
◆ CONSHDLR_NEEDSCONS
#define CONSHDLR_NEEDSCONS TRUE |
should the constraint handler be skipped, if no constraints are available?
Definition at line 56 of file cons_conjunction.c.
◆ CONSHDLR_PRESOLTIMING
#define CONSHDLR_PRESOLTIMING SCIP_PRESOLTIMING_FAST |
Definition at line 58 of file cons_conjunction.c.
Function Documentation
◆ consdataCreate()
|
static |
creates conjunction constraint data, captures initial constraints of conjunction
- Parameters
-
scip SCIP data structure consdata pointer to constraint data conss initial constraint in conjunction nconss number of initial constraints in conjunction
Definition at line 79 of file cons_conjunction.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemory, SCIPcaptureCons(), SCIPduplicateBlockMemoryArray, SCIPisTransformed(), and SCIPtransformConss().
Referenced by SCIPcreateConsConjunction().
◆ consdataFree()
|
static |
frees constraint data and releases all constraints in conjunction
- Parameters
-
scip SCIP data structure consdata pointer to constraint data
Definition at line 121 of file cons_conjunction.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeBlockMemory, SCIPfreeBlockMemoryArrayNull, and SCIPreleaseCons().
Referenced by SCIP_DECL_CONSDELETE().
◆ consdataAddCons()
|
static |
adds constraint to conjunction
- Parameters
-
scip SCIP data structure consdata constraint data cons constraint to add to the conjunction
Definition at line 146 of file cons_conjunction.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPcaptureCons(), SCIPensureBlockMemoryArray, SCIPisTransformed(), and SCIPtransformCons().
Referenced by SCIPaddConsElemConjunction().
◆ addAllConss()
|
static |
adds all constraints in conjunction constraints to the problem; disables unmodifiable conjunction constraints
- Parameters
-
scip SCIP data structure conss active conjunction constraints nconss number of active conjunction constraints result pointer to store the result
Definition at line 178 of file cons_conjunction.c.
References NULL, SCIP_CALL, SCIP_CONSADDED, SCIP_OKAY, SCIPaddConsLocal(), SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsActive(), SCIPconsIsChecked(), SCIPconsIsModifiable(), SCIPdebugMsg, SCIPdelConsLocal(), SCIPsetConsChecked(), and TRUE.
Referenced by SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSENFOPS(), and SCIP_DECL_CONSENFORELAX().
◆ checkAllConss()
|
static |
checks all constraints in conjunction constraints for feasibility
- Parameters
-
scip SCIP data structure conss active conjunction constraints nconss number of active conjunction constraints sol solution to check checkintegrality Has integrality to be checked? checklprows Do constraints represented by rows in the current LP have to be checked? printreason Should the reason for the violation be printed? completely Should all violations be checked? result pointer to store the result
Definition at line 227 of file cons_conjunction.c.
References NULL, SCIP_CALL, SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, SCIPcheckCons(), SCIPconsGetData(), SCIPconsGetName(), SCIPdebug, SCIPinfoMessage(), SCIPprintCons(), and SCIPupdateSolConsViolation().
Referenced by SCIP_DECL_CONSCHECK().
◆ SCIP_DECL_CONSHDLRCOPY()
|
static |
copy method for constraint handler plugins (called when SCIP copies plugins)
Definition at line 289 of file cons_conjunction.c.
References CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPconshdlrGetName(), SCIPincludeConshdlrConjunction(), and TRUE.
◆ SCIP_DECL_CONSDELETE()
|
static |
frees specific constraint data
Definition at line 306 of file cons_conjunction.c.
References consdataFree(), SCIP_CALL, and SCIP_OKAY.
◆ SCIP_DECL_CONSTRANS()
|
static |
transforms constraint data into data belonging to the transformed problem
Definition at line 315 of file cons_conjunction.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemory, SCIPallocBlockMemoryArray, SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateCons(), and SCIPtransformCons().
◆ SCIP_DECL_CONSENFOLP()
|
static |
constraint enforcing method of constraint handler for LP solutions
Definition at line 357 of file cons_conjunction.c.
References addAllConss(), SCIP_CALL, SCIP_FEASIBLE, and SCIP_OKAY.
◆ SCIP_DECL_CONSENFORELAX()
|
static |
constraint enforcing method of constraint handler for relaxation solutions
Definition at line 370 of file cons_conjunction.c.
References addAllConss(), SCIP_CALL, SCIP_FEASIBLE, and SCIP_OKAY.
◆ SCIP_DECL_CONSENFOPS()
|
static |
constraint enforcing method of constraint handler for pseudo solutions
Definition at line 383 of file cons_conjunction.c.
References addAllConss(), SCIP_CALL, SCIP_FEASIBLE, and SCIP_OKAY.
◆ SCIP_DECL_CONSCHECK()
|
static |
feasibility check method of constraint handler for integral solutions
Definition at line 396 of file cons_conjunction.c.
References checkAllConss(), SCIP_CALL, SCIP_FEASIBLE, and SCIP_OKAY.
◆ SCIP_DECL_CONSPRESOL()
|
static |
presolving method of constraint handler
Definition at line 409 of file cons_conjunction.c.
References NULL, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_OKAY, SCIP_SUCCESS, SCIPaddCons(), SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsActive(), SCIPconsIsChecked(), SCIPconsIsModifiable(), SCIPdebugMsg, SCIPdelCons(), SCIPreleaseCons(), SCIPsetConsChecked(), and TRUE.
◆ SCIP_DECL_CONSLOCK()
|
static |
variable rounding lock method of constraint handler
Definition at line 465 of file cons_conjunction.c.
References NULL, SCIP_CALL, SCIP_LOCKTYPE_MODEL, SCIP_OKAY, SCIPaddConsLocksType(), and SCIPconsGetData().
◆ SCIP_DECL_CONSPRINT()
|
static |
constraint display method of constraint handler
Definition at line 487 of file cons_conjunction.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPinfoMessage(), and SCIPprintCons().
◆ SCIP_DECL_CONSPARSE()
|
static |
constraint parsing method of constraint handler
Definition at line 514 of file cons_conjunction.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPcalcMemGrowSize(), SCIPcreateConsConjunction(), SCIPdebugMsg, SCIPduplicateBufferArray, SCIPfreeBufferArray, SCIPparseCons(), SCIPreallocBufferArray, SCIPreleaseCons(), and TRUE.
◆ SCIP_DECL_CONSCOPY()
|
static |
constraint copying method of constraint handler
Definition at line 709 of file cons_conjunction.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconsGetName(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsConjunction(), SCIPfreeBufferArray, SCIPgetConsCopy(), SCIPreleaseCons(), and TRUE.