工場をシミュレートするために、Python で Simpy 離散イベント シミュレーションを使用しています。このresource
クラスを使用すると、一度に限られた固定数のプロセスで使用できるリソースをシミュレートできます (たとえば、燃料ポンプの数が限られているガソリンスタンドなど)。大まかに: プロセスは、これらのリソースがユーザーになるように要求し、完了したら解放する必要があります (たとえば、車両はガソリンスタンドに到着し、利用可能な場合は燃料ポンプを使用し、完了したら出発します)。 .
リソースには、プロセスが要求できる限られた固定数のスロットがあります。すべてのスロットが使用されると、リクエスターはキューに入れられます。プロセスがスロットを解放すると、次のプロセスがキューからポップされ、1 つのスロットが取得されます。
私の場合、いくつかの共有マシンを使用する必要があるプロセスのリストがあります。各プロセスは、使用が許可されているマシンの固定サブセットに関連付けられています。このサブセットがすべてのプロセスで同じである場合、問題は組み込みメソッドで簡単に実装できますが、この問題のバリエーションに問題があります。
利用可能な各マシンを(利用可能なマシンの合計に等しい容量を持つresource
1 つのシングルではなく)1 つの容量を持つ個々のマシンとして作成し、この方法を使用して、許可された対応するサブセットの最初の利用可能なマシンに各プロセスを割り当てようとしましたマシン。残念ながら、うまくいきません。resource
any_of
これを実装する簡単または自然な方法はありますか? 前もって感謝します!