FRR-21 VF13ad Optimizer

advertisement
VF13ad Optimizer
Feature Spec and Test Procedures
Lead: Steve C
Developer: Darrel
STE/GUI Tester: Tom
Explore
Failing Tests
Other Findings
Requirements
Interface/Functional Spec
Overview
Description
Fields
GUI
Remarks
Examples
Test Procedures
Assumptions
Existing Tests
Recommended Additional Tests
Appendix A - Miscellaneous Data
NOTES
Explore
Known bugs/issues committed in JIRA against this feature:
JIRA ID
Summary
Comment
GMT-2862
VF13ad no longer works in Linux
P3 bug. No action required.
GMT-2475
Provide a parameter to check
convergence status of a VF13
optimizer
Listed as a P1 improvement. Per
11/16/12 discussion with Steve H, this
will not be part of R2013A. No action
required.
Note that GMT-2640 is the VF13ad Optimizer QA task (not a bug).
Failing Tests
Run Identification: [Gmat-buildtest] Test results: 2012-11-09 (Win7-64/GMAT-32/M2010a/VS)
No failed tests.
Other Findings
1
2
3
4
Submitted bug, GMT-3214, Message window, for Fmincon use, does not display converged
status
Submitted bug,GMT-3270 - VF13ad report file does not contain iteration data
Submitted bug, GMT-3277, Default value for FeasibilityTolerance is too loose
There are a number of fmincon Optimizer bugs submitted that also apply to VF13. When I
close these bugs, I will also verify that any issues related to VF13 are also closed. Some
examples below.
a GMT-3274, Fmincon output data Requirements. Need to make sure VF outputs
desired constraint values at the beginning of the report.
b
Requirements
These are working requirements. They are included here for review and convenience purposes.
After review, requirements are maintained in the formal SRS located at SourceForge in
/trunk/doc/SystemDocs/Requirements.
ID
Requirement
FRR-21.1.0
The system shall allow the user to create and
configure a VF13ad optimizer with the following
properties:
FRR-21.1.1
1)
Maximum iterations
FRR-21.1.2
2)
Convergence tolerance
FRR-21.1.3.0
3)
Derivative Method
FRR-21.1.3.1
i. Forward difference
FRR-21.1.3.2
ii. Central difference
DEFERRED
iii. Backward difference
FRR-21.1.3.4
4)
Constraint tolerance
FRR-21.2.0
The system shall optionally show progress of a
vf13ad optimizer in the message window that
includes all of the following parameters:
FRR-21.2.1
1)
FRR-21.2.2
2)
Achieved and desired values of the
constraints
FRR-21.2.3
3)
Cost function value
FRR-21.2.4
4)
Iteration number
FRR-21.3
The system shall optionally create a report file
containing information on each iteration of the
vf13ad optimizer containing all data listed in FRR21.2.
Current value of control variables
Interface/Functional Spec
Overview
The Sequential Quadratic Processor (SQP) optimizer, VF13ad, used to optimize mission
parameters.
Description
The VF13ad optimizer is a SQP-based Nonlinear Programming solver available in the
Harwell Subroutine Library. VF13ad performs nonlinear constrained optimization and
supports both linear and nonlinear constraints. To use this solver, you must configure the
solver options including convergence criteria, maximum iterations, and gradient
computation method. In the mission sequence, you implement an optimizer such as
VF13ad by using an Optimize/EndOptimize sequence. Within this sequence, you define
optimization variables by using the Vary command, and define cost and constraints by
using the Minimize and NonlinearConstraint commands respectively.
Fields
See the User Interface Spec spreadsheet for reference information for fields.
GUI
The VF13ad dialog box allows you to specify properties of a VF13ad such as as maximum
iterations, cost function tolerance, feasibility tolerance, choice of reporting options, and
choice of whether or not to use the central difference derivative method.
To create a VF13ad resource, navigate to the Resources tree, expand the Solvers folder,
highlight and then right-click on the Optimizers sub-folder, point to Add and then select VF13AD.
This will create a new VF13ad resource, VF13ad1. Double-click on VF13ad1 to bring up the
VF13ad dialog box shown below.
Remarks
VF13ad Optimizer Availability
This optimizer is not included as part of the nominal GMAT installation and is only
available if you have created and installed the VF13ad plug-in.
Object and Command Interactions
The VF13ad object can only be used in the context of optimization-type commands.
Please see the documentation for Optimize, Vary, NonlinearConstraint, and Minimize
for more information and worked examples.
Examples
Create a VF13AD resource named VF13ad1.
Create VF13ad VF13ad1;
GMAT VF13ad1.ShowProgress = true;
GMAT VF13ad1.ReportStyle = Normal;
GMAT VF13ad1.ReportFile = 'VF13adVF13ad1.data';
GMAT VF13ad1.MaximumIterations = 200;
GMAT VF13ad1.Tolerance = 1e-005;
GMAT VF13ad1.UseCentralDifferences = false;
GMAT VF13ad1.FeasibilityTolerance = 1e-003;
For an example of how a VF13AD resource can be used within an Optimization sequence,
see the Optimize command examples.
Test Procedures
Assumptions
None
Existing Tests
There are 42 files of the form *.tc.
Test Name
VF13ad_Validation_*
VF13AD_ConvergenceTolerance
Description
Validation type tests. There are 33 files of this
type.
VF13AD_DerivativeMethod_CentralDiff
VF13AD_DerivativeMethod_ForwardDiff
VF13AD_LRO2BurnApsidesRotation
VF13AD_LRO3BurnApsidesRotation
VF13AD_MaxIterations
VF13AD_OptimalLunarTransfer
VF13AD_ShowProgress_Iteration
VF13AD_ShowProgress_Parameters
Recommended Additional Tests
1
Unique Validation
Test Name
Summary
Appendix A - Miscellaneous Data
Note that this data is primarily for the internal use of the feature lead. It does not need to be
reviewed by the SDE and STE.
NOTES
1
Download