Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
opt
build
coinutils
coinutils-2.6.4
CoinUtils
src
CoinWarmStartDual.hpp
Go to the documentation of this file.
1
/* $Id: CoinWarmStartDual.hpp 1215 2009-11-05 11:03:04Z forrest $ */
2
// Copyright (C) 2000, International Business Machines
3
// Corporation and others. All Rights Reserved.
4
5
#ifndef CoinWarmStartDual_H
6
#define CoinWarmStartDual_H
7
8
#include "
CoinHelperFunctions.hpp
"
9
#include "
CoinWarmStart.hpp
"
10
#include "
CoinWarmStartVector.hpp
"
11
12
13
//#############################################################################
14
17
class
CoinWarmStartDual
:
public
virtual
CoinWarmStart
{
18
public
:
20
inline
int
size
()
const
{
return
dual_
.
size
(); }
22
inline
const
double
*
dual
()
const
{
return
dual_
.
values
(); }
23
27
inline
void
assignDual
(
int
size
,
double
*&
dual
)
28
{
dual_
.
assignVector
(size, dual); }
29
30
CoinWarmStartDual
() {}
31
32
CoinWarmStartDual
(
int
size
,
const
double
*
dual
) :
dual_
(size, dual) {}
33
34
CoinWarmStartDual
(
const
CoinWarmStartDual
& rhs) :
dual_
(rhs.
dual_
) {}
35
36
CoinWarmStartDual
&
operator=
(
const
CoinWarmStartDual
& rhs) {
37
if
(
this
!= &rhs) {
38
dual_
= rhs.
dual_
;
39
}
40
return
*
this
;
41
}
42
44
virtual
CoinWarmStart
*
clone
()
const
{
45
return
new
CoinWarmStartDual
(*
this
);
46
}
47
48
virtual
~CoinWarmStartDual
() {}
49
52
60
virtual
CoinWarmStartDiff
*
61
generateDiff
(
const
CoinWarmStart
*
const
oldCWS)
const
;
62
69
virtual
void
applyDiff
(
const
CoinWarmStartDiff
*
const
cwsdDiff) ;
70
71
#if 0
72
protected
:
73
inline
const
CoinWarmStartVector<double>
& warmStartVector()
const
{
return
dual_
; }
74
#endif
75
77
78
private
:
80
CoinWarmStartVector<double>
dual_
;
81
};
82
83
//#############################################################################
84
100
class
CoinWarmStartDualDiff
:
public
virtual
CoinWarmStartDiff
101
{
public
:
102
104
virtual
CoinWarmStartDiff
*
clone
()
const
105
{
106
return
new
CoinWarmStartDualDiff
(*
this
) ;
107
}
108
110
virtual
CoinWarmStartDualDiff
&
operator=
(
const
CoinWarmStartDualDiff
&rhs)
111
{
112
if
(
this
!= &rhs) {
113
diff_
= rhs.
diff_
;
114
}
115
return
*
this
;
116
}
117
119
virtual
~CoinWarmStartDualDiff
() {}
120
121
protected
:
122
129
CoinWarmStartDualDiff
() :
diff_
() {}
130
141
CoinWarmStartDualDiff
(
const
CoinWarmStartDualDiff
&rhs) :
142
diff_
(rhs.
diff_
) {}
143
144
private
:
145
146
friend
CoinWarmStartDiff
*
147
CoinWarmStartDual::generateDiff
(
const
CoinWarmStart
*
const
oldCWS)
const
;
148
friend
void
149
CoinWarmStartDual::applyDiff
(
const
CoinWarmStartDiff
*
const
diff) ;
150
152
CoinWarmStartDualDiff
(
int
sze,
const
unsigned
int
*
const
diffNdxs,
153
const
double
*
const
diffVals) :
154
diff_
(sze, diffNdxs, diffVals) {}
155
160
CoinWarmStartVectorDiff<double>
diff_
;
161
};
162
163
164
#endif
165
Generated on Tue Mar 1 2016 22:31:57 by
1.8.4