時間帯別人員計画最適化の方法の解説

assimeeを使ったプロセス最適化についてより深く理解するため、この記事をご覧いただく前に以下の記事を先にご覧いただくことをことをお勧めします。

ー概要ー

今回の記事では前回の人員配置最適化に引き続き、assimeeを使って時間帯に分けた人員計画最適化を行う方法をモデルを使って解説します。assimeeでの時間帯別人員計画最適化とは、シミュレーション時間を60分単位に区切り、それぞれの時間帯別に最適な人員計画をもとめることを指します。

ーモデルの作成ー

時間帯別人員計画最適化の説明の為、小規模な物流倉庫や工場を想定したモデルを使用します。今回のモデルは前回よりやや複雑なモデルですが、同様に分岐などを想定していない1本道で入荷→置き場→作業→置き場→加工→置き場→作業→運搬→出荷の9つのプロセスからなります。下図が完成したモデルとなります。

それではモデル作成画面から以下のようにプロセスの配置と設定をおこないます。

入荷プロセス:
プロセス名を「000入荷」へ変更、入荷パーツ名を「部品」、間隔を「1分」、個数を「20個」と設定

置き場プロセス:
プロセス名を「001入荷品置き場」へ変更、置き場容量を「1000個」と設定

作業プロセス:
プロセス名を「002開梱作業」へ変更、処理時間を「10分」、作業人数を「2人」と設定

置き場プロセス:
プロセス名を「003部品置き場」へ変更、置き場容量を「1000個」と設定

加工プロセス:
プロセス名を「004加工」へ変更、処理時間を「10分」、作業人数を「2人」と設定
対象パーツ名称を「部品」、個数を「1個」と設定、
出力パーツ名称を「製品」、個数を「1個」と設定

置き場プロセス:
プロセス名を「005加工後置き場」へ変更、置き場容量を「1000個」と設定

作業プロセス:
プロセス名を「006梱包作業」へ変更、処理時間を「10分」、作業人数を「2人」と設定

運搬(ローラーコンベア)プロセス:
プロセス名を「007運搬(ローラーコンベア)」へ変更、積荷容量を「10個」、処理時間を「1分」と設定

出荷プロセス:
プロセス名を「008出荷」へ変更

ーシミュレーション結果ー

以上の設定を行ったら、モデル名を「時間帯別人員計画最適化」として保存を行い、シミュレーション時間を480分に設定してシミュレーションを行います。上記の設定が問題なく行われていれば、下図のような結果が表示されます。シミュレーションが上手く行ったら最適化の準備を行います。

ー最適化の準備ー

出荷目標(データ)の設定

最適化を行う前に最適化の目標となる出荷目標のデータを設定します。

timeitemcount
60製品20
120製品20
180製品30
240製品30
300製品40
360製品40
420製品30
480製品30

今回は上表のように出荷目標を設定します。この目標を出荷プロセスに設定します。以下のようにモデル編集画面から「出荷データを直接入力」ボタンをクリックし手動で入力を行ってください(上表をcsvファイルにして読み込ませることも可能です)。

「出荷データを直接入力」ボタンを押すと下図のように入力画面が立ち上がります。

今回は製品のみにデータを設定して行きます。なお製品以外(部品)はポップアップ左側のボタンをクリックして、「設定の削除」で削除してください。下図は製品に出荷データを入力中の画面です。今回は480分の設定なので、+を押すことでデータを60分単位で480分まで増やしながら設定を行います。

入力後に「保存する」ボタンを押して出荷目標が設定されると下図のようにシミュレーション結果に出荷目標(データ)のグラフが追加されます。次に時間帯別の作業人数の設定を行います。

時間帯別の作業人数の設定

「002開梱作業」、「004加工」、「006梱包作業」それぞれの作業人数を時間帯別に設定して行きます。まず、編集画面から「002開梱作業」をクリックし詳細設定から「作業グループ」をクリックすると以下の画面となります。

この際に作業グループの下にあるチェックボックスにチェックを入れると、次の画面が立ち上がり、時間帯別に効率と作業人数を設定することができます。

今回はシミュレーション時間を480分に設定しているので、入力欄を+ボタンを使って拡張しつつ入力して行きます。効率は「1」とし、全ての時間で作業人数を「2人」と入力します。

設定が終わったら、「保存する」ボタンを押し保存します。保存後はプロセスカードの作業人数が、2人から時間帯別設定へ変わります。「004加工」、「006梱包作業」も同様に時間帯別の作業人数の設定を行います。

ー最適化ー

以上の設定を行ったうえで「人員最適化」タブをクリックすると以下の画面が表示されます。

「新規人員最適化を実施」ボタンを押して設定画面を開きます。*出荷目標(データ)が入力されていない場合、自動で編集画面に遷移します。

今回は「002開梱作業」、「004加工」、「006梱包作業」のそれぞれの時間帯別の作業人数をパラメーターとして最適化を行います。プロセスの作業人数を時間帯別に設定している場合、以下の表示となります。「時間帯別スケジュールで入力」チェックボックスにチェックを入れると次の画面が立ち上がります。

時間帯別に最適化の下限値と上限値と合計人数を以下のように設定していきます。今回は以下の設定としました。今回は480分まで同じ値を使用します。この作業を「002開梱作業」、「004加工」、「006梱包作業」の作業人数、全てで行ってください。

002開梱作業の作業人数:すべての時間で下限を「2」、上限を「6」、
004加工の作業人数:すべての時間で下限を「2」、上限を「6」、
006梱包作業の作業人数:すべての時間で下限を「2」、上限を「6」

下図のように設定が終わったら「モデルチューニング実行」ボタンを押してモデルチューニングを行います。

モデルチューニングが終了すると以下の図のように結果が表示されます。*最適化にランダム変数を使っているため、同じモデルでも数字が変動し一致しない可能性があります。試行した最適化の結果は時間の右側にリストの形で表示されます。今回は人員制限を入れていないため、表示される解が最適な解となっています。

この時、シミュレーション結果は以下のように表示されます。やや、生産目標とシミュレーション結果の間の差が大きいように見えますが、人員数を最適化する場合、人員は整数単位で変更されるため、小数を利用可能な処理時間の最適化と異なり差が大きくなり易くなります。

グラフの左下に「リストで値を確認」ボタンが表示されるのでこれを押すと、次の画面が立ち上がり変更されたパラメーターを確認することができます。

ーまとめー

今回はassimeeで時間帯別人員計画最適化を行う方法について解説しました。時間帯別人員計画最適化は工場や物流センターで生産目標を達成するための人員計画の作成に役立つ機能となっています。次回、今回の設定に合計人員の条件を課した場合の時間帯別人員配置最適化の方法について解説します。ご期待ください。

関連記事