Nu Disprețuitoare suport optimizat dinamic de resurse distributon pe mai multe noduri?

0

Problema

Am 2 noduri 0 și 1 și în total sunt 12 resurse care vor server în nodurile 0 și 1. Există o metodă în Disprețuitoare la programul de 12 resurse peste nodurile 0 și 1, astfel încât numărul total mediu de timpul de prelucrare a unui articol prin nodul 0 urmat de nodul 1 este minimizat. Din timp în timp, resursele se pot muta de la un nod la altul pentru servire. Atașat este codul de unde am venit cu un statice distribuția de 5 resurse în nodul 0 și 7 resurse în nodul 1. Cum să-l facă dinamic cu timp ?

import numpy as np
import simpy

def interarrival():
    return(np.random.exponential(20))

def servicetime():
    return(np.random.exponential(60))


def servicing(env, servers_1):
    i = 0
    while(True):
        i = i+1
        yield env.timeout(interarrival())
        print("Customer "+str(i)+ " arrived in the process at "+str(env.now))
        state = 0
        env.process(items(env, i, servers_array, state))

def items(env, customer_id, servers_array, state):
    with servers_array[state].request() as request:
        yield request
        t_arrival = env.now
        print("Customer "+str(customer_id)+ " arrived in "+str(state)+ "  at "+str(t_arrival))
        yield env.timeout(servicetime())
        t_depart = env.now
        print("Customer "+str(customer_id)+ " departed from "+str(state)+ "  at "+str(t_depart))
        if (state == 1):
            print("Customer exits")
        else:
            state = 1
            env.process(items(env, customer_id, servers_array, state))
            

env = simpy.Environment()
servers_array = []
servers_array.append(simpy.Resource(env, capacity = 5))
servers_array.append(simpy.Resource(env, capacity = 7))
env.process(servicing(env, servers_array))
env.run(until=2880)
allocation dynamic resources simpy
2021-11-23 13:21:27
1

Cel mai bun răspuns

0

Dacă ai folosi resursele, de a începe fiecare nod cu o capacitate de 12 și de a folosi întârziere de la ultima ta întrebare să amâne o parte din resursele de la fiecare nod astfel încât numărul total activ resurse este total doriți. În caz contrar, poate doriți pentru a începe căutarea de la recipiente și de magazine care vă va permite pentru a muta o resursă de la un nod la altul.

2021-11-23 14:58:40

Multumesc Michael. Containere și Magazine ar putea fi mai potrivit pentru această setare. Lasă-mă să arunc o privire.
Coding Practice

În alte limbi

Această pagină este în alte limbi

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................