Path: news.mathworks.com!not-for-mail
From: <HIDDEN>
Newsgroups: comp.soft-sys.matlab
Subject: Re: Equality constraints in LMI..elementwise implementation....reproduction of neural network in Park& Park paper
Date: Wed, 2 Sep 2009 00:50:21 +0000 (UTC)
Organization: The MathWorks, Inc.
Lines: 222
Message-ID: <h7kfgd$g9f$1@fred.mathworks.com>
References: <h6mscc$pgc$1@fred.mathworks.com>
Reply-To: <HIDDEN>
NNTP-Posting-Host: webapp-03-blr.mathworks.com
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Trace: fred.mathworks.com 1251852621 16687 172.30.248.38 (2 Sep 2009 00:50:21 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Wed, 2 Sep 2009 00:50:21 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 1942447
Xref: news.mathworks.com comp.soft-sys.matlab:567709



I improved on my code (Implementing eq 9 and 10 in park & park paper "An optimization approach to design of cellular neural networks"International Journal of Systems Science, 2000, volume 31, number 12, pages 1585- 1591)

Although I am working in LMI tool and I tested the feasibility of the problem using "feasp", it happens to be marginally feasible.

However, when i use "gevp", it results in feasibility.

Prior to this I wrote to you to kindly give me some insight on structure of my LMIs, I have improved on to the structure of my LMIs.

Still I have the problem of infeasibility.

I would really appreciate your guidance on same.

Here is the new code......I have tried same in lmiedit, the equations are feasible when i check with "feasp" but it results in infeasibility with "gevp"


clear all;
clc;

% % four memory vector given in the paper
% A1=[1 1 1 1 0 0 1 0 0 1 1 1]';
% A2=[1 0 1 1 1 1 1 0 1 1 0 1]';
% A3=[1 1 1 1 0 1 1 1 1 1 0 0]';
% A4=[0 1 0 0 1 0 0 1 0 0 1 0]';

% % four memory vector given in the paper
A1=[1 1 1 1 -1 -1 1 -1 -1 1 1 1]';
A2=[1 -1 1 1 1 1 1 -1 1 1 -1 1]';
A3=[1 1 1 1 -1 1 1 1 1 1 -1 -1]';
A4=[-1 1 -1 -1 1 -1 -1 1 -1 -1 1 -1]';


% Index matrix S given in the paper
S= [1 1 0 1 1 0 0 0 0 0 0 0; 1 1 1 1 1 1 0 0 0 0 0 0; 0 1 1 0 1 1 0 0 0 0 0 0; 1 1 0 1 1 0 1 1 0 0 0 0; 1 1 1 1 1 1 1 1 1 0 0 0; 0 1 1 0 1 1 0 1 1 0 0 0; 0 0 0 1 1 0 1 1 0 1 1 0; 0 0 0 1 1 1 1 1 1 1 1 1; 0 0 0 0 1 1 0 1 1 0 1 1; 0 0 0 0 0 0 1 1 0 1 1 0; 0 0 0 0 0 0 1 1 1 1 1 1; 0 0 0 0 0 0 0 1 1 0 1 1];

% upper and lower bounds on qi
L=1;
U=10;

% constant matrix for writing LMI in matrix notation
I= eye(12);
W=ones(12,12);

% constructing LMI equations
setlmis([])
T = lmivar(1,[12 1]);
B = lmivar(2,[12 1]);
P = lmivar(1,[12 0]);
Q = lmivar(1,[12 0]);



% LMI for memory vector ...TAA'I+BA'I-P>0
% 


% %LMI L<qi
lmiterm([-1 1 1 Q],1,1);
lmiterm([1 1 1 0],L*I);

%LMI qi<U
lmiterm([-2 1 1 0],U*I);
lmiterm([2 1 1 Q],1,I);

%LMI qi-T>0
lmiterm([-3 1 1 Q],1,W);
lmiterm([-3 1 1 T],1,-1);

%LMI qi+T>0
lmiterm([-4 1 1 Q],1,W);
lmiterm([-4 1 1 T],1,1);

% %LMI 2(-delta)qi>-pi
% lmiterm([5 1 1 Q],2,1);
% lmiterm([-5 1 1 P],-1,1);
% 
% lmiterm([-10 1 1 -T],1/2,-1,'s');
% lmiterm([-10 1 1 T],1,1);
% 
% lmiterm([11 1 1 -T],1/2,-1,'s');
% lmiterm([11 1 1 T],1,1);
[m,n]=size(S);

%maximum row norm diagonal matrix
N=diag((max(abs(T')))');


lmiterm([-5 1 1 T],1,A1*A1'*I);
lmiterm([-5 1 1 B],1,A1'*I);
lmiterm([-5 1 1 P],-1,1);

lmiterm([-6 1 1 T],1,A2*A2'*I);
lmiterm([-6 1 1 B],1,A2'*I);
lmiterm([-6 1 1 P],-1,1);

lmiterm([-7 1 1 T],1,A3*A3'*I);
lmiterm([-7 1 1 B],1,A3'*I);
lmiterm([-7 1 1 P],-1,1);

lmiterm([-8 1 1 T],1,A4*A4'*I);
lmiterm([-8 1 1 B],1,A4'*I);
lmiterm([-8 1 1 P],-1,1);
% 
%LMI 2(-delta)qi>-pi
lmiterm([-9 1 1 Q],2,1);
lmiterm([9 1 1 P],-1,1);


test_LMIs = getlmis;
[tmin,xfeas]=feasp(test_LMIs);
[lopt,xopt] = gevp(test_LMIs,1)
% 
% T_result= dec2mat(test_LMIs, xopt, T);
% B_result= dec2mat(test_LMIs, xopt, B);
% 
% [m,n]=size(S);
% 
% for i=1:m
% for j =1:n
% if S(i,j)==1
% T_result(i,j)=T_result(i,j);
% else
% T_result(i,j)=0;
% end
% if (i==j)
% T_result(i,j)=0;
% else
% T_result(i,j)=T_result(i,j);
% end
% end
% end

"Varsha Bhambhani" <bhambhani.v@gmail.com> wrote in message <h6mscc$pgc$1@fred.mathworks.com>...
> Uses LMI toolbox in matlab to implement problem defined by Park & Park  (paper attached).however problem results in infeasibility....
> 
> Implementing eq 9 and 10 in park & park paper "An optimization approach to design of cellular neural networks"International Journal of Systems Science, 2000, volume 31, number 12, pages 1585 ? 1591
> 
> two problems encountered...
> 1) y is the problem infeasible in my code whereas feasible results are obtained in aprk & park using GEVP
> 
> 2) where to use equality constraints to define Tii=0 and T=T'=T|S elementwise as in park & park
> 
> I think the structure of my LMI equations using lmivar and lmiterm is correct
> 
> The code is as such....
> 
> 
> 
> clear all;
> clc;
> A1=[1 1 1 1 -1 -1 1 -1 -1 1 1 1]';
> A2=[1 -1 1 1 1 1 1 -1 1 1 -1 1]';
> A3=[1 1 1 1 -1 1 1 1 1 1 -1 -1]';
> A4=[-1 1 -1 -1 1 -1 -1 1 -1 -1 1 -1]';
> S= [1 1 0 1 1 0 0 0 0 0 0 0; 1 1 1 1 1 1 0 0 0 0 0 0; 0 1 1 0 1 1 0 0 0 0 0 0; 1 1 0 1 1 0 1 1 0 0 0 0; 1 1 1 1 1 1 1 1 1 0 0 0; 0 1 1 0 1 1 0 1 1 0 0 0; 0 0 0 1 1 0 1 1 0 1 1 0; 0 0 0 1 1 1 1 1 1 1 1 1; 0 0 0 0 1 1 0 1 1 0 1 1; 0 0 0 0 0 0 1 1 0 1 1 0; 0 0 0 0 0 0 1 1 1 1 1 1; 0 0 0 0 0 0 0 1 1 0 1 1];
> L=1;
> U=10;
> I= eye(12);
> W=ones(12,12);
> setlmis([])
> T = lmivar(1,[12 1]);
> B = lmivar(2,[12 1]);
> P = lmivar(1,[12 0]);
> Q = lmivar(1,[12 0]);
> 
> 
> 
> 
> lmiterm([-1 1 1 T],1,A1*A1'*I);
> lmiterm([-1 1 1 B],1,A1'*I);
> lmiterm([-1 1 1 P],-1,1);
> 
> lmiterm([-2 1 1 T],1,A2*A2'*I);
> lmiterm([-2 1 1 B],1,A2'*I);
> lmiterm([-2 1 1 P],-1,1);
> 
> lmiterm([-3 1 1 T],1,A3*A3'*I);
> lmiterm([-3 1 1 B],1,A3'*I);
> lmiterm([-3 1 1 P],-1,1);
> 
> lmiterm([-4 1 1 T],1,A4*A4'*I);
> lmiterm([-4 1 1 B],1,A4'*I);
> lmiterm([-4 1 1 P],-1,1);
> 
> 
> lmiterm([-5 1 1 Q],1,W);
> lmiterm([-5 1 1 T],1,-1);
> 
> lmiterm([-6 1 1 Q],1,W);
> lmiterm([-6 1 1 T],1,1);
> 
> lmiterm([-7 1 1 Q],1,1);
> lmiterm([7 1 1 0],L*I);
> 
> lmiterm([-8 1 1 0],U*I);
> lmiterm([8 1 1 Q],1,I);
> 
> lmiterm([-9 1 1 Q],2,1);
> lmiterm([9 1 1 P],-1,1);
> 
> % lmiterm([-10 1 1 -T],1/2,-1,'s');
> % lmiterm([-10 1 1 T],1,1);
> % 
> % lmiterm([11 1 1 -T],1/2,-1,'s');
> % lmiterm([11 1 1 T],1,1);
> % [m,n]=size(S);
> % for i=1:m
> %     for j =1:n
> %     if S(i,j)==1
> %         T(i,j)=T(i,j);
> %     else
> %         T(i,j)=0;
> %     end
> %     if (i==j)
> %         T(i,j)=0;
> %     else
> %         T(i,j)=T(i,j);
> %     end
> %     end
> % end
> test_LMIs = getlmis;
> [alpha,Qopt]=gevp(test_LMIs,9)