summaryrefslogtreecommitdiff
path: root/build/Bonmin/include/coin/BonLinearCutsGenerator.hpp
diff options
context:
space:
mode:
authorHarpreet2016-08-04 15:25:44 +0530
committerHarpreet2016-08-04 15:25:44 +0530
commit9fd2976931c088dc523974afb901e96bad20f73c (patch)
tree22502de6e6988d5cd595290d11266f8432ad825b /build/Bonmin/include/coin/BonLinearCutsGenerator.hpp
downloadFOSSEE-Optim-toolbox-development-9fd2976931c088dc523974afb901e96bad20f73c.tar.gz
FOSSEE-Optim-toolbox-development-9fd2976931c088dc523974afb901e96bad20f73c.tar.bz2
FOSSEE-Optim-toolbox-development-9fd2976931c088dc523974afb901e96bad20f73c.zip
initial add
Diffstat (limited to 'build/Bonmin/include/coin/BonLinearCutsGenerator.hpp')
-rw-r--r--build/Bonmin/include/coin/BonLinearCutsGenerator.hpp75
1 files changed, 75 insertions, 0 deletions
diff --git a/build/Bonmin/include/coin/BonLinearCutsGenerator.hpp b/build/Bonmin/include/coin/BonLinearCutsGenerator.hpp
new file mode 100644
index 0000000..4c80719
--- /dev/null
+++ b/build/Bonmin/include/coin/BonLinearCutsGenerator.hpp
@@ -0,0 +1,75 @@
+// (C) Copyright International Business Machines Corporation 2007
+// All Rights Reserved.
+// This code is published under the Eclipse Public License.
+//
+// Authors :
+// Pierre Bonami, International Business Machines Corporation
+//
+// Date : 10/06/2007
+
+#ifndef BonLinearCutsGenerator_H
+#define BonLinearCutsGenerator_H
+
+#include "CglCutGenerator.hpp"
+#include "CoinSmartPtr.hpp"
+#include "BonOuterApprox.hpp"
+#include "BonBonminSetup.hpp"
+#include <list>
+
+namespace Bonmin {
+class LinearCutsGenerator : public CglCutGenerator {
+ public:
+ /** Type for cut generation method with its frequency and string identification. */
+ struct CuttingMethod : public Coin::ReferencedObject
+ {
+ int frequency;
+ std::string id;
+ CglCutGenerator * cgl;
+ bool atSolution;
+ bool normal;
+ CuttingMethod():
+ atSolution(false),
+ normal(true)
+ {}
+
+ CuttingMethod(const CuttingMethod & other):
+ frequency(other.frequency),
+ id(other.id),
+ cgl(other.cgl),
+ atSolution(other.atSolution),
+ normal(other.normal)
+ {}
+ };
+ LinearCutsGenerator():
+ CglCutGenerator(),
+ methods_(){
+ }
+
+
+ LinearCutsGenerator(const LinearCutsGenerator & other):
+ CglCutGenerator(other),
+ methods_(other.methods_){
+ }
+
+ CglCutGenerator * clone() const {
+ return new LinearCutsGenerator(*this);
+ }
+
+ virtual ~LinearCutsGenerator(){
+ }
+
+ bool needsOptimalBasis() { return false;}
+
+ void initialize(BabSetupBase& s);
+
+ void generateCuts(const OsiSolverInterface &solver, OsiCuts &cs,
+ const CglTreeInfo info = CglTreeInfo());
+
+ private:
+ std::list<Coin::SmartPtr<CuttingMethod> > methods_;
+};
+
+}/* Ends Bonmin namespace.*/
+
+#endif
+