Pythonシミュレーション:SimPyとは何か、前提条件、シミュレーションの実行方法

公開: 2020-06-16

現実の世界は、インフラストラクチャの観点からでも技術的な観点からでも、システムのさまざまな部分で機能します。 Pythonシミュレーションの助けを借りて、これらのシステムは、SimPyフレームワークに裏打ちされたモデルを通じて最適化する必要があります。 モデルは、複雑なシステムの作成を予測するために実際のシステムに近づけることで開発され、したがって、段階的なアルゴリズムによってそれを解決します。

大企業の場合、システムを分析してシステムを修正し、堅牢にすることが重要になります。 特に医療や空港管理などの緊急サービスでは、個人の活動を常に監視し、困難な状況に対処する準備をする必要があります。 これは、Pythonシミュレーションモデルから洞察を引き出すことによってのみ可能になります。

目次

SimPyとは何ですか?

SimPyは、オブジェクト指向でメソッドベースのオープンソースの特殊イベントシミュレーションライブラリの略で、乗客、患者、車両、資産などの24時間体制のリソース管理を扱う企業に好まれています。 多くの場合、これらのシステムには、チェックアウトカウンター、レセプション、高速道路などの制約や転倒能力があります。

このようなサービスとは別に、SimPyは、Pythonの確率変数を使用して一般的な分析を生成するのにも役立ちます。 完全にPythonで記述されたSimPyは、Java仮想マシンや.NETなどのいくつかの環境で実行できます。

SimPyのシミュレーションスニペ​​ットの例を次に示します。

env = simpy.Environment()

env.process(checkpoint_run(env、num_booths、check_time、passenger_arrival))

env.run(until = 10)

コードを実行する前に環境とパラメーターが設定されるため、変数を次のように定義する必要があります。

  • env:イベントを実行および分析するためにシミュレーションが必要な状況を指します。
  • num_booths: IDチェックを備えたブースの総数。
  • check_time:各乗客のIDをチェックする期間。
  • passenger_arrival:キューで待機している乗客の頻度。

これらの変数は、適切な現実ベースのデータを収集するために必要に応じて変更できることを忘れないでください。

シミュレーションのドラフトに何が入るかがわかったので、同様のイベントのコードを作成するときに役立つと思われる手順を次に示します。

ステップI:環境を定義します。

ステップII:関連する基準を設定します。

ステップIII:シミュレーションを実行します。

今のところ、これらの手順は、関連する他のプロセスを詳しく調べる前に開始するのに十分です。

続きを読む: Python Requestsモジュールガイド:PythonでRequestsライブラリを使用する方法は?

SimPyを開始する前の前提条件

SimPyを使い始める前に、Pythonの基礎、クラス、ジェネレーターについて深く理解する必要があります。 ジェネレーターは、反復でオブジェクトを返す個別のPython関数として定義できます。この関数は、関数の本体と、関数の先頭にあるローカル変数にアタッチされます。 このイテレータが原因で、関数はyieldステートメントの実行を支援し、指定された式の結果を生成します。

イールドステートメントは、イベントのスケジュールまたはプロセスを設定するのに役立つツールです。 イベントは、セルフトリガー(次の車両が出発するまでなど)またはチャネルなどのリソースの要求または解放にすることができます。 これらのステートメントの名前は次のとおりです。

  • イールドリクエスト:このアカウントは、任意のリソースの順番待ちリストに追加され、すぐに使用できるようにシステムに命令するために使用されます。
  • イールドホールド:このステートメントは通常、メソッド内のさまざまなステップの実行に関連する時間を強調するために使用されます。
  • yield passivate:このステートメントは、他の関数がプロセスをトリガーするまでプロセスを待機させるために使用されます。
  • イールドリリース:このステートメントは、プロセスが完了したときに更新された状態を維持するためにシステムで使用されます。これにより、次のステップが順番に待機します。

