def mkcol(cov,cost,cid,kind,pair,lab): return {'cov':tuple(cov),'cost':F(cost),'cid':cid,'kind':kind,'pair':pair,'lab':lab} cols=[mkcol([1 if i==j else 0 for j in range(7)],SC[i+1],i,'s',None,None) for i in range(7)] basis=cols[:] NCOL=[7] def runnode(cols,basis,a,b,typ,start_u): u=start_u basis,x,pi=opt(basis,cols) while True: L=pricing(a,b,typ,pi,u) u+=1 if L is None or L[6]>=0: break cov=[0]*7 for z in L[0]: if z!=8: cov[z-1]=1 cost=L[6]+sum(pi[i]*cov[i] for i in range(7)) c=mkcol(cov,cost,NCOL[0],'m',(L[0][0],L[0][1]),L) NCOL[0]+=1 cols.append(c) basis,x,pi=opt(basis,cols) return u,cols,basis,x,pi