今回のテーマPythonには無料の数理最適化ライブラリがあります。有名どころでは「OR-Tools」と「PuLP」が二大巨頭ではないでしょうか。個人的にはOR-Tools推しですが、私の周囲ではPuLPを使用する人も多く、どちらが良いのか知りたくなりました。そこで、今回は「OR-Tools」と「PuLP」に数独を解かせて、その処理速度を比較して、どちらのライブラリがよいか検証してみます。1~9の数字を必ず埋める。どの1行、どの1列、どの3x3においても同じ数字は1回だけしか使えない。数字が埋まっている場所では、その数字を使う。問題はこちらのページから借りてきました。上級問題を10種類、各10回ずつ解かせ、時間を計測する。定式化は整数計画法を用いた。本来ならば目的関数を定義するが、今回の定式化では考慮しない。今回の定式化はどちらかと言うとSATの考え方に近い。各セルに0か1の数値が入る。