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í):
process_dict: slovník s informacemi o procesechsimulation_time: doba simulace
Čas v modelu se měří ve dnech.
Toto cvičení je součástí kurzu
Diskrétní simulace událostí v Pythonu
Pokyny k cvičení
- Inicializuj stavové proměnné modelu:
time(sleduje čas) asupply_chain(sleduje počet cyklů) a nastav je na nulu. - Definuj podmínku ukončení tak, aby model běžel, dokud je
timemenší 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")