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         Submitted bug, GMT-3214 , Message window, for Fmincon use, does n ot display converged status

2         Submitted bug, GMT-3270 - VF13ad report file does not contain iteration data

3         Submitted bug, GMT-3277 , Default value for FeasibilityTolerance is too loose

4         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)                 Current value of control variables

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 FRR-21.2.

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

Description

VF13ad_Validation_*

Validation type tests.  There are 33 files of this type. 

VF13AD_ConvergenceTolerance                      

 

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