半導体製造後工程モデルを使った最適化の解説

ー概要ー

今回は前回の記事である半導体製造プロセス後工程のモデル作成の解説で作成した下図のようなモデル

を使って最適化を行う方法について解説します。今回はライン生産方式でのプロセス最適化の解説で行ったパラメーター推定に加えて、部品交換によるプロセスの停止時間を設けるという条件を加えて、在庫最適化や人員最適化の実行する方法について解説します。

ー最適化の準備ー

前回作ったレポートを選択し、「レポートをもとに新しい課題を開始」を選び、「見える化」にチェックを入れて新しい課題として開始します。レポート名は「処理時間最適化」のように設定します。
*新しいプロジェクトを開始をチェックする必要はありません。

次にプロセスのパラメーターの最適化を行うので「パラメーター推定」を選択します。

これでモデルの用意が出来ました。

ー処理時間の最適化ー

パラメーター推定では目標値を達成するように選択したパラメーターが最適化されます。ただし、今回のモデルは簡単のため全ての処理時間が最小の1分と設定されていることに加えて、1分間に1個の製品が組立・加工・検品される設定であり、故障率や段替え、部品交換時間などを考えていないため、プロセスは既に最大効率に近くなっています。現在、60分間に最大となる約60個の製品が出荷されていますが、ここで最適化の理解のために出荷目標を以下の表のように設定してみます。

timeitemcount
60完成品10
120完成品15
180完成品15
240完成品15
300完成品20

この時csvファイルの記述内容は以下の通りとなります。


time,item,count
60,完成品,10
120,完成品,15
180,完成品,15
240,完成品,15
300,完成品,20

今回のモデルで出荷する品目は「完成品」なので、itemに完成品と記述します。

すでに目標である60分間で15個から20個を達成した状態ですが、ここで最適化を実行すると何が起きるでしょうか?
例えば、「003ワイヤーボンディング」の処理時間を最適化パラメータとすれば、処理時間が長くなること(逆に考えれば、処理にどれだけの時間が掛けることができるか)が想定されます。また、「003ワイヤーボンディング」、「005モールディング」、「007最終検査」の内、最も上流にあるワイヤーボンディングの処理時間が最も影響が大きく、下流側の2つのプロセスは処理時間が1以上の状態であれば、どんな値でも良くなることが想定されます。まずは、以上の想定通りに処理時間が長くなるかどうかとその時の稼働率がどうなるかを中心に見てみましょう。

最適化を行うプロセスカードを選択します。ここでは、「003ワイヤーボンディング」、「005モールディング」、「007最終検査」を選択します。

選択すると下図のようにパラメーターの上下限値の選択画面へ移動します。60分で60個の製品の生産を3分の1から4分の1になる15から20の間へ落とすため、想定通りであれば、「003ワイヤーボンディング」、「005モールディング」、「007最終検査」の処理時間が3に近い値になることが想定されます。「003ワイヤーボンディング」、「005モールディング」、「007最終検査」の処理時間を選び、下限値を「1」、上限値を「10」と設定します。

先ほど用意したファイルを読み込ませます。出荷プロセスを選択し、「設定」ボタンをクリックしてデータ入力画面に入ります。

次に「ファイルを選択」ボタンを押してcsvファイルを読み込ませます。

読み込ませたcsvファイルの内容を確認して問題がなければ、保存ボタンを押してデータ入力画面を抜けます。その後、次へボタンを押すと最適化が始まります。
*データが追加されない場合はcsvファイルの記述が間違っていると考えられるので確認してください。

ーパラメーター推定(処理時間)の結果ー

最適化が終わると、以下のダッシュボード画面が表示されます。

パラメーター推定の結果をサマリーから確認します。「最適化結果」と「累積生産数推移」、「生産推移」を選び確認します。

製品の生産数(出荷量)が減少して目標値に近づいていることが分かるでしょうか。次にパラメーターがどう変化したのかを確認します。モデル図の処理時間が書き換わっており、「003ワイヤーボンディング」の処理時間が1から2.11へ、「005モールディングの処理時間」が1から3.39へ、「007全体検査」の処理時間が1から4.19へ変化しました。
*最適化にはランダムな変数が含まれるため、必ずしも毎回ぴったり同じ結果にならないことに注意してください。

更に稼働率を確認しましょう。右側のプロセス図から確認したいプロセスを選択すると、サマリーで確認できる情報が切り替わるので、ここから下図のように稼働率を確認することができます。稼働率はいずれも高い値となっていることが分かります。

3つの処理時間をパラメーターとしたパラメーター推定を行いましたが、次は別のパラメーターを選んでパラメーター推定してみましょう。

ー在庫の最適化ー

次は在庫をパラメーターとしてパラメーター推定を行う場合の解説を行います。先ほどと同様に「レポートをもとに新しい課題を開始」を選び、「見える化」にチェックを入れて新しい課題として開始します。レポート名は「在庫最適化」のように設定します。
下図のように最適化するプロセスカードを選択する画面になるので、「002入荷品置き場」、「004中間在庫置き場」、「006製品置き場」と「007最終検査」を選択します。

