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