function [H,pi] = maxhord(P,m,n) global PI if isempty(PI) error('PI not initialized'); %PI = generate_perms(n); end H = 0; PROGstart(size(PI,1)); for i=1:size(PI,1) P1 = reorderP(P,m,n,PI(i,:)); [hh,Ht,Hpi] = gethhn(P1,m,n); if Hpi > H H = Hpi; pi = PI(i,:); end PROGupdate(i); end PROGend; return