Začněte nyníZačněte zdarma

Tvorba diskrétně-událostního modelu

Tvým úkolem je vytvořit diskrétně-událostní model pro zemědělský provoz, který pomůže s přidělováním zdrojů, zvýšením produktivity a identifikací a odstraněním úzkých míst.

S kolegy stále probíráte jednotlivé procesy a jejich úroveň detailu v modelu. Dohodli jste se, že informace budou shromážděny ve slovníku process_dict s následující strukturou. Slovník se bude průběžně doplňovat, jak budou k dispozici nové informace o procesech.

process_dict = {
    "Process name 1":  <duration>,
    "Process name 2":  <duration>,
    ...
}

Nyní sestavíme obecný diskrétně-událostní model s názvem discrete_model_farm(), který dokáže naplánovat libovolný počet diskrétních událostí definovaných ve slovníku.

Vstupní argumenty modelu jsou (v tomto pořadí):

  1. process_dict: slovník s informacemi o procesech
  2. simulation_time: doba simulace

Čas v modelu se měří ve dnech.

Toto cvičení je součástí kurzu

Diskrétní simulace událostí v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Inicializuj stavové proměnné modelu: time (sleduje čas) a supply_chain (sleduje počet cyklů) a nastav je na nulu.
  • Definuj podmínku ukončení tak, aby model běžel, dokud je time menší než simulation_time.
  • Přičti dobu trvání procesu ke stavové proměnné time.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

def discrete_model_farm(process_dict, simulation_time):
  # Initiate variables
  time = ____
  supply_chain = ____

  # Define ending condition
  while ____ < ____:

    supply_chain += 1
    process_names = list(process_dict.keys())

    for p in range(len(process_names)):
		  
      event_duration = process_dict[process_names[p]]
          
      # Add the process duration
      ____ += event_duration
      print(f"{process_names[p]}  (completed): time = {time}")
          
    print(f"COMPLETED: Production cycle #{supply_chain} | Time = {time} days")  
Upravit a spustit kód