意思決定を支えるシミュレーション活用② ~生産ラインのパラメータ最適化~

  • HOME
  • 意思決定を支えるシミュレーション活用② ~生産ラインのパラメータ最適化~

意思決定を支えるシミュレーション活用② ~生産ラインのパラメータ最適化~

豊岡 祥 株式会社 NTTデータ数理システム シミュレーション&マイニング部所属。
S4 Simulation System の開発のほか、機械学習・シミュレーション・数理最適化を幅広く扱い、分野を横断した問題解決に取り組んでいる。
入社後に競技プログラミングをはじめ、PGBATTLE2023にて企業の部団体3位入賞。

著書: 「XAI(説明可能なAI)──そのとき人工知能はどう考えたのか?」リックテレコム
趣味: 合唱

概要

製造ラインの工程時間とバッファ割り当ての同時最適化を扱うKassoulらの論文[1]にもとづいて、生産ラインにおけるパラメータ最適化におけるシミュレーション活用の事例を紹介します。 シミュレーションに S4 Simulation System(S4) と AIエージェント を用いることで、 シミュレーション構築と実験の自動化 にも取り組みます。

背景:生産ライン設計

製造ラインの性能は、単に機械の台数や平均処理時間だけで決まるわけではありません。工程間にどれだけバッファを置くか、各工程にどの程度の処理能力を持たせるかによって、ライン全体の流れは大きく変わります。

例えば、ある工程が一時的に停止したとき、上流工程は部品を置けずに停止し、下流工程は部品を受け取れずに待機してしまう可能性があります。バッファに仕掛り部品が溜まっていれば、一時的な停止の影響を抑えることができます。一方で、在庫スペースや設備投資の制約があるためバッファを無制限に増やすことはできません。 また、機械が不規則に停止するラインでは、工程処理時間のわずかな配分差が生産率に影響することがあります。

生産ラインの問題設定

以下ではKassoulら[1]の文献にもとづいて、今回の問題設定を整理します。

生産ライン要件

  • 複数の機械が直列につながり、隣接する機械の間に有限容量のバッファが置かれている
  • 部品は最初の機械から投入され、各機械とバッファを順に通過して、最後の機械から出ていく
  • 以下のパラメータに従って各機械は確率的に停止(故障)・回復(修理)する
    • 機械が正常に稼働してから故障するまでの平均時間 = MTBF (Mean Time Between Failures)
    • 機械が故障してから再び稼働可能になるまでの平均時間 = MTTR (Mean Time To Repair)

目的変数

  • 各処理装置に割り当てるバッファ容量
  • 各処理装置に割り当てるサービス時間

制約条件

  • バッファ容量の総和は固定
  • サービス時間の総和は固定

実験設定

論文の実験結果

参考にした論文では、遺伝的アルゴリズム(Genetic Algorithm: GA)と有限摂動解析(Finite Perturbation Analysis: FPA)を組み合わせたGA-FPAにより、バッファ容量と各機械の処理時間を同時に最適化しています。得られた配分案は、機械数や総バッファ容量ごとに整理されています[1]。

論文では、以下のような配分案が報告されています。

N Bmax b* t* CPU (s)
3105, 53.02, 2.96, 3.02977
32010, 103.01, 2.97, 3.021132
33015, 153.02, 2.98, 3.001191
34020, 203.01, 2.98, 3.01805
5205, 6, 5, 43.02, 3.02, 2.99, 2.98, 2.992506
54010, 11, 10, 93.04, 2.99, 2.98, 2.99, 3.011463
56014, 17, 16, 133.05, 3.00, 2.97, 2.98, 3.002018
58019, 22, 20, 193.05, 2.99, 3.00, 2.99, 3.001469
7303, 5, 7, 7, 6, 23.03, 3.02, 2.96, 3.00, 2.98, 3.00, 3.032828
7609, 10, 11, 11, 10, 93.02, 2.99, 2.98, 3.00, 3.00, 2.99, 3.022599
79015, 15, 16, 16, 14, 143.04, 2.98, 3.00, 2.98, 3.00, 2.97, 3.031874
712020, 20, 20, 21, 20, 193.02, 2.97, 3.00, 2.99, 3.01, 2.99, 3.022696

各列の内容は以下です。

  • $N$:生産ラインを構成する機械数
  • $B_{\max}$:生産ライン全体に配分可能なバッファ容量の合計
  • $b^{\ast}$:GA-FPA により得られたバッファ容量配分
  • $t^{\ast}$:GA-FPA により得られたサービス時間配分
  • CPU(s):GA-FPA による最適化に要した計算時間[秒]

