It can be shown that this problem can be formulated as a Σ problem as follows: maximizeTrace(P) under constraintsP-PT= 0andAPAT+Q0EP0RCPPTETPTCTP≥0.The evaluation function is:function [LME,LMI,OBJ]=ric_dscr_eval(XLIST)LME=P-P’LMI=[A*P*A’+Q,zeros(A*C’),E*P;zeros(C*A’),R,C*P;P*E’,P*C’,P]OBJ=-trace(P)which can be used as follows (asumingE,A,C,QandRare defined and have compatiblesizes–note thatEandAneed not be square).--> P_init=zeros(A’*A)--> P=lmisolver(XLIST0,ric_dscr_eval)Linear programming with equality constraintsConsider the following classical optimization problemminimizeeTxsubject toAx+b≥0,Cx+d= 0.whereAandCare matrices ande,banddare vectors with appropriate dimensions. Here thesign≥is to be understood elementwise.This problem can be formulated in LMITOOL as follows:function [LME,LMI,OBJ]=linprog_eval(XLIST)[x]=XLIST(:)[m,n]=size(A)47
Subscribe to view the full document.
LME=C*x+dLMI=list()tmp=A*x+bfor i=1:mLMI(i)=tmp(i)endOBJ=e’*xand solved in Scilab by (assumingA,C,e,banddand an initial guess x0 exist in the environment):--> x=lmisolver(x0,linprog_eval)Sylvester EquationThe problem of finding matrixXsatisfyingAX+XB=CorAXB=CwhereAandBare square matrices (of possibly different sizes) is a well-known problem. We referto the first equation as the continuous Sylvester equation and the second, the discrete Sylvesterequation.These two problems can easily be formulated as Σ problems as follows:function [LME,LMI,OBJ]=sylvester_eval(XLIST)[X]=XLIST(:)if flag==’c’ thenLME=A*X+X*B-CelseLME=A*X*B-CendLMI=OBJ=with a solver function such as:function [X]=sylvester(A,B,C,flag)[na,ma]=size(A);[nb,mb]=size(B);[nc,mc]=size(C);if ma<>na|mb<>nb|nc<>na|mc<>nb then error("invalid dimensions");endXLISTF=lmisolver(zeros(nc,mc),sylvester_eval)X=XLISTF(:)Then, to solve the problem, all we need to do is to (assumingA,BandCare defined)--> X=sylvester(A,B,C,’c’)for the continuous problem and--> X=sylvester(A,B,C,’d’)for the discrete problem.48
7.3FunctionLMITOOLThe purpose ofLMITOOLis to automate most of the steps required before invokinglmisolver.In particular, it generates a *.sci file including the solver function and the evaluation functionor at least their skeleton. The solver function is used to define the initial guess and to modifyoptimization parameters (if needed).lmitoolcan be invoked with zero, one or three arguments.7.3.1Non-interactive modelmitoolcan be invoked with three input arguments as follows:Syntaxtxt=lmitool(probname,varlist,datalist)where•probname: a string containing the name of the problem,•xlist: a string containing the names of the unknown matrices (separated by commas ifthere are more than one).•dlist: a string containing the names of data matrices (separated by commas if there aremore than one).
As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.
Temple University Fox School of Business ‘17, Course Hero Intern
I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.
University of Pennsylvania ‘17, Course Hero Intern
The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.