第2章 整数の迷宮
翌朝、城の庭は霧に覆われていた。杏は、昨日の補給作戦で安堵する村人たちの笑顔を思い出しながら、窓際の机に向かっていた。羊皮紙の上には、昨日の輸送ルート図と新たな地図が並ぶ。
「杏様、王都からの書簡です」
侍従が差し出したのは、華やかな封蝋の書簡。封を切ると、印字ではなく、淡い光を帯びたルーン文字が浮かび上がった。
『王都交易局より。貴領の主要交易路の最適化計画を提出せよ。期限は三日以内。』
「三日……」
声にならない短い息をつく。領地経営だけでも手一杯なのに、王都はさらに整数制約のかかった最適化を求めてきた。荷車の台数、護衛人数、倉庫容量――全てが整数でなければならない。微妙な誤差も許されない。これを単純な動的計画法で解こうとすれば、組み合わせ爆発で計算は数日かかる。しかし杏の頭の中には、すでに新しい「アルゴリズムの魔法」が閃いていた。
「整数計画法、分枝限定法、ヒューリスティック……全てを組み合わせれば、有限の時間で最適解に辿り着ける」
彼女は小さなルーンマシンを取り出し、羊皮紙の上に光の網を広げる。昨日と違い、今回は数値が単純な道の距離ではなく、荷車ごとの積載制約、護衛人数、倉庫容量、さらには交易品の価値までも含んでいる。
「まず、最重要の村から。A村、B村、C村……荷車台数は整数で、輸送価値は最大に。ここで枝を分ける。荷車を1台ずつ順に割り当て、各制約に沿う組み合わせを探索する。非現実的な枝は即座に切る。無駄は許されない」
光の糸が羊皮紙の上で分岐し、無数の道筋が浮かび上がる。細かい枝は消え、可能な組み合わせだけが光の残像として残る。杏は指を滑らせながら、各枝の総価値と安全度を計算する。
「整数で割り切れない場合はヒューリスティックで近似する。最悪でも、損失は最小に抑えられる。数値は証明の形をとる――人も納得できる形で」
侍従が恐る恐る訊く。
「……これは、昨日の作戦よりも難しいのでは?」
杏は小さく笑った。
「昨日の『連続値の最適化』よりも、今日は『離散値の迷宮』。でも、計算は同じ。定義すれば、答えはある」
午後、城下の交易路でテスト運用が始まる。荷車は整数台数で、予定どおりに出発する。護衛隊も計算どおりに分散配置され、経路ごとのリスクは最小化される。
だが、途中で問題が起きる。B村への途中、土砂崩れが起きたという報告が入ったのだ。予定のルートが塞がれ、整数計画は崩れる危険性を帯びた。
「計算のやり直し……だが、ここで焦ってはいけない」
杏は新たな光の網を描く。ルートの一部が消え、新しい枝が伸びる。整数制約を満たしつつ、荷車の再配分を計算する。護衛は増員せず、時間差で分散させる。数分で、光の糸が再び整列し、最適ルートが完成した。
「計算完了。証明は紙の上だけでなく、現実にも適用できる」
荷車は無事にB村に到着。村人は驚きと安堵の声を上げる。杏は笑顔で答えた。
「喜んでくれるのは嬉しい。でも、次の問題は王都の承認です。数式が正しくても、政治的な承認がなければ、最適解は実行されない」
その夜、城の書斎で杏は羊皮紙にメモを書く。
『整数最適化は完了。しかし、政治的制約が新たな変数として加わる。次は交渉戦略のアルゴリズムを設計する必要がある』
窓の外、王都方面の光が遠く揺れる。杏はそっと息を吐き、ルーンマシンを手に握った。
「計算は終わらない。最適化は、まだ序章――」




