CpTransf: Difference between revisions
(Created page with "==Purpose== Transform general convex programs on the form <math> \begin{array}{cccccl} \min\limits_{x} & f(x) & & & & \\s/t & x_{L} & \leq & x & \leq & x_{U} \\& b_{L} ...") |
No edit summary |
||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Category:Utility Functions]] | |||
==Purpose== | ==Purpose== | ||
Line 13: | Line 14: | ||
where <math>x,x_{L},x_{U}\in \ | where <math>x,x_{L},x_{U}\in \mathbb{R}^{n}</math>, <math>A\in \mathbb{R}^{m\times n}</math> | ||
and <math>b_{L},b_{U} \in \ | and <math>b_{L},b_{U} \in \mathbb{R}^{m}</math>, to other forms. | ||
==Calling Syntax== | ==Calling Syntax== | ||
< | <source lang="matlab"> | ||
[AA, bb, meq] = cpTransf(Prob, TransfType, makeEQ, LowInf) | [AA, bb, meq] = cpTransf(Prob, TransfType, makeEQ, LowInf) | ||
</ | </source> | ||
==Inputs== | ==Inputs== | ||
Line 47: | Line 48: | ||
|''LowInf ''||Variables equal to ''-Inf'' or variables ''< LowInf ''are set to ''LowInf ''before transforming | |''LowInf ''||Variables equal to ''-Inf'' or variables ''< LowInf ''are set to ''LowInf ''before transforming | ||
the problem. Default ''-''10''-''4 . ''<nowiki>|</nowiki> | the problem. Default ''-''10''-''4 . ''<nowiki>|</nowiki>LowInf<nowiki>|</nowiki> ''are limit if upper bound variables are to be used. | ||
|} | |} | ||
Line 77: | Line 78: | ||
values): | values): | ||
< | <source lang="matlab"> | ||
x(~x_L==x_U) = (x-x_L) + x_L(~x_L==x_U) | x(~x_L==x_U) = (x-x_L) + x_L(~x_L==x_U) | ||
</ | </source> | ||
If ''TransType ''= 2 the program is transformed into the form | If ''TransType ''= 2 the program is transformed into the form | ||
Line 94: | Line 95: | ||
where the first ''meq ''constraints are equalities. | where the first ''meq ''constraints are equalities. | ||
If ''TransType'' = 3 the program is transformed into the form | If ''TransType'' = 3 the program is transformed into the form |
Latest revision as of 08:16, 10 January 2012
Purpose
Transform general convex programs on the form
where ,
and , to other forms.
Calling Syntax
[AA, bb, meq] = cpTransf(Prob, TransfType, makeEQ, LowInf)
Inputs
Input | Description |
---|---|
Prob | Problem description structure. The following fields are used:
QP.c Constant vector c in cTx. A Constraint matrix for linear constraints. b_L Lower bounds on the linear constraints. b U Upper bounds on the linear constraints. x_L Lower bounds on the variables. x_U Upper bounds on the variables. |
TransfType | Type of transformation, see the description below. |
MakeEQ | Flag, if set true, make standard form (all equalities). |
LowInf | Variables equal to -Inf or variables < LowInf are set to LowInf before transforming
the problem. Default -10-4 . |LowInf| are limit if upper bound variables are to be used. |
Outputs
Output | Description |
---|---|
AA | The expanded linear constraint matrix. |
bb | The expanded upper bounds for the linear constraints. |
meq | The first meq equations are equalities. |
Description
If TransType = 1 the program is transformed into the form
where the first meq constraints are equalities. Translate back with (fixed variables do not change their
values):
x(~x_L==x_U) = (x-x_L) + x_L(~x_L==x_U)
If TransType = 2 the program is transformed into the form
where the first meq constraints are equalities.
If TransType = 3 the program is transformed into the form
where the first meqconstraints are equalities.