BALL
1.5.0
Loading...
Searching...
No Matches
include
BALL
MOLMEC
MINIMIZATION
lineSearch.h
Go to the documentation of this file.
1
// -*- Mode: C++; tab-width: 2; -*-
2
// vi: set ts=2:
3
//
4
// $Id: lineSearch.h,v 1.20.18.3 2007/08/07 09:12:34 aleru Exp $
5
//
6
7
// Line Search Minimizer: A special class for the line search minimization algorithm
8
9
#ifndef BALL_MOLMEC_MINIMIZATION_LINESEARCH_H
10
#define BALL_MOLMEC_MINIMIZATION_LINESEARCH_H
11
12
#ifndef BALL_COMMON_H
13
# include <
BALL/common.h
>
14
#endif
15
16
namespace
BALL
17
{
18
class
EnergyMinimizer
;
19
32
class
BALL_EXPORT
LineSearch
33
{
34
public
:
35
39
40
BALL_CREATE
(
LineSearch
)
41
42
44
LineSearch
();
45
48
LineSearch
(
EnergyMinimizer
& minimizer);
49
52
LineSearch
(const
LineSearch
& line_search);
53
56
virtual ~
LineSearch
() ;
57
59
62
65
const
LineSearch
& operator=(const
LineSearch
&
LineSearch
);
66
68
71
75
void
setAlpha
(
double
alpha);
76
80
void
setBeta
(
double
beta);
81
85
double
getAlpha
() const;
86
90
double
getBeta
() const;
91
94
Size
getMaxSteps
() const;
95
98
void
setMaxSteps
(
Size
steps);
99
103
void
setLowerBound
(
double
lbound);
104
107
double
getLowerBound
() const;
108
111
void
setXTol
(
double
xtol);
112
115
double
getXTol
() const;
116
124
void
setBracketedFlag
(
bool
bracktd);
125
130
bool
isBracketed
() const;
131
135
void
setMinimizer
(
EnergyMinimizer
& minimizer);
136
158
virtual
void
takeStep
(
double
&st_a,
double
&f_a,
double
&g_a,
double
&st_b,
double
&f_b,
159
double
&g_b,
double
&stp,
double
f,
double
g,
double
minstp,
double
maxstp);
160
162
165
195
virtual
bool
minimize
(
double
& stp,
bool
keep_gradient = false);
197
198
protected:
199
200
/*_ Parameter alpha for line search criterion.
201
*/
202
double
alpha_
;
203
204
/*_ Parameter beta for line search criterion.
205
*/
206
double
beta_
;
207
208
/*_ Parameter for the number of interpolation steps
209
*/
210
Size
max_steps_
;
211
212
/*_ Lower bound for energy values.
213
*/
214
double
lower_energy_bound_
;
215
216
/*_ Nonnegative relative tolerance for an acceptable step.
217
*/
218
double
stptol_
;
219
220
/*_ Specifies whether a minimizer has already been bracketed or not.
221
*/
222
bool
is_bracketed_
;
223
224
/*_ Calling minimizer class which provides the search direction among other things.
225
*/
226
EnergyMinimizer
*
minimizer_
;
227
228
};
229
230
}
// namespace BALL
231
232
#endif
// BALL_MOLMEC_MINIMIZATION/LINESEARCH_H
BALL_EXPORT
#define BALL_EXPORT
Definition
COMMON/global.h:50
BALL::EnergyMinimizer
Definition
energyMinimizer.h:30
BALL::LineSearch::setMinimizer
void setMinimizer(EnergyMinimizer &minimizer)
BALL::LineSearch::isBracketed
bool isBracketed() const
BALL::LineSearch::getBeta
double getBeta() const
BALL::LineSearch::beta_
double beta_
Definition
lineSearch.h:206
BALL::LineSearch::minimize
virtual bool minimize(double &stp, bool keep_gradient=false)
BALL::LineSearch::takeStep
virtual void takeStep(double &st_a, double &f_a, double &g_a, double &st_b, double &f_b, double &g_b, double &stp, double f, double g, double minstp, double maxstp)
BALL::LineSearch::getLowerBound
double getLowerBound() const
BALL::LineSearch::minimizer_
EnergyMinimizer * minimizer_
Definition
lineSearch.h:226
BALL::LineSearch::setBracketedFlag
void setBracketedFlag(bool bracktd)
BALL::LineSearch::getXTol
double getXTol() const
BALL::LineSearch::stptol_
double stptol_
Definition
lineSearch.h:218
BALL::LineSearch::getAlpha
double getAlpha() const
BALL::LineSearch::alpha_
double alpha_
Definition
lineSearch.h:202
BALL::LineSearch::lower_energy_bound_
double lower_energy_bound_
Definition
lineSearch.h:214
BALL::LineSearch::setAlpha
void setAlpha(double alpha)
BALL::LineSearch::setXTol
void setXTol(double xtol)
BALL::LineSearch::getMaxSteps
Size getMaxSteps() const
BALL::LineSearch::setLowerBound
void setLowerBound(double lbound)
BALL::LineSearch::LineSearch
LineSearch()
BALL::LineSearch::setMaxSteps
void setMaxSteps(Size steps)
BALL::LineSearch::is_bracketed_
bool is_bracketed_
Definition
lineSearch.h:222
BALL::LineSearch::setBeta
void setBeta(double beta)
BALL::LineSearch::max_steps_
Size max_steps_
Definition
lineSearch.h:210
common.h
BALL_CREATE
#define BALL_CREATE(name)
Definition
create.h:62
BALL
Definition
constants.h:13
BALL::Size
BALL_SIZE_TYPE Size
Definition
COMMON/global.h:114
Generated by
1.15.0