【要約】AIの「最適シフト」は、現場と2割しか一致しなかった [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
開発者がOR-Toolsを用いてシフト最適化モデルを構築した際、算出された解が現場の運用と大きく乖離するという問題に直面した。ソルバーは正しく動作していたが、現場のベテランが組むシフトとの一致率は約2割に留まった。
- ・ソルバーは「ルールを満たす最小限」を出すが、現場は「ルール外の配慮」を行っていた。
- ・担当表をハード制約(禁止事項)としたため、現場の柔軟な配置が不可能になっていた。
- ・移動距離や相性といった、数値化されていない質的な優先順位が目的関数に含まれていなかった。
- ・マスタ定義の漏れやデータの更新遅延により、モデルが現場の実態を捉えきれていなかった。
// Approach
開発者は、作成した最適解を現場の実態と突き合わせ、その差分から暗黙のルールを特定するアプローチを採用した。ヒアリングによる言語化に頼らず、実物との乖離を「信号」として捉える手法である。
- ・ハード制約を「ペナルティ付きのソフト制約」へ変更し、解の柔軟性を確保した。
- ・担当リスト外のヘルパーも変数として定義し、ペナルティ項を目的関数に加えた。
- ・「解をぶつけて差分を取る」プロセスを通じて、移動距離や相性などの要素を抽出した。
- ・差分を一つずつ検証し、現場のベテランが最大化している目的関数を逆算してモデルに写し取った。
// Result
このプロセスを通じて、現場のベテランが頭の中で行っている最適化を、数理モデルへ翻訳する具体的な道筋が示された。
- ・暗黙知はヒアリングではなく、解と実態の差分から逆算して得られることが判明した。
- ・目的関数の豊かさが、現場の運用とモデルの一致度を左右することが明確になった。
- ・AIがコードを書ける時代において、制約と目的関数の「翻訳」こそがエンジニアの価値になると結論付けた。
Senior Engineer Insight
> 最適化の実装において、ソルバーの選定やコード記述はもはや差別化要因にならない。真の課題は、ドメイン特有の「暗黙知」をいかに数理モデルへ翻訳するかにある。ハード制約を多用すると解が硬直化し、実運用から乖離する。現場の運用を「仕様」ではなく「正解」と捉え、差分から目的関数を逆算する反復的なプロセスが、実戦投入可能なシステム構築には不可欠である。