Rev | Line | |
---|
[37] | 1 | function micp |
---|
| 2 | |
---|
| 3 | |
---|
| 4 | Loc_n=4; |
---|
| 5 | Sen_n=3; |
---|
| 6 | Nvar=Loc_n*Sen_n; %Variable number |
---|
| 7 | |
---|
| 8 | %Constants |
---|
| 9 | C=[1 1;1 0;0 1;0 1]; |
---|
| 10 | s1=5.0693; |
---|
| 11 | s4=3.8259; |
---|
| 12 | Cov_M=[1.501 0.523 0.978 0.978; 3.002 1.046 1.956 1.956; 4.503 1.569 2.934 2.934]'; |
---|
| 13 | Z=[2500 1500 800]; %$,cost |
---|
| 14 | |
---|
| 15 | %variable claim |
---|
| 16 | X=binvar(Nvar,1); % [q11 q12 q13 q21 q22 q23 q31 q32 q33 q41 q42 q43] |
---|
| 17 | |
---|
| 18 | %Constraints (LMIs) |
---|
| 19 | |
---|
| 20 | for i=1:Loc_n |
---|
| 21 | k=3*i-2; |
---|
| 22 | Xigma_inv(i,i)=1./Cov_M(i,:).^2*X(k:k+2); |
---|
| 23 | end |
---|
| 24 | |
---|
| 25 | P1(2:3,2:3)=C'*Xigma_inv*C; |
---|
| 26 | P1(1,1)=s1; |
---|
| 27 | P1(1,2:3)=C(1,:); |
---|
| 28 | P1(2:3,1)=C(1,:)'; |
---|
| 29 | |
---|
| 30 | P2=P1; |
---|
| 31 | P2(1,1)=s4; |
---|
| 32 | P2(1,2:3)=C(4,:); |
---|
| 33 | P2(2:3,1)=C(4,:)'; |
---|
| 34 | |
---|
| 35 | P3(1,1)=1-sum(X(1:3)); |
---|
| 36 | P3(2,2)=1-sum(X(4:6)); |
---|
| 37 | P3(3,3)=1-sum(X(7:9)); |
---|
| 38 | P3(4,4)=1-sum(X(10:12)); |
---|
| 39 | |
---|
| 40 | |
---|
| 41 | F=set(P1>0)+set(P2>0)+set(diag(P3)>=0); |
---|
| 42 | |
---|
| 43 | %Objective |
---|
| 44 | cc=zeros(1,Nvar); |
---|
| 45 | cc(1:Sen_n)=Z; |
---|
| 46 | cc(Sen_n+1:2*Sen_n)=Z; |
---|
| 47 | cc(2*Sen_n+1:3*Sen_n)=Z; |
---|
| 48 | cc(3*Sen_n+1:end)=Z; |
---|
| 49 | |
---|
| 50 | obj=cc*X; |
---|
| 51 | |
---|
| 52 | sol = solvesdp(F,obj); |
---|
| 53 | |
---|
| 54 | mbg_asserttolequal(sol.problem,0); |
---|
| 55 | mbg_asserttolequal(double(obj), 3000, 1e-5); |
---|
| 56 | |
---|
Note: See
TracBrowser
for help on using the repository browser.