Scippy

SCIP

Solving Constraint Integer Programs

scipdefplugins.c
Go to the documentation of this file.
1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2 /* */
3 /* This file is part of the program and library */
4 /* SCIP --- Solving Constraint Integer Programs */
5 /* */
6 /* Copyright (C) 2002-2021 Konrad-Zuse-Zentrum */
7 /* fuer Informationstechnik Berlin */
8 /* */
9 /* SCIP is distributed under the terms of the ZIB Academic License. */
10 /* */
11 /* You should have received a copy of the ZIB Academic License */
12 /* along with SCIP; see the file COPYING. If not visit scipopt.org. */
13 /* */
14 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15 
16 /**@file scipdefplugins.c
17  * @ingroup OTHER_CFILES
18  * @brief default SCIP plugins
19  * @author Tobias Achterberg
20  */
21 
22 /*--+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
23 
24 #include "scip/scipdefplugins.h"
25 #include "scip/debug.h"
26 
27 /** includes default SCIP plugins into SCIP */
29  SCIP* scip /**< SCIP data structure */
30  )
31 {
32  SCIP_NLPI* nlpi;
33 
34  SCIP_CALL( SCIPincludeConshdlrNonlinear(scip) ); /* nonlinear must be before linear, quadratic, abspower, and and due to constraint upgrading */
35  SCIP_CALL( SCIPincludeConshdlrQuadratic(scip) ); /* quadratic must be before linear due to constraint upgrading */
36  SCIP_CALL( SCIPincludeConshdlrLinear(scip) ); /* linear must be before its specializations due to constraint upgrading */
37  SCIP_CALL( SCIPincludeConshdlrAbspower(scip) ); /* absolute power needs to be after quadratic and nonlinear due to constraint upgrading */
41  SCIP_CALL( SCIPincludeConshdlrBivariate(scip) ); /* bivariate needs to be after quadratic and nonlinear due to constraint upgrading */
58  SCIP_CALL( SCIPincludeConshdlrSOC(scip) ); /* SOC needs to be after quadratic due to constraint upgrading */
66 
67  /* include readers in order of chances to be necessary */
93 
103 #ifdef SCIP_WITH_PAPILO
105 #endif
216  SCIP_CALL( SCIPincludeSepaMcf(scip) );
226 
227  /* include NLPI's, if available */
229  if( nlpi != NULL )
230  {
231  SCIP_CALL( SCIPincludeNlpi(scip, nlpi) );
233  }
235  if( nlpi != NULL )
236  {
237  SCIP_CALL( SCIPincludeNlpi(scip, nlpi) );
239  }
240 
242  if( nlpi != NULL )
243  {
244  SCIP_CALL( SCIPincludeNlpi(scip, nlpi) );
246  }
247 
249  if( nlpi != NULL )
250  {
251  SCIP_CALL( SCIPincludeNlpi(scip, nlpi) );
252  }
253 
254  /* coverity[leaked_storage] */
256  if( nlpi != NULL )
257  {
258  SCIP_CALL( SCIPincludeNlpi(scip, nlpi) );
259  }
260 
261 #ifdef TPI_TNYC
262  SCIP_CALL( SCIPincludeExternalCodeInformation(scip, "TinyCThread", "Small, portable implementation of the C11 threads API (tinycthread.github.io)") );
263 #endif
264 
265  SCIP_CALL( SCIPdebugIncludeProp(scip) ); /*lint !e506 !e774*/
266 
267  return SCIP_OKAY;
268 }
SCIP_RETCODE SCIPincludeReaderPip(SCIP *scip)
Definition: reader_pip.c:3816
SCIP_RETCODE SCIPcreateNlpSolverAll(BMS_BLKMEM *blkmem, SCIP_NLPI **nlpi, SCIP_NLPI **nlpis, int nnlpis)
Definition: nlpi_all.c:1175
SCIP_RETCODE SCIPincludeReaderFzn(SCIP *scip)
Definition: reader_fzn.c:4951
SCIP_RETCODE SCIPincludeHeurAlns(SCIP *scip)
Definition: heur_alns.c:3881
SCIP_RETCODE SCIPincludeHeurLpface(SCIP *scip)
Definition: heur_lpface.c:1307
SCIP_RETCODE SCIPincludePropRedcost(SCIP *scip)
Definition: prop_redcost.c:720
SCIP_RETCODE SCIPincludeHeurActconsdiving(SCIP *scip)
SCIP_RETCODE SCIPincludeBendersDefault(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurProximity(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurIntshifting(SCIP *scip)
SCIP_RETCODE SCIPincludePresolDomcol(SCIP *scip)
const char * SCIPgetSolverNameFilterSQP(void)
SCIP_RETCODE SCIPincludeBranchruleLeastinf(SCIP *scip)
SCIP_RETCODE SCIPincludeBranchruleVanillafullstrong(SCIP *scip)
SCIP_RETCODE SCIPincludeDispDefault(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurVbounds(SCIP *scip)
SCIP_RETCODE SCIPincludeSepaGomory(SCIP *scip)
Definition: sepa_gomory.c:611
SCIP_RETCODE SCIPincludeHeurCoefdiving(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurMutation(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurSubNlp(SCIP *scip)
Definition: heur_subnlp.c:2374
SCIP_RETCODE SCIPincludeReaderOsil(SCIP *scip)
Definition: reader_osil.c:2657
SCIP_RETCODE SCIPcreateNlpSolverFilterSQP(BMS_BLKMEM *blkmem, SCIP_NLPI **nlpi)
SCIP_RETCODE SCIPincludeReaderMps(SCIP *scip)
Definition: reader_mps.c:3794
SCIP_RETCODE SCIPincludeReaderCnf(SCIP *scip)
Definition: reader_cnf.c:432
SCIP_RETCODE SCIPincludeTableDefault(SCIP *scip)
SCIP_NLPI ** SCIPgetNlpis(SCIP *scip)
Definition: scip_nlp.c:119
SCIP_RETCODE SCIPincludeConshdlrXor(SCIP *scip)
Definition: cons_xor.c:5755
SCIP_RETCODE SCIPincludeBranchruleLookahead(SCIP *scip)
SCIP_RETCODE SCIPincludeBranchruleDistribution(SCIP *scip)
SCIP_RETCODE SCIPincludeReaderCcg(SCIP *scip)
Definition: reader_ccg.c:368
SCIP_RETCODE SCIPincludeBranchruleMostinf(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurRandrounding(SCIP *scip)
SCIP_RETCODE SCIPincludeConshdlrAbspower(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurTrySol(SCIP *scip)
Definition: heur_trysol.c:213
SCIP_RETCODE SCIPincludeSepaClosecuts(SCIP *scip)
SCIP_RETCODE SCIPincludeConshdlrSuperindicator(SCIP *scip)
SCIP_RETCODE SCIPincludeSepaCGMIP(SCIP *scip)
Definition: sepa_cgmip.c:4454
#define FALSE
Definition: def.h:73
SCIP_RETCODE SCIPincludeSepaMcf(SCIP *scip)
Definition: sepa_mcf.c:6906
SCIP_RETCODE SCIPincludeHeurRepair(SCIP *scip)
Definition: heur_repair.c:1276
#define TRUE
Definition: def.h:72
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:54
SCIP_RETCODE SCIPincludeHeurSimplerounding(SCIP *scip)
SCIP_RETCODE SCIPincludeConshdlrSymresack(SCIP *scip)
SCIP_RETCODE SCIPincludeConshdlrCountsols(SCIP *scip)
SCIP_RETCODE SCIPincludeSepaRapidlearning(SCIP *scip)
SCIP_RETCODE SCIPincludeReaderOpb(SCIP *scip)
Definition: reader_opb.c:4587
SCIP_RETCODE SCIPincludeBranchruleRelpscost(SCIP *scip)
SCIP_RETCODE SCIPincludePresolDualcomp(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurGuideddiving(SCIP *scip)
SCIP_RETCODE SCIPincludeReaderCor(SCIP *scip)
Definition: reader_cor.c:151
SCIP_RETCODE SCIPincludePresolTrivial(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurUndercover(SCIP *scip)
SCIP_RETCODE SCIPincludeSepaClique(SCIP *scip)
Definition: sepa_clique.c:1047
SCIP_RETCODE SCIPincludeBranchruleAllfullstrong(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurDins(SCIP *scip)
Definition: heur_dins.c:920
SCIP_RETCODE SCIPincludeSepaEccuts(SCIP *scip)
Definition: sepa_eccuts.c:2816
SCIP_RETCODE SCIPincludeNodeselUct(SCIP *scip)
Definition: nodesel_uct.c:530
SCIP_RETCODE SCIPincludeConshdlrConjunction(SCIP *scip)
SCIP_RETCODE SCIPincludePropVbounds(SCIP *scip)
SCIP_RETCODE SCIPincludePropGenvbounds(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurIntdiving(SCIP *scip)
SCIP_RETCODE SCIPincludeConshdlrVarbound(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurTrustregion(SCIP *scip)
SCIP_RETCODE SCIPincludeReaderSto(SCIP *scip)
Definition: reader_sto.c:2774
SCIP_RETCODE SCIPincludeHeurOneopt(SCIP *scip)
Definition: heur_oneopt.c:884
SCIP_RETCODE SCIPincludePresolDualsparsify(SCIP *scip)
SCIP_RETCODE SCIPincludeEventHdlrSofttimelimit(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurFeaspump(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurIndicator(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurShiftandpropagate(SCIP *scip)
SCIP_RETCODE SCIPincludeSepaConvexproj(SCIP *scip)
SCIP_RETCODE SCIPincludeConshdlrQuadratic(SCIP *scip)
#define SCIPdebugIncludeProp(scip)
Definition: debug.h:273
SCIP_RETCODE SCIPincludeSepaImpliedbounds(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurRens(SCIP *scip)
Definition: heur_rens.c:827
SCIP_RETCODE SCIPincludeSepaIntobj(SCIP *scip)
Definition: sepa_intobj.c:424
SCIP_RETCODE SCIPincludeReaderDec(SCIP *scip)
Definition: reader_dec.c:373
SCIP_RETCODE SCIPincludePropNlobbt(SCIP *scip)
Definition: prop_nlobbt.c:720
SCIP_RETCODE SCIPincludeSepaStrongcg(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurMultistart(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurTrivial(SCIP *scip)
Definition: heur_trivial.c:240
SCIP_RETCODE SCIPincludeHeurNlpdiving(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurAdaptivediving(SCIP *scip)
SCIP_RETCODE SCIPincludeConshdlrCardinality(SCIP *scip)
SCIP_RETCODE SCIPincludeSepaDisjunctive(SCIP *scip)
BMS_BLKMEM * SCIPblkmem(SCIP *scip)
Definition: scip_mem.c:48
SCIP_RETCODE SCIPincludePropSymmetry(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurReoptsols(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurFracdiving(SCIP *scip)
SCIP_RETCODE SCIPincludeReaderGms(SCIP *scip)
Definition: reader_gms.c:2194
const char * SCIPgetSolverNameWorhp(void)
Definition: nlpi_worhp.c:2432
const char * SCIPgetSolverDescIpopt(void)
SCIP_RETCODE SCIPincludeBranchruleRandom(SCIP *scip)
SCIP_RETCODE SCIPincludePropRootredcost(SCIP *scip)
#define NULL
Definition: lpi_spx1.cpp:155
SCIP_RETCODE SCIPincludePropObbt(SCIP *scip)
Definition: prop_obbt.c:3196
SCIP_RETCODE SCIPincludeExternalCodeInformation(SCIP *scip, const char *name, const char *description)
Definition: scip_general.c:697
SCIP_RETCODE SCIPincludeConshdlrCumulative(SCIP *scip)
#define SCIP_CALL(x)
Definition: def.h:370
SCIP_RETCODE SCIPincludeBranchruleNodereopt(SCIP *scip)
SCIP_RETCODE SCIPincludeSepaZerohalf(SCIP *scip)
SCIP_RETCODE SCIPincludePropDualfix(SCIP *scip)
Definition: prop_dualfix.c:321
const char * SCIPgetSolverDescFilterSQP(void)
SCIP_RETCODE SCIPcreateNlpSolverWorhp(BMS_BLKMEM *blkmem, SCIP_NLPI **nlpi, SCIP_Bool useip)
Definition: nlpi_worhp.c:2368
SCIP_RETCODE SCIPincludeBranchruleFullstrong(SCIP *scip)
SCIP_RETCODE SCIPincludePresolBoundshift(SCIP *scip)
SCIP_RETCODE SCIPincludePresolQPKKTref(SCIP *scip)
SCIP_RETCODE SCIPincludeReaderZpl(SCIP *scip)
Definition: reader_zpl.c:1603
SCIP_RETCODE SCIPincludeBranchruleInference(SCIP *scip)
SCIP_RETCODE SCIPincludeReaderPpm(SCIP *scip)
Definition: reader_ppm.c:490
SCIP_RETCODE SCIPincludeConshdlrBounddisjunction(SCIP *scip)
SCIP_RETCODE SCIPincludePresolMILP(SCIP *scip)
Definition: presol_milp.cpp:37
SCIP_RETCODE SCIPincludeNlpi(SCIP *scip, SCIP_NLPI *nlpi)
Definition: scip_nlp.c:70
SCIP_RETCODE SCIPincludeHeurMpec(SCIP *scip)
Definition: heur_mpec.c:726
const char * SCIPgetSolverNameIpopt(void)
SCIP_RETCODE SCIPincludeConshdlrSOC(SCIP *scip)
Definition: cons_soc.c:5183
SCIP_RETCODE SCIPincludeHeurZirounding(SCIP *scip)
SCIP_RETCODE SCIPincludeConshdlrSOS1(SCIP *scip)
Definition: cons_sos1.c:10161
SCIP_RETCODE SCIPincludeConshdlrSetppc(SCIP *scip)
Definition: cons_setppc.c:8956
SCIP_RETCODE SCIPincludeConshdlrBenderslp(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurConflictdiving(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurCompletesol(SCIP *scip)
SCIP_RETCODE SCIPincludePresolGateextraction(SCIP *scip)
SCIP_RETCODE SCIPincludeDefaultPlugins(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurLinesearchdiving(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurBound(SCIP *scip)
Definition: heur_bound.c:372
SCIP_RETCODE SCIPincludeReaderDiff(SCIP *scip)
Definition: reader_diff.c:1020
SCIP_RETCODE SCIPincludeHeurPscostdiving(SCIP *scip)
SCIP_RETCODE SCIPincludeConshdlrComponents(SCIP *scip)
SCIP_RETCODE SCIPincludeComprLargestrepr(SCIP *scip)
int SCIPgetNNlpis(SCIP *scip)
Definition: scip_nlp.c:132
SCIP_RETCODE SCIPincludeReaderRlp(SCIP *scip)
Definition: reader_rlp.c:102
SCIP_RETCODE SCIPincludeHeurGins(SCIP *scip)
Definition: heur_gins.c:2618
SCIP_RETCODE SCIPincludeNodeselDfs(SCIP *scip)
Definition: nodesel_dfs.c:123
SCIP_RETCODE SCIPincludeConshdlrOrbitope(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurClique(SCIP *scip)
Definition: heur_clique.c:1051
SCIP_RETCODE SCIPincludeBranchruleCloud(SCIP *scip)
Definition: branch_cloud.c:676
methods for debugging
SCIP_RETCODE SCIPincludeSepaGauge(SCIP *scip)
Definition: sepa_gauge.c:1075
SCIP_RETCODE SCIPincludeHeurDualval(SCIP *scip)
SCIP_RETCODE SCIPincludeConshdlrBivariate(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurObjpscostdiving(SCIP *scip)
SCIP_RETCODE SCIPincludeNodeselEstimate(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurLocalbranching(SCIP *scip)
SCIP_RETCODE SCIPincludeConshdlrIndicator(SCIP *scip)
SCIP_RETCODE SCIPincludeConshdlrDisjunction(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurDistributiondiving(SCIP *scip)
SCIP_RETCODE SCIPincludeReaderPbm(SCIP *scip)
Definition: reader_pbm.c:446
SCIP_RETCODE SCIPincludeComprWeakcompr(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurRins(SCIP *scip)
Definition: heur_rins.c:585
SCIP_RETCODE SCIPincludeHeurOctane(SCIP *scip)
Definition: heur_octane.c:1187
SCIP_RETCODE SCIPincludeConshdlrSOS2(SCIP *scip)
Definition: cons_sos2.c:2296
SCIP_RETCODE SCIPincludePresolImplics(SCIP *scip)
SCIP_RETCODE SCIPincludeReaderSol(SCIP *scip)
Definition: reader_sol.c:213
SCIP_RETCODE SCIPincludeHeurPADM(SCIP *scip)
Definition: heur_padm.c:1796
SCIP_RETCODE SCIPincludeHeurOfins(SCIP *scip)
Definition: heur_ofins.c:614
SCIP_RETCODE SCIPincludeEventHdlrEstim(SCIP *scip)
Definition: event_estim.c:2881
SCIP_RETCODE SCIPincludeHeurVeclendiving(SCIP *scip)
SCIP_RETCODE SCIPincludeReaderWbo(SCIP *scip)
Definition: reader_wbo.c:83
SCIP_RETCODE SCIPincludeConcurrentScipSolvers(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurFixandinfer(SCIP *scip)
SCIP_RETCODE SCIPincludeConshdlrOrbisack(SCIP *scip)
SCIP_RETCODE SCIPincludeConshdlrLogicor(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurRootsoldiving(SCIP *scip)
SCIP_RETCODE SCIPincludeConshdlrAnd(SCIP *scip)
Definition: cons_and.c:4918
SCIP_RETCODE SCIPincludeNodeselBreadthfirst(SCIP *scip)
SCIP_RETCODE SCIPincludeReaderMst(SCIP *scip)
Definition: reader_mst.c:188
SCIP_RETCODE SCIPincludeSepaOddcycle(SCIP *scip)
SCIP_RETCODE SCIPincludePresolDualagg(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurCrossover(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurLocks(SCIP *scip)
Definition: heur_locks.c:1073
SCIP_RETCODE SCIPincludePresolStuffing(SCIP *scip)
SCIP_RETCODE SCIPincludeBranchruleMultAggr(SCIP *scip)
SCIP_RETCODE SCIPincludeNodeselRestartdfs(SCIP *scip)
SCIP_RETCODE SCIPincludeEventHdlrSolvingphase(SCIP *scip)
SCIP_RETCODE SCIPincludePresolTworowbnd(SCIP *scip)
SCIP_RETCODE SCIPincludeNodeselBfs(SCIP *scip)
Definition: nodesel_bfs.c:306
SCIP_RETCODE SCIPincludePropProbing(SCIP *scip)
SCIP_RETCODE SCIPincludeReaderTim(SCIP *scip)
Definition: reader_tim.c:845
SCIP_RETCODE SCIPincludeSepaAggregation(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurZeroobj(SCIP *scip)
Definition: heur_zeroobj.c:560
SCIP_RETCODE SCIPincludeConshdlrIntegral(SCIP *scip)
const char * SCIPgetSolverDescWorhp(void)
Definition: nlpi_worhp.c:2446
SCIP_RETCODE SCIPincludeHeurShifting(SCIP *scip)
SCIP_RETCODE SCIPincludeBranchrulePscost(SCIP *scip)
SCIP_RETCODE SCIPincludePropPseudoobj(SCIP *scip)
SCIP_RETCODE SCIPincludePresolInttobinary(SCIP *scip)
SCIP_RETCODE SCIPincludeReaderLp(SCIP *scip)
Definition: reader_lp.c:3457
SCIP_RETCODE SCIPincludeReaderCip(SCIP *scip)
Definition: reader_cip.c:1116
SCIP_RETCODE SCIPincludeHeurTrivialnegation(SCIP *scip)
SCIP_RETCODE SCIPincludeConshdlrKnapsack(SCIP *scip)
SCIP_RETCODE SCIPincludeReaderFix(SCIP *scip)
Definition: reader_fix.c:243
SCIP_RETCODE SCIPincludePresolSparsify(SCIP *scip)
SCIP_RETCODE SCIPincludeConshdlrPseudoboolean(SCIP *scip)
SCIP_RETCODE SCIPincludeReaderBnd(SCIP *scip)
Definition: reader_bnd.c:427
SCIP_RETCODE SCIPcreateNlpSolverIpopt(BMS_BLKMEM *blkmem, SCIP_NLPI **nlpi)
SCIP_RETCODE SCIPincludeConshdlrLinking(SCIP *scip)
default SCIP plugins
SCIP_RETCODE SCIPincludeHeurRounding(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurTwoopt(SCIP *scip)
Definition: heur_twoopt.c:1769
SCIP_RETCODE SCIPincludeConshdlrOr(SCIP *scip)
Definition: cons_or.c:2043
SCIP_RETCODE SCIPincludeConshdlrLinear(SCIP *scip)
SCIP_RETCODE SCIPincludeConshdlrNonlinear(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurFarkasdiving(SCIP *scip)
SCIP_RETCODE SCIPincludePresolConvertinttobin(SCIP *scip)
SCIP_RETCODE SCIPincludeConshdlrBenders(SCIP *scip)
Definition: cons_benders.c:760
SCIP_RETCODE SCIPincludeReaderSmps(SCIP *scip)
Definition: reader_smps.c:441
SCIP_RETCODE SCIPincludePresolRedvub(SCIP *scip)
SCIP_RETCODE SCIPincludePresolDualinfer(SCIP *scip)
SCIP_RETCODE SCIPincludeNodeselHybridestim(SCIP *scip)