m = 2 n = 3 %mm = [2 3] %nn = [2 3 4] global maxr maxr = 0; good=1; mf = 0; while good %m = randel(mm) %n = randel(nn) [K,phi,fval] = trynbreak([],[],m,n,'reverse'); %[K,phi,fval] = trynbreak([],[],m,n,'pos'); %[K,phi,fval] = trynbreak([],[],m,n,'greedy'); %[K,phi,fval] = trynbreak([],[],m,n,'posneg'); %[K,phi,fval] = trynbreak([],[],m,n,'zajim'); %[K,phi,fval] = trynbreak([],[],m,n,'conv'); %[K,phi,fval] = trynbreak([],[],m,n,'phir'); %[K,phi,fval] = trynbreak([],[],m,n,'phim'); %[K,phi,fval] = trynbreak([],[],m,n,'lips'); if 0 [K,phi,fval] = trynbreak([],[],m,n,'drat'); if fval < mf K0 = K; phi0 = phi; n0 = n; m0 = m; mf = fval; end fprintf('.......................curmarg = %1.9f \n',mf); end if 0 [A,B] = lipab(m,n); K = genK(m,n); [x,fval] = linprog(-K,A,B,[],[],0*K,n+0*K); phi = round(x'); b1 = (sum(K)<0); b2 = (min(phi)==0); if b1~=b2 'nope' keyboard end end end return