【後編】数理最適化の新時代到来
~最適化→予測でDXは加速する~

前編はこちら

ビジネスで実施するにあたって:フィードバックを元に改善していく大切さ

以下では汎用ソルバー(詳細は前編参照)を利用することを前提に、ビジネスで数理最適化を実施する際の手順や、成功のポイントについて説明します。

1.KPI(目的)と制約条件をできる限り洗い出す

 ここで言うKPIとは前編で述べたように、トラックの総稼働時間やコンバージョン数等、ビジネス的に最大化/最小化したい対象を意味します。 

 また、制約条件を洗い出している際には、この数値は予測しないといけないという状況に直面します。ここから「機械学習で予測する」という必要性が生じる場合があります。機械学習プロジェクトは、こういった最適化プロジェクトの副次的な要素としてはじめた方が上手くビジネスと直結します。そこから必要なデータを洗い出す、といった具体的なタスクも始まるのです。

2. 過去データでバックテストし、コストインパクトを算出する

 1で、KPIと制約条件を洗い出した後は、それを汎用ソルバーでモデリングします。ポイントは、過去データを用いることです。過去データでトライする理由は、「もし、意思決定が○○だったら、××円のコストインパクトがありました」を提示するためです。

 過去データでROIを算出し、アルゴリズムの良さを評価します。メッセージとしては上記の一文さえあれば十分で、込み入った資料を作成する必要もありません。KPIを過去値と汎用ソルバーの出力値で差を出して、その差を見れば良いのです。できれば、単価を掛けて金額に換算して出すと、企業の上位層の方にも響きやすいので良いと思います。

3. 現場のフィードバックをもらい、再実行する

 2で算出したインパクトは、1回目だと制約条件を全て洗い出せていないケースがほとんどです。例えば、インパクト値があまりにも現実とかけ離れている場合には、足りない制約条件がある場合が多いです。そこで、現場のオペレーション視点で計画が実行可能かどうかを判断する必要があります。そういった現場のオペレーションのフィードバックを元に、新しく制約条件を追加すると、当然インパクト値は下がってしまいますが、現場の方には響きます。

 こういった実装する制約条件のセンスも、データサイエンティストに問われる点で、「実装した制約をあえて抜く」こともあります。例えば、現場のオペレーション上の制約が業務改善側からすると必ずしも満たす必要がないルールとなっている場合があり、そのルールによってインパクトが抑えられているような状況では有効な対処法になります。こういった上位層と現場層の両者の満足度を高めていくことがモデリングの腕の見せ所で、仕事の面白い点でもあります。

4. 継続して使っていただけるようなダッシュボードを開発する

 数理最適化は2で述べたような経営層にビジネスインパクトを算出するだけに留まらず、現場のオペレーションをも支援するボトムアップツールです。

出した計画は、現場の方々に実行してもらわないと効果はありません。そこで、どういったデータを準備していただき、どういった形式で結果を表示するかといった設計が必要になります。

 例えば、顧客の時間指定や、予算制約の上限はユーザーが変更して何パターンかの計画を試したいという場合が多いです。そういった条件をいくつか変更して試したい場合には、無理にデータベースで数値を管理せず、お客様にエクセルファイルで条件の数値を入力していただき、それをアップロードしてもらう方が、使っていただきやすいというのが私の経験です。

 また、計算された計画表も画面で綺麗に表示するのも見栄えは良いのですが、エクセルファイルで帳票形式でダウンロードできる方が、クライアント企業様の社内でも展開されやすく、広まりやすいと感じます。

 こういった開発は、アプリケーション開発というと少し開発の規模が大きくなりがちなため、私は「ダッシュボード開発」と呼んだ方が良いと考えております。アプリケーション開発のような、機能要件を洗い出し外堀りを決めるのも大事ですが、よりプロジェクトの後半で良く、まずは制約条件の値を変更し、結果がどう変わるかをインタラクティブに体感できる仕組みを作ることを優先すべきと考えます。

よく基幹システムと接続しなければ使ってもらえないのではないかという話が出ますが、まずは基幹システムとは切り離して開発した方が良いと思いますし、そこで簡単なダッシュボードを作り関係者の理解を深めてから、基幹システムとどう繋げるべきかは別途議論して決めた方がリスクをコントロールしやすいです。まずはアルゴリズムをお客様自身に体感してもらうことを優先すべきと考えます。

