I spent some time working through the vf13 code today -- enough to get a
start on the solver state machine. It looks to me like the state
machine basically works like this (this is actual working code for the
vf13 test problem -- I just broke their "main" into function calls and
renamed lots of stuff to -- maybe -- make it clear what everything is):
retcode = -1; // Used to init vf13ad
do
{
objective = EvaluateObjective(vars);
EvaluateConstraints(vars, constraints);
EvaluateGradient(vars, gradient);
EvaluateConstraintJacobian(vars, cJacobian, varLength);
vf13ad_(&numVars, &numConstraints, &numEqConstraints, vars,
&objective, gradient, constraints, cJacobian, &varLength,
&maxFunctionEvals, &accuracy, &iprint, &retCode, workspace,
&workspaceLength, integerWorkspace);
} while (retCode == 0);
Basically, we evaluate the objective function, evaluate all of the
constraints, calculate its gradient vector and the Jacobian of the
constraints (via finite differences), and then call vf13ad. Repeat
until the optimizer converges (retCode == 1) or sets an error (retCode
This process does fit with GMAT's approach to solvers -- we'll need to
build the finite difference routines, but they'll be pretty similar to
the "run nominal - run pert" code in the Differential Corrector.
- Darrel
Post by Steven HughesHey, Looking through the documentation, I don't see where a user sets
the perturbation step size for calculating finite differenced
derivatives using VF13ad. Did you have to provide this info when you
set up the sample problem?
What I'm wondering is if the solver will handle the finite differencing,
or if we'll have to have GMAT handle it and pass the resulting gradient
vector to the solver.
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Gmat-developers mailing list
https://lists.sourceforge.net/lists/listinfo/gmat-developers
--
-----------------------------------------------------------------------------------------------------
GMAT Architectural Design, Linux Development and Test Team
Darrel J. Conway, Ph.D. Thinking Systems, Inc.
Senior Scientist and CEO 6441 N Camino Libby
Phone: (623) 298-4530 Tucson, AZ 85718
FAX: (520) 232-2533 www.thinksysinc.com
djc_at_thinksysinc_dot_com
-----------------------------------------------------------------------------------------------------