また、以下が共通の条件です:

  • 故障時間と修理時間は幾何分布に従い、全機械でMTBF=70、MTTR=10とする
  • 部品数は10,000個

今回の実験設定

今回のS4 実験では、この中から小規模ラインの一例として、$N=7$, $B_{\max}=60$ のケースを扱いました。比較条件は以下です。

項目 値
機械数 N7
総バッファ容量 Bmax60
総サービス時間21
MTBF70
MTTR10
処理部品数10,000
レプリケーション数30

論文で報告されている最適な配分案は、バッファ容量を中央寄りにやや厚くし、サービス時間は端の機械がわずかに大きい配分です。

配分 値
バッファ容量9, 10, 11, 11, 10, 9
サービス時間3.02, 2.99, 2.98, 3.00, 3.00, 2.99, 3.02

比較対象の均等配分は以下です。

配分 値
バッファ容量10, 10, 10, 10, 10, 10
サービス時間3.00, 3.00, 3.00, 3.00, 3.00, 3.00, 3.00

どちらも総バッファ容量は60、総サービス時間は21で同じです。違うのは、同じ総量をライン上のどこに割り当てるかだけです。

評価は、各配分について30回のレプリケーションで行いました。各レプリケーションでは10,000個の部品を処理し、シミュレーション時間はすべての部品の処理が完了するのに十分な長さに設定しました。

S4 とAIエージェントを使った実験構築

S4 Simulation System と AIエージェントを用いることで、上記の実験を行うためのシミュレーション構築と実験スクリプトを自動生成します。 本記事では詳細には立ち入りませんが、概要は以下のようになります:

  • (入力データ準備)
    • シミュレーション要件(論文・実験設定)・ドキュメントを準備し、AIに与える
  • (設計・実装)
    • AIエージェントがS4シミュレーションの構成要素を記述した入力データ一式と、実験条件を記述したスクリプトを生成する
  • (実行)
    • S4が上記スクリプトを実行し、実験結果を得る
    • AIエージェントが実験結果を確認し、レポートを作成する

重要なのは、シミュレータ構築は人による作業を一切行っていないという点です。本記事のここまでに書いたようなシミュレーション設定を AIエージェントに伝えるだけで、シミュレータ構築~実験遂行を行うことができます。

シミュレーション結果

配分 生産率の平均 標準偏差 最小 最大
論文の最適解0.26410.0020740.25990.2691
均等配分0.26360.0016560.26070.2670

論文の主張通り、最適解として示されている配分が均等配分よりも高い生産率を示すことを確認することができました。 ただし、その差は約 0.191% であり、シミュレーションのランダム性(故障タイミング等)に起因するばらつきも大きいため、有意な結果とは言えません (Welch の t 検定に基づく p値 = 0.3)。

拡張可能性

S4 を使うと以下のような拡張も容易に可能です:

  • シミュレータの拡張
    • パラメータの変更 (機器数、加工時間など)
    • 現場の業務フローの反映 (ラインの分岐や合流、搬送機器や作業員の表現など)
    • 複雑なロジックの組み込み (スケジュールやディスパッチ方式など)
  • 最適化
    • パラメータの最適化 (バッファ・工程時間の最適化、作業員割り当ての最適化など)
    • ロジックの最適化 (スケジュール最適化、ディスパッチ最適化など)

S4とAIエージェントを組み合わせることで、シミュレーション構築~最適化実験の検証を素早く行うことが可能です。

まとめ

本記事では、機械、バッファ、故障・修理条件を持つ直列生産ラインをS4 Simulation Systemでモデル化し、Kassoulらによる論文[1]の結果と整合するシミュレーション結果を得たことについて紹介いたしました。

今回のポイントは、S4とAIエージェントを使うことで、研究論文レベルの生産ラインシミュレーションモデルの構築や、配分案ごとの性能差の定量的な確認を自動化できた点にあります。

結果は論文の主張が必ずしも強いものではないことが示唆するものでしたが、製造ライン最適化におけるシミュレーション活用の流れをイメージいただけたのではないでしょうか。

参考文献

S4 Simulation System によるシミュレーション活用のご支援

NTTデータ数理システムでは、自社開発のシミュレーション基盤「S4 Simulation System」を活用したシミュレータ構築・活用の支援を承っております。対象は物流、SCM、製造業など多岐にわたります。シミュレータの構築にとどまらず、改善施策の提案・検証や最適化ロジックの開発まで対応させていただきます。

「工程間バッファの配置を見直したい」「設備停止を考慮した生産能力を評価したい」「論文や既存研究の設定を自社データで検証したい」といった課題をお持ちの場合は、ぜひお気軽にご相談ください。

関連記事