Symulacje Pythona: co to jest SimPy, wymagania wstępne, jak uruchamiać symulacje
Opublikowany: 2020-06-16Rzeczywisty świat działa w różnych częściach systemów, czy to z perspektywy infrastrukturalnej, czy technologicznej. Przy pomocy symulacji Pythona systemy te muszą zostać zoptymalizowane za pomocą modeli wspieranych przez framework SimPy. Modele są opracowywane za pomocą przybliżania systemów rzeczywistych w celu przewidywania tworzenia złożonego systemu, a zatem rozwiązywania go za pomocą algorytmów krok po kroku.
W przypadku dużych przedsiębiorstw analiza systemu staje się kluczowa, aby go naprawić i uczynić go solidnym. Szczególnie w przypadku służb ratowniczych, takich jak opieka zdrowotna i zarządzanie portami lotniczymi, istnieje potrzeba ciągłego monitorowania działań poszczególnych osób i przygotowania się do radzenia sobie z trudnymi sytuacjami. Jest to możliwe tylko dzięki spostrzeżeniom z modeli symulacyjnych Pythona.
Spis treści
Co to jest SimPy?
SimPy oznacza zorientowaną obiektowo i opartą na metodach bibliotekę symulacji wydarzeń specjalnych typu open source, preferowaną przez przedsiębiorstwa zajmujące się całodobowym zarządzaniem zasobami, takimi jak pasażerowie, pacjenci, pojazdy i aktywa. Często systemy te wiążą się z ograniczeniami lub możliwościami przechylania, takimi jak lady kasowe, recepcje i autostrady.
Oprócz takich usług SimPy pomaga również w generowaniu ogólnej analityki za pomocą zmiennych losowych w Pythonie. Napisany w całości w Pythonie SimPy może działać w kilku środowiskach, takich jak Java Virtual Machine lub .NET.
Oto przykład fragmentu symulacji w SimPy:
env = proste.Środowisko()
env.process(checkpoint_run(env, num_booths, check_time, pasażer_arrival))
env.run (do=10)
Ponieważ środowisko i parametry są ustawiane przed uruchomieniem kodu, należałoby zdefiniować zmienne w następujący sposób:
- env: Odnosi się do sytuacji, w której symulacja jest potrzebna do uruchomienia i analizy zdarzeń.
- num_booths: całkowita liczba kabin wyposażonych w kontrole tożsamości.
- check_time: Okres sprawdzania identyfikatora każdego pasażera.
- Passenger_arrival: Częstotliwość pasażerów oczekujących w kolejce.
Proszę pamiętać, że te zmienne mogą być zmieniane w razie potrzeby w celu zebrania odpowiednich, opartych na rzeczywistości danych.
Teraz, gdy już wiesz, na czym polega przygotowanie symulacji, oto kroki, które mogą Ci się przydać podczas pisania kodu podobnych wydarzeń:
Krok I: Zdefiniuj środowisko.
Krok II: Ustal odpowiednie standardy.
Krok III: Wykonaj symulację.
Na razie te kroki wystarczą, aby zacząć, zanim przyjrzymy się bliżej innym zaangażowanym procesom.
Przeczytaj więcej: Przewodnik po module żądań Pythona: Jak korzystać z biblioteki żądań w Pythonie?
Wymagania wstępne przed rozpoczęciem SimPy
Zanim zaczniesz korzystać z SimPy, będziesz potrzebować głębokiego zrozumienia podstaw Pythona, klas i generatorów. Generatory można zdefiniować jako dyskretną funkcję Pythona, która w iteracji zwraca obiekt, który jest dołączany do treści funkcji, a także jej zmiennych lokalnych na początku funkcji. To dzięki temu iteratorowi funkcja pomaga w wykonaniu instrukcji yield i generuje wynik danego wyrażenia.
Deklaracje wydajności to narzędzia, które pomagają w ustaleniu harmonogramu lub procesu dowolnego zdarzenia. Zdarzenie może być wyzwalaczem samoczynnym (np. do momentu odjazdu następnego pojazdu) lub żądaniem lub zwolnieniem dowolnego zasobu, takiego jak kanał. Oświadczenia te noszą nazwy:
- żądanie wydajności: to konto służy do nakazania systemowi dodania go do listy oczekujących na dowolny zasób i natychmiastowego uruchomienia go.
- wydajność wstrzymania: To stwierdzenie jest zwykle używane do podkreślenia czasu potrzebnego na wykonanie różnych kroków w metodzie.
- yield passivate: Ta instrukcja służy do utrzymywania procesu w oczekiwaniu na wyzwolenie go przez inną funkcję.
- Wydajna wersja: Ta instrukcja jest używana w systemie, aby aktualizować ją po zakończeniu procesu, co oznacza, że kolejne kroki czekają w kolejce.
Teraz, gdy masz już pomysł na proces działania systemu, musisz również zainstalować pakiet w swoim zamówieniu z początkowym frameworkiem ustawionym jako SimPy. Ten podstawowy pakiet pomoże ci stworzyć, zarządzać i wykonać cały model symulacyjny. Za pomocą niektórych wbudowanych modułów Pythona możesz skompilować średni czas oczekiwania, a także uzyskać liczby losowe.

