Scippy

SoPlex

Sequential object-oriented simPlex

spxsteepexpr.h
Go to the documentation of this file.
1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2 /* */
3 /* This file is part of the class library */
4 /* SoPlex --- the Sequential object-oriented simPlex. */
5 /* */
6 /* Copyright (C) 1996-2022 Konrad-Zuse-Zentrum */
7 /* fuer Informationstechnik Berlin */
8 /* */
9 /* SoPlex is distributed under the terms of the ZIB Academic Licence. */
10 /* */
11 /* You should have received a copy of the ZIB Academic License */
12 /* along with SoPlex; see the file COPYING. If not email to soplex@zib.de. */
13 /* */
14 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15 
16 
17 /**@file spxsteepexpr.h
18  * @brief Steepest edge pricer with exact initialization of weights.
19  */
20 #ifndef _SPXSTEEPEXPR_H_
21 #define _SPXSTEEPEXPR_H_
22 
23 
24 #include <assert.h>
25 
26 #include "soplex/spxdefines.h"
27 #include "soplex/spxsteeppr.h"
28 
29 namespace soplex
30 {
31 
32 /**@brief Steepest edge pricer.
33  @ingroup Algo
34 
35  Class SPxSteepExPR implements a steepest edge pricer to be used with
36  SoPlex. Exact initialization of weights is used.
37 
38  See SPxPricer for a class documentation.
39 */
40 template <class R>
41 class SPxSteepExPR : public SPxSteepPR<R>
42 {
43 
44 public:
45 
46  //-------------------------------------
47  /**@name Construction / destruction */
48  ///@{
49  ///
51  : SPxSteepPR<R>("SteepEx", SPxSteepPR<R>::EXACT)
52  {
53  assert(this->isConsistent());
54  }
55  /// copy constructor
57  : SPxSteepPR<R>(old)
58  {
59  assert(this->isConsistent());
60  }
61  /// assignment operator
63  {
64  if(this != &rhs)
65  {
67 
68  assert(this->isConsistent());
69  }
70 
71  return *this;
72  }
73  /// destructor
74  virtual ~SPxSteepExPR()
75  {}
76  /// clone function for polymorphism
77  inline virtual SPxSteepPR<R>* clone() const
78  {
79  return new SPxSteepExPR(*this);
80  }
81  ///@}
82 };
83 
84 } // namespace soplex
85 
86 #include "spxsteeppr.hpp"
87 
88 #endif // _SPXSTEEPPR_H_
virtual ~SPxSteepExPR()
destructor
Definition: spxsteepexpr.h:74
Steepest edge pricer.Class SPxSteepExPR implements a steepest edge pricer to be used with SoPlex...
Definition: spxsteepexpr.h:41
SPxSteepPR & operator=(const SPxSteepPR &rhs)
assignment operator
Definition: spxsteeppr.h:143
Steepest edge pricer.
SPxSteepExPR(const SPxSteepExPR &old)
copy constructor
Definition: spxsteepexpr.h:56
starting with exactly computed values
Definition: spxsteeppr.h:56
SPxSteepExPR & operator=(const SPxSteepExPR &rhs)
assignment operator
Definition: spxsteepexpr.h:62
Debugging, floating point type and parameter definitions.
Everything should be within this namespace.
virtual bool isConsistent() const
virtual SPxSteepPR< R > * clone() const
clone function for polymorphism
Definition: spxsteepexpr.h:77
Steepest edge pricer.Class SPxSteepPR implements a steepest edge pricer to be used with SoPlex...
Definition: spxsteeppr.h:42