summaryrefslogtreecommitdiff
path: root/newstructure/thirdparty/linux/include/coin/BonOaFeasChecker.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/BonOaFeasChecker.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/BonOaFeasChecker.hpp')
-rw-r--r--newstructure/thirdparty/linux/include/coin/BonOaFeasChecker.hpp73
1 files changed, 73 insertions, 0 deletions
diff --git a/newstructure/thirdparty/linux/include/coin/BonOaFeasChecker.hpp b/newstructure/thirdparty/linux/include/coin/BonOaFeasChecker.hpp
new file mode 100644
index 0000000..5ef8c14
--- /dev/null
+++ b/newstructure/thirdparty/linux/include/coin/BonOaFeasChecker.hpp
@@ -0,0 +1,73 @@
+// (C) Copyright International Business Machines 2006
+// All Rights Reserved.
+// This code is published under the Eclipse Public License.
+//
+// Authors :
+// P. Bonami, Carnegie Mellon University
+//
+// Date : 12/26/2006
+
+
+#ifndef BonOaFeasibilityChecker_HPP
+#define BonOaFeasibilityChecker_HPP
+#include "BonOaDecBase.hpp"
+
+namespace Bonmin
+{
+ /** Class to perform OA in its classical form.*/
+ class OaFeasibilityChecker : public OaDecompositionBase
+ {
+ public:
+ /// New usefull constructor
+ OaFeasibilityChecker(BabSetupBase &b);
+ /// Copy constructor
+ OaFeasibilityChecker(const OaFeasibilityChecker &copy)
+ :
+ OaDecompositionBase(copy),
+ pol_(copy.pol_),
+ type_(copy.type_),
+ cut_count_(copy.cut_count_),
+ maximum_oa_cuts_(copy.maximum_oa_cuts_)
+ {}
+ /// Destructor
+ ~OaFeasibilityChecker();
+
+ /** Register OA options.*/
+ static void registerOptions(Ipopt::SmartPtr<Bonmin::RegisteredOptions> roptions);
+
+ virtual CglCutGenerator * clone() const
+ {
+ return new OaFeasibilityChecker(*this);
+ }
+ protected:
+ /// virtual method which performs the OA algorithm by modifying lp and nlp.
+ virtual double performOa(OsiCuts & cs, solverManip &lpManip,
+ BabInfo * babInfo, double &cutoff, const CglTreeInfo & info) const;
+ /// virutal method to decide if local search is performed
+ virtual bool doLocalSearch(BabInfo * babInfo) const
+ {
+ return 0;
+ }
+
+ /** See documentation for feas_check_discard_policy option.*/
+ enum CutsPolicies {
+ DetectCycles = 0,
+ KeepAll,
+ TreatAsNormal};
+ /** Policy for keeping cuts.*/
+ CutsPolicies pol_;
+
+ /** See documentation for feas_check_cut_types option.*/
+ enum CutsTypes {
+ OA = 0,
+ Benders};
+ /** Type of cuts.*/
+ CutsTypes type_;
+
+ /** Count the total number of cuts generated.*/
+ mutable unsigned int cut_count_;
+ /** maximum number of OA cuts.*/
+ unsigned int maximum_oa_cuts_;
+ };
+}
+#endif