PdscoTL
{{#switch: | left =
{{#switch:{{#if: | {{{smallimage}}} | }} | none =| #default =
}} {{#if:{{#if: | {{{smallimageright}}} | }} | {{#ifeq:{{#if: | {{{smallimageright}}} | }}|none | | }} }}{{
#switch:left | left =| #default = }} {{#if:{{#if: | {{{smallimage}}} | }} | {{#if: | {{{smallimage}}} | }} | [[File:{{#switch:caution | critical = Ambox speedy deletion.png | important = Ambox deletion.png | warning = Ambox content.png | caution = Cleanup.png | move = Ambox move.png | protection = Ambox protection.png | notice | #default = Cleanup.png }} | {{#switch:left | left = 20x20px | #default = 40x40px }} |link=|alt=]] }}{{#switch:left | left =| #default = | {{#if:
| {{{smalltext}}} | Cleanup is needed}} | {{#switch:left
| left = {{#if: | {{{smallimageright}}} | }}| #default = {{#if:
}}| {{{smallimageright}}} |}} |
| #default =
{{#switch: | none =| #default =
}}{{#if: | {{#ifeq:|none
|| }} }}
{{
#switch: | left =| #default = }} {{#if: | | [[File:{{#switch:caution | critical = Ambox speedy deletion.png | important = Ambox deletion.png | warning = Ambox content.png | caution = Cleanup.png | move = Ambox move.png | protection = Ambox protection.png | notice | #default = Cleanup.png }} | {{#switch: | left = 20x20px | #default = 40x40px }} |link=|alt=]] }}{{#switch: | left =| #default = | Cleanup is needed Clean this article. |
{{#switch:
| left =| #default = |
}}
Purpose
pdscoTL solves linearly constrained convex nonlinear optimization problems.
where is a convex separable nonlinear function, Failed to parse (unknown function "\RR"): {\displaystyle x,x_L,x_U \in \RR^n} , Failed to parse (unknown function "\RR"): {\displaystyle A\in \RR^{m \times n}} and Failed to parse (unknown function "\RR"): {\displaystyle b_L, b_U \in\RR^m} .
Calling Syntax
Result=tomRun('pdsco',Prob,...);
Description of Inputs
Prob | Problem description structure. The following fields are used: | |
x_0 | Initial x vector, used if non-empty. | |
A | The linear constraints coefficient matrix. | |
b_L,b_U | Lower and upper bounds for the linear constraints. | |
HessPattern | Non-zero pattern for the objective function. Only the diagonal is needed. Default if empty is the unit matrix. | |
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 pdscoSet. | |
gamma | Primal regularization parameter. | |
delta | Dual regularization parameter. | |
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 x. * z = 0 | |
bTol | Accuracy for satisfying Ax + r = 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) |
Description of Outputs
Result | Structure with result from optimization. The following fields are set by pdscoTL: | |
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\] vec- tor as returned from pdsco, 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 pdsco MEX | |
Inform | pdsco information 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 ('pdsco') | |
SolverAlgorithm | Description of the solver |
Description
pdsco implements an primal-dual barrier method developed at Stanford Systems Optimization Laboratory (SOL). The problem (20) is first reformulated into SOL PDSCO form:
The problem actually solved by pdsco is
Failed to parse (unknown function "\multicolumn"): {\displaystyle \begin{array}{lllcll} \min\limits_{x,r} & \multicolumn{5}{l}{f(x) + \frac{1}{2}\|\gamma x\|^2 + \frac{1}{2}\|r / \delta \|^2 } \\ \\ \mathrm{s/t} & & & x & \geq & 0 \\ {} & Ax & + & r & = & b \\ {} & \multicolumn{5}{l}{r \mathrm{\ unconstrained}} \\ \end{array} }
where is the primal regularization parameter, typically small but 0 is allowed. Furthermore, is the dual regularization parameter, typically small or 1; must be strictly greater than zero.
With positive the primal-dual solution is bounded and unique.
See pdsco for a detailed discussion of </math>\gamma</math> and . Note that in pdsco, the objective is denoted , and .
Examples
Problem 14 and 15 in tomlab/testprob/con prob.m are good examples of the use of pdscoTL.
M-files Used
pdscoSet.m, pdsco.m, Tlsqrmat.m
See Also
pdcoTL.m