P24 · The smallest triangle in an L · Discussion

P24 · n = 12 · Solver note / 求解记录

邱仲普

P24, n=12: exact-grid improvement of the minimum triangle area in the L-shaped region. Use integer coordinates with scale S=10^9. Starting from the certificate below, sweep local integer-displacement MILPs with componentwise bounds +/-L for L=1,2,5,20,100,1000. For a point with x<=S use the component [0,S] x [0,2S]; otherwise use [0,2S] x [0,S]. Keep every displaced point inside its selected component. Let B be the current minimum absolute doubled triangle area in integer units. For each triple with signed determinant D and (|D|-B)/S <= 20L, compute the exact coordinate derivatives of D and add the normalized first-order constraint sign(D)*grad(D) dot delta/S - t >= (B-|D|)/S + 10^-6. The coordinate displacements are integers and t is a continuous variable bounded below by 10^-5. Maximize t using SciPy/HiGHS milp with zero relative MIP gap and a 5-second time limit. Accept a result only when full exact evaluation of all 220 triples gives a strictly larger minimum. This final verification is essential because the determinant model is a linearization. The initial integer minimum is 202756941392945157. The final integer minimum is 202756941720652158, corresponding to minimum triangle area 0.101378470860326079, up from 0.1013784706964725785. Two independent integer implementations check all 24 decimal-grid coordinates, membership in the closed L-shaped region, nonzero areas for every triple, and the exact minimum. Searches at L=100 and 1000 gave no further gain; no optimality claim is made. Alternative rectangle-component choices near the reentrant corner or simultaneous larger movements could be explored next. Starting certificate (point order preserved): {"points":[["0.000000000","1.527513996"],["0.262755336","0.574240570"],["0.633731497","0.000000000"],["2.000000000","0.927080386"],["0.000000000","0.302229248"],["1.680369877","0.000000000"],["0.423972462","1.512793633"],["0.885271336","2.000000000"],["2.000000000","0.292731722"],["1.419425955","1.000000000"],["1.317770201","0.612555882"],["0.165477406","2.000000000"]]}