物流センターのシミュレーションモデル

シミュレーションなどの分野のアプリケーションの実際的な側面を説明する小さな記事のユーザーに注意を促します。



問題ステートメント(プロセスの説明)



サプライヤと合意した供給カレンダーに従って、あるタイプの特定の数量の商品が物流センターに到着します。 倉庫が満杯の場合、商品の供給の申請は意図的にキャンセルされます。 商品は8個のパッケージで受け取り、保管され、小売店に転送されます。 到着後、センターの従業員(店主)が車に会い、必要なサポート文書、適合証明書/品質証明書、主要な会計文書を確認し、荷降ろしエリアに車を同行させます。



荷降ろしゾーンでは、店主は、フォワーダーの存在下で、荷役機器(電動フォークリフト)の助けを借りて、商品の受け取りと目視検査を実行します。 次に、入力制御ゾーンに移動します。 品質スペシャリスト(管理者)が商品の受入検査を実施します。 入場すると、品物は品質スペシャリストの助けを借りて、保管エリアの棚にさらに配置するために待機エリアに移動されます。 入力パラメーターに一致しない製品が見つかった場合、製品を欠陥アイソレーターに移動して、サプライヤーにさらに返却します。



積載装置(電動フォークリフト)を使用するピッカーは、出荷エリアの小売店での販売を完了します。 ピッキングは、補充ポイント(再発注ポイント)の小売販売ポイントで商品の残高に達すると実行されます。



標準出荷ロットの完了後、商品は販売のために小売店に転送されます。

さらなる最適化実験のために、提示されたプロセスのモデルを開発する必要があります(たとえば、小売店でゼロバランスが存在しない場合の再注文ポイントの決定)。



ソースデータ



物流センターのリソース
いや 資源 数量 EI シフト
1 店主 2 8時間の3シフト
2 電動フォークリフト 5 8時間の3シフト
3 コントローラー 3 8時間の3シフト
4 収納ラック棚セル 120 細胞




運営期間
いや 運営 持続時間min
1 荷下ろし機 15から30まで、平均21
2 入力制御 4から11、平均11




小売店のPOSパラメータ
いや パラメータ 価値 EI ご注意
1 現在の需要 40 1時間に1回
2 再注文ポイント 500
3 1つのパッケージで受け取った商品の数 8




実装

AnyLogicソフトウェア製品(v.7.0.2)が開発ツールとして選択されました。



アクティブなオブジェクトクラスの説明
いや クラス 説明
1 倉庫 を含むモデルのメインアクティブクラス

他のクラス;

ウェアハウスモデルの動作図と表示を反映しています。

2 ロジスティクスマップ 入れ子になったアクティブモデルクラス

行動チャート

倉庫と小売店の相互作用、および

小売店の行動;
3 商品の申請の種類。

Boxアプリケーションのプレゼンテーションが含まれています。
4 追跡する 商品を配送するマシンのアプリケーションタイプ。

Trackアプリケーションのプレゼンテーションが含まれています。
5 ローリー 商品を小売店に配達する機械の種類をリクエストする

POS、および返品はできません

商品の管理をサプライヤに渡しました。

Lorryアプリケーションのプレゼンテーションが含まれています。

6 店主 エージェントのタイプ。

ストアキーパーリソースのプレゼンテーションが含まれています。

7 ローダー エージェントのタイプ。

リソース「ローダー」のプレゼンテーションが含まれています。

8 コントローラー エージェントのタイプ。

リソース「コントローラー」のプレゼンテーションが含まれています。

9 Shop_1 エージェントのタイプ。

リソース「shop_1」のプレゼンテーションが含まれています

モデルの小売店のポイントを模倣します。





個別のイベントモデリング図を使用して、物流センターの機能のためのモデルが開発されました



モデルの主なブロックの説明
いや ブロックする 説明
1 ソースボックス 各ステップの前に、モデルは空きセルの数をカウントします

保管エリア内;

各ステップで、モデルはBoxクラスリクエストを生成します。

2 selectFreeCell スイッチ。 計算されたフリーセルの分析

そして、ブロック内の破壊のための無料送信要求がない場合

「キャンセルリクエスト」
3 batchTruck /

unbatchBox
配達カレンダーを構築/開梱

反映する「Track」タイプの1つのアプリケーション内の「Box」タイプのアプリケーションの数

車の到着のプレゼンテーションで
4 seizeStorekeeper /

releaseStorekeeper
反映するタイプ「ストアキーパー」のリソースをキャプチャ/リリースします

プレゼンテーション:店主と機械の間の相互作用(会議、護衛、

アンロード);

休暇後、リソースは次のものがない場合にベースノードに返されます。

他の作品;

5 serviceUnload 「ローダー」タイプのリソースをキャプチャし、アプリケーションに移動します。

遅延を実行し、マシンのアンロードと商品のチェックを象徴します。

遅延は、三角分布法を使用して実行されます

(三角形(15、21、30));

タイプ「ローダー」のリソースを解放します。

いいえの場合、割り当てられたリソースはベースノードに返されます

他の作品;

6 splitTruck さらに反映するために、アプリケーションタイプ「Track」のコピーを作成します

プレゼンテーションでの出口ゾーンでの車の処分。 これが必要

アプリケーションの「Track」タイプのアプリケーションの逆逆コンパイル中に

タイプ「ボックス」アプリケーション「トラック」は破棄されます。

7 seizeController /

releaseController、

releaseController1
反映するコントローラータイプリソースをキャプチャ/リリースします

コントローラーをアプリケーションに移動してベースに戻るプレゼンテーション

他の作業がないノード。

