Python 模擬:什麼是 SimPy、先決條件、如何運行模擬
已發表: 2020-06-16現實世界在系統的不同部分工作,無論是從基礎設施角度還是技術角度。 在Python 模擬的幫助下,這些系統需要通過 SimPy 框架支持的模型進行優化。 這些模型是在更接近現實生活系統的幫助下開發的,以預測複雜系統的創建,因此通過逐步算法解決它。
對於大型企業,分析系統對於糾正它並使其健壯至關重要。 特別是對於醫療保健和機場管理等緊急服務,需要始終監控個人的活動並準備好應對具有挑戰性的情況。 這只能通過從 Python 仿真模型中獲得洞察力來實現。
目錄
什麼是 SimPy?
SimPy 代表面向對象和基於方法的開源、特殊事件模擬庫,是處理乘客、患者、車輛和資產等全天候資源管理的企業的首選。 這些系統通常帶有限製或小費能力,例如收銀台、接待處和高速公路。
除了此類服務,SimPy 還借助 Python 中的隨機變量幫助生成一般分析。 SimPy 完全用 Python 編寫,可以在 Java 虛擬機或 .NET 等多種環境中運行。
以下是 SimPy 中的模擬片段示例:
env = simpy.Environment()
env.process(checkpoint_run(env,num_booths,check_time,passenger_arrival))
env.run(直到=10)
由於環境和參數是在運行代碼之前設置的,因此您需要定義如下變量:
- env:指模擬需要運行和分析事件的情況。
- num_booths:配備身份證檢查的攤位總數。
- check_time:檢查每個旅客ID的時間。
- 乘客到達:排隊等候的乘客頻率。
請記住,這些變量可以在需要時更改,以收集足夠的、基於現實的數據。
既然您知道起草模擬的內容,那麼在為類似事件編寫代碼時,以下步驟可能會對您有所幫助:
第一步:定義環境。
第二步:制定相關標準。
第三步:執行模擬。
現在,在我們進一步研究所涉及的其他流程之前,這些步驟已經足夠開始了。
閱讀更多: Python 請求模塊指南:如何在 Python 中使用請求庫?
開始 SimPy 之前的先決條件
在開始使用 SimPy 之前,您需要深入了解 Python 基礎知識、類和生成器。 生成器可以定義為一個離散的 Python 函數,它在迭代中返回一個對象,該對象附加到函數的主體,以及函數開頭的局部變量。 正是由於這個迭代器,該函數有助於執行 yield 語句,並生成給定表達式的結果。
yield 語句是幫助設置任何事件的時間表或過程的工具。 該事件可以是自觸發(例如直到下一輛車離開)或請求或釋放任何資源(例如通道)。 這些語句被命名為:
- yield request:此帳戶用於命令系統將任何資源添加到等待列表中,並立即投入使用。
- yield hold:此語句通常用於突出顯示執行方法中不同步驟所涉及的任何時間。
- yield passivate:此語句用於保持進程等待,直到任何其他函數觸發它。
- yield release:該語句在系統中使用,以在流程完成後保持更新,從而引發下一步排隊等待。
現在您已經了解了系統的工作流程,您還需要將軟件包安裝到您的訂單中,並將初始框架設置為 SimPy。 這個核心包將幫助您製作、管理和執行整個仿真模型。 在一些內置 Python 模塊的幫助下,您可以編譯所涉及的平均等待時間,以及獲取隨機數。

隨機數生成器具有以下功能:
- 定義隨機模塊。
- 代表發電機。
- 推導一個隨機變量:就像一個從 10 到 40 的隨機數:g。 隨機的()
查看:印度的 Python 開發人員薪水
學習世界頂尖大學的數據科學課程。 獲得行政 PG 課程、高級證書課程或碩士課程,以加快您的職業生涯。
運行Python 模擬
完成編碼後,您可以藉助一些簡單的類和函數來執行程序。 想像一個劇院的模擬系統,它需要了解顧客的平均等待時間。
為了更好地使用 SimPy,您需要做的就是在 Python 中藉助參數、生成器、函數和類集思廣益並創建模擬。 由於每個模擬的環境因情況而異,以下是所涉及過程的快速修訂:
- 為任何模擬設置正確的算法
- 用 Python 構建場景
- 使用所有涉及的資源和方法分配和定義功能
- 優化模擬中的參數以生成可操作的結果
另請閱讀: 42 個令人興奮的 Python 項目創意和適合初學者的主題
結論
如果您想了解 Python、數據科學,請查看 IIIT-B 和 upGrad 的數據科學 PG 文憑,該文憑專為在職專業人士而設,提供 10 多個案例研究和項目、實用的實踐研討會、與行業專家的指導,與行業導師一對一,400 多個小時的學習和頂級公司的工作協助。
SimPy 在模擬中有多大用處?
SimPy 是一個 Python 模擬框架,它是一個基於過程的離散事件框架。 這些過程由 Python 生成器函數在 SimPy 框架中定義。 它用於對活動組件進行建模,例如代理、車輛或客戶。
SimPy 對於喜歡處理資產、車輛和患者等全天候資源管理的所有組織和企業都很有用。 通常可以看到,這些系統具有約束或傾倒能力,例如高速公路、接待處和收銀台。 模擬可以根據掛鐘時間以最大速度執行,也可以通過手動執行事件中的步驟來執行。
除了這些服務之外,SimPy 還幫助組織使用 Python 中的隨機變量生成一般分析。 SimPy 完全用 Python 編寫,它可以在不同的環境中運行,如 .NET 和 Java 虛擬機。
如何在 Python 中創建模擬數據?
有幾次,我們需要數據集來練習或測試不同的模型,以便使用 Python 本身為任何模型創建模擬數據集。 這有助於我們在 Python 中創建用於回歸的模擬數據。
在 Python 中為回歸創建模擬數據的分步過程是:
1. 導入庫 - 在此步驟中,導入數據集和庫以進行回歸。
2. 模擬數據的創建 - 可以通過傳遞回歸所需的參數來創建回歸數據集。 輸出將作為數據集係數、輸出和特徵獲得。
3. 打印數據集——在最後一步中,從不同的組件(例如係數、輸出和特徵)打印數據集。
Python 開發人員的平均收入是多少?
如果你是一名 Python 開發人員,那麼你可以期望平均工資為盧比。 每年500,000。 薪水肯定會在很大程度上取決於其他幾個因素,例如地理位置、公司級別、經驗等等。 您可以期望盧比的薪水範圍。 200,000盧比。 每年 800,000 用於 Python 開發人員的角色。