source: proiecte/pmake3d/make3d_original/Make3dSingleImageStanford_version0.1/third_party/opt/yalmip/demos/timeglobal.m @ 37

Last change on this file since 37 was 37, checked in by (none), 14 years ago

Added original make3d

File size: 3.3 KB
Line 
1t0 = cputime;
2
3yalmip('clear')
4clc
5x1 = sdpvar(1,1);
6x2 = sdpvar(1,1);
7x3 = sdpvar(1,1);
8
9objective = -2*x1+x2-x3;
10
11F = set(x1*(4*x1-4*x2+4*x3-20)+x2*(2*x2-2*x3+9)+x3*(2*x3-13)+24>0);
12F = F + set(4-(x1+x2+x3)>0);
13F = F + set(6-(3*x2+x3)>0);
14F = F + set(x1>0);
15F = F + set(2-x1>0);
16F = F + set(x2>0);
17F = F + set(x3>0);
18F = F + set(3-x3>0);
19
20% Explicitly specify solvers (this is currently recommended)
21ops = sdpsettings('solver','bmibnb');                 % Global solver
22ops = sdpsettings(ops,'bmibnb.lowersolver','glpk');   % Lower solver
23ops = sdpsettings(ops,'bmibnb.uppersolver','penbmi'); % Local solver
24ops = sdpsettings(ops,'bmibnb.lpsolver','glpk');      % LP solver
25ops = sdpsettings(ops,'verbose',0);      % LP solver
26ops = sdpsettings(ops,'penbmi.P0',0.01);     
27
28solvesdp(F,objective,ops)
29
30yalmip('clear')
31x1 = sdpvar(1,1);
32x2 = sdpvar(1,1);
33x3 = sdpvar(1,1);
34x4 = sdpvar(1,1);
35x5 = sdpvar(1,1);
36x6 = sdpvar(1,1);
37
38objective = -25*(x1-2)^2-(x2-2)^2-(x3-1)^2-(x4-4)^2-(x5-1)^2-(x6-4)^2;
39
40F = set((x3-3)^2+x4>4) + set((x5-3)^2+x6>4);
41F = F + set(x1-3*x2<2) + set(-x1+x2<2) + set(x1+x2>2);
42F = F + set(6>x1+x2>2);
43F = F + set(1<x3<5) + set(0<x4<6)+set(1<x5<5)+set(0<x6<10)+set(x1>0)+set(x2>0);
44
45
46t = sdpvar(1,1);
47F = F + set(objective<t);
48
49solvesdp(F,t,ops)
50
51
52yalmip('clear')
53A0 = [-10 -0.5 -2;-0.5 4.5 0;-2 0 0];
54A1 = [9 0.5 0;0.5 0 -3 ; 0 -3 -1];
55A2 = [-1.8 -0.1 -0.4;-0.1 1.2 -1;-0.4 -1 0];
56K12 = [0 0 2;0 -5.5 3;2 3 0];
57
58x = sdpvar(1,1);
59y = sdpvar(1,1);
60t = sdpvar(1,1);
61
62F = set(A0+x*A1+y*A2+x*y*K12-t*eye(3)<0);
63F = F + set(-0.5 < x < 2) + set(-3 < y < 7);
64
65% Specify solvers
66ops = sdpsettings('solver','bmibnb');                 % Global solver
67ops = sdpsettings(ops,'bmibnb.lowersolver','pensdp'); % Lower solver
68ops = sdpsettings(ops,'bmibnb.uppersolver','penbmi'); % Local solver
69ops = sdpsettings(ops,'bmibnb.lpsolver','glpk');      % LP solver
70ops = sdpsettings(ops,'penbmi.P0',0.01);              % Typically good
71
72ops = sdpsettings(ops,'verbose',0);              % Typically good
73
74solvesdp(F,t,ops)
75
76
77A = [-1 2;-3 -4];B = [1;1];
78
79P = sdpvar(2,2);
80K = sdpvar(1,2);
81
82F = set(P>0)+set((A+B*K)'*P+P*(A+B*K) < -eye(2)-K'*K);
83F = F + set(K<0.1)+set(K>-0.1);
84F = F + set(1000> P(:)>-1000);
85solvesdp(F,trace(P),ops)
86
87A = [-1 2;-3 -4];
88t = sdpvar(1,1);
89P = sdpvar(2,2);
90F = set(P>eye(2))+set(A'*P+P*A < -2*t*P);
91F = F + set(-1e4 < P(:) < 1e4) + set(100 > t > 0) ;
92solvesdp(F,-t,ops)
93
94A = [-1 2;-3 -4];
95t = sdpvar(1,1);
96P = sdpvar(2,2);
97F = set(P>0)+set(A'*P+P*A < -2*t*P);
98F = F + set(trace(P)==1) + set(100 > t > 0) ;
99solvesdp(F,-t,ops)
100
101F = F + set(trace(A'*P+P*A) < -2*t);
102solvesdp(F,-t,ops)
103
104F = set(P>0)+set(A'*P+P*A < -2*t*P);
105F = F + set(trace(P)==1) + set(100 > t > 0) ;
106F = F + cut(trace(A'*P+P*A) < -2*t);
107
108solvesdp(F,-t,ops)
109
110yalmip('clear');
111A = [-1 2 ;0.5 0.3];
112B = [0;1];
113
114P = sdpvar(2,2);
115K = sdpvar(1,2);
116
117F = lmi(P>0);
118F = F + lmi([-(A+B*K)'*P-P*(A+B*K)-eye(2) K';K eye(1)] > 0);
119F = F+lmi(diag(P)>0)+lmi(P(:)>-150) + lmi(P(:)<150) + lmi(K>-5) + lmi(K<5);
120F = F + cut((A+B*K)'*P+P*(A+B*K) < -eye(2)-K'*K);
121
122F = F + cut(kron(P,P)>0);
123
124ops = sdpsettings('bmibnb.lowersolver','pensdp','verbose',0,'solver','bmibnb','pensdp.P0',0.9);
125ops = sdpsettings(ops,'bmibnb.vartol',1e-4,'bmibnb.lpreduce',1,'bmibnb.roottight',1,'bmibnb.maxiter',30,'penbmi.P0',0.01,'bmibnb.lpsolver','glpk');
126solvesdp(F,trace(P),ops)
127
128
129
130cputime-t0
Note: See TracBrowser for help on using the repository browser.