Options Class for h02cb

Syntax

C#
public class h02cbOptions
Visual Basic
Public Class h02cbOptions
Visual C++
public ref class h02cbOptions
F#
type h02cbOptions =  class end

Description of the Optional Parameters

For each option, we give a summary line, a description of the optional parameter and details of constraints.
The summary line contains:
  • the keywords, where the minimum abbreviation of each keyword is underlined (if no characters of an optional qualifier are underlined, the qualifier may be omitted);
  • a parameter value, where the letters a, i​ and ​r denote options that take character, integer and real values respectively;
  • the default value, where the symbol ε is a generic notation for machine precision (see x02aj).
Keywords and character values are case and white space insensitive.
Check Frequency
Every ith iteration, a numerical test is made to see if the current solution x satisfies the constraints in the working set. If the largest residual of the constraints in the working set is judged to be too large, the current working set is refactorized and the variables are recomputed to satisfy the constraints more accurately. If i0, the default value is used.
Cold Start
Warm Start
This option specifies how the initial working set is chosen. With a Cold Start, h02cb chooses the initial working set based on the values of the variables and constraints at the initial point. Broadly speaking, the initial working set will include equality constraints and bounds or inequality constraints that violate or ‘nearly’ satisfy their bounds (to within Crash Tolerance).
With a Warm Start, you must provide a valid definition of every element of the array istate (see [Parameters] for the definition of this array). h02cb will override your specification of istate if necessary, so that a poor choice of the working set will not cause a fatal error. For instance, any elements of istate which are set to -2, -1​ or ​4 will be reset to zero, as will any elements which are set to 3 when the corresponding elements of bl and bu are not equal. A warm start will be advantageous if a good estimate of the initial working set is available – for example, when h02cb is called repeatedly to solve related problems.
Crash Tolerance
This value is used in conjunction with the optional parameter Cold Start (the default value) when h02cb selects an initial working set. If 0r1, the initial working set will include (if possible) bounds or general inequality constraints that lie within r of their bounds. In particular, a constraint of the form ajTxl will be included in the initial working set if ajTx-lr1+l. If r<0 or r>1, the default value is used.
Defaults
This special keyword may be used to reset all optional parameters to their default values.
Expand Frequency
This option is part of an anti-cycling procedure designed to guarantee progress even on highly degenerate problems.
The strategy is to force a positive step at every iteration, at the expense of violating the constraints by a small amount. Suppose that the value of the optional parameter Feasibility Tolerance is δ. Over a period of i iterations, the feasibility tolerance actually used by h02cb (i.e., the working feasibility tolerance) increases from 0.5δ to δ (in steps of 0.5δ/i).
At certain stages the following ‘resetting procedure’ is used to remove constraint infeasibilities. First, all variables whose upper or lower bounds are in the working set are moved exactly onto their bounds. A count is kept of the number of nontrivial adjustments made. If the count is positive, iterative refinement is used to give variables that satisfy the working set to (essentially) machine precision. Finally, the working feasibility tolerance is reinitialized to 0.5δ.
If a problem requires more than i iterations, the resetting procedure is invoked and a new cycle of i iterations is started with i incremented by 10. (The decision to resume the feasibility phase or optimality phase is based on comparing any constraint infeasibilities with δ.)
The resetting procedure is also invoked when h02cb reaches an apparently optimal, infeasible or unbounded solution, unless this situation has already occurred twice. If any nontrivial adjustments are made, iterations are continued.
If i0, the default value is used. If i9999999, no anti-cycling procedure is invoked.
Feasibility Phase Iteration Limit
Optimality Phase Iteration Limit
The scalars i1 and i2 specify the maximum number of iterations allowed in the feasibility and optimality phases. Optimality Phase Iteration Limit is equivalent to Iteration Limit. Setting i1=0 and Print Level>0 means that the workspace needed will be computed and printed, but no iterations will be performed. If i1<0 or i2<0, the default value is used.
Feasibility Tolerance
If rε, r defines the maximum acceptable absolute violation in each constraint at a ‘feasible’ point. For example, if the variables and the coefficients in the general constraints are of order unity, and the latter are correct to about 6 decimal digits, it would be appropriate to specify r as 10-6. If 0r<ε, the default value is used.
h02cb attempts to find a feasible solution before optimizing the objective function. If the sum of infeasibilities cannot be reduced to zero, the Minimum Sum of Infeasibilities can be used to find the minimum value of the sum. Let Sinf be the corresponding sum of infeasibilities. If Sinf is quite small, it may be appropriate to raise r by a factor of 10 or 100. Otherwise, some error in the data should be suspected.
Note that a ‘feasible solution’ is a solution that satisfies the current constraints to within the tolerance r.
Hessian Rows
Note that this option does not apply to problems of type FP or LP.
This specifies m, the number of rows of the Hessian matrix H. The default value of m is n, the number of variables of the problem.
If the problem is of type QP, m will usually be n, the number of variables. However, a value of m less than n is appropriate for QP3 or QP4 if h is an upper trapezoidal matrix with m rows. Similarly, m may be used to define the dimension of a leading block of nonzeros in the Hessian matrices of QP1 or QP2, in which case the last n-m rows and columns of h are assumed to be zero. In the QP case, m should not be greater than n; if it is, the last m-n rows of h are ignored.
If i<0 or i>n, the default value is used.
Infinite Bound Size
If r>0, r defines the ‘infinite’ bound bigbnd in the definition of the problem constraints. Any upper bound greater than or equal to bigbnd will be regarded as + (and similarly any lower bound less than or equal to -bigbnd will be regarded as -). If r0, the default value is used.
Infinite Step Size
If r>0, r specifies the magnitude of the change in variables that will be considered a step to an unbounded solution. (Note that an unbounded solution can occur only when the Hessian is not positive definite.) If the change in x during an iteration would exceed the value of r, the objective function is considered to be unbounded below in the feasible region. If r0, the default value is used.
Iteration Limit
Iters
Itns
See optional parameter Feasibility Phase Iteration Limit.
List
Nolist
Normally each optional parameter specification is printed as it is supplied. Optional parameter Nolist may be used to suppress the printing and optional parameter List may be used to restore printing.
Maximum Degrees of Freedom
Note that this option does not apply to problems of type FP or LP.
This places a limit on the storage allocated for the triangular factor R of the reduced Hessian HR. Ideally, i should be set slightly larger than the value of nR expected at the solution. It need not be larger than mn+1, where mn is the number of variables that appear nonlinearly in the quadratic objective function. For many problems it can be much smaller than mn.
For quadratic problems, a minimizer may lie on any number of constraints, so that nR may vary between 1 and n. The default value of i is therefore the number of variables n. If Hessian Rows m is specified, the default value of i is the same number, m.
Minimum Sum of Infeasibilities
If no feasible point exists for the constraints, this option is used to control whether or not h02cb will calculate a point that minimizes the constraint violations. If Minimum Sum of Infeasibilities=NO, h02cb will terminate as soon as it is evident that no feasible point exists for the constraints. The final point will generally not be the point at which the sum of infeasibilities is minimized. If Minimum Sum of Infeasibilities=YES, h02cb will continue until the sum of infeasibilities is minimized.
Monitoring File
If i0 and Print Level5, monitoring information produced by h02cb at every iteration is sent to a file with logical unit number i. If i<0 and/or Print Level<5, no monitoring information is produced.
Optimality Tolerance
If rε, r defines the tolerance used to determine if the bounds and general constraints have the right ‘sign’ for the solution to be judged to be optimal.
If 0r<ε, the default value is used.
Print Level
The value of i controls the amount of printout produced by h02cb, as indicated below. A detailed description of the printed output is given in [Description of the Printed Output] (summary output at each iteration and the final solution) and [Description of Monitoring Information] (monitoring information at each iteration). If i<0, the default value is used.
The following printout is sent to the current advisory message unit (as defined by (X04ABF not in this release)):
i Output
00 No output.
01The final solution only.
05One line of summary output (<80 characters; see [Description of the Printed Output]) for each iteration (no printout of the final solution).
10The final solution and one line of summary output for each iteration.
The following printout is sent to the logical unit number defined by the Monitoring File:
iOutput
<5No output.
5One long line of output (>80 characters; see [Description of Monitoring Information]) for each iteration (no printout of the final solution).
20At each iteration, the Lagrange-multipliers, the variables x, the constraint values Ax and the constraint status.
30At each iteration, the diagonal elements of the upper triangular matrix T associated with the TQ factorization (3) (see [Definition of the Search Direction]) of the working set, and the diagonal elements of the upper triangular matrix R.
If Print Level5 and the unit number defined by Monitoring File is the same as that defined by (X04ABF not in this release), then the summary output is suppressed.
Problem Type
This option specifies the type of objective function to be minimized during the optimality phase. The following are the five optional keywords and the dimensions of the arrays that must be specified in order to define the objective function:
LPh not referenced, cvec[n-1] required;
QP1h[ldh-1,!!!!!!!!!*-1] symmetric, cvec not referenced;
QP2h[ldh-1,!!!!!!!!!*-1] symmetric, cvec[n-1] required;
QP3h[ldh-1,!!!!!!!!!*-1] upper trapezoidal, cvec not referenced;
QP4h[ldh-1,!!!!!!!!!*-1] upper trapezoidal, cvec[n-1] required.
For problems of type FP, the objective function is omitted and neither h nor cvec are referenced.
The following keywords are also acceptable. The minimum abbreviation of each keyword is underlined.
aOption
QuadraticQP2
LinearLP
FeasibleFP
In addition, the keyword QP is equivalent to the default option QP2.
If h=0, i.e., the objective function is purely linear, the efficiency of h02cb may be increased by specifying a as LP.
Rank Tolerance
Note that this option does not apply to problems of type FP or LP.
This parameter enables you to control the condition number of the triangular factor R (see [Algorithmic Details]). If ρi denotes the function ρi=maxR11,R22,,Rii, the dimension of R is defined to be smallest index i such that Ri+1,i+1rρi+1. If r0, the default value is used.

Inheritance Hierarchy

System..::..Object
  NagLibrary..::..H..::..h02cbOptions

See Also