On sudoku.com[1] there is now an "evil" difficulty level. I found these very difficult to solve by hand (I usually give up).
Of course, a good MIP presolver/preprocessor devours this in no time. It should solve it using zero iterations, and zero nodes in less than 0.1 seconds.
Version identifier: 20.1.0.1 | 2021-04-07 | 3a818710c
CPXPARAM_Advance 0
CPXPARAM_Threads 1
CPXPARAM_MIP_Display 4
CPXPARAM_MIP_Pool_Capacity 0
CPXPARAM_MIP_Tolerances_AbsMIPGap 0
Generic callback 0x50
Tried aggregator 2 times.
MIP Presolve eliminated 168 rows and580 columns.
Aggregator did 28 substitutions.
Reduced MIP has 128 rows, 122 columns, and501 nonzeros.
Reduced MIP has 122 binaries, 0 generals, 0 SOSs, and0 indicators.
Presolve time = 0.06 sec. (0.93 ticks)
Found incumbent of value 0.000000 after 0.06 sec. (1.66 ticks)
Root node processing (before b&c):
Real time = 0.06 sec. (1.67 ticks)
Sequential b&c:
Real time = 0.00 sec. (0.00 ticks)
------------
Total (root+branch&cut) = 0.06 sec. (1.67 ticks)
--- MIP status (101): integer optimal solution.
--- Cplex Time: 0.06sec (det. 1.67 ticks)
Proven optimal solution
MIP Solution: 0.000000 (0 iterations, 0 nodes)
Final Solve: 0.000000 (0 iterations)
Best possible: 0.000000
Absolute gap: 0.000000
Relative gap: 0.000000
CBC is a bit terser (not always the case):
COIN-OR CBC 38.2.196226ea8 Feb 19, 2022 WEI x86 64bit/MS Window
COIN-OR Branch and Cut (CBC Library 2.10)
written by J. Forrest
Calling CBC main solution routine...
No integer variables - nothing to do
Solved to optimality (within gap tolerances optca and optcr).
MIP solution: 0.000000e+00 (0 nodes, 0.019 seconds)
Best possible: 0.000000e+00
Absolute gap: 0.000000e+00 (absolute tolerance optca: 0)
Relative gap: 0.000000e+00 (relative tolerance optcr: 0.0001)
References
Appendix: GAMS model
$ontext set * * |
---- 73 PARAMETER v solution
c1 c2 c3 c4 c5 c6 c7 c8 c9
r1 324719856
r2 759863412
r3 168245739
r4 671354928
r5 945182367
r6 283976145
r7 492637581
r8 837521694
r9 516498273