source: proiecte/pmake3d/make3d_original/Make3dSingleImageStanford_version0.1/third_party/opt/yalmip/dev/yiangming.m @ 37

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

Added original make3d

File size: 1.7 KB
Line 
1%test for mpmiqp with media workload
2%4 proc,12 tasks,25 subtasks,n=4,m=12,nu=12,nx=4
3%allocation matrix,n*m
4
5%matrix initialization
6
7n=3;
8m=6;
9allo_m = [0.1167 0 0.1625 0.05833 0 0.2 0 0.09 0.09 0 0 0;
10    0.1833 0.09 0 0.0417 0.075 0.1375 0 0.15 0 0.075 0 0;
11    0.1833 0 0.1125 0 0.065 0 0.175 0 0 0 0.1125 0;
12    0.15 0.11 0 0.075 0.115 0 0.1083 0 0 0 0 0.0692];
13allo_m = allo_m(1:n,1:m);
14tp=pascal(n);
15
16z = sdpvar(m,1);
17x = sdpvar(n,1);
18
19obj = (allo_m*z - x)'*(allo_m*z - x)
20
21F = set(binary(z)) + set(allo_m*z <= x) + set(x <= 2*tp(:,1));
22
23solvemp(F,obj,[],x)
24
25
26n=4;
27m=12;
28allo_m = [0.1167 0 0.1625 0.05833 0 0.2 0 0.09 0.09 0 0 0;
29    0.1833 0.09 0 0.0417 0.075 0.1375 0 0.15 0 0.075 0 0;
30    0.1833 0 0.1125 0 0.065 0 0.175 0 0 0 0.1125 0;
31    0.15 0.11 0 0.075 0.115 0 0.1083 0 0 0 0 0.0692];
32%F=-2*allo_m
33Matrices.F = -2*allo_m;
34%Y=I,n*n
35Matrices.Y = eye(n);
36%G=allo_m
37Matrices.G = allo_m;
38%H=2*allo_m'*allo_m
39Matrices.H = 2*(Matrices.G)'*Matrices.G;
40%W=0,n*1
41Matrices.W = 0*eye(n,1);
42%E=I,n*n
43Matrices.E = eye(n);
44%Cf=Q2,assume zero here,1*m
45Matrices.Cf = 0*eye(1,m);
46%Cx=0,1*n
47Matrices.Cx = 0*eye(1,n);
48%Cc=0,1*1
49Matrices.Cc = [0];
50%bndA=I,n*n
51Matrices.bndA = eye(n);
52%bndb=2*[1;1;1...]
53tp=pascal(n);
54Matrices.bndb = 2*tp(:,1);
55
56for i=1:m,
57    Matrices.vartype(i)='B';
58end
59
60%call solver
61Options.verbose = 1;
62sol = mpt_mpmiqp(Matrices,Options);
63
64%test
65Pn=sol.Pn;
66D0=[0.8;0.6;0.7;0.8];
67reg=0;
68mincost=inf;
69count=0;
70for i=1:length(Pn),
71    [H{i},K{i}]=double(Pn(i));
72    if H{i}*D0-K{i}<0
73        count=count+1;
74        cost=D0'*sol.Ai{i}*D0 + sol.Bi{i}*D0 + sol.Ci{i};
75        if cost<mincost
76            mincost = cost;
77            reg = i;
78        end
79    end
80end
81u = sol.Fi{reg}*D0+sol.Gi{reg};
82
Note: See TracBrowser for help on using the repository browser.