8 制御する 着信制御の実行を象徴する遅延を実行します。

遅延は、三角分布法を使用して実行されます

(三角形(4、7、11));

9 入場 スイッチ;

アプリケーションが「Box」プロセスのタイプを渡す可能性を決定します

着信制御;

確率は直接設定されます(0.107)

10 batchLorry 指定された数のBoxタイプ要求をタイプ要求にまとめます

制御に合格しなかった商品の包装を象徴する「ローリー」

サプライヤーへの返却のために車に。

11 queuePallete タイプ「ボックス」の着信制御アプリケーションを遅延させます

タイプ「ローダー」の空きリソースが移動するまで表示されるまで

保管エリアのセル内の商品。

12 palleteSystem プレゼンテーションに反映されたラックを単一のストレージシステムに結合します。

13 palleteStore 「ローダー」タイプの空きリソースをキャプチャし、アプリケーションにアタッチします。

タイプ「ボックス」のアプリケーションを、ゾーン「palleteSystem」のフリーセルに配置します。

タイプ「ローダー」のリソースを解放します。 解放されたリソースはベースノードに返されます

他の仕事がない場合;

14 つかむ 現在の残高が次の場合、「ボックス」タイプのアプリケーションのさらなる転送をブロックします

小売販売ポイントは、再注文ポイントよりも大きくなっています。 これは、

アプリケーションのエントリ時にメソッド「block()」および「unblock()」。

コード
if (LogisticsMap.currentStock < LogisticsMap.reorder) { hold.unblock(); } else { hold.block(); }
      
      







15 seizeLoaderPall /

releaseLoaderPall
「ローダー」タイプのリソースをキャプチャ/リリースして、プレゼンテーションに反映します

コントローラーのアプリケーションへの移動とベースノードへの戻り、提供

他の仕事の欠如;

16 パレット ゾーン「palleteSystem」からタイプ「Box」のクレームを取得して移動します

小売店での配送エリアへ。

17 batchLorry1 タイプ「Box」の指定された数のアプリケーションをタイプ「Lorry」のアプリケーションに構成します。

小売店での出荷機械の積み込みを象徴する。

18 沈む タイプ「Box」のアプリケーションを破壊します。

入り口で、オブジェクトによる「エージェント」タイプの1つのアプリケーションの生成を開始します

配信を反映するアクティブな「LogisticsMap」クラスの「SourceLorry」

小売店での商品;

これは、「手動」アプリケーション生成メソッドを呼び出すことで実現されます。

コード
 logisticsMap.sourceLorry.inject(1)
      
      











入力ストリーム「SourceBox」は、外部ソースから生成されたスケジュールによって制御されます。







同様に、「ダウンタイム」スケジュールを使用して、リソース停止のスケジュールを設定できます。 視覚的表現は、スペースマークアップツールを使用して形成されます。







マークアップ領域の説明
いや 説明
1 車の到着地点(タイプ「トラック」のアプリケーション)

2 ストアキーパーの場所のベースノード(「ストアキーパー」などのアプリケーション)
3 電気フォークリフトの場所の基本ノード(「ローダー」タイプのアプリケーション)
4 車の処分ポイント(タイプ「トラック」のアプリケーション、入庫管理をサプライヤに渡していない商品の返品の場合-「ローリー」)
5 ノードが商品を降ろし、入力制御を渡す

6 コントローラーの場所のベースノード(「コントローラー」タイプのアプリケーション)

7 受信制御に合格しなかった商品をピッキングするためのノード

8 収納ラックに商品を置くためのローダー待機ユニット

9 保管場所

10 小売店への出荷用のコンポーネントアセンブリ

11 アイテム廃棄ユニット







シンクオブジェクトがBoxアプリケーションを通過した後、アプリケーションは破棄され、アクティブなLogisticsMapクラスで、sourceLorryオブジェクトはエージェントタイプのリクエストを生成します。 アプリケーションは、スペースマーキングの隠線に沿って、小売販売のポイントを反映する唯一のリソース「Shop_1」(図4)に移動します。







リソースに到達すると、エージェントタイプの注文はシンクオブジェクトによって破棄され、小売店の現在の残高は指定された量だけ増加します。



プレゼンテーションでは、小売店での商品の現在の残高を反映したチャートがあります。



残高がゼロになると、小売店での販売は次の配達まで中断されます。 この機能は、1時間の頻度で発生する「販売」イベントを提供します。



イベントは制御をアクション図に移します:







チャートは、イベントが発生すると、リオーダーポイント(recorderPointパラメーター)に関連して現在の残高(currentStock変数)を分析します。 現在の残高がリオーダーポイントを超える場合、現在の需要レベルを格納する変数(「currentStock」変数)に値> 0が割り当てられ、現在の需要レベル(currentStock-currentStock)だけ現在の残高を減らして製品が販売されます。 それ以外の場合、チャートは次の決定ブロックに移動し、現在のバランスと現在の需要レベルを比較します。 現在の残高が現在の需要レベルを超える場合、現在の需要レベルを格納する変数には0より大きい値が割り当てられ、現在の需要レベルだけ現在の残高を減らすことで商品が販売されます。 それ以外の場合、現在の需要のレベルを格納する変数には値0が割り当てられるため、需要が満たされるまで販売は中断されます。



結論として



建設の現在の段階では、モデルは非常に一般的ですが、商品を渡すプロセスを完全に反映しています:商品の到着と保管エリアの棚への配置から、小売店への転送とその後の販売まで。 すでにモデル開発のこの段階で、サプライチェーンを安定させるために再注文ポイントを最適化する実験を実行できます。



All Articles