Inheritance diagram for CONMINOptimizer:

Public Member Functions | |
| CONMINOptimizer (Model &model) | |
| standard constructor | |
| CONMINOptimizer (NoDBBaseConstructor, Model &model) | |
| alternate constructor | |
| ~CONMINOptimizer () | |
| destructor | |
| void | find_optimum () |
| Redefines the run virtual function for the optimizer branch. | |
Protected Member Functions | |
| void | derived_pre_run () |
| performs run-time set up | |
Private Member Functions | |
| void | initialize () |
| Shared constructor code. | |
| void | allocate_workspace () |
| Allocates workspace for the optimizer. | |
| void | deallocate_workspace () |
| Releases workspace memory. | |
| void | allocate_constraints () |
| Allocates constraint mappings. | |
Private Attributes | |
| int | conminInfo |
| INFO from CONMIN manual. | |
| int | printControl |
| IPRINT from CONMIN manual (controls output verbosity). | |
| int | optimizationType |
| MINMAX from DOT manual (minimize or maximize). | |
| Real | objFnValue |
| value of the objective function passed to CONMIN | |
| RealVector | constraintValues |
| array of nonlinear constraint values passed to CONMIN | |
| int | numConminNlnConstr |
| total number of nonlinear constraints seen by CONMIN | |
| int | numConminLinConstr |
| total number of linear constraints seen by CONMIN | |
| int | numConminConstr |
| total number of linear and nonlinear constraints seen by CONMIN | |
| SizetList | constraintMappingIndices |
| Response constraints used in computing the CONMIN constraints. | |
| RealList | constraintMappingMultipliers |
| the CONMIN constraints. | |
| RealList | constraintMappingOffsets |
| CONMIN constraints. | |
| int | N1 |
| Size variable for CONMIN arrays. See CONMIN manual. | |
| int | N2 |
| Size variable for CONMIN arrays. See CONMIN manual. | |
| int | N3 |
| Size variable for CONMIN arrays. See CONMIN manual. | |
| int | N4 |
| Size variable for CONMIN arrays. See CONMIN manual. | |
| int | N5 |
| Size variable for CONMIN arrays. See CONMIN manual. | |
| int | NFDG |
| Finite difference flag. | |
| int | IPRINT |
| Flag to control amount of output data. | |
| int | ITMAX |
| Flag to specify the maximum number of iterations. | |
| double | FDCH |
| Relative finite difference step size. | |
| double | FDCHM |
| Absolute finite difference step size. | |
| double | CT |
| Constraint thickness parameter. | |
| double | CTMIN |
| Minimum absolute value of CT used during optimization. | |
| double | CTL |
| Constraint thickness parameter for linear and side constraints. | |
| double | CTLMIN |
| Minimum value of CTL used during optimization. | |
| double | DELFUN |
| Relative convergence criterion threshold. | |
| double | DABFUN |
| Absolute convergence criterion threshold. | |
| double * | conminDesVars |
| Array of design variables used by CONMIN (length N1 = numdv+2). | |
| double * | conminLowerBnds |
| Array of lower bounds used by CONMIN (length N1 = numdv+2). | |
| double * | conminUpperBnds |
| Array of upper bounds used by CONMIN (length N1 = numdv+2). | |
| double * | S |
| Internal CONMIN array. | |
| double * | G1 |
| Internal CONMIN array. | |
| double * | G2 |
| Internal CONMIN array. | |
| double * | B |
| Internal CONMIN array. | |
| double * | C |
| Internal CONMIN array. | |
| int * | MS1 |
| Internal CONMIN array. | |
| double * | SCAL |
| Internal CONMIN array. | |
| double * | DF |
| Internal CONMIN array. | |
| double * | A |
| Internal CONMIN array. | |
| int * | ISC |
| Internal CONMIN array. | |
| int * | IC |
| Internal CONMIN array. | |
The CONMINOptimizer class provides a wrapper for CONMIN, a Public-domain Fortran 77 optimization library written by Gary Vanderplaats under contract to NASA Ames Research Center. The CONMIN User's Manual is contained in NASA Technical Memorandum X-62282, 1978. CONMIN uses a reverse communication mode, which avoids the static member function issues that arise with function pointer designs (see NPSOLOptimizer and SNLLOptimizer).
The user input mappings are as follows: max_iterations is mapped into CONMIN's ITMAX parameter, max_function_evaluations is implemented directly in the find_optimum() loop since there is no CONMIN parameter equivalent, convergence_tolerance is mapped into CONMIN's DELFUN and DABFUN parameters, output verbosity is mapped into CONMIN's IPRINT parameter (verbose: IPRINT = 4; quiet: IPRINT = 2), gradient mode is mapped into CONMIN's NFDG parameter, and finite difference step size is mapped into CONMIN's FDCH and FDCHM parameters. Refer to [Vanderplaats, 1978] for additional information on CONMIN parameters.
int conminInfo [private] |
INFO from CONMIN manual.
Information requested by CONMIN: 1 = evaluate objective and constraints, 2 = evaluate gradients of objective and constraints.
int printControl [private] |
IPRINT from CONMIN manual (controls output verbosity).
Values range from 0 (nothing) to 4 (most output). 0 = nothing, 1 = initial and final function information, 2 = all of #1 plus function value and design vars at each iteration, 3 = all of #2 plus constraint values and direction vectors, 4 = all of #3 plus gradients of the objective function and constraints, 5 = all of #4 plus proposed design vector, plus objective and constraint functions from the 1-D search
int optimizationType [private] |
MINMAX from DOT manual (minimize or maximize).
Values of 0 or -1 (minimize) or 1 (maximize).
RealVector constraintValues [private] |
array of nonlinear constraint values passed to CONMIN
This array must be of nonzero length and must contain only one-sided inequality constraints which are <= 0 (which requires a transformation from 2-sided inequalities and equalities).
SizetList constraintMappingIndices [private] |
Response constraints used in computing the CONMIN constraints.
The length of the list corresponds to the number of CONMIN constraints, and each entry in the list points to the corresponding DAKOTA constraint.
RealList constraintMappingMultipliers [private] |
the CONMIN constraints.
The length of the list corresponds to the number of CONMIN constraints, and each entry in the list contains a multiplier for the DAKOTA constraint identified with constraintMappingIndices. These multipliers are currently +1 or -1.
RealList constraintMappingOffsets [private] |
CONMIN constraints.
The length of the list corresponds to the number of CONMIN constraints, and each entry in the list contains an offset for the DAKOTA constraint identified with constraintMappingIndices. These offsets involve inequality bounds or equality targets, since CONMIN assumes constraint allowables = 0.
int N1 [private] |
Size variable for CONMIN arrays. See CONMIN manual.
N1 = number of variables + 2
int N2 [private] |
Size variable for CONMIN arrays. See CONMIN manual.
N2 = number of constraints + 2*(number of variables)
int N3 [private] |
Size variable for CONMIN arrays. See CONMIN manual.
N3 = Maximum possible number of active constraints.
int N4 [private] |
Size variable for CONMIN arrays. See CONMIN manual.
N4 = Maximum(N3,number of variables)
int N5 [private] |
Size variable for CONMIN arrays. See CONMIN manual.
N5 = 2*(N4)
double CT [private] |
Constraint thickness parameter.
The value of CT decreases in magnitude during optimization.
double* S [private] |
Internal CONMIN array.
Move direction in N-dimensional space.
double* G1 [private] |
Internal CONMIN array.
Temporary storage of constraint values.
double* G2 [private] |
Internal CONMIN array.
Temporary storage of constraint values.
double* B [private] |
Internal CONMIN array.
Temporary storage for computations involving array S.
double* C [private] |
Internal CONMIN array.
Temporary storage for use with arrays B and S.
int* MS1 [private] |
Internal CONMIN array.
Temporary storage for use with arrays B and S.
double* SCAL [private] |
Internal CONMIN array.
Vector of scaling parameters for design parameter values.
double* DF [private] |
Internal CONMIN array.
Temporary storage for analytic gradient data.
double* A [private] |
Internal CONMIN array.
Temporary 2-D array for storage of constraint gradients.
int* ISC [private] |
Internal CONMIN array.
Array of flags to identify linear constraints. (not used in this implementation of CONMIN)
1.5.1