Line | |
---|
1 | x1 = sdpvar(1,1); |
---|
2 | x2 = sdpvar(1,1); |
---|
3 | x3 = sdpvar(1,1); |
---|
4 | x4 = sdpvar(1,1); |
---|
5 | x5 = sdpvar(1,1); |
---|
6 | x6 = sdpvar(1,1); |
---|
7 | x7 = sdpvar(1,1); |
---|
8 | x8 = sdpvar(1,1); |
---|
9 | x9 = sdpvar(1,1); |
---|
10 | x10 = sdpvar(1,1); |
---|
11 | x11 = sdpvar(1,1); |
---|
12 | x12 = sdpvar(1,1); |
---|
13 | x13 = sdpvar(1,1); |
---|
14 | x14 = sdpvar(1,1); |
---|
15 | x15 = sdpvar(1,1); |
---|
16 | |
---|
17 | x = [x1;x2;x3;x4;x5;x6;x7;x8;x9;x10;x11;x12;x13;x14;x15]; |
---|
18 | |
---|
19 | c = [-192 -96 -48 96 192 32 16 8 -16 -32 -80 -40 -20 40 80]'; |
---|
20 | A1 = -40*x1-20*x2-10*x3+20*x4+40*x5; |
---|
21 | A2 = -16*x1-8*x2-4*x3+8*x4+16*x5+32*x11+16*x12+8*x13-16*x14-32*x15; |
---|
22 | A3 = -23+32*x6+16*x7+8*x8-16*x9-32*x10+8*x11+4*x12+2*x13-4*x14-8*x15; |
---|
23 | |
---|
24 | A = [A1 A2;A2 A3]; |
---|
25 | F = lmi(A>0) + lmi(x>0)+lmi(x<1) |
---|
26 | |
---|
27 | solvesdp(F+binary(x),c'*x,sdpsettings('solver','cp')); |
---|
28 | |
---|
29 | |
---|
30 | F_lin = set(diag(A))+lmi(x>0)+lmi(x<1); |
---|
31 | |
---|
32 | |
---|
33 | solvesdp(F_lin,c'*x,sdpsettings('solver','glpk')) |
---|
34 | |
---|
35 | for i = 1:5 |
---|
36 | [v,d] = eig(double(A)); |
---|
37 | F_lin = F_lin + set(v(:,1)'*A*v(:,1) > 0); |
---|
38 | solvesdp(F_lin+integer(x),c'*x,sdpsettings('solver','glpk')); |
---|
39 | double(c'*x) |
---|
40 | end |
---|
41 | |
---|
42 | |
---|
43 | |
---|
44 | solvesdp(F,[],c'*x,sdpsettings('verbose',2,'bnb.maxiter',25)) |
---|
45 | |
---|
46 | |
---|
47 | double(c'*x) |
---|
48 | double(x) |
---|
Note: See
TracBrowser
for help on using the repository browser.