次へを押すとプロセスカードの最適化の際のパラメーターの選択画面が表示されるので、「002入荷品置き場」、「004中間在庫置き場」、「006製品置き場」は置き場容量にチェックを入れ下限値を「1」、上限値を「1000」に設定します。「007最終検査」は処理時間をチェックし、下限値を「0」、上限値を「3」に設定します。

選択が終わったらパラメーター設定画面となるので、置き場の在庫容量の影響がわかりやすくなるよう、以下のプロセスカードのパラメータを調整します。

  • 「001入荷」:
    詳細画面から「ダイ」の入荷数を1から10個に変更、「ワイヤー」の入荷数を2から20個へ変更
    最大60分で600個の生産が可能な材料の量
  • 「003ワイヤーボンディング」:
    作業人数を1から10人へ変更
  • 「005モールディング」:
    作業人数を1から10人へ変更
  • 「002入荷品置き場」、「004中間在庫置き場」、「006製品置き場」、「008出荷品置き場」:
    置き場容量を1000から100個に変更
  • 「007最終検査」:
    作業人数を1から20人へ変更

これらの変更により、置き場容量が100個では足りない状況が生まれ、パラメーター推定による効果が分かりやすくなります。

続いて、出荷プロセスには以下の実データを読み込ませます(csvを先ほどと同じように読み込ませれば、自動で上書きされます)。*上書きされない場合は手動で修正してください。

timeitemcount
60完成品400
120完成品400
180完成品400
240完成品400
300完成品400


time,item,count
60,完成品,400
120,完成品,400
180,完成品,400
240,完成品,400
300,完成品,400

パラメーター設定が終わったら、次へを押すとパラメーター推定が始まります。パラメーター推定が終了すると、先ほどと同様に以下の画面が表示されます。

パラメーター推定の結果をサマリーから確認します。「最適化結果」と「累積生産数推移」、「生産推移」を選び確認します。

製品の生産数(出荷量)が減少して目標値に近づいていることが分かるでしょうか。次にパラメーターがどう変化したのかを確認します。「002入荷品置き場」の置き場容量が100から778.42個へ、「004中間在庫置き場」の置き場容量が100から518.80個へ、「006製品置き場」の置き場容量が100から117.02個へ、「007最終検査」の処理時間が0から2.99へ変化しました。
*最適化にはランダムな変数が含まれるため、必ずしも毎回ぴったり同じ結果にならないことに注意してください。

ー人の最適化ー

人の最適化は生産数目標を達成するようにプロセス全体の人員配置を最適化します。今回も在庫最適化と同じモデルを利用します。在庫最適化のレポートを選択し、今度は人の最適化のチェックボックスにチェックを入れ新しい課題を開始します。名前は元のモデル+コピーとなります(後で変更可能)。
パラメーター推定と同様に最適化の対象を選びます。

次へを押すと条件の設定画面が表示されます。今回は全て「いいえ」を選択してください。

ここでは、「003ワイヤーボンディング」、「005モールディング」、「007最終検査」を選択します。選択後パラメーターを選択し、上下限値を設定します。作業人数にチェックを入れ、それぞれの人数の下限を1人、上限を40人と設定します。

次に出荷プロセスには以下の実データを再度読み込ませます(csvを先ほどと同じように読み込ませれば、自動で上書きされます。あるいは手動で編集します)。入荷プロセスの入荷量を考えると60分で600個という数が上限のはずです。
*上書きされない場合は手動で修正してください。

timeitemcount
60完成品600
120完成品600
180完成品600
240完成品600
300完成品600


time,item,count
60,完成品,600
120,完成品,600
180,完成品,600
240,完成品,600
300,完成品,600

パラメーター設定が終わったら、次へを押すと人の最適化が始まります。人の最適化が終了すると、先ほどと同様に以下の画面が表示されます。

パラメーター推定の結果をサマリーから確認します。「最適化結果」と「累積生産数推移」、「生産推移」を選び確認します。

「003ワイヤーボンディング」の作業人数が10人から16.92人、「005モールディング」の作業人数が10人から31.53人、「007最終検査」の作業人員が20人から39.25人に変更されました。また、60分当たり600個という生産目標も達成されていることが分かります。*繰り返しになりますが、人の最適化にもランダムな変数が含まれるため、必ずしも毎回ぴったり同じ結果にならないことに注意してください。

このようにパラメーター推定や人の最適化を個別に使ったり、組み合わせたり、繰り返すことでより誤差の小さい最適なパラメーターを求め、生産ラインの最適な稼働条件を求めることが可能です。

ーまとめー

今回は半導体製造の後工程の簡略化モデルを使い、生産ラインの最適な稼働条件を求めるために、パラメーター推定や人の最適化機能を使う方法を解説しました。次回以降はより複雑なモデルの作成や複雑な条件での最適化を行う予定です。

関連記事