Models Linear Semi-Definite Programming Problem with Linear Matrix Inequalities: sdp prob

From TomWiki
Revision as of 06:45, 12 August 2011 by Elias (talk | contribs) (Created page with "{{Part Of Manual|title=TOMLAB Models|link=TOMLAB Models}} In <tt>sdp_prob</tt> there is 1 linear semi-definite programming test problem with linear matrix ineq...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Notice.png

This page is part of TOMLAB Models. See TOMLAB Models.

In sdp_prob there is 1 linear semi-definite programming test problem with linear matrix inequalities with 3 variables. In order to define this problem and solve it execute the following in Matlab:

Prob	= probInit('spd_prob',1); 
Result  = tomRun('',Prob);

An example of a problem of this class, (that is also found in the TOMLAB quickguide) is glbQG:


Failed to parse (unknown function "\multicolumn"): {\displaystyle \begin{array}{rccccl} \min\limits_{x} & \multicolumn{5}{l}{f(x) = {c^T}x} \\ & \\ s/t & x_{L} & \leq & x & \leq & x_{U} \\ & b_{L} & \leq & Ax & \leq & b_{U} \\ & \multicolumn{5}{r}{Q^{i}_0 + \Sum{k=1}{n} Q^{i}_{k}x_{k} \preccurlyeq 0,\qquad i=1,\ldots,m.} \\ \end{array} }

where Failed to parse (unknown function "\MATHSET"): {\displaystyle c, x, x_L, x_U \in \MATHSET{R}^n} , Failed to parse (unknown function "\MATHSET"): {\displaystyle A \in \MATHSET{R}^{m_l \times n}} , Failed to parse (unknown function "\MATHSET"): {\displaystyle b_L,b_U \in \MATHSET{R}^{m_l}} and are symmetric matrices of similar dimensions in each constraint . If there are several LMI constraints, each may have it's own dimension.

The following file is required to define a problem of this category in TOMLAB.

File: tomlab/quickguide/sdpQG.m

The following file illustrates how to define and solve a problem of this category in TOMLAB. This problem appears to be infeasible.

% sdpQG is a small example problem for defining and solving
% semi definite programming problems with linear matrix
% inequalities using the TOMLAB format.

Name = 'sdp.ps example 2';

% Objective function
c = [1 2 3]';

% Two linear constraints
A =   [ 0 0 1 ; 5 6 0 ];
b_L = [-Inf; -Inf];
b_U = [ 3  ; -3 ];

x_L = -1000*ones(3,1);
x_U =  1000*ones(3,1);

% Two linear matrix inequality constraints. It is OK to give only
% the upper triangular part.
SDP = [];
% First constraint
SDP(1).Q{1} = [2 -1 0 ; 0 2 0 ; 0 0 2];
SDP(1).Q{2} = [2 0 -1 ; 0 2 0 ; 0 0 2];
SDP(1).Qidx = [1; 3];

% Second constraint
SDP(2).Q{1} = diag( [0  1] );
SDP(2).Q{2} = diag( [1 -1] );
SDP(2).Q{3} = diag( [3 -3] );
SDP(2).Qidx = [0; 1; 2];

x_0 = [];

Prob = sdpAssign(c, SDP, A, b_L, b_U, x_L, x_U, x_0, Name);

Result = tomRun('pensdp', Prob, 1);