1 #ifndef SimTK_SIMMATH_OPTIMIZER_REP_H_ 2 #define SimTK_SIMMATH_OPTIMIZER_REP_H_ 73 convergenceTolerance(
Real(1e-3)),
74 constraintTolerance(
Real(1e-4)),
76 limitedMemoryHistory(50),
81 numericalGradient(false),
82 numericalJacobian(false)
93 convergenceTolerance(
Real(1e-3)),
94 constraintTolerance(
Real(1e-4)),
96 limitedMemoryHistory(50),
101 numericalGradient(false),
102 numericalJacobian(false)
114 void setDiagnosticsLevel(
const int level );
115 void setConvergenceTolerance(
Real accuracy );
117 void setMaxIterations(
const int iter );
118 void setLimitedMemoryHistory(
const int history );
120 bool setAdvancedStrOption(
const std::string &option,
const std::string &value );
121 bool setAdvancedRealOption(
const std::string &option,
const Real value );
122 bool setAdvancedIntOption(
const std::string &option,
const int value );
123 bool setAdvancedBoolOption(
const std::string &option,
const bool value );
125 bool getAdvancedStrOption(
const std::string &option, std::string &value )
const;
126 bool getAdvancedRealOption(
const std::string &option,
Real &value )
const;
127 bool getAdvancedIntOption(
const std::string &option,
int &value )
const;
128 bool getAdvancedBoolOption(
const std::string &option,
bool &value )
const;
134 void useNumericalGradient(
bool flag,
Real objEstAccuracy);
135 void useNumericalJacobian(
bool flag,
Real consEstAccuracy);
142 {
return objectiveEstimatedAccuracy; }
144 {
return constraintsEstimatedAccuracy; }
160 static int numericalGradient_static(
const OptimizerSystem&,
const Vector & parameters,
const bool new_parameters,
Vector &gradient );
162 const Vector& parameters,
const bool new_parameters,
Matrix& jacobian );
170 static int objectiveFuncWrapper (
int n,
const Real*
x,
int new_x,
Real*
f,
void*
rep);
171 static int gradientFuncWrapper (
int n,
const Real* x,
int new_x,
Real* gradient,
void* rep);
172 static int constraintFuncWrapper(
int n,
const Real* x,
int new_x,
int m,
Real* g,
void* rep);
173 static int constraintJacobianWrapper(
int n,
const Real* x,
int new_x,
int m,
int nele_jac,
174 int* iRow,
int* jCol,
Real* values,
void* rep);
175 static int hessianWrapper(
int n,
const Real* x,
int new_x,
Real obj_factor,
176 int m,
Real* lambda,
int new_lambda,
177 int nele_hess,
int* iRow,
int* jCol,
178 Real* values,
void* rep);
191 bool numericalGradient;
192 bool numericalJacobian;
199 std::map<std::string, std::string> advancedStrOptions;
200 std::map<std::string, Real> advancedRealOptions;
201 std::map<std::string, int> advancedIntOptions;
202 std::map<std::string, bool> advancedBoolOptions;
211 OptimizerRep* clone()
const;
218 #endif // SimTK_SIMMATH_OPTIMIZER_REP_H_ FunctionRep * rep
Definition: Differentiator.h:175
Given a function f(y), where f, y or both can be vectors, calculate the derivative (gradient...
Definition: Differentiator.h:77
Real getEstimatedAccuracyOfConstraints() const
Definition: OptimizerRep.h:143
Definition: OptimizerRep.h:36
virtual int objectiveFunc(const Vector ¶meters, bool new_parameters, Real &f) const
Objective/cost function which is to be optimized; return 0 when successful.
Definition: Optimizer.h:98
void clearMyHandle()
Definition: OptimizerRep.h:132
GradientFunction(int ny=-1, Real acc=-1)
Real constraintsEstimatedAccuracy
Definition: OptimizerRep.h:187
Real constraintTolerance
Definition: OptimizerRep.h:182
API for SimTK Simmath's optimizers.
Definition: Optimizer.h:355
This is the top-level SimTK namespace into which all SimTK names are placed to avoid collision with o...
Definition: Assembler.h:37
Apache License January AND DISTRIBUTION Definitions License shall mean the terms and conditions for and distribution as defined by Sections through of this document Licensor shall mean the copyright owner or entity authorized by the copyright owner that is granting the License Legal Entity shall mean the union of the acting entity and all other entities that control are controlled by or are under common control with that entity For the purposes of this definition control direct or to cause the direction or management of such whether by contract or including but not limited to software source documentation and configuration files Object form shall mean any form resulting from mechanical transformation or translation of a Source including but not limited to compiled object generated and conversions to other media types Work shall mean the work of whether in Source or Object made available under the as indicated by a copyright notice that is included in or attached to the whether in Source or Object that is based or other modifications as a an original work of authorship For the purposes of this Derivative Works shall not include works that remain separable or merely the Work and Derivative Works thereof Contribution shall mean any work of including the original version of the Work and any modifications or additions to that Work or Derivative Works that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner For the purposes of this submitted means any form of or written communication sent to the Licensor or its including but not limited to communication on electronic mailing source code control and issue tracking systems that are managed or on behalf of
Definition: LICENSE.txt:44
int f(const Vector &y, Vector &fy) const
Definition: OptimizerRep.h:56
const Optimizer & getMyHandle() const
Definition: OptimizerRep.h:131
const OptimizerSystem * sysp
Definition: OptimizerRep.h:45
Definition: OptimizerRep.h:63
SimTK_Real Real
This is the default compiled-in floating point type for SimTK, either float or double.
Definition: SimTKcommon/include/SimTKcommon/internal/common.h:593
F Ю IС A7 Ю Ю Ж Е e2 Ь Н6 УJ џџџџ Алў ПЪ
8 q2 L F є F И Н6 F Н6 p IС IС Ю IС IС IС IС IС C7 C7 Ю IС IС IС IС IС IС IС џџџџ џџџџ џџџџ џџџџ џџџџ џџџџ џџџџ џџџџ џџџџ џџџџ џџџџ џџџџ џџџџ џџџџ џџџџ џџџџ џџџџ F IС IС IС IС IС IС IС IС IС т Michael Peter Eastman Permission is hereby free of to any person obtaining a copy of this to deal in the Document without including without limitation the rights to and or sell copies of the and to permit persons to whom the Document is furnished to do subject to the following WITHOUT WARRANTY OF ANY EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR ARISING OUT OF OR IN CONNECTION WITH THE DOCUMENT OR THE USE OR OTHER DEALINGS IN THE DOCUMENT Acknowledgment SimTK software and all related activities are funded by the HYPERLINK vectors and matrices PAGEREF _Toc251069768 h HYPERLINK l _Toc251069769 Linear algebra PAGEREF _Toc251069769 h HYPERLINK l _Toc251069770 Solving Linear Systems(SimTK::FactorLU)PAGEREF _Toc251069770\h5HYPERLINK\l"_Toc251069771"3.2 Linear Least Squares(SimTK otherwise the best guess is that tevent is in the middle of the window Finite width localization windows create a likelihood that multiple events will occur within the same window We cannot say with certainty in what order these events so for precise treatment they must be considered simultaneous If an approximate ordering is acceptable then the integrators tevent guesses can be used to order the events within the but even those may be identical for some and in any case the integrator cannot guarantee that the events actually occurred in the order they appear when sorted by estimated time of occurrence If more precise information is then the localization window must be made at the cost of increased computation time Once an event has been localized to an acceptable tolerance
Definition: SimmathUserGuide.doc:41
аЯ рЁБ с ўџ З Й ўџџџ Г Д Е Ж џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџьЅС ј П ч bjbjcTcT кй Г У Л t џџ џџ џџ З С K K K D џџџџ 2 ZЦ j J a n u a r y
Definition: Simmatrix.doc:5
Real convergenceTolerance
Definition: OptimizerRep.h:181
void setMyHandle(Optimizer &cp)
Definition: OptimizerRep.h:130
const Differentiator & getJacobianDifferentiator() const
Definition: OptimizerRep.h:151
Real getEstimatedAccuracyOfObjective() const
Definition: OptimizerRep.h:141
m
Definition: CMakeCache.txt:469
SysObjectiveFunc(int ny, const OptimizerSystem *sysPtr)
Definition: OptimizerRep.h:38
static bool isAvailable()
Definition: OptimizerRep.h:107
int maxIterations
Definition: OptimizerRep.h:183
Includes internal headers providing declarations for the basic SimTK Core classes, including Simmatrix.
int diagnosticsLevel
Definition: OptimizerRep.h:180
virtual OptimizerRep * clone() const
Definition: OptimizerRep.h:106
Real objectiveEstimatedAccuracy
Definition: OptimizerRep.h:186
OptimizerRep(const OptimizerSystem &sys)
Definition: OptimizerRep.h:66
int f(const Vector &y, Real &fy) const
Definition: OptimizerRep.h:42
Method
Definition: Differentiator.h:92
Definition: OptimizerRep.h:50
bool isUsingNumericalGradient() const
Definition: OptimizerRep.h:138
const OptimizerSystem * sysp
Definition: OptimizerRep.h:59
SysConstraintFunc(int nf, int ny, const OptimizerSystem *sysPtr)
Definition: OptimizerRep.h:52
int limitedMemoryHistory
Definition: OptimizerRep.h:184
OptimizerRep()
Definition: OptimizerRep.h:86
gјiЌтkDdёMV wfлaIJуtюц ЩAАйЉtџ1Л JљcA nrш S qо isІ3 уЏ ЇжЇ Ы ТгVфЦKф C д9Z У ЉD Ўq FxnЙцТ n єT ЉY Н< щ['ЖjdЛ< K JvTMЯH"ЋяОsђЫw>}љіo_Йљ
ЗoЖЃ?Ї zџШЎ'z:mЄІуЧV$ќКРyЁnаgЭџiлИJ{и хЩїTaК*АдdКВE|lєzbXс@!^РклѕгOЌoi_г=ўінOП}&кХВQUV
ЅWTshЃ!ГљPЌ_ЊЕС7ЅDRAVъfЎвЪПЈЛЅbOждЙЩЋtЎ0оY!О|л'ђЉx'ўУГ§нЅК:/ўќПќ V[ц,тЇо}-Bж§Ъ/ПјиџіЌм;у:х;яОй;IюЫПЇой[nK4Ћ#ІЁ-Б='ЈGf\lЙчѕb41лЉ> ѓйOчsчЂ7x f p§ъZzB рI рЮ gЊБЁ Њ n
Definition: SimmathUserGuide.doc:2262
virtual int constraintFunc(const Vector ¶meters, bool new_parameters, Vector &constraints) const
Computes the value of the constraints; return 0 when successful.
Definition: Optimizer.h:111
This is the header file that user code should include to pick up the SimTK Simmath numerical differen...
const Real SignificantReal
SignificantReal is the smallest value that we consider to be clearly distinct from roundoff error whe...
const Differentiator & getGradientDifferentiator() const
Definition: OptimizerRep.h:146
Abstract class which defines an objective/cost function which is optimized by and Optimizer object...
Definition: Optimizer.h:71
bool isUsingNumericalJacobian() const
Definition: OptimizerRep.h:139
const OptimizerSystem & getOptimizerSystem() const
Definition: OptimizerRep.h:111
Differentiator::Method getDifferentiatorMethod() const
Definition: OptimizerRep.h:140
Derive a concrete class from this one if you have a scalar function of multiple variables that you wa...
Definition: Differentiator.h:216
Definition: Optimizer.h:61
OptimizerAlgorithm
The available Optimizer algorithms.
Definition: Optimizer.h:40
#define SimTK_SIMMATH_EXPORT
Definition: SimTKmath/include/simmath/internal/common.h:64
Derive a concrete class from this one if you have a set of functions (i.e., a vector-valued function)...
Definition: Differentiator.h:235
Definition: OptimizerRep.h:209
virtual OptimizerAlgorithm getAlgorithm() const
Definition: OptimizerRep.h:156
аЯ рЁБ с ўџ З Й ўџџџ Г Д Е Ж џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџьЅС ј П ч bjbjcTcT кй Г У Л t џџ џџ џџ З С K K K D џџџџ 2 ZЦ j J a n u a r A b s t r a c t W e d e s c r i b e t h e g o a l s a n d d e s i g n d e c i s i o n b e h i n d S i m m a t r i x
Definition: Simmatrix.doc:5
Differentiator::Method diffMethod
Definition: OptimizerRep.h:185