QRSlv

From ASCEND

Jump to: navigation, search
NLA
QRSlv
CMSlv
IPSlv
Opt
NLP
CONOPT
IPOPT
TRON
MINOS
NGSlv
OptSQP
DAE/ODE
IDA
LSODE
DOPRI5
LA
linsolqr
linsol
LP
MakeMPS
Logic
LRSlv

QRSlv is the main non-linear algebraic solver (NLA) in ASCEND.

Current standard ASCEND nonlinear solver. Note that this code includes an SQP optimization capability that is always turned off at this time as it does not quite work. The math behind the optimization part is in Joe Zaher's PhD thesis (see ASCEND bibliography). It would be very worthwhile to try to make this code function correctly. It is based on SQP with a twist: to add in a quadratic penalty term to the objective. This removes some of the nonsmooth behavior of other implementations.

[edit] Solver Parameters

The definitive reference is the source code, see qrslv.c or by accessing the GUI, which provides some limited explanation for the various parameters. We will attempt to gradually document the parameters here, where further explanation is thought worthwhile.

  • feastol. Tolerance for 'satisfied' relations. How it is applied depends on the value of convopt.
  • convopt. If set to RELNOMSCALE, a relation is consider satisfied if the residual is less than feastol multiplied by the relation nominal. If set to ABSOLUTE, the absolute value of the residual must be less than feastol.

The relation nominal is determined using the routine CalcRelationNominal, which gives the absolute value of the maximum affine term, or 1.0 for a black box.

Personal tools