function phi = greedymaxf(K,phi,m,n,perm) global Ainl Binl Ain1 Bin1 dims = repmat([m],[1 n]); dims1 = repmat([m],[1 n-1]); for xind2n = perm x2n = ind2coord(xind2n,dims1); %ks = 0; ks = K(xind2n); %for x1 = 1:m % xind = coord2ind([x1 x2n],dims); % ks = ks + K(xind); %end Y = allrho1(x2n,m); Yind = coord2ind(Y,dims1); ymax = max(phi(Yind)); ymin = min(phi(Yind)); d = ymax-ymin; if ks > 0 phi(xind2n) = min(ymax + 1 - d,n-1); else phi(xind2n) = max(ymin - 1 + d,0); end end return