最適化手法×サプライチェーン改革！

# What is 数理最適化?

 　みなさん、はじめまして。東京の沿岸エリアのITソリューション会社で技術営業をしている@Kanappeと申します。
 Quiitaへの記事投稿は初めてですので、どうぞお手柔らかにお願いします。
 　本日は、上司のJT博士（工学）と一緒に「数理最適化」とは何か？また、数理最適化を実務に用いた事例としてサプライチェーンの最適化の事例をご紹介したいと思います。
  
#### 「数理最適化」…？それって美味しいの？

　まずは、弊社のソリューションのベースとなっている「数理最適化」の考えについて簡単にご紹介します。
 　「数理最適化」とは、簡単に言うと数学的な手法やアルゴリズムを用いて、与えられた制約条件の下で特定の目的関数を最大化または最小化する計算技術のことを指します。
  　よく知られている問題としては「ベジタリアン・ピザ問題（通称「ベジピザ問題」）」や「ナップザック問題」が挙げられます。

 
（例１）ベジタリアン・ピザ問題
　制約条件：メンバーの中にベジタリアン・ピザしか食べられないメンバーが存在。
  　目的関数：できるだけ多くのメンバーにピザがいきわたる。

![3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3626156/aff39814-c373-d6b3-ef9d-6010ec5c5e5a.png)


（例２）ナップザック問題
　制約条件：ナップザックのサイズ、または全体の重さ
 　目的関数：ナップザックに入る品物の金額合計
  　　　　　（できるだけ合計を高くしたい。）

![11.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3626156/e15f2cdc-b8c8-87e3-3adc-98e9d8a72272.png)


#### やりたいことは分かったけど、具体的にどうするの？

 　ここまでで、どういった種類の問題を扱っているのか…は理解頂けたかなと思いますが、では実際にどうやって上記のような問題を解くのか。
ざっくりとした流れは以下のようになっています。


![12.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3626156/bc37cc94-61aa-99ce-13ea-d94953817304.png)


　　基本的には上記のような流れが一般的な求解までの流れではあるのですが、実際には真面目に問題を解いた場合、中にはNP(Non Polynomial)的な特性である為、データ量や制約条件によっては、求解までに莫大な時間がかかったり、計算が終わらない…という事例も発生します。
そういった場合に取られる策として、「ヒューリスティックアプローチ」があります。

#### what is 「ヒューリスティックアプローチ」？
　ヒューリスティックなアプローチというのは、簡単に言ってしまうと「実用的な時間内で、そこそこ良い解を探索的に求めよう」というアプローチになります。
  　私が所属する会社でも、上記に記載した数理最適化に基づく厳密解を解くソルバー以外に、このヒューリスティックなアプローチに基づくソルバーも提供しています。
   　具体的には、取りうるいくつかの選択肢に対して優先順位や各種ルールを設定し、考慮すべき制約条件を設定することで、制約を考慮しつつ「良好な」解にたどり着く…というイメージになります。
    　　最新のヒューリスティックソルバーは 高速及びインテリジェントなものが出てきており、数千のアイテムが数十の工場や倉庫に分散し、共有の機械や原材料をめぐって競合するような非常に大規模かつ複雑な サプライチェーンマネジメント問題も処理できるようになってきています。

# 「最適化×サプライチェーン改革」
　　では、ここからは、具体的に数理最適化/ヒューリスティックアプローチを用いたサプライチェーン改革の事例をご紹介できればと思います。
  　サプライチェーンマネジメント（SCM）計画には、S&OP、S&OE、工場レベル計画など様々な領域があります。
今回は、需要充足と在庫削減に焦点を当てた S&OE計画のケースをご紹介します。

#### 改革事例：並行生産の事例

　「並行生産」とは同じ製品を単一のラインではなく、複数のラインで生産することを指します。
私（＝JT博士）が担当した同企業では、商品の需要変動だけではなく、サプライヤーの供給能力も大きく変動するため、現場の生産が混乱した状況にありました。
　　同企業では、単一の製品ラインをもつ商品と、複数工場に製品ラインをもつ商品の両方が存在していました。課題は、すべての需要に応えつつ、同時に在庫を最小限に抑えることでした。

##### 本事例の難しい/独自ポイント：
　需要とサプライヤー双方の変動に加え、制約のあるリソース（工場、物流）の下で、在庫を削減しつつ需要を充足するという相反する目標を達成する必要があること。

（補足：一般的に欠品を出さないようにするためには在庫をたくさん持っておくというのがメインのアプローチになります。ですが、在庫を多く保有することは企業にとってリスクとなるため、いかに在庫を押さえつつ、それでも欠品を出さないようにするか…はSCMの永遠の課題の一つです。）

##### 提案アプローチ：
アプローチ1：計画/最適化の範囲を広げる

・　工場内、またはいくつかの工場内のみに計画範囲が限られている場合、様々な変動要因を小さなスコープ内で吸収する必要があります。
・　よって、計画/最適化の範囲が広ければ広いほど、変動に対応する柔軟性が大幅に高まります。
・　同企業はグローバルなサプライチェーンネットワークを持つ企業でしたので、手作業による計画立案からシステムを導入することで、計画スコープを大幅に広げることができるようになりました。
・　その結果として工場間の配分調整の柔軟性が増加し、全体的に効率的な計画が得られるようになりました。

アプローチ2：計画サイクルの大幅な短縮
・　また、変動を迅速に把握して対応するには、計画サイクルの大幅な短縮も効果的です。
・　ビジネスの現場では刻一刻と状況が変化するため、できるだけ最新の情報を取り込んで計画を立てるのが一番、需要とのブレが少なくなります。
・　やはり、手作業の計画では計画見直しのサイクルはある程度空かざるを得ませんが、システムを導入することによりこのサイクルが大幅に短縮し、結果的に在庫削減/需要の充足につながりました。

#### 最後に…
　本記事は、私が所属する関係とは関係なく、これまでの業務経験を整理する意味もこめて個人の活動として書きました。
私の所属する会社は最適化手法を用いて様々なサプライチェーン改革に取り組んでおります。
　　数理最適化は機械学習と並ぶ基盤的かつ応用の幅が広い技術ですが、最近は機械学習に押され気味のように感じるのが残念です…。
ということで、少しでもサプライチェーンマネジメントや数理最適化/ヒューリスティックアプローチに興味を持って頂いた方がいらしたら、ぜひLinkedIn等でメッセージを頂けると嬉しいです。

一緒に最適化手法について知見を深めていければと思います！

https://www.linkedin.com/in/kana-tanimoto-091955207/?originalSubdomain=jp

最後までお読み頂きありがとうございました。