Rev | Line | |
---|
[37] | 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.