Toggle navigation
SCIP Optimization Suite
SCIP
SoPlex
ZIMPL
UG
GCG
Documentation
SoPlex 6.0.3
SoPlex 5.0.2
SoPlex 4.0.2
SoPlex 3.1.0
SoPlex 3.0.1
SoPlex 2.2.1
SoPlex
Sequential object-oriented simPlex
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
soplex-repo
src
spxequilisc.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-2015 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
/**@file spxequilisc.h
17
* @brief LP euilibrium scaling.
18
*/
19
#ifndef _SPXEQUILISC_H_
20
#define _SPXEQUILISC_H_
21
22
#include <assert.h>
23
24
#include "
spxdefines.h
"
25
#include "
spxscaler.h
"
26
27
namespace
soplex
28
{
29
/**@brief Equilibrium row/column scaling.
30
@ingroup Algo
31
32
This SPxScaler implementation performs equilibrium scaling of the
33
LPs rows and columns.
34
*/
35
class
SPxEquiliSC
:
public
SPxScaler
36
{
37
public
:
38
39
//-------------------------------------
40
/**@name Construction / destruction */
41
//@{
42
/// default constructor (this scaler makes no use of inherited member m_colFirst)
43
explicit
SPxEquiliSC
(
bool
doBoth =
true
);
44
/// copy constructor
45
SPxEquiliSC
(
const
SPxEquiliSC
& old);
46
/// assignment operator
47
SPxEquiliSC
&
operator=
(
const
SPxEquiliSC
& );
48
/// destructor
49
virtual
~SPxEquiliSC
()
50
{}
51
/// clone function for polymorphism
52
inline
virtual
SPxScaler
*
clone
()
const
53
{
54
return
new
SPxEquiliSC
(*
this
);
55
}
56
//@}
57
58
//-------------------------------------
59
/**@name Scaling */
60
//@{
61
/// Scale the loaded SPxLP.
62
virtual
void
scale
(
SPxLP
& lp);
63
//@}
64
65
protected
:
66
67
//-------------------------------------
68
/**@name Protected helpers */
69
//@{
70
/// Does nothing but returning \p maxi.
71
virtual
Real
computeScale
(
Real
/*mini*/
,
Real
maxi)
const
;
72
//@}
73
74
};
75
}
// namespace soplex
76
#endif // _SPXEQUILISC_H_