Next: Initializing the variables
Up: The Script sql.m and
Previous: Preparing the data
Options are passed to the code by means of a structure opt.
It is important to set the options correctly in order to take full
advantage of the codes. Particular attention should be paid to the
termination options , and , for which
appropriate values are quite problem dependent.
All options are set to their default values by calling the
routine setopt.m. The default values demand high accuracy;
the number of iterations required to meet the termination criteria is reduced
by requesting less accurate solutions.
-
- (Default value = 100)
The maximum number of iterations which may be taken by the algorithm.
If (see below), then explicitly setting
results in data validation alone.
-
- (Default value = 0.999)
The fraction of the step to
the boundary of the feasible cone taken by the algorithm.
This choice leads to fast convergence and is generally
reliable, but may occasionally lead to failures due to short steps
(see below). In many cases, the quantity (see (5))
is reduced by approximately a factor of per iteration
in the last few iterations.
-
- (Default value = )
Tolerance on the
primal and the dual steplengths. If either one of these drops below
steptol, the algorithm terminates. If pinfeas,
dinfeas or comp is large, a restart is recommended,
with either a reduced value of tau,
or with and set to
larger initial values (see below). This is done automatically when the
driver script sql.m is used, but is not done if the the
driver script is bypassed with a direct call to the function
fsql.m.
-
- (Default value = )
Absolute tolerance on the total error, imposing the condition
(see (3), (4)).
-
- (Default value = )
Relative tolerance on the total error, imposing the condition
(see (6)).
reltol is usually set to a value smaller than that of
abstol. Successful termination takes place when both
the absolute and relative conditions are satisfied. Either one can be
relaxed by making the corresponding tolerance large.
-
- (Default value = 100)
Tolerance on progress; this parameter, in conjunction with
feasprogtol (see below), determines when the algorithm
should terminate if significant progress is not taking place.
If is less than the previous value of divided by
gapprogtol, then the progress is considered ``sufficient''. This
check is performed only when has been reduced below 100 times
the value of abstol.
-
- (Default value = 5)
Tolerance on progress;
this parameter, in conjunction with gapprogtol (see above),
determines when the algorithm should terminate if significant progress
is not taking place. If the new is less than
feasprogtol times the previous , or the new is
less than feasprogtol times the previous , then the loss
of feasibility, if any, is considered ``tolerable''.
Termination occurs if the loss of feasibility was not
``tolerable'' and the reduction in was not ``sufficient'' to
justify this loss of feasibility. In short, for the default values,
these conditions mean that we are not willing to let the algorithm
continue if the primal or dual infeasibility worsened by a factor
of 5 or more, unless the gap improved by a factor of at least 100.
These options attempt to achieve a judicious balance between feasibility
and complementarity by trading the former in return for the latter.
-
- (Default value = )
Tolerance on the norm of the solution; if any of the three terms in
or in (see (6)) becomes
greater than , the algorithm terminates. Unbounded primal (dual)
feasible iterates suggest that the dual (primal) program may be infeasible.
-
- (Default value = 1)
Determines print level;
setting this to 0 produces no output from fsql.m.
Setting to 1 produces one line of output per
iteration (iteration number, primal and dual step lengths, primal and
dual infeasibilities and , the inner product ,
and primal and dual objective values).
Upon termination, summary information is provided by the script sql.m
regardless of the value of .
-
- (Default value = 0)
By default, several minor consistency checks on the dimension of the
data are performed. Additionally, if , fsql.m
makes a check to ensure the initial and conform to the block
diagonal structure specified.
-
- (Default value = -1)
Indicates whether or not to use the lyapsol mex file.
This affects the speed of solving the Lyapunov systems required
to construct the semidefinite component of the Schur complement.
Using lyapsol is usually advantageous, but is not in
the cases where has only one block, or its blocks
are all relatively small.
When the default value -1 is used, the code automatically decides
whether or not to use this mex file; the user may override this
by specifying a value of 0 (do not use it) or 1 (use it).
Next: Initializing the variables
Up: The Script sql.m and
Previous: Preparing the data
Madhu Nayakkankuppam
Wed Jun 25 18:01:54 EDT 1997