始める無料で始める

モデルを作る:組立ラインの応答を制御する

SimPy の環境とリソース、そして航空機の注文を生成するジェネレーターを定義できたので、既知の処理時間と限られたリソースを踏まえて、組立ラインの応答を表現するジェネレーターを作成しましょう。

この演習はコースの一部です

Pythonで学ぶ離散事象シミュレーション

コースを見る

演習の手順

  • step_2_wings に対して slot_request_2 という名前でスロット要求を作成し、そのリクエストを yield します。
  • step_3_power_plant に対して slot_request_3 という名前でスロット要求を作成し、そのリクエストを yield します。
  • step_4_landing_gear に対して slot_request_4 という名前でスロット要求を作成します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

def assembly_line(env, aircraft_id, step_1_fuselage, step_2_wings, step_3_power_plant, step_4_landing_gear):

    processing_time_step_names = list(processing_time.keys())

    with step_1_fuselage.request() as slot_request_1:
        yield slot_request_1
        yield env.timeout(processing_time[processing_time_step_names[0]])

    # Make slot request for step_2_wings and yield the request
    with step_2_wings.request() as ____:
        request_2_time = env.now
        ____ slot_request_2
        yield env.timeout(processing_time[processing_time_step_names[1]])

    # Make slot request for step_3_power_plant and yield the request
    with step_3_power_plant.request() as ____:
        request_3_time = env.now
        ____ slot_request_3
        yield env.timeout(processing_time[processing_time_step_names[2]])

    # Make slot request for step_4_landing_gear
    with step_4_landing_gear.request() as ____:
        request_4_time = env.now
        yield slot_request_4
        yield env.timeout(processing_time[processing_time_step_names[3]])
コードを編集して実行