¿Simpy soporta optimización dinámica de los recursos de distribución a través de múltiples nodos?

0

Pregunta

Tengo 2 nodos 0 y 1 y en total son 12 los recursos del servidor en los nodos 0 y 1. Hay un método en Simpy para programar el 12 recursos en los nodos 0 y 1, de modo que el promedio de tiempo total de procesamiento de un elemento a través del nodo 0) seguido por el nodo 1 es minimizado. De tiempo en tiempo los recursos pueden moverse de un nodo a otro para servir. Adjunto el código que he venido para arriba con una distribución estática de 5 recursos en el nodo 0 y 7 recursos en el nodo 1. Cómo hacer que sea más dinámico con el tiempo ?

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

Mejor respuesta

0

Si el uso de los recursos, de iniciar cada nodo con una capacidad de 12 y el uso de la demora de su última pregunta para retrasar algunos de los recursos de cada nodo para el total de activos de recursos es el total que usted desea. De lo contrario, puede que desee empezar a buscar en los contenedores y almacenes que permitirá que usted se mueva a un recurso de un nodo a otro.

2021-11-23 14:58:40

Gracias Michael. Los recipientes y Almacenes podría ser más apropiado para esta configuración. Déjame echar un vistazo.
Coding Practice

En otros idiomas

Esta página está en otros idiomas

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