問題タブ [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 投票する
3 に答える
3969 参照

python - 単純なリソース利用可能スケジュール

Python で SimPy を使用して、ユーザーが csv ファイルで入力したスケジュールに基づいてリソースを利用できるようにする必要がある離散イベント シミュレーションを作成しています。目的は、1 日の異なる時間帯に利用可能な同じリソース (スタッフなど) の異なる数を表すことです。私が知る限り、これはベースの SimPy で利用できるものではありません - リソースの優先順位のようなものです。

私はこれを機能させることができ、その方法を示すために以下のコードを含めました。しかし、SimPy でこの機能を実現するためのより良い方法があるかどうか、コミュニティに尋ねたかったのです。

以下のコードは、毎日の開始時に、リソースが利用できないと想定されている時間帯にリソースを要求することで機能します。リソースを確実に取得するために、はるかに高い優先度を使用します。その後、リソースは適切なタイミングで解放され、他のイベント/プロセスで使用できるようになります。私が言うように、それは機能しますが、リソースの正確な真の可用性を確保するために多くのダミープロセスが機能しているため、無駄に思えます. 改善につながるコメントを歓迎します。

したがって、csv は次のようになります。

ここで Number は、定義された時間に利用可能になるスタッフの数を表します。例: 6 時から 8 時までは 5 名、8 時から 10 時までは 20 名、10 時から 17 時までは 50 名というように、その日の終わりまでスタッフが勤務します。

コード:

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

python-2.7 - シンプルな複数イベントの結果の曖昧さを解消する

ネットワーク モデリング演習の一環として、簡単なマルチプレクサを simpy でコーディングしようとしています。私が持っているのは、s1 と s2 の 2 つのストアで、s1 と s2 の一方または両方が標準の Store.get() メソッドを介して「パケット」を返すのを待つ単一の yield を実行したいと考えています。これは機能しますが、2 つのストアのどちらが実際にパケットを返したかを判断できませ。以下のコードにコメントの代わりに適切なコードを挿入することによって、これを行う正しい方法は何ですか?

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

python - Python-simpy ビット単位または

今、私simpyはpythonのライブラリを学んでいます。bitwise-orこので が使用されている理由を説明していただけますか。or簡単なステートメントを使用できない理由。

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

simpy - シンプルな同期通信チャネル

私は Python と Simpy を使い始めた初心者です。2 つのプロセス間に同期通信チャネルが必要です。たとえば、次のようにします。

結果として次のようになります。

チャネルの定義には何を作成/使用すればよいですか?

私が得るよりもa を使用するStoreと(上記とは少し異なります):

出力は次のようになります。

しかし、私は上記のように取得する必要があります。ライターは、リーダーが読み取る準備ができるまで待機する必要があります。

0 投票する
0 に答える
757 参照

python - Python: simpy でシミュレーションを一時停止する

Simpy でキュー モデルを作成しているときに、誰かが正しい方向性を示してくれることを期待していました。Simpy サイトのドキュメントと例は素晴らしく、提供された例に基づいて構築できるかどうかを確認したかったのです。

基本的に、事務員が書類を確認するプロセスをシミュレートしています。事務処理は、ランダムな時間間隔で (MM1 キューによく似た) 先入れ先出しサービス規律でキューに到着し、キューから出ます (つまり、サービスされます)。

私が見つけているトリッキーな部分は、事務員が仕事に戻る前にしばらく眠らなければならないようなプロセスをモデル化したいということです。たとえば、シミュレーションが「4 週間」実行される場合、事務員はその期間中、1 日あたり 12 時間睡眠する必要があります。この最後の警告が機能するようには思えません。以下の私のコードを見てください、ありがとう!

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

python - Simpy - 複数のリソースへのアクセス

SimPy DES フレームワークを学習し始めています。サーバーに異なる時間にリクエストが到着するシミュレーションを実装したいと考えています。さまざまな種類のリクエストがあり、それぞれが特定のメモリ/CPU 負荷でサーバーに負荷をかけます。したがって、たとえば、通常は CPU の 10% とメモリの 100MB を使用する要求があり、他の要求は CPU の 15% と RAM の 150MB を必要とする場合があります (これらは単なる例の数値です)。サーバーには独自の特性とある程度のメモリ量があります。リクエストがサーバーに到着し、必要な量のリソースの準備が整っていない場合、このリクエストは待機する必要があります。単一のリソースのケースを処理する方法を知っています。たとえば、mememory の場合と同様に、容量が 100 で初期量が 100 の Container クラスを使用して CPU 負荷を実装できます。でも、

前もって感謝します!

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

python - 3.0 の simpy 2.2 の例

私は simpy 2.2 の例 (参照: https://pythonhosted.org/SimPy/Tutorials/TheBank2OO.html ) のいくつかに取り組み、simpy 3.0 レキシコン (参照: http://simpy.readthedocs. io/en/latest/about/history.html )。3.0 用に書き直された次の例 (銀行のドアが開く) に出くわした人はいますか? simpy 3.0を使用して、「customer」クラスに「self.sim.door_open」をイベントとして記述する方法が完全にはわかりません。

これまでのところ、「環境オブジェクトには属性「door_open」がありません」というエラーが表示されます

忍者の編集: シミュレーションを実行することはできましたが、ドアを「閉じた」状態で初期化し、ある時点で開くことができません。