summaryrefslogtreecommitdiff
path: root/newstructure/thirdparty/linux/include/coin/BonLinearCutsGenerator.hpp
diff options
context:
space:
mode:
authorHarpreet2016-09-03 00:34:27 +0530
committerHarpreet2016-09-03 00:34:27 +0530
commit4b64cf486f5c999fd8167758cae27839f3b50848 (patch)
treed9d06639fb7fa61aef59be0363655e4747105ec7 /newstructure/thirdparty/linux/include/coin/BonLinearCutsGenerator.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 'newstructure/thirdparty/linux/include/coin/BonLinearCutsGenerator.hpp')
-rw-r--r--newstructure/thirdparty/linux/include/coin/BonLinearCutsGenerator.hpp75
1 files changed, 75 insertions, 0 deletions
diff --git a/newstructure/thirdparty/linux/include/coin/BonLinearCutsGenerator.hpp b/newstructure/thirdparty/linux/include/coin/BonLinearCutsGenerator.hpp
new file mode 100644
index 0000000..4c80719
--- /dev/null
+++ b/newstructure/thirdparty/linux/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
+