function phi = randlip(m,n) [A,B] = lipab(m,n); K = genK(m,n); [x,fval] = linprog(-K,A,B,[],[],0*K,0*K+n); phi = round(x'); return [A,B] = lipab(m,n); GG = gengray(n,m); iif = invperm(GG+1); while 1 phi = zeros(m^n,1); rp = randperm(m^n); diam = ceil(rand*n); %diam = n; rp = rp(1:diam); phi(rp) = ones(diam,1); phi = cumsum(phi); phi = phi(iif); if all(A*phi<=B) break end end return