問題タブ [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 に答える
617 参照

python - 要求された場所とは異なる関数での SimPy のリソースの解放

シミュレーションでは、リソースが解放される別の関数を呼び出す前に、ある関数でリソースを要求できるようにしたいと考えています。以下に示す方法を使用すると、機能せず、エラーが発生します。前もって感謝します。

(機能 1):

(機能 2):

これは可能ですか?他の情報が必要な場合は、他に何を教えてください。

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

python - GUI を介してシミュレーション中にユーザーの入力を読み取る

simpy を使用してシミュレーション ベースのアプリケーションを GUI に変換中です。

プログラムは現在コンソール内で実行され、シミュレーションを実行している simpy はデフォルトで構文のようなループで実行されます。そして、それが私の問題のようです。

現在、コードのコンソール バージョン内で、raw_input() 関数を介してユーザー入力を取得します。これにより、コードを中断して、ユーザーがシミュレーションに必要な値を入力できるようになります。ただし、調査したにもかかわらず、私が構築しているGUI内でpyqtを介してこれを行う同様のクリーンな方法はないようです。

プロセスを異なるスレッドで実行することが唯一の方法でしょうか? そして、もし私がそのアプローチを行うとしたら、それはどのように正確に見え、実際に機能するのでしょうか?

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

python - 型エラー - Python Simpy

TypeError に関連する多くの回答をオンラインで検索し、コードを何度もスキャンしましたが、欠落している 3 番目の引数が何であるかがわかりません。Simpy 3でPython 2.7を使用しています

私のコードは次のとおりです。

これは私が取得し続けるエラーです:

トレースバック (最新の呼び出しが最後):

どんな助けでも大歓迎です、事前にどうもありがとう

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

python - 可用性に関する SimPy シミュレーションのヘルプが必要

作成したシミュレーションに問題があり、どうすれば解決できるかわかりません。このシミュレーションの考え方は次のとおりです。

システムには合計 10 台のマシンがあります。シミュレーションが開始されると、6 台のマシンが稼働を開始し、残りの 4 台のマシンは予備として在庫に保持されます。

要件は、システム内で常に 6 台のマシンが動作している必要があるということです。合計 6 台のマシンが稼働していない時間は、ダウンタイムとしてカウントされます。

しばらく稼働した後、稼働中の 6 台のマシンのうちの 1 台が故障します。この障害イベントが発生すると、インベントリから 1 台のマシンを取得して稼働中のマシンのグループに追加し、6 台のマシンを同時に稼働させるという要件を満たすことができます。

故障した機械は修理工場に送られ、一定期間後に修理されます。修理が完了すると、インベントリに移動され、他のマシンと合流します。

稼働中の 6 台のマシンのうち別の 1 台が次回故障した場合、在庫から 1 台のマシンが再度取り出され、故障したマシンと交換されます。これは、在庫内のマシンの数がシミュレーション全体で常に変動することを意味します。シミュレーション全体を通して、インベントリ内にあるマシンの数も確認する必要があるため、それprintを示すステートメントを追加しました。

要約すると、マシンは次のループをたどります: 作動開始 -> 失敗 -> 修理工房に送られる -> 修理後、在庫に入れられる -> 別のマシンが故障したときに再び稼働する -> 作動開始 -> 失敗 。など

このシミュレーションでのもう 1 つの要件は、マシン 1 から 10 までが常にどこにあるかを知る必要があるということです。これは、たとえば、マシン 7 がいつ故障したか、いつ修理工場に出入りしたか、いつ在庫に出入りしたかなど、各マシンの動きを追跡できるようにするためです。

このシミュレーションが構築された後、スペアの初期数と修理時間を変更して、これらの要因が稼働率のレベルにどのように影響するかを調べます。

私が直面している主な問題:

サイクル全体を通して 10 台のマシンのそれぞれを個別に追跡することはできません

スペアの在庫を適切にモデル化できません。最初にマシン 5 から 10 が稼働していて、そのうちの 1 台が故障した場合、出力の次の行は、マシン 1 が在庫から取り出され (したがって、稼働を開始し)、故障したマシンを交換したことを示しているはずです。しかし、私はそのような出力を得ることができません。

前もって感謝します!

これまでの進捗状況を含めました。

Stefan の助けを借りて、スクリプトを次のように変更しました。

これは私が受け取ったトレースバックです:

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

python-2.7 - 相互に関連するリソース

私は、いくつかの着信ルート、いくつかの発信ルート、およびいくつかのプラットフォームがある鉄道駅をモデリングしています(python 2.7でsimpyを使用)。現在、これらのリソースの 1 つが占有されている場合、他の特定のリソースに列車を割り当てることができません。

列車がルートを通過すると、駅エリアの他のルートがしばらくの間使用できなくなります。ルートをリソースとしてモデル化する場合、そのリソースで生成されたリクエストは他のリソースにも影響を与えます。

1 つの resource_A を使用すると、resource_B、resource_C が所定の時間使用できなくなるような、リソースをモデル化する方法はありますか?

アシーム・アワド

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

python - 利回りは他のラインまでホールド > 0

私は SimPy 2.3 を使用しており、ATM でランダムなレートで顧客を生成するプロセスと、ランダムなレートで顧客にサービスを提供する別のプロセスがあります。列が空になったら、ATM に次の顧客が来るのを待ってから他のことをしてもらいたいです。

ここにいくつかのコードがあります

これを行う良い方法は何ですか?