前回の記事では補助変数を利用することで、論理包含のある一見すると非線形な制約を線形制約へ変形し、PuLP で整数制約問題を解くことができました。
現実の問題を扱う際には、「ある特定の状況が望ましくないので、この条件を満たす場合にのみペナルティを足そう」というモデリングを行いたくなることが容易に想像できます。
そこで、論理積の線形表現を PuLP で実現する抽象を導出してみました。論理和もついでにやっておきました。 …

会社で Fork という Git GUI クライアントが流行っており、ずっと使ってきた Sourcetree に進歩が見られないので思い切って乗り換えることにしました。
ここのところの Sourcetree は割とモサモサしていたり、画面構成も v2 のころのほうが個人的に使いやすいと思っていたりで不満がありました。 CLI だけで Git を使っていくこともできますが、樹形図表示や行単位のステージ操作などには GUI が欲しくなります。
Sourcetree に比べると知名度が全然の Fork ですが、非常に出来の良いソフトウェアでした。 …


GOG 版などのデジタルリリースされた SimCity 4 Deluxe では、プログラムの難読化が緩いらしく、コミュニティによる DLL ベースの MOD 開発はこれらデジタル版1のみを対象するように移行していく風潮です。
発売から 20 年経過しても MOD コミュニティが活発であることが喜ばしい一方で、これらデジタルリリース版には日本語コンテンツが収録されていないので、英語テキストでのプレイを強制されます2。
幸い日本語版を所持していれば、デジタル版へのコンテンツの統合が簡単に行えるので、日本語版で DLL 時代を迎える方法をここに記します。ここでは、旧版がインストール済みの環境で GOG 版を追加購入して実行しています。 Steam 版1でも同じようにできると思いますが、GOG 版は DRM が無いので Steam 版よりもおすすめです。 …

このブログでもそうでしたが、Hugo で数式を表示するには、ブラウザで KaTeX か MathJax を使ってレンダリングする構成が一般的でした。
Hugo v0.132.0 から、KaTeX 数式をビルド時に静的にレンダリングする関数 transform.ToMath が追加され、これにより、WASM で動作する KaTeX を使って数式をレンダリングしたものを出力することができ、ブラウザ実行時の JavaScript ライブラリの読み込みが不要になりました。レンダリング結果が最初から入っているので、表示ラグも(ほぼ)発生しません1。 …