source: proiecte/pmake3d/make3d_original/Make3dSingleImageStanford_version0.1/third_party/opt/yalmip/operators/min_internal.m @ 37

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

Added original make3d

File size: 1.4 KB
Line 
1function [F,properties,arguments] = min_internal(X,method,options,extstruct)
2switch method
3    case 'graph'
4        arguments=[];
5        F = set([]);
6        for j = 1:length(extstruct.arg)
7            F = F + set(extstruct.arg{j} - extstruct.var);
8            arguments= [arguments;extstruct.arg{j}(:)];
9        end
10        properties = struct('convexity','concave','monotonicity','increasing','definiteness','none');
11    case 'milp'
12        arguments = [];
13        F = set([]);
14        t = extstruct.var;
15        for j = 1:length(extstruct.arg) % MAX(x,y)
16            X = extstruct.arg{j};
17            X = reshape(X,length(X),1);
18            [M,m] = derivebounds(X);
19            n = length(X);
20            d = binvar(n,1);
21            F = F + set(sum(d)==1);
22            F = F + set(-(max(M)-min(m))*(1-d) <= t-X <= (max(M)-min(m))*(1-d));
23
24            kk = [];
25            ii = [];
26            for i = 1:n
27                k = [1:1:i-1 i+1:1:n]';
28                ii = [ii;repmat(i,n-1,1)];
29                kk = [kk;k];
30                Mm = M(k)-m(i);
31            end
32            xii = extsubsref(X,ii);
33            dii = extsubsref(d,ii);
34            xkk = extsubsref(X,kk);
35            F = F + set(xii <= xkk+(M(ii)-m(kk)).*(1-dii));
36            arguments = [arguments;extstruct.arg{j}(:)];
37        end
38        properties = struct('convexity','exact','monotonicity','exact','definiteness','none');
39
40    otherwise
41        F = [];
42        return
43end
Note: See TracBrowser for help on using the repository browser.