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-2019 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 scip.zib.de. */
13 /* */
14 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15 
16 /**@file scipdefplugins.c
17  * @brief default SCIP plugins
18  * @author Tobias Achterberg
19  */
20 
21 /*--+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
22 
23 #include "scip/scipdefplugins.h"
24 #include "scip/debug.h"
25 
26 /** includes default SCIP plugins into SCIP */
28  SCIP* scip /**< SCIP data structure */
29  )
30 {
31  SCIP_NLPI* nlpi;
32 
33  SCIP_CALL( SCIPincludeConshdlrNonlinear(scip) ); /* nonlinear must be before linear, quadratic, abspower, and and due to constraint upgrading */
34  SCIP_CALL( SCIPincludeConshdlrQuadratic(scip) ); /* quadratic must be before linear due to constraint upgrading */
35  SCIP_CALL( SCIPincludeConshdlrLinear(scip) ); /* linear must be before its specializations due to constraint upgrading */
36  SCIP_CALL( SCIPincludeConshdlrAbspower(scip) ); /* absolute power needs to be after quadratic and nonlinear due to constraint upgrading */
40  SCIP_CALL( SCIPincludeConshdlrBivariate(scip) ); /* bivariate needs to be after quadratic and nonlinear due to constraint upgrading */
57  SCIP_CALL( SCIPincludeConshdlrSOC(scip) ); /* SOC needs to be after quadratic due to constraint upgrading */
65 
66  /* include readers in order of chances to be necessary */
91 
108  SCIP_CALL( SCIPincludePresolSymbreak(scip) ); /* needs to be included after presol_symmetry */
207  SCIP_CALL( SCIPincludeSepaMcf(scip) );
217 
218  /* include NLPI's, if available */
220  if( nlpi != NULL )
221  {
222  SCIP_CALL( SCIPincludeNlpi(scip, nlpi) );
224  }
226  if( nlpi != NULL )
227  {
228  SCIP_CALL( SCIPincludeNlpi(scip, nlpi) );
230  }
231 
233  if( nlpi != NULL )
234  {
235  SCIP_CALL( SCIPincludeNlpi(scip, nlpi) );
237  }
238 
240  if( nlpi != NULL )
241  {
242  SCIP_CALL( SCIPincludeNlpi(scip, nlpi) );
243  }
244 
246  if( nlpi != NULL )
247  {
248  SCIP_CALL( SCIPincludeNlpi(scip, nlpi) );
249  }
250 
251 #ifdef TPI_TNYC
252  SCIP_CALL( SCIPincludeExternalCodeInformation(scip, "TinyCThread", "Small, portable implementation of the C11 threads API (tinycthread.github.io)") );
253 #endif
254 
255  SCIP_CALL( SCIPdebugIncludeProp(scip) ); /*lint !e506 !e774*/
256 
257  return SCIP_OKAY;
258 }
SCIP_RETCODE SCIPincludeReaderPip(SCIP *scip)
Definition: reader_pip.c:3748
SCIP_RETCODE SCIPcreateNlpSolverAll(BMS_BLKMEM *blkmem, SCIP_NLPI **nlpi, SCIP_NLPI **nlpis, int nnlpis)
Definition: nlpi_all.c:1174
SCIP_RETCODE SCIPincludeReaderFzn(SCIP *scip)
Definition: reader_fzn.c:4943
SCIP_RETCODE SCIPincludeHeurAlns(SCIP *scip)
Definition: heur_alns.c:3786
#define NULL
Definition: def.h:253
SCIP_RETCODE SCIPincludeHeurLpface(SCIP *scip)
Definition: heur_lpface.c:1364
SCIP_RETCODE SCIPincludePropRedcost(SCIP *scip)
Definition: prop_redcost.c:718
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 SCIPincludeDispDefault(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurVbounds(SCIP *scip)
SCIP_RETCODE SCIPincludeSepaGomory(SCIP *scip)
Definition: sepa_gomory.c:610
SCIP_RETCODE SCIPincludeHeurCoefdiving(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurMutation(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurSubNlp(SCIP *scip)
Definition: heur_subnlp.c:2324
SCIP_RETCODE SCIPincludeReaderOsil(SCIP *scip)
Definition: reader_osil.c:2584
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:424
SCIP_RETCODE SCIPincludeTableDefault(SCIP *scip)
SCIP_NLPI ** SCIPgetNlpis(SCIP *scip)
Definition: scip_nlp.c:118
SCIP_RETCODE SCIPincludeConshdlrXor(SCIP *scip)
Definition: cons_xor.c:5736
SCIP_RETCODE SCIPincludeBranchruleLookahead(SCIP *scip)
SCIP_RETCODE SCIPincludeBranchruleDistribution(SCIP *scip)
SCIP_RETCODE SCIPincludeReaderCcg(SCIP *scip)
Definition: reader_ccg.c:367
SCIP_RETCODE SCIPincludeBranchruleMostinf(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurRandrounding(SCIP *scip)
SCIP_RETCODE SCIPincludeConshdlrAbspower(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurTrySol(SCIP *scip)
Definition: heur_trysol.c:212
SCIP_RETCODE SCIPincludeSepaClosecuts(SCIP *scip)
SCIP_RETCODE SCIPincludeConshdlrSuperindicator(SCIP *scip)
SCIP_RETCODE SCIPincludeSepaCGMIP(SCIP *scip)
Definition: sepa_cgmip.c:4106
#define FALSE
Definition: def.h:73
SCIP_RETCODE SCIPincludeSepaMcf(SCIP *scip)
Definition: sepa_mcf.c:6893
SCIP_RETCODE SCIPincludeHeurRepair(SCIP *scip)
Definition: heur_repair.c:1292
#define TRUE
Definition: def.h:72
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:53
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:4476
SCIP_RETCODE SCIPincludeBranchruleRelpscost(SCIP *scip)
SCIP_RETCODE SCIPincludePresolDualcomp(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurGuideddiving(SCIP *scip)
SCIP_RETCODE SCIPincludeReaderCor(SCIP *scip)
Definition: reader_cor.c:150
SCIP_RETCODE SCIPincludePresolTrivial(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurUndercover(SCIP *scip)
SCIP_RETCODE SCIPincludeSepaClique(SCIP *scip)
Definition: sepa_clique.c:1061
SCIP_RETCODE SCIPincludeBranchruleAllfullstrong(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurDins(SCIP *scip)
Definition: heur_dins.c:962
SCIP_RETCODE SCIPincludeSepaEccuts(SCIP *scip)
Definition: sepa_eccuts.c:2816
SCIP_RETCODE SCIPincludeNodeselUct(SCIP *scip)
Definition: nodesel_uct.c:529
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 SCIPincludeReaderSto(SCIP *scip)
Definition: reader_sto.c:2622
SCIP_RETCODE SCIPincludeHeurOneopt(SCIP *scip)
Definition: heur_oneopt.c:942
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:255
SCIP_RETCODE SCIPincludeSepaImpliedbounds(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurRens(SCIP *scip)
Definition: heur_rens.c:872
SCIP_RETCODE SCIPincludeSepaIntobj(SCIP *scip)
Definition: sepa_intobj.c:422
SCIP_RETCODE SCIPincludePropNlobbt(SCIP *scip)
Definition: prop_nlobbt.c:723
SCIP_RETCODE SCIPincludeSepaStrongcg(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurMultistart(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurTrivial(SCIP *scip)
Definition: heur_trivial.c:239
SCIP_RETCODE SCIPincludeHeurNlpdiving(SCIP *scip)
SCIP_RETCODE SCIPincludeConshdlrCardinality(SCIP *scip)
SCIP_RETCODE SCIPincludeSepaDisjunctive(SCIP *scip)
BMS_BLKMEM * SCIPblkmem(SCIP *scip)
Definition: scip_mem.c:47
SCIP_RETCODE SCIPincludeHeurReoptsols(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurFracdiving(SCIP *scip)
SCIP_RETCODE SCIPincludeReaderGms(SCIP *scip)
Definition: reader_gms.c:2189
const char * SCIPgetSolverNameWorhp(void)
Definition: nlpi_worhp.c:2433
const char * SCIPgetSolverDescIpopt(void)
SCIP_RETCODE SCIPincludeBranchruleRandom(SCIP *scip)
SCIP_RETCODE SCIPincludePropRootredcost(SCIP *scip)
SCIP_RETCODE SCIPincludePropObbt(SCIP *scip)
Definition: prop_obbt.c:3179
SCIP_RETCODE SCIPincludeExternalCodeInformation(SCIP *scip, const char *name, const char *description)
Definition: scip_general.c:696
SCIP_RETCODE SCIPincludeConshdlrCumulative(SCIP *scip)
#define SCIP_CALL(x)
Definition: def.h:365
SCIP_RETCODE SCIPincludeBranchruleNodereopt(SCIP *scip)
SCIP_RETCODE SCIPincludeSepaZerohalf(SCIP *scip)
SCIP_RETCODE SCIPincludePropDualfix(SCIP *scip)
Definition: prop_dualfix.c:317
const char * SCIPgetSolverDescFilterSQP(void)
SCIP_RETCODE SCIPcreateNlpSolverWorhp(BMS_BLKMEM *blkmem, SCIP_NLPI **nlpi, SCIP_Bool useip)
Definition: nlpi_worhp.c:2369
SCIP_RETCODE SCIPincludeBranchruleFullstrong(SCIP *scip)
SCIP_RETCODE SCIPincludePresolBoundshift(SCIP *scip)
SCIP_RETCODE SCIPincludePresolQPKKTref(SCIP *scip)
SCIP_RETCODE SCIPincludeReaderZpl(SCIP *scip)
Definition: reader_zpl.c:1601
SCIP_RETCODE SCIPincludeBranchruleInference(SCIP *scip)
SCIP_RETCODE SCIPincludeReaderPpm(SCIP *scip)
Definition: reader_ppm.c:489
SCIP_RETCODE SCIPincludeConshdlrBounddisjunction(SCIP *scip)
SCIP_RETCODE SCIPincludeNlpi(SCIP *scip, SCIP_NLPI *nlpi)
Definition: scip_nlp.c:69
SCIP_RETCODE SCIPincludeHeurMpec(SCIP *scip)
Definition: heur_mpec.c:726
const char * SCIPgetSolverNameIpopt(void)
SCIP_RETCODE SCIPincludeConshdlrSOC(SCIP *scip)
Definition: cons_soc.c:5087
SCIP_RETCODE SCIPincludeHeurZirounding(SCIP *scip)
SCIP_RETCODE SCIPincludeConshdlrSOS1(SCIP *scip)
Definition: cons_sos1.c:10143
SCIP_RETCODE SCIPincludeConshdlrSetppc(SCIP *scip)
Definition: cons_setppc.c:8961
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:366
SCIP_RETCODE SCIPincludeReaderDiff(SCIP *scip)
Definition: reader_diff.c:1008
SCIP_RETCODE SCIPincludeHeurPscostdiving(SCIP *scip)
SCIP_RETCODE SCIPincludeConshdlrComponents(SCIP *scip)
SCIP_RETCODE SCIPincludeComprLargestrepr(SCIP *scip)
int SCIPgetNNlpis(SCIP *scip)
Definition: scip_nlp.c:131
SCIP_RETCODE SCIPincludeReaderRlp(SCIP *scip)
Definition: reader_rlp.c:101
SCIP_RETCODE SCIPincludeHeurGins(SCIP *scip)
Definition: heur_gins.c:1454
SCIP_RETCODE SCIPincludePropOrbitalfixing(SCIP *scip)
SCIP_RETCODE SCIPincludeNodeselDfs(SCIP *scip)
Definition: nodesel_dfs.c:122
SCIP_RETCODE SCIPincludeConshdlrOrbitope(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurClique(SCIP *scip)
Definition: heur_clique.c:1114
SCIP_RETCODE SCIPincludeBranchruleCloud(SCIP *scip)
Definition: branch_cloud.c:675
methods for debugging
SCIP_RETCODE SCIPincludeSepaGauge(SCIP *scip)
Definition: sepa_gauge.c:1071
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:443
SCIP_RETCODE SCIPincludeComprWeakcompr(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurRins(SCIP *scip)
Definition: heur_rins.c:645
SCIP_RETCODE SCIPincludeHeurOctane(SCIP *scip)
Definition: heur_octane.c:1187
SCIP_RETCODE SCIPincludeConshdlrSOS2(SCIP *scip)
Definition: cons_sos2.c:2272
SCIP_RETCODE SCIPincludePresolImplics(SCIP *scip)
SCIP_RETCODE SCIPincludeReaderSol(SCIP *scip)
Definition: reader_sol.c:217
SCIP_RETCODE SCIPincludeHeurOfins(SCIP *scip)
Definition: heur_ofins.c:660
SCIP_RETCODE SCIPincludeHeurVeclendiving(SCIP *scip)
SCIP_RETCODE SCIPincludeReaderWbo(SCIP *scip)
Definition: reader_wbo.c:82
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:4919
SCIP_RETCODE SCIPincludeNodeselBreadthfirst(SCIP *scip)
SCIP_RETCODE SCIPincludeReaderMst(SCIP *scip)
Definition: reader_mst.c:192
SCIP_RETCODE SCIPincludeSepaOddcycle(SCIP *scip)
SCIP_RETCODE SCIPincludePresolDualagg(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurCrossover(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurLocks(SCIP *scip)
Definition: heur_locks.c:1101
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:305
SCIP_RETCODE SCIPincludePropProbing(SCIP *scip)
SCIP_RETCODE SCIPincludeReaderTim(SCIP *scip)
Definition: reader_tim.c:840
SCIP_RETCODE SCIPincludeSepaAggregation(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurZeroobj(SCIP *scip)
Definition: heur_zeroobj.c:597
SCIP_RETCODE SCIPincludeConshdlrIntegral(SCIP *scip)
const char * SCIPgetSolverDescWorhp(void)
Definition: nlpi_worhp.c:2447
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:3432
SCIP_RETCODE SCIPincludeReaderCip(SCIP *scip)
Definition: reader_cip.c:1113
SCIP_RETCODE SCIPincludeHeurTrivialnegation(SCIP *scip)
SCIP_RETCODE SCIPincludeConshdlrKnapsack(SCIP *scip)
SCIP_RETCODE SCIPincludeReaderFix(SCIP *scip)
Definition: reader_fix.c:234
SCIP_RETCODE SCIPincludePresolSparsify(SCIP *scip)
SCIP_RETCODE SCIPincludeConshdlrPseudoboolean(SCIP *scip)
SCIP_RETCODE SCIPincludeReaderBnd(SCIP *scip)
Definition: reader_bnd.c:406
SCIP_RETCODE SCIPcreateNlpSolverIpopt(BMS_BLKMEM *blkmem, SCIP_NLPI **nlpi)
SCIP_RETCODE SCIPincludeConshdlrLinking(SCIP *scip)
SCIP_RETCODE SCIPincludePresolSymbreak(SCIP *scip)
default SCIP plugins
SCIP_RETCODE SCIPincludeHeurRounding(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurTwoopt(SCIP *scip)
Definition: heur_twoopt.c:1762
SCIP_RETCODE SCIPincludeConshdlrOr(SCIP *scip)
Definition: cons_or.c:2044
SCIP_RETCODE SCIPincludeConshdlrLinear(SCIP *scip)
SCIP_RETCODE SCIPincludeConshdlrNonlinear(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurFarkasdiving(SCIP *scip)
SCIP_RETCODE SCIPincludePresolConvertinttobin(SCIP *scip)
SCIP_RETCODE SCIPincludePresolSymmetry(SCIP *scip)
SCIP_RETCODE SCIPincludeConshdlrBenders(SCIP *scip)
Definition: cons_benders.c:647
SCIP_RETCODE SCIPincludeReaderSmps(SCIP *scip)
Definition: reader_smps.c:440
SCIP_RETCODE SCIPincludePresolRedvub(SCIP *scip)
SCIP_RETCODE SCIPincludePresolDualinfer(SCIP *scip)
SCIP_RETCODE SCIPincludeNodeselHybridestim(SCIP *scip)