function suphisketcha(m0,n0) global m n randomize m = m0; n = n0; global pstr pstr = mfilename global lstr rstr global Ainf Binf mylinopt mylinopt = optimset('Diagnostics','off'); mylinopt = optimset('Display','off'); [Ainf,Binf] = lipab(m,n); global mind mind = 1e6; LB = zeros(m^n,1)-10; LB(end+1) = 0; UB = LB*0+10; UB(end) = 2; while 1 x = randn(m^n,1); a = randinseg(0,2); y = fmincon(@myobj,[x;a],[],[],[],[],LB,UB); fprintf('%s: PARAMS: n=%d m=%d; \n',pstr,n,m); fprintf('DIFF _________________________ mind = %1.9f \n',mind); end return function y = myobj(x) global m n global Ainf Binf mylinopt global pstr K = x(1:m^n); a = x(end); [x,fval] = linprog(-K,Ainf,Binf,[],[],0*K+a,0*K+n,0,mylinopt); lhs = -fval; [x,fval] = linprog(-K,Ainf,Binf,[],[],0*K,0*K+n,0,mylinopt); rhs = -fval + a*sum(K); y = rhs - lhs; global mind if (y < mind) global mindK minda mindK = K; minda = a; mind = y; fprintf('%s: PARAMS: n=%d m=%d; \n',pstr,n,m); fprintf('DIFF _________________________ mind = %1.9f \n',mind); if y < -.01 save BADESUPH m n K y end end return