Generatory liczb losowych mają następujące funkcje:
- Definiowanie modułu losowego.
- Reprezentowanie generatora.
- Wyprowadzanie zmiennej losowej: Jak liczba losowa od 10 do 40: g. losowy()
Sprawdź: Wynagrodzenie programisty Pythona w Indiach
Ucz się kursów nauki o danych z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.
Uruchamianie symulacji Pythona
Gdy skończysz kodowanie, możesz uruchomić program za pomocą kilku prostych klas i funkcji. Wyobraź sobie system symulacyjny dla teatru, który wymaga zrozumienia średniego czasu oczekiwania klientów.
Aby udoskonalić SimPy, wystarczy przeprowadzić burzę mózgów i stworzyć symulacje w Pythonie za pomocą parametrów, generatorów, funkcji i klas. Ponieważ środowisko każdej symulacji różni się w zależności od przypadku, oto krótki przegląd zaangażowanych procesów:
- Konfigurowanie odpowiedniego algorytmu dla dowolnej symulacji
- Tworzenie scenariusza w Pythonie
- Przypisywanie i definiowanie funkcji ze wszystkimi zaangażowanymi zasobami i metodami
- Optymalizacja parametrów w symulacji w celu generowania praktycznych wyników
Przeczytaj także: 42 ekscytujące pomysły i tematy dotyczące projektów Pythona dla początkujących
Wniosek
Jeśli chcesz dowiedzieć się czegoś o Pythonie, nauce o danych, sprawdź Dyplom PG w dziedzinie Data Science IIIT-B i upGrad, który jest stworzony dla pracujących profesjonalistów i oferuje ponad 10 studiów przypadków i projektów, praktyczne warsztaty praktyczne, mentoring z ekspertami z branży, Indywidualnie z mentorami branżowymi, ponad 400 godzin nauki i pomocy w pracy z najlepszymi firmami.
Jak przydatne jest SimPy w symulacji?
SimPy to framework symulacyjny Pythona, który jest oparty na procesach dyskretnych zdarzeń. Procesy są definiowane we frameworku SimPy przez funkcje generatora Pythona. Służy do modelowania aktywnych komponentów, takich jak agenci, pojazdy czy klienci.
SimPy jest przydatny dla wszystkich organizacji i przedsiębiorstw, które preferują całodobowe zarządzanie zasobami, takimi jak aktywa, pojazdy i pacjenci. Często widzi się, że systemy te mają ograniczenia lub możliwości przechylania, takie jak autostrady, recepcje i kasy. Symulacje można wykonywać z maksymalną prędkością w oparciu o zegar ścienny lub ręcznie wykonując kroki w zdarzeniach.
Poza tymi usługami SimPy pomaga również organizacjom w generowaniu ogólnych analiz przy użyciu zmiennych losowych w Pythonie. SimPy jest w całości napisany w Pythonie i może działać w różnych środowiskach, takich jak .NET i Java Virtual Machine.
Jak stworzyć symulowane dane w Pythonie?
Kilka razy potrzebujemy zestawów danych do ćwiczenia lub testowania różnych modeli w celu stworzenia symulowanego zestawu danych dla dowolnego modelu przy użyciu samego Pythona. Pomaga nam to w tworzeniu symulowanych danych do regresji w Pythonie.
Procedura krok po kroku tworzenia symulowanych danych w Pythonie do regresji to:
1. Importowanie bibliotek — na tym etapie zestawy danych i biblioteki są importowane do regresji.
2. Tworzenie symulowanych danych — zestawy danych do regresji można tworzyć, przekazując parametry wymagane do regresji. Wynik zostanie uzyskany jako współczynnik, wynik i cecha zbioru danych.
3. Drukowanie zestawu danych — w ostatnim kroku zestaw danych jest drukowany z różnych składników, takich jak współczynnik, wynik i cecha.
Ile średnio zarabia programista Python?
Jeśli jesteś programistą Pythona, możesz spodziewać się średniej pensji Rs. 500 000 rocznie. Wynagrodzenia z pewnością zależałyby w dużej mierze od kilku innych czynników, takich jak położenie geograficzne, poziom firmy, doświadczenie i wiele innych. Możesz spodziewać się wynagrodzenia w wysokości Rs. 200 000 do Rs. 800 000 rocznie za rolę programisty Pythona.