PdcoTL

From TomWiki
Revision as of 10:55, 6 August 2014 by Bjorn (talk | contribs) (→‎Description)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Purpose

pdcoTL solves linearly constrained convex nonlinear optimization problems of the kind

Equation: pdcoTL

where is a convex nonlinear function, , and .

Calling Syntax

Result=tomRun('pdco',Prob,...);

Inputs

Prob Problem description structure. The following fields are used:
x_0 Initial x vector, used if non-empty.
A The linear constraint matrix.
b_L,b_U Lower and upper bounds for the linear constraints.
PriLevOpt Print level in pdsco solver. If > 0: prints summary information.
SOL Structure with SOL special parameters:
pdco Options structure with fields as defined by pdcoSet.
d1 Primal regularization vector. Must be a positive vector (length n) or scalar, in which case D1 = diag(d1) is used. Default: 10-4 .
d2 Dual regularization vector. Must be a positive vector (length m) or a scalar value, in which case D2 = diag(d2) is used. Default: 10-4 .
y0 Initial dual parameters for linear constraints (default 0)
z0 Initial dual parameters for simple bounds (default 1/N )

xsize,zsize are used to scale (x, y, z). Good estimates should improve the performance of the barrier method.

xsize Estimate of the biggest x at the solution. (default 1/N )
zsize Estimate of the biggest z at the solution. (default 1/N )
optParam Structure with optimization parameters. The following fields are used:
MaxIter Maximum number of iterations. (Prob.SOL.pdco.MaxIter).
MinorIter Maximum number of iterations in LSQR (Prob.SOL.pdco.LSQRMaxIter).
eps_x Accuracy for satisfying x1 . * z1 = 0, x2 .z1 = 0, where z = z1 - z2 and z1 , z2 > 0.(Prob.SOL.pdco.OptTol)
bTol Accuracy for satisfying Ax + D2r = b, AT y + z = ∇f (x) and x - x1 = bL , x +x2 = bU , where x1 , x2 > 0 (Prob.SOL.pdco.FeaTol)
wait 0 - solve the problem with default internal parameters; 1 - pause: allows interactive resetting of parameters. (Prob.SOL.pdco.wait)

Outputs

Result Structure with result from optimization. The following fields are set by pdcoTL
x_k Solution vector
f_k Function value at optimum
g_k Gradient of the function at the solution
H_k Hessian of the function at the solution, diagonal only
x_0 Initial solution vector
f_0 Function value at start, x = x_0
xState State of variables. Free == 0; On lower == 1; On upper == 2; Fixed == 3;
bState State of linear constraints. Free == 0; Lower == 1; Upper == 2; Equality == 3;
v_k Lagrangian multipliers (orignal bounds + constraints )
y_k Lagrangian multipliers (for bounds + dual solution vector) The full [z; y] vector as returned from pdco, including slacks and extra linear constraints after rewriting constraints: -inf < b_L < A * x < b_U < inf ; non-inf lower AND upper bounds
ExitFlag Tomlab Exit status from pdco MEX
Inform pdcoinformation parameter: 0 = Solution found;
0 Solution found
1 Too many iterations
2 Linesearch failed too often
Iter Number of iterations
FuncEv Number of function evaluations
GradEv Number of gradient evaluations
HessEv Number of Hessian evaluations
Solver Name of the solver ('pdco')
SolverAlgorithm Description of the solver

Description

pdco implements an primal-dual barrier method developed at Stanford Systems Optimization Laboratory (SOL).

The problem (#Equation: pdcoTL) is first reformulated into SOL PDCO form:



The problem actually solved by pdco is



where and are positive-definite diagonal matrices defined from , given in Prob.SOL.d1 and Prob.SOL.d2.

In particular, indicates the accuracy required for satisfying each row of . See pdco.m for a detailed discussion of and . Note that in pdco, the objective is denoted , and .

Examples

Problem 14 and 15 in tomlab/testprob/con prob.m are good examples of the use of pdcoTL.

M-files Used

pdcoSet.m, pdco.m, Tlsqrmat.m

See Also

pdscoTL.m