Quickguide SDP Problem

From TomWiki
Revision as of 09:05, 10 August 2011 by Elias (talk | contribs) (Created page with "{{Part Of Manual|title=the Quickguide Manual|link=Quickguide}} The '''linear semi-definite programming problem with linear matrix inequalities''' ('''sdp''') is de...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Notice.png

This page is part of the Quickguide Manual. See Quickguide.

The linear semi-definite programming problem with linear matrix inequalities (sdp) is defined as


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 defines and solves a problem in TOMLAB.

File: tomlab/quickguide/sdpQG.m

Open the file for viewing, and execute sdpQG in Matlab.

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);