From: jing on
For the equality constrains in LMI, do you find a way to define it?
thanks

"Varsha Bhambhani" <bhambhani.v(a)gmail.com> wrote in message <h7kfgd$g9f$1(a)fred.mathworks.com>...
>
> 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(a)gmail.com> wrote in message <h6mscc$pgc$1(a)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)