next up previous contents
Next: Initializing the variables Up: The Script sql.m and Previous: Preparing the data

Setting the options

  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 tex2html_wrap_inline4271 , tex2html_wrap_inline4273 and tex2html_wrap_inline4275 , 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.

tex2html_wrap_inline4277
(Default value = 100)
The maximum number of iterations which may be taken by the algorithm. If tex2html_wrap_inline4279 (see below), then explicitly setting tex2html_wrap_inline4281 results in data validation alone.

tex2html_wrap_inline4283
(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 tex2html_wrap_inline4285 (see (5)) is reduced by approximately a factor of tex2html_wrap_inline4287 per iteration in the last few iterations.

tex2html_wrap_inline4289
(Default value = tex2html_wrap_inline4291 )
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 tex2html_wrap_inline4293 and tex2html_wrap_inline4295 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.

tex2html_wrap_inline4271
(Default value = tex2html_wrap_inline4291 )
Absolute tolerance on the total error, imposing the condition

displaymath4301

(see (3), (4)).

tex2html_wrap_inline4273
(Default value = tex2html_wrap_inline4305 )
Relative tolerance on the total error, imposing the condition

displaymath4307

(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.

tex2html_wrap_inline4309
(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 tex2html_wrap_inline4285 is less than the previous value of tex2html_wrap_inline4285 divided by gapprogtol, then the progress is considered ``sufficient''. This check is performed only when tex2html_wrap_inline4285 has been reduced below 100 times the value of abstol.

tex2html_wrap_inline4321
(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 tex2html_wrap_inline4325 is less than feasprogtol times the previous tex2html_wrap_inline4325 , or the new tex2html_wrap_inline4329 is less than feasprogtol times the previous tex2html_wrap_inline4329 , then the loss of feasibility, if any, is considered ``tolerable''.

Termination occurs if the loss of feasibility was not ``tolerable'' and the reduction in tex2html_wrap_inline4285 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.

tex2html_wrap_inline4275
(Default value = tex2html_wrap_inline4341 )
Tolerance on the norm of the solution; if any of the three terms in tex2html_wrap_inline4343 or in tex2html_wrap_inline4345 (see (6)) becomes greater than tex2html_wrap_inline4275 , the algorithm terminates. Unbounded primal (dual) feasible iterates suggest that the dual (primal) program may be infeasible.

tex2html_wrap_inline4349
(Default value = 1)
Determines print level; setting this to 0 produces no output from fsql.m.gif Setting tex2html_wrap_inline4349 to 1 produces one line of output per iteration (iteration number, primal and dual step lengths, primal and dual infeasibilities tex2html_wrap_inline4325 and tex2html_wrap_inline4329 , the inner product tex2html_wrap_inline4285 , and primal and dual objective values). Upon termination, summary information is provided by the script sql.m regardless of the value of tex2html_wrap_inline4349 .

tex2html_wrap_inline4361
(Default value = 0)
By default, several minor consistency checks on the dimension of the data are performed. Additionally, if tex2html_wrap_inline4363 , fsql.m makes a check to ensure the initial tex2html_wrap_inline4365 and tex2html_wrap_inline4367 conform to the block diagonal structure specified.

tex2html_wrap_inline4369
(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 tex2html_wrap_inline4039 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 up previous contents
Next: Initializing the variables Up: The Script sql.m and Previous: Preparing the data

Madhu Nayakkankuppam
Wed Jun 25 18:01:54 EDT 1997