Files Classes Functions Hierarchy
#include <lineoptimizergold2.h>
Public Member Functions | |
| lineoptimizergold2 (LNPATH linepath_) | |
| ostream & | print (ostream &os) const |
| Printing the objects state. | |
| void | printstate () const |
| Print out the four consecutive positions and their values. | |
| void | reset (T const t0, T const t1) |
| Search interval initialized. | |
| void | resetInnerTwoPoints () |
| Do not re-evaluate the end points. | |
| void | operator++ () |
| One iteration of the line minimization algorithm. | |
| bool const | verify () const |
| Make sure the ti[ai[]] are consecutive (monotonic). | |
| T const | minimumrealize () |
| Realize the minimum state by setting xi to the lowest state. | |
Public Attributes | |
| LNPATH | linepath |
| This is a path in 1D though N dimensional space. | |
| T | ti [4] |
| The t values on the line correspond to index positions. | |
| T | fti [4] |
| The value of the function at the index position. | |
| uint | ai [4] |
| Indexes to vectors. | |
| T | lengthgold |
| Interval length*goldratio. | |
Static Public Attributes | |
| static T | goldratio |
| The client could assign the golden ratio themselves if needed. | |
A linear line minimization algorithm. The golden ratio is used to choose the next best interval point.
You can reuse the optimizer by writing to the direction and initial position and calling reset.
double d1[] = {0.0,1.0,1.0};
double x0[] = {0.0,0.0,0.0};
parab2 fn;
typedef linepathd1<parab2&,double*,double*,double> lpth;
lineoptimizergold2<lpth,double>
opt( lpth(3,fn,fn.xi,x0,d1) );
opt.reset(0.0,5.0);
for (uint i=0; i<10; ++i)
{
++opt;
opt.printstate();
}
Definition at line 47 of file lineoptimizergold2.h.
| lineoptimizergold2< LNPATH, T >::lineoptimizergold2 | ( | LNPATH | linepath_ | ) | [inline] |
| T const lineoptimizergold2< LNPATH, T >::minimumrealize | ( | ) |
Realize the minimum state by setting xi to the lowest state.
| void lineoptimizergold2< LNPATH, T >::operator++ | ( | ) |
One iteration of the line minimization algorithm.
Reimplemented in lineoptimizerparabola< LNPATH, T >.
| ostream& lineoptimizergold2< LNPATH, T >::print | ( | ostream & | os | ) | const |
| void lineoptimizergold2< LNPATH, T >::printstate | ( | ) | const |
Print out the four consecutive positions and their values.
| void lineoptimizergold2< LNPATH, T >::reset | ( | T const | t0, | |
| T const | t1 | |||
| ) |
Search interval initialized.
| void lineoptimizergold2< LNPATH, T >::resetInnerTwoPoints | ( | ) |
Do not re-evaluate the end points.
Generally for derived classes.
| bool const lineoptimizergold2< LNPATH, T >::verify | ( | ) | const |
Make sure the ti[ai[]] are consecutive (monotonic).
Referenced by lineoptimizergold2< LNPATH, T >::operator++().
| uint lineoptimizergold2< LNPATH, T >::ai[4] |
Indexes to vectors.
Definition at line 61 of file lineoptimizergold2.h.
Referenced by lineoptimizergold2< LNPATH, T >::operator++(), lineoptimizergold2< LNPATH, T >::print(), lineoptimizergold2< LNPATH, T >::printstate(), lineoptimizergold2< LNPATH, T >::reset(), lineoptimizergold2< LNPATH, T >::resetInnerTwoPoints(), and lineoptimizergold2< LNPATH, T >::verify().
| T lineoptimizergold2< LNPATH, T >::fti[4] |
The value of the function at the index position.
Definition at line 58 of file lineoptimizergold2.h.
Referenced by lineoptimizergold2< LNPATH, T >::minimumrealize(), lineoptimizergold2< LNPATH, T >::operator++(), lineoptimizergold2< LNPATH, T >::print(), lineoptimizergold2< LNPATH, T >::printstate(), lineoptimizergold2< LNPATH, T >::reset(), and lineoptimizergold2< LNPATH, T >::resetInnerTwoPoints().
T lineoptimizergold2< LNPATH, T >::goldratio [static] |
The client could assign the golden ratio themselves if needed.
Definition at line 67 of file lineoptimizergold2.h.
Referenced by lineoptimizergold2< LNPATH, T >::operator++(), lineoptimizergold2< LNPATH, T >::print(), lineoptimizergold2< LNPATH, T >::reset(), and lineoptimizergold2< LNPATH, T >::resetInnerTwoPoints().
| T lineoptimizergold2< LNPATH, T >::lengthgold |
Interval length*goldratio.
Definition at line 64 of file lineoptimizergold2.h.
Referenced by lineoptimizergold2< LNPATH, T >::operator++(), lineoptimizergold2< LNPATH, T >::reset(), and lineoptimizergold2< LNPATH, T >::resetInnerTwoPoints().
| LNPATH lineoptimizergold2< LNPATH, T >::linepath |
This is a path in 1D though N dimensional space.
Definition at line 52 of file lineoptimizergold2.h.
Referenced by lineoptimizergold2< LNPATH, T >::minimumrealize(), lineoptimizergold2< LNPATH, T >::operator++(), lineoptimizergold2< LNPATH, T >::reset(), and lineoptimizergold2< LNPATH, T >::resetInnerTwoPoints().
| T lineoptimizergold2< LNPATH, T >::ti[4] |
The t values on the line correspond to index positions.
Definition at line 55 of file lineoptimizergold2.h.
Referenced by lineoptimizergold2< LNPATH, T >::minimumrealize(), lineoptimizergold2< LNPATH, T >::operator++(), lineoptimizergold2< LNPATH, T >::print(), lineoptimizergold2< LNPATH, T >::printstate(), lineoptimizergold2< LNPATH, T >::reset(), lineoptimizergold2< LNPATH, T >::resetInnerTwoPoints(), and lineoptimizergold2< LNPATH, T >::verify().
1.5.8