問題タブ [simpy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
4452 参照

python - SimPyを使用した列車システムのモデリングについてサポートが必要

SimPyで電車システム(地下鉄システムなど)をモデル化するのに助けが必要です。問題は、「シミュレーション」の先生がPython + SimPyの使用を希望していて、使用方法がわからないことです。 SimPy私は銀行の例を理解することができました、それは簡単です、しかし今でも私は先生が私に与えた問題をモデル化する方法についての考えを持っていません...

問題は大きくて広範囲ですが、プロジェクト全体が完了するのではなく、少しだけ助けが必要なので、誰かが助けてくれれば本当に感謝します。

私が始めるのを助ける減少した問題はこのようです:

3つの駅(A、B、C)がある程度の距離(たとえば100m)離れていて、2つの列車があります。1つはAに、もう1つはCにあります(train1はAからCに、tran2はCからAに行きます)。各列車には最高速度(両方とも50m / sとしましょう)と加速(ブレーキングには5m / s^2と-5m/s ^ 2としましょう)があり、各駅に数秒間停車するだけです。秒(24秒としましょう)そして次の駅に進み、最後に到達すると、さらに20秒(レールを変更)待ってから、最初からやり直します。

駅には乗客の制限があります(シミュレートする必要はありません)。唯一のことは、各駅にはランダムな数の乗客がいて、列車が到着すると、起き上がる人と降りる人がいます...

だから、基本的に私は電車の小さなモデルとそれらの3つの駅がある駅が必要です...誰かが私を助けてくれるなら...

本当の問題は、22の駅、車線を変更する2つの追加の駅、ランダムな待機時間、異なる最大速度と容量の42の列車、駅と時刻に応じて生成される乗客の数などです。後で管理することはできますが、駅システムのモデリングロジックが理解できないようです...ご協力いただきありがとうございます。

0 投票する
1 に答える
1427 参照

python - SimPyで待たずに定期的にイベントをスケジュールに入れる方法は?

私はSimPyを学んでいます。現在、シミュレーションが終了するまで定期的にメソッドを呼び出す必要があります。

みたいに書きました

のステートメントにより、1.0 時間単位ごとwhile True:に が得られるはずです。target.do()したがって、出力は次のようになります。

しかし実際には、target.do()6.0 時間単位ごとに結果が得られます (終了yieldするまで待機するホールドtarget.do())。

実行が完了するまで待たずに、ターゲット関数を定期的にスケジュールに渡すにはどうすればよいでしょうか?

ありがとうございました!……

0 投票する
1 に答える
171 参照

python - 複数インスタンスの故障・修理は簡易優先

私は Simpy マニュアルのバスの内訳の例を実験してきましたが、バスの複数のインスタンスを作成すると、最初の修復後に最後のインスタンスが "of sequence" になるように見える理由を理解するのに本当に苦労しています。Bus の 2 つのインスタンス (Bus1 と Bus2) を作成するために、マニュアルのサンプル コードの initialize() ステートメントのすぐ下をわずかに変更しました。これが私のコードです:

上記により、次の出力が得られます。

さて、質問: t=600 の時点で、バス 2 が故障する前にバス 1 が修理されるのはなぜですか? 両方のバスが故障し、「ロックステップ」で修理されると予想していました。さらに、4 つのバスを作成すると、最初の 3 つが失敗し、以下に示すように「ロック ステップ」で修復されます。ただし、バス 4 は、最初の修理の後、20 までにシーケンスから外れます。なぜこれが起こるのかわかりません。誰かが提供できる洞察をいただければ幸いです。これは常に最後のインスタンスで発生します。

ありがとう、シーモア

0 投票する
1 に答える
165 参照

python - simpyでイベントのsignalparamを取得する

時間ベースのシミュレーションに SimPy を使用しています。

特定のイベントをリッスンし、イベントが発生したときにそのイベントのパラメーターを返す Messager プロセスがあります。

これはうまくいきます。ただし、実際には、メッセージャで処理する必要があるイベントが複数あるため、メッセージャがイベントのリストで原因となるイベントの signalparam を返すようにします。

発生したイベントの signalparam にアクセスするにはどうすればよいですか?

0 投票する
1 に答える
370 参照

python - EclipseインストールエラーでSimPyを使用したPython(Windows 7)

私はPyDevをEclipseでかなり長い間問題なく使用しています。今日、私はPythonにSimPyをインストールしましたが、正常にインストールされていると思います。つまり、アイドル状態のコマンドでは次のようになります。

正常に動作します。

次に、EclipseでSimPyを使用できるように、PyDevを再度構成しようとしました。Eclipseでは、Windows-> Preferences-> PyDev-> Interpreter –Pythonを選択しました。次に、新しい、Python 2.7という名前を付け、C:\ Python27\python.exeをインタープリター実行可能ファイルとして追加しました。これは私が過去に行ったことであり、うまく機能しました。

しかし、「インタープリターに関する情報の取得中にエラーが発生しました」というエラーメッセージが表示されます。ErrorLogから次のようになります。インタープリター情報を作成しようとしたときに、標準出力に出力がありませんでした。エラー出力には次のものが含まれます。ImportError: No module named site

私の家の変数には次のものがあります。

PYTHONHOME -> C:\Python27

PYTHONPATH -> C:\Python27\Lib;C:\Python27\Lib;C:\Python27\SimPy

誰かが私に何が悪いのか教えてもらえますか?私のシステムはWindows7です。ありがとうございます。

0 投票する
2 に答える
3526 参照

python - python (SimPy) erlang 分布に従う乱数を生成する

私は Python (主に SimPy パッケージですが、私が考える質問とは関係ありません) を使用して、いくつかのシステムをモデル化し、シミュレーションを実行しています。この目的のために、分布に従う乱数を生成する必要があります。これまでのところ、指数関数や正規分布などのいくつかの分布で、ランダムをインポートし (たとえば、ランダム インポート * から)、expovariate または normalvariate メソッドを使用して問題なく実行できました。しかし、Erlang 分布に従う数値を生成するランダムな方法は見つかりません。そう:

  1. 私が見落とした方法はありますか?
  2. 他のライブラリをインポートする必要がありますか?
  3. 回避策を講じることはできますか?(指数分布を使用してランダムな「Erlang」数を生成できると考えていますが、その方法がわかりません。コードの一部が役立つかもしれません。

前もって感謝します!

0 投票する
1 に答える
331 参照

python - Python SimPy:顧客を分割またはコピーする方法は?

これが私がSimPyに実装しようとしているものです:

顧客は最初にサーバーAに5分間サービスを提供します。次に、各顧客は2つに分割され、1つはサーバーBに3分間サービスを提供し、もう1つはサーバーCに2分間サービスを提供します。

次のコードを書きましたが、出力に基づいて動作していないようです。また、サーバーAを離れる各顧客を分割したいので、コピー機能の使用方法が正しいかどうかはわかりませんが、私のコードは最初の顧客でしか機能しない可能性があると感じています。

どんな助けでもいただければ幸いです。

出力:

0 投票する
1 に答える
597 参照

python - Simpy イベントが複数同時に発生する

Simpy シミュレーターのSimEventクラスを使用して、いくつかのイベント ( a,b,cなど) を定義しています。以下に示すように、イベントa、bcを待機するプロセスがあります。

これらのイベントのいずれかが発生すると、プロセスが再アクティブ化されます。私の場合、イベントは複数回発生する可能性があります。つまり、2 つ以上のプロセスが同じシミュレーション時間に a.signal() を呼び出すことができます。たとえば、イベントaが 3 回発生した場合、その情報を取得するにはどうすればよいですか? eventsFired配列に同じイベントが繰り返されていますか?

0 投票する
1 に答える
93 参照

python - PythonでnameErrorをcacthできません

これが私のコードです:

私がやりたいのは、名前が存在しない場合に宛先に到達できないことを印刷することですが、それでも通常のPythonエラーが発生します。

0 投票する
1 に答える
94 参照

python - 異なるモジュール内のオブジェクト間の相互作用を有効にする方法

私は SimPy を使用しており、ネットワークをシミュレートしようとしています。

これは私のメインモジュールです:

nodeクラスのオブジェクトで活性化されたmessageクラスのオブジェクトを割り込ませたい

クラスのオブジェクト Network (topology)

しかし、私はエラーが発生しています:

そして、オブジェクトをグローバルにする方法がわかりません。また、Python シェルでトポロジーと入力すると、オブジェクト トポロジーが表示されるのに、メッセージでそれが表示されないのはなぜですか?