Quickguide SDP Problem
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);