はじめから、話をむやみやたらに大きくしないことがプロジェクトが成功する秘訣と言えるでしょう。

「機械学習プロジェクト」は、「数理最適化プロジェクト」のサブタスク

 機械学習プロジェクトの失敗例として、予測精度を追求し、精度が95%を超えるまでやり続けるという場合が多いように感じます。

 むしろ、「予測精度が上がった後の仕組み」について考えることの方が重要だと思います。

 例えば、配送計画では顧客の注文量を、予算を投じた際のコンバージョン数を予測する場合があります。予測値は、あくまでその後計画を立てる場合のインプットとして使うだけです。すなわち、機械学習の出力は数理最適化の材料に当たります。材料だけ合っても料理は完成しません。さらに言うと、材料が多少悪くても、それを考慮して、料理を実行することはできます。

 数理最適化の強力な手法として、予測のブレを取り込んで、計画を立てることができます。例えば、配送計画の注文量の例で言えば、予測が外れて注文が多い場合に備えて、多く台数を用意すれば良いことになります。しかし、それでは保守的すぎてインパクトが弱まります。

こういった場合には、技術的に高度な内容にはなりますが、多い場合と少ない場合のあらゆるパターンを試行(モンテカルロシミュレーション)し、いかなるパターンでも配車を(そこそこ)組めるようにするといった手段を取ることができます。私はそれを「ロバスト最適計画」と呼んでいます。配送計画だけでなく、他の計画作成にも有効な手法であり、「機械学習を数理最適化で、補完する技術」であるとも言えます。

 こういった複雑な最適化技法も以前は職人技でしたが、汎用ソルバーには、こういった高度な最適化機能(ブラックボックス最適化機能)を取り備えたソルバーもあります。

 機械学習プロジェクトで予測精度を100%にするのではなく、現状の精度に対して、数理最適化でどう補うか、または補う必要がどの程度あるのかを議論することが非常に大切だと感じます。2つのプロジェクトで補完し合いながら1つのプロジェクトを完成させていくのが良いと思います。

まとめ

 私が数理最適化に初めて出会ったのは8年前でしたが、そのときには、考えられなかった時代が来たと感じています。昨今は新型コロナの暗いニュースが多いですが、数理最適化は明るい未来があるような気がします。先人の方々の汎用ソルバーの開発に対する努力には、感謝するばかりです。ぜひとも、先人の方々の知恵の結晶で、データというボトムからビジネスを変革できるような方々が増えてほしいと思います。

 それは特にブレインパッドに限った話ではないと思います。汎用ソルバーで解決したビジネス課題をオープンに共有される時代も近いうちに来るでしょう。

 私もまだまだ修行中ですので、皆さんと一緒に頑張りたいと思います。

WRITER執筆者プロフィール

株式会社ブレインパッド

アナリティクス本部
アナリティクスサービス部
魚井 英生

物流、マーケティング業界に対して、顧客の意思決定を数理計画法を用いて取り組む。課題解決に向けたコンサルティングから、アプリケーション開発まで、一連の流れを支援する。

MAIL MAGAZINEメールマガジン

イベントやセミナーの開催予定、
最新特集記事の情報をお届けいたします。

TREND人気ワード・タグ

BEST PRACTICEベストプラクティス

ブレインパッド社員が考えることから探す

業態・業種から探す

課題から探す

テクノロジーから探す

製品・サービスから探す

データ活用のプロが考える、エンジニアリング視点の記事や、新規ビジネスの創出に関する記事まで幅広い特集を配信!

業界の最先端をいく、100名を超える当社に在籍のAIおよびデータ活用スペシャリストが原稿を執筆!

ベストなDXへの入り口が見つかるメディア

DOORS

BrainPad

MAIL MAGAZINEメールマガジン

登録が完了しました。

メールマガジンのご登録ありがとうございます。
最新特集記事の情報をお届けしますので、
お楽しみにお待ちください。

MAIL MAGAZINEメールマガジン

登録エラーです。