summaryrefslogtreecommitdiff
path: root/build/Bonmin/include/coin/CbcStrategy.hpp
diff options
context:
space:
mode:
authorHarpreet2016-09-03 00:34:27 +0530
committerHarpreet2016-09-03 00:34:27 +0530
commit4b64cf486f5c999fd8167758cae27839f3b50848 (patch)
treed9d06639fb7fa61aef59be0363655e4747105ec7 /build/Bonmin/include/coin/CbcStrategy.hpp
parentd19794fb80a271a4c885ed90f97cfc12baa012f2 (diff)
downloadFOSSEE-Optim-toolbox-development-4b64cf486f5c999fd8167758cae27839f3b50848.tar.gz
FOSSEE-Optim-toolbox-development-4b64cf486f5c999fd8167758cae27839f3b50848.tar.bz2
FOSSEE-Optim-toolbox-development-4b64cf486f5c999fd8167758cae27839f3b50848.zip
Structure updated and intqpipopt files added
Diffstat (limited to 'build/Bonmin/include/coin/CbcStrategy.hpp')
-rw-r--r--build/Bonmin/include/coin/CbcStrategy.hpp258
1 files changed, 0 insertions, 258 deletions
diff --git a/build/Bonmin/include/coin/CbcStrategy.hpp b/build/Bonmin/include/coin/CbcStrategy.hpp
deleted file mode 100644
index a9c8d24..0000000
--- a/build/Bonmin/include/coin/CbcStrategy.hpp
+++ /dev/null
@@ -1,258 +0,0 @@
-/* $Id: CbcStrategy.hpp 1573 2011-01-05 01:12:36Z lou $ */
-// Copyright (C) 2005, International Business Machines
-// Corporation and others. All Rights Reserved.
-// This code is licensed under the terms of the Eclipse Public License (EPL).
-
-#ifndef CbcStrategy_H
-#define CbcStrategy_H
-
-#include "CbcModel.hpp"
-class CglPreProcess;
-class CbcNodeInfo;
-class CbcNode;
-class CoinWarmStartDiff;
-
-//#############################################################################
-/** Strategy base class */
-
-class CbcStrategy {
-public:
- // Default Constructor
- CbcStrategy ();
-
- virtual ~CbcStrategy();
-
- /// Clone
- virtual CbcStrategy * clone() const = 0;
-
- /// Setup cut generators
- virtual void setupCutGenerators(CbcModel & model) = 0;
- /// Setup heuristics
- virtual void setupHeuristics(CbcModel & model) = 0;
- /// Do printing stuff
- virtual void setupPrinting(CbcModel & model, int modelLogLevel) = 0;
- /// Other stuff e.g. strong branching and preprocessing
- virtual void setupOther(CbcModel & model) = 0;
- /// Set model depth (i.e. how nested)
- inline void setNested(int depth) {
- depth_ = depth;
- }
- /// Get model depth (i.e. how nested)
- inline int getNested() const {
- return depth_;
- }
- /// Say preProcessing done
- inline void setPreProcessState(int state) {
- preProcessState_ = state;
- }
- /// See what sort of preprocessing was done
- inline int preProcessState() const {
- return preProcessState_;
- }
- /// Pre-processing object
- inline CglPreProcess * process() const {
- return process_;
- }
- /// Delete pre-processing object to save memory
- void deletePreProcess();
- /// Return a new Full node information pointer (descendant of CbcFullNodeInfo)
- virtual CbcNodeInfo * fullNodeInfo(CbcModel * model, int numberRowsAtContinuous) const;
- /// Return a new Partial node information pointer (descendant of CbcPartialNodeInfo)
- virtual CbcNodeInfo * partialNodeInfo(CbcModel * model, CbcNodeInfo * parent, CbcNode * owner,
- int numberChangedBounds, const int * variables,
- const double * boundChanges,
- const CoinWarmStartDiff *basisDiff) const;
- /// Create C++ lines to get to current state
- virtual void generateCpp( FILE * ) {}
- /** After a CbcModel::resolve this can return a status
- -1 no effect
- 0 treat as optimal
- 1 as 0 but do not do any more resolves (i.e. no more cuts)
- 2 treat as infeasible
- */
- virtual int status(CbcModel * model, CbcNodeInfo * parent, int whereFrom);
-private:
-
- /// Illegal Assignment operator
- CbcStrategy & operator=(const CbcStrategy& rhs);
-protected:
- // Data
- /// Model depth
- int depth_;
- /** PreProcessing state -
- -1 infeasible
- 0 off
- 1 was done (so need post-processing)
- */
- int preProcessState_;
- /// If preprocessing then this is object
- CglPreProcess * process_;
-};
-
-/** Null class
- */
-
-class CbcStrategyNull : public CbcStrategy {
-public:
-
- // Default Constructor
- CbcStrategyNull () {}
-
- // Copy constructor
- CbcStrategyNull ( const CbcStrategyNull & rhs) : CbcStrategy(rhs) {}
-
- // Destructor
- ~CbcStrategyNull () {}
-
- /// Clone
- virtual CbcStrategy * clone() const {
- return new CbcStrategyNull(*this);
- }
-
- /// Setup cut generators
- virtual void setupCutGenerators(CbcModel & ) {}
- /// Setup heuristics
- virtual void setupHeuristics(CbcModel & ) {}
- /// Do printing stuff
- virtual void setupPrinting(CbcModel & , int ) {}
- /// Other stuff e.g. strong branching
- virtual void setupOther(CbcModel & ) {}
-
-protected:
- // Data
-private:
- /// Illegal Assignment operator
- CbcStrategyNull & operator=(const CbcStrategyNull& rhs);
-};
-
-/** Default class
- */
-
-class CbcStrategyDefault : public CbcStrategy {
-public:
-
- // Default Constructor
- CbcStrategyDefault (int cutsOnlyAtRoot = 1,
- int numberStrong = 5,
- int numberBeforeTrust = 0,
- int printLevel = 0);
-
- // Copy constructor
- CbcStrategyDefault ( const CbcStrategyDefault &);
-
- // Destructor
- ~CbcStrategyDefault ();
-
- /// Clone
- virtual CbcStrategy * clone() const;
-
- /// Setup cut generators
- virtual void setupCutGenerators(CbcModel & model);
- /// Setup heuristics
- virtual void setupHeuristics(CbcModel & model);
- /// Do printing stuff
- virtual void setupPrinting(CbcModel & model, int modelLogLevel) ;
- /// Other stuff e.g. strong branching
- virtual void setupOther(CbcModel & model);
- /// Set up preProcessing - see below
- inline void setupPreProcessing(int desired = 1, int passes = 10) {
- desiredPreProcess_ = desired;
- preProcessPasses_ = passes;
- }
- /// See what sort of preprocessing wanted
- inline int desiredPreProcess() const {
- return desiredPreProcess_;
- }
- /// See how many passes wanted
- inline int preProcessPasses() const {
- return preProcessPasses_;
- }
- /// Create C++ lines to get to current state
- virtual void generateCpp( FILE * fp) ;
-
-protected:
- // Data
-
- // Whether to do cuts only at root (-1 -> switch off totally)
- int cutsOnlyAtRoot_;
-
- // How much strong branching to do
- int numberStrong_;
-
- // Number branches needed to trust with dynamic pseudo costs
- int numberBeforeTrust_;
-
- // Print level 0 little, 1 medium
- int printLevel_;
-
- /** Desired pre-processing
- 0 - none
- 1 - ordinary
- 2 - find sos
- 3 - find cliques
- 4 - more aggressive sos
- 5 - add integer slacks
- */
- int desiredPreProcess_;
- /// Number of pre-processing passes
- int preProcessPasses_;
-
-private:
- /// Illegal Assignment operator
- CbcStrategyDefault & operator=(const CbcStrategyDefault& rhs);
-};
-
-
-/** Default class for sub trees
- */
-
-class CbcStrategyDefaultSubTree : public CbcStrategy {
-public:
-
- // Default Constructor
- CbcStrategyDefaultSubTree (CbcModel * parent = NULL, int cutsOnlyAtRoot = 1,
- int numberStrong = 5,
- int numberBeforeTrust = 0,
- int printLevel = 0);
-
- // Copy constructor
- CbcStrategyDefaultSubTree ( const CbcStrategyDefaultSubTree &);
-
- // Destructor
- ~CbcStrategyDefaultSubTree ();
-
- /// Clone
- virtual CbcStrategy * clone() const;
-
- /// Setup cut generators
- virtual void setupCutGenerators(CbcModel & model);
- /// Setup heuristics
- virtual void setupHeuristics(CbcModel & model);
- /// Do printing stuff
- virtual void setupPrinting(CbcModel & model, int modelLogLevel) ;
- /// Other stuff e.g. strong branching
- virtual void setupOther(CbcModel & model);
-protected:
- // Data
- // Parent model
- CbcModel * parentModel_;
- // Whether to do cuts only at root (-1 -> switch off totally)
- int cutsOnlyAtRoot_;
-
- // How much strong branching to do
- int numberStrong_;
-
- // Number branches needed to trust with dynamic pseudo costs
- int numberBeforeTrust_;
-
- // Print level 0 little, 1 medium
- int printLevel_;
-
-private:
- /// Illegal Assignment operator
- CbcStrategyDefaultSubTree & operator=(const CbcStrategyDefaultSubTree& rhs);
-};
-
-
-#endif
-