summaryrefslogtreecommitdiff
path: root/newstructure/thirdparty/linux/include/coin/CglLandPValidator.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'newstructure/thirdparty/linux/include/coin/CglLandPValidator.hpp')
-rw-r--r--newstructure/thirdparty/linux/include/coin/CglLandPValidator.hpp130
1 files changed, 0 insertions, 130 deletions
diff --git a/newstructure/thirdparty/linux/include/coin/CglLandPValidator.hpp b/newstructure/thirdparty/linux/include/coin/CglLandPValidator.hpp
deleted file mode 100644
index b9e363d..0000000
--- a/newstructure/thirdparty/linux/include/coin/CglLandPValidator.hpp
+++ /dev/null
@@ -1,130 +0,0 @@
-// Copyright (C) 2005-2009, Pierre Bonami and others. All Rights Reserved.
-// Author: Pierre Bonami
-// Tepper School of Business
-// Carnegie Mellon University, Pittsburgh, PA 15213
-// Date: 11/22/05
-//
-// $Id: CglLandPValidator.hpp 1302 2015-08-14 15:48:32Z stefan $
-//
-// This code is licensed under the terms of the Eclipse Public License (EPL).
-//---------------------------------------------------------------------------
-
-#ifndef CglLandPValidator_H
-#define CglLandPValidator_H
-#include "OsiSolverInterface.hpp"
-#include "CglParam.hpp"
-#include <vector>
-
-/** constants describing rejection codes*/
-//[5] = {"Accepted", "violation too small", "small coefficient too small", "big dynamic","too dense"}
-
-
-namespace LAP
-{
-
-/** Class to validate or reject a cut */
-class Validator
-{
-public:
- /** Reasons for rejecting a cut */
- enum RejectionsReasons
- {
- NoneAccepted=0 /**Cut was accepted*/,
- SmallViolation /** Violation of the cut is too small */,
- SmallCoefficient /** There is a small coefficient we can not get rid off.*/,
- BigDynamic /** Dynamic of coefficinet is too important. */,
- DenseCut/**cut is too dense */,
- EmptyCut/**After cleaning cut has become empty*/,
- DummyEnd/** dummy*/
- };
-
- /** Constructor with default values */
- Validator(double maxFillIn = 1.,
- double maxRatio = 1e8,
- double minViolation = 0,
- bool scale = false,
- double rhsScale = 1);
-
- /** Clean an OsiCut */
- int cleanCut(OsiRowCut & aCut, const double * solCut,const OsiSolverInterface &si, const CglParam & par,
- const double * colLower, const double * colUpper);
- /** Clean an OsiCut by another method */
- int cleanCut2(OsiRowCut & aCut, const double * solCut, const OsiSolverInterface &si, const CglParam & par,
- const double * colLower, const double * colUpper);
- /** Call the cut cleaner */
- int operator()(OsiRowCut & aCut, const double * solCut,const OsiSolverInterface &si, const CglParam & par,
- const double * colLower, const double * colUpper)
- {
- return cleanCut(aCut, solCut, si, par, colLower, colUpper);
- }
- /** @name set functions */
- /** @{ */
- void setMaxFillIn(double value)
- {
- maxFillIn_ = value;
- }
- void setMaxRatio(double value)
- {
- maxRatio_ = value;
- }
- void setMinViolation(double value)
- {
- minViolation_ = value;
- }
-
- void setRhsScale(double v)
- {
- rhsScale_ = v;
- }
- /** @} */
- /** @name get functions */
- /** @{ */
- double getMaxFillIn()
- {
- return maxFillIn_;
- }
- double getMaxRatio()
- {
- return maxRatio_;
- }
- double getMinViolation()
- {
- return minViolation_;
- }
- /** @} */
-
- const char* failureString(RejectionsReasons code) const
- {
- return rejections_[static_cast<int> (code)];
- }
- const char* failureString(int code) const
- {
- return rejections_[ code];
- }
- int numRejected(RejectionsReasons code)const
- {
- return numRejected_[static_cast<int> (code)];
- }
- int numRejected(int code)const
- {
- return numRejected_[ code];
- }
-private:
- /** max percentage of given formulation fillIn should be accepted for cut fillin.*/
- double maxFillIn_;
- /** max ratio between smallest and biggest coefficient */
- double maxRatio_;
- /** minimum violation for accepting a cut */
- double minViolation_;
- /** Do we do scaling? */
- bool scale_;
- /** Scale of right-hand-side.*/
- double rhsScale_;
- /** Strings explaining reason for rejections */
- static const char* rejections_[DummyEnd];
- /** Number of cut rejected for each of the reasons.*/
- std::vector<int> numRejected_;
-};
-
-}/* Ends namespace LAP.*/
-#endif