システムの動作プロセスについて理解したので、最初のフレームワークをSimPyとして設定して、パッケージを注文にインストールする必要もあります。 このコアパッケージは、シミュレーションモデル全体の作成、管理、および実行に役立ちます。 いくつかの組み込みPythonモジュールの助けを借りて、関連する平均待機時間をコンパイルしたり、乱数を取得したりできます。

乱数ジェネレーターには、次の機能があります。

  1. ランダムモジュールの定義。
  2. ジェネレータを表す。
  3. 確率変数の導出:10から40までの乱数のように:g。 ランダム()

チェックアウト:インドのPython開発者給与

世界のトップ大学からデータサイエンスコース学びましょうエグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。

Pythonシミュレーションの実行

コーディングが完了したら、いくつかの簡単なクラスと関数を使用してプログラムを実行できます。 顧客の平均待ち時間を理解する必要がある劇場のシミュレーションシステムを想像してみてください。

SimPyを使いこなすには、パラメーター、ジェネレーター、関数、クラスを使用して、Pythonでブレインストーミングを行い、シミュレーションを作成するだけです。 各シミュレーションの環境はケースごとに異なるため、関連するプロセスの簡単な改訂を次に示します。

  • シミュレーションに適したアルゴリズムを設定する
  • Pythonでシナリオを構成する
  • 関連するすべてのリソースとメソッドを使用した関数の割り当てと定義
  • 実用的な結果を生成するためのシミュレーションのパラメーターの最適化

また読む:初心者のための42のエキサイティングなPythonプロジェクトのアイデアとトピック

結論

Python、データサイエンスについて知りたい場合は、IIIT-BとupGradのデータサイエンスのPGディプロマをチェックしてください。これは、働く専門家向けに作成され、10以上のケーススタディとプロジェクト、実践的なハンズオンワークショップ、業界の専門家とのメンターシップを提供します。業界のメンターとの1対1、400時間以上の学習、トップ企業との就職支援。

SimPyはシミュレーションでどの程度役立ちますか?

SimPyは、プロセスベースの離散イベントフレームワークであるPythonシミュレーションフレームワークです。 プロセスは、Pythonジェネレーター関数によってSimPyフレームワークで定義されます。 これは、エージェント、車両、顧客などのアクティブなコンポーネントをモデル化するために使用されます。

SimPyは、資産、車両、患者など、24時間体制のリソース管理を好むすべての組織や企業に役立ちます。 これらのシステムには、高速道路、受付、チェックアウトカウンターなど、制約や転倒能力があることがよくあります。 シミュレーションは、実時間に基づいて、またはイベントのステップを手動で実行することにより、最大速度で実行できます。

これらのサービスの他に、SimPyは、組織がPythonの確率変数を使用して一般的な分析を生成するのにも役立ちます。 SimPyは完全にPythonで記述されており、.NETやJava仮想マシンなどのさまざまな環境で実行できます。

Pythonでシミュレーションデータを作成するにはどうすればよいですか?

Python自体を使用して任意のモデルのシミュレートされたデータセットを作成するために、さまざまなモデルを練習またはテストするためのデータセットが必要になることがあります。 これは、Pythonで回帰するためのシミュレーションデータの作成に役立ちます。

回帰のためにPythonでシミュレーションデータを作成するためのステップバイステップの手順は次のとおりです。

1.ライブラリのインポート-このステップでは、データセットとライブラリが回帰のためにインポートされます。
2.シミュレートされたデータの作成-回帰のデータセットは、回帰に必要なパラメーターを渡すことで作成できます。 出力は、データセット係数、出力、および特徴として取得されます。
3.データセットの印刷-最後のステップでは、データセットは、係数、出力、特徴などのさまざまなコンポーネントから印刷されます。

Python開発者は平均していくら稼ぎますか?

Python開発者の場合、平均給与はRsになると予想できます。 年間500,000。 給与は、地理的な場所、会社のレベル、経験など、他のいくつかの要因に大きく依存します。 あなたはRsの給与範囲を期待することができます。 200,000ルピーPython開発者の役割のために年間800,000。