Use LBFGS_LINESEARCH_BACKTRACKING_STRONG instead of LBFGS_LINESEARCH_BACKTRACKING.
git-svn-id: file:///home/svnrepos/software/liblbfgs/trunk@45 ecf4c44f-38d1-4fa4-9757-a0b4dd0349fc
This commit is contained in:
parent
1cae453cca
commit
1b33e075df
@ -153,9 +153,9 @@ enum {
|
||||
/** MoreThuente method proposd by More and Thuente. */
|
||||
LBFGS_LINESEARCH_MORETHUENTE = 0,
|
||||
/** Backtracking method with strong Wolfe condition. */
|
||||
LBFGS_LINESEARCH_BACKTRACKING,
|
||||
LBFGS_LINESEARCH_BACKTRACKING_STRONG,
|
||||
/** Backtracking method with regular Wolfe condition. */
|
||||
LBFGS_LINESEARCH_BACKTRACKING_LOOSE,
|
||||
LBFGS_LINESEARCH_BACKTRACKING,
|
||||
};
|
||||
|
||||
/**
|
||||
@ -538,9 +538,9 @@ libLBFGS is distributed under the term of the
|
||||
- Version 1.6 (2008-11-02):
|
||||
- Improved line-search algorithm with strong Wolfe condition, which was
|
||||
contributed by Takashi Imamichi. This routine is now default for
|
||||
::LBFGS_LINESEARCH_BACKTRACKING. The previous line search algorithm
|
||||
::LBFGS_LINESEARCH_BACKTRACKING_STRONG. The previous line search algorithm
|
||||
with regular Wolfe condition is still available as
|
||||
::LBFGS_LINESEARCH_BACKTRACKING_LOOSE.
|
||||
::LBFGS_LINESEARCH_BACKTRACKING.
|
||||
- Configurable stop index for L1-norm computation. A member variable
|
||||
::lbfgs_parameter_t::orthantwise_end was added to specify the index
|
||||
number at which the library stops computing the L1 norm of the
|
||||
@ -563,7 +563,7 @@ libLBFGS is distributed under the term of the
|
||||
- Configurable line search algorithms. A member variable
|
||||
::lbfgs_parameter_t::linesearch was added to choose either MoreThuente
|
||||
method (::LBFGS_LINESEARCH_MORETHUENTE) or backtracking algorithm
|
||||
(::LBFGS_LINESEARCH_BACKTRACKING).
|
||||
(::LBFGS_LINESEARCH_BACKTRACKING_STRONG).
|
||||
- Fixed a bug: the previous version did not compute psuedo-gradients
|
||||
properly in the line search routines for OWL-QN. This bug might quit
|
||||
an iteration process too early when the OWL-QN routine was activated
|
||||
|
@ -362,9 +362,7 @@ int lbfgs(
|
||||
linesearch = line_search_morethuente;
|
||||
break;
|
||||
case LBFGS_LINESEARCH_BACKTRACKING:
|
||||
linesearch = line_search_backtracking;
|
||||
break;
|
||||
case LBFGS_LINESEARCH_BACKTRACKING_LOOSE:
|
||||
case LBFGS_LINESEARCH_BACKTRACKING_STRONG:
|
||||
linesearch = line_search_backtracking;
|
||||
break;
|
||||
default:
|
||||
@ -756,7 +754,7 @@ static int line_search_backtracking(
|
||||
if (*f <= finit + *stp * dgtest) {
|
||||
/* The sufficient decrease condition. */
|
||||
|
||||
if (param->linesearch == LBFGS_LINESEARCH_BACKTRACKING) {
|
||||
if (param->linesearch == LBFGS_LINESEARCH_BACKTRACKING_STRONG) {
|
||||
/* Check the strong Wolfe condition. */
|
||||
vecdot(&dg, g, s, n);
|
||||
if (dg > -wolfe * dginit) {
|
||||
|
@ -65,7 +65,7 @@ int main(int argc, char *argv)
|
||||
/* Initialize the parameters for the L-BFGS optimization. */
|
||||
lbfgs_parameter_init(¶m);
|
||||
param.orthantwise_c = 1;
|
||||
/* param.linesearch = LBFGS_LINESEARCH_BACKTRACKING; */
|
||||
/* param.linesearch = LBFGS_LINESEARCH_BACKTRACKING_STRONG; */
|
||||
|
||||
/*
|
||||
Start the L-BFGS optimization; this will invoke the callback functions
|
||||
|
Loading…
Reference in New Issue
Block a user