import json, time import numpy as np LAYERS, WIDTH = 4, 2 def instance(seed, K=8): r=np.random.default_rng(seed); edges=[] for t in range(LAYERS): src=range(t*WIDTH,(t+1)*WIDTH) if t else [-1] dst=range((t+1)*WIDTH,(t+2)*WIDTH) if ttarget*len(groups): best=None for e,g in enumerate(groups): for i in range(len(g)): for j in range(i+1,len(g)): ng=merge_groups(groups,e,i,j); nc=compressed(foc,ng); d=nc-c if mode=='regret': score=float(d@x0+lam*np.abs(d).sum()) elif mode=='random': score=float(np.random.default_rng(e+i*31+j).random()) elif mode=='mass': score=-float(foc[e][2][g[i]].sum()+foc[e][2][g[j]].sum()) else: l,u,m=foc[e]; ai,bj=g[i],g[j] lo=max(min(l[ai]),min(l[bj])); hi=min(max(u[ai]),max(u[bj])) union=max(max(u[ai]),max(u[bj]))-min(min(l[ai]),min(l[bj])) score=-max(0.,hi-lo)/max(union,1e-12) if best is None or score