|
TOMLAB OPTIMIZATION ENVIRONMENT: bmiAssign |
![]() |
bmiAssign
Purpose
For setting up linear semidefinite programming (SDP) problems with
linear or bilinear matrix inequality constraints (LMI or
BMI).
Syntax
Prob = bmiAssign(c, LMI, BMI, A, b_L, b_U, x_L, x_U, x_0,
problemName, setupFile, nProblem, fLowBnd);
Description
bmiAssign provides a direct way of setting up linear semidefinite
programming (SDP) problems with linear or bilinear matrix inequality
constraints (LMI or BMI) in the
TOMLAB Quick (TQ) format.
The information is put into the TOMLAB input problem structure
Prob.
Prob = bmiAssign( .... )
It is then possible to solve the SDP problem using
PENSDP or PENBMI
Result = tomRun('pensdp',Prob);
OR
Result = tomRun('penbmi',Prob);
bmiAssign can also take a predefined PENSDP problem structure as input and create a problem structure to be used by TOMLAB.
See the demonstration example in sdpDemo.m in
tomlab\examples
Problem
The LMI minimization problem is defined as
min c' * x. c and x in R^n
x
subject to
x_L <= x <= x_U x_L,x_U in R^n
b_L <= A*x <= b_U b_L,b_U in R^ml, A in R^[mlxn]
LMI: Q0^i + sum(i=1:n) (x_j*Q^i_j) <= 0, i = 1, ..., m
BMI: Q0^i + sum(i=1:n) (x_j*Q^i_j) + ...
+ sum(k=1:n) sum(l=1:n) (x(k)*x(l)*K^i_kl) <= 0, i=1,...,m
For each matrix constraint i, Q0^i, Q^i_j (and K^i_kl if BMI) must
have same quadratic size (or empty)
Equality equations: Set b_L==b_U
Fixed variables: Set x_L==x_U
Input Parameters
One parameter c must always be given.
c The vector c in c'x in the objective function OR
a structure in the PENSDP Structure Format (PSF)
LMI Structure array describing the LMI constraints.
i = 1, ..., m matrix inequalities
LMI(i,j).Q are p x p matrices (or empty)
LMI(i,1).Q0 are p x p matrices (or empty)
Each LMI(i,:).Q must be of the same size p x p, but
two inequalities LMI(i,:) and LMI(j,:) may have
differently sized matrices. Constraint i is:
LMI(i,1).Q0 + x(1)*LMI(i,1).Q + x(2)*LMI(i,2).Q + ... + x(n)*LMI(i,n).Q <= 0
Any empty Q are interpreted as being all-zero.
BMI Cell array BMI{1:n, 1:n, 1:m} describing the bilinear
parts of m matrix constraints. If there is only one (1)
matrix inequality, BMI may be given as BMI{1:n,1:n}.
BMI{k,l,i} is a p x p matrix, being the K^i_kl matrix that is
multiplied with x(k)*x(l) in
sum(k=1:n)sum(l=1:n) x(k)*x(l)*K^i_kl.
A The linear constraint matrix
b_L The lower bounds for the linear constraints
b_U The upper bounds for the linear constraints
x_L Lower bounds on x
x_U Upper bounds on x
b_L, b_U, x_L, x_U must either be empty or of full length
x_0 Starting point x (may be empty)
problemName The name of the problem (string)
setupFile Currently not used
nProblem Currently not used
fLowBnd Currently not used
bmiAssign also makes the mideva.m file needed for use with
MIDEVA and nonlinear solvers.
| clsAssign | ![]() |