Clp
1.17.11
Toggle main menu visibility
Loading...
Searching...
No Matches
Clp
src
ClpPEDualRowSteepest.hpp
Go to the documentation of this file.
1
// Copyright (C) 2002, International Business Machines
2
// Corporation and others. All Rights Reserved.
3
/*
4
Authors
5
6
Jeremy Omer
7
8
Last update: april 10, 2015
9
10
*/
11
12
#ifndef ClpPEDualRowSteepest_H
13
#define ClpPEDualRowSteepest_H
14
15
#include "
ClpDualRowSteepest.hpp
"
16
#include "
ClpPESimplex.hpp
"
17
class
CoinIndexedVector;
18
19
//#############################################################################
20
26
27
class
ClpPEDualRowSteepest
:
public
ClpDualRowSteepest
{
28
29
public
:
37
ClpPEDualRowSteepest
(
double
psi
= 0.5,
int
mode
= 3);
38
40
ClpPEDualRowSteepest
(
const
ClpPEDualRowSteepest
&);
41
43
ClpPEDualRowSteepest
&
operator=
(
const
ClpPEDualRowSteepest
&rhs);
44
46
virtual
~ClpPEDualRowSteepest
();
47
49
virtual
ClpDualRowPivot
*
clone
(
bool
copyData =
true
)
const
;
50
51
public
:
53
54
56
virtual
int
pivotRow
();
57
61
virtual
void
saveWeights
(
ClpSimplex
*
model
,
int
mode
);
67
virtual
void
updatePrimalSolution
(CoinIndexedVector *input,
68
double
theta,
69
double
&changeInObjective);
71
72
// Psi
73
inline
double
psi
()
const
74
{
75
return
psi_
;
76
}
77
78
//---------------------------------------------------------------------------
79
80
private
:
81
/* this PESimplex object is used to identify the compatible variables */
82
ClpPESimplex
*
modelPE_
;
83
84
/* psi is the factor used in the bi-dimensional pricing, it is < 1 and
85
1/psi grows with the priority given to compatible variables */
86
double
psi_
;
87
88
/* useful counters for the update of the set of compatible variables */
89
int
iCurrent_
;
90
int
iInterval_
;
91
92
/* record if previous iterations concluded that compatibles should not be checked */
93
bool
updateCompatibles_
;
94
int
coDegenCompatibles_
,
coConsecutiveCompatibles_
;
95
};
96
97
#endif
98
99
/* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
100
*/
ClpDualRowSteepest.hpp
ClpPESimplex.hpp
ClpDualRowPivot::model
ClpSimplex * model()
Returns model.
Definition
ClpDualRowPivot.hpp:100
ClpDualRowPivot::ClpDualRowPivot
ClpDualRowPivot()
Default Constructor.
ClpDualRowSteepest::ClpDualRowSteepest
ClpDualRowSteepest(int mode=3)
Default Constructor 0 is uninitialized, 1 full, 2 is partial uninitialized, 3 starts as 2 but may swi...
ClpDualRowSteepest::mode
int mode() const
Mode.
Definition
ClpDualRowSteepest.hpp:109
ClpPEDualRowSteepest::updatePrimalSolution
virtual void updatePrimalSolution(CoinIndexedVector *input, double theta, double &changeInObjective)
Updates primal solution (and maybe list of candidates) Uses input vector which it deletes Computes ch...
ClpPEDualRowSteepest::psi_
double psi_
Definition
ClpPEDualRowSteepest.hpp:86
ClpPEDualRowSteepest::pivotRow
virtual int pivotRow()
Returns pivot row, -1 if none.
ClpPEDualRowSteepest::~ClpPEDualRowSteepest
virtual ~ClpPEDualRowSteepest()
Destructor.
ClpPEDualRowSteepest::updateCompatibles_
bool updateCompatibles_
Definition
ClpPEDualRowSteepest.hpp:93
ClpPEDualRowSteepest::ClpPEDualRowSteepest
ClpPEDualRowSteepest(const ClpPEDualRowSteepest &)
Copy constructor.
ClpPEDualRowSteepest::operator=
ClpPEDualRowSteepest & operator=(const ClpPEDualRowSteepest &rhs)
Assignment operator.
ClpPEDualRowSteepest::modelPE_
ClpPESimplex * modelPE_
Definition
ClpPEDualRowSteepest.hpp:82
ClpPEDualRowSteepest::psi
double psi() const
Definition
ClpPEDualRowSteepest.hpp:73
ClpPEDualRowSteepest::clone
virtual ClpDualRowPivot * clone(bool copyData=true) const
Clone.
ClpPEDualRowSteepest::saveWeights
virtual void saveWeights(ClpSimplex *model, int mode)
Save weights - this may initialize weights as well This is as parent but may initialize ClpPESimplex.
ClpPEDualRowSteepest::iInterval_
int iInterval_
Definition
ClpPEDualRowSteepest.hpp:90
ClpPEDualRowSteepest::coDegenCompatibles_
int coDegenCompatibles_
Definition
ClpPEDualRowSteepest.hpp:94
ClpPEDualRowSteepest::ClpPEDualRowSteepest
ClpPEDualRowSteepest(double psi=0.5, int mode=3)
Default Constructor mode: 0 is uninitialized, 1 full, 2 is partial uninitialized, 3 starts as 2 but m...
ClpPEDualRowSteepest::coConsecutiveCompatibles_
int coConsecutiveCompatibles_
Definition
ClpPEDualRowSteepest.hpp:94
ClpPEDualRowSteepest::iCurrent_
int iCurrent_
Definition
ClpPEDualRowSteepest.hpp:89
ClpPESimplex
BASE CLASS FOR THE IMPROVED SIMPLEX.
Definition
ClpPESimplex.hpp:42
ClpSimplex
This solves LPs using the simplex method.
Definition
ClpSimplex.hpp:106
Generated by
1.17.0