def load_policy(agent_id):
     if Utils.is_producer_agent(agent_id):
         return ProducerBaselinePolicy(env.observation_space, env.action_space_producer, BaselinePolicy.get_config_from_env(env))
     if agent_id.startswith('SKUStoreUnit') or agent_id.startswith('OuterSKUStoreUnit'):
         return ConsumerEOQPolicy(env.observation_space, env.action_space_consumer, BaselinePolicy.get_config_from_env(env))
     else:
         return ConsumerBaselinePolicy(env.observation_space, env.action_space_consumer, BaselinePolicy.get_config_from_env(env))
Exemple #2
0
 def load_base_policy(agent_id):
     if Utils.is_producer_agent(agent_id):
         return ProducerBaselinePolicy(
             env.observation_space, env.action_space_producer,
             BaselinePolicy.get_config_from_env(env))
     else:
         return ConsumerBaselinePolicy(
             env.observation_space, env.action_space_consumer,
             BaselinePolicy.get_config_from_env(env))
Exemple #3
0
 def load_policy(agent_id):
     _facility = env.world.facilities[Utils.agentid_to_fid(agent_id)] 
     if Utils.is_producer_agent(agent_id):
         return ProducerBaselinePolicy(env.observation_space, env.action_space_producer, BaselinePolicy.get_config_from_env(env))
     # elif isinstance(_facility, SKUStoreUnit) or isinstance(_facility, SKUWarehouseUnit):
     elif isinstance(_facility, SKUStoreUnit):
         policy = ConsumerBaseStockPolicy(env.observation_space, env.action_space_consumer,
                     BaselinePolicy.get_config_from_env(env), is_static)
         return policy
     else:
         return ConsumerBaselinePolicy(env.observation_space, env.action_space_consumer, BaselinePolicy.get_config_from_env(env))
Exemple #4
0
 def load_policy(agent_id):
     if Utils.is_producer_agent(agent_id):
         return ProducerBaselinePolicy(
             env.observation_space, env.action_space_producer,
             BaselinePolicy.get_config_from_env(env))
     elif Utils.is_consumer_agent(agent_id):
         return ConsumerMinMaxPolicy(
             env.observation_space, env.action_space_consumer,
             BaselinePolicy.get_config_from_env(env))
     else:
         raise Exception(f'Unknown agent type {agent_id}')
Exemple #5
0
    "lr": 0.0003,
    # "num_iterations": 200,
    "training_steps": 25000,
    "max_steps_per_episode": 60,
    "replay_capacity": 1000000,
    "batch_size": 2048,
    "double_q": True,
    # "nstep": 1,
}
env_config_for_rendering = env_config.copy()
episod_duration = env_config_for_rendering['episod_duration']
env = InventoryManageEnv(env_config_for_rendering)

all_policies = {
    'baseline_producer':
    ProducerBaselinePolicy(env.observation_space, env.action_space_producer,
                           BaselinePolicy.get_config_from_env(env)),
    'baseline_consumer':
    ConsumerBaselinePolicy(env.observation_space, env.action_space_consumer,
                           BaselinePolicy.get_config_from_env(env)),
    'dqn_store_consumer':
    ConsumerBaselinePolicy(env.observation_space, env.action_space_consumer,
                           BaselinePolicy.get_config_from_env(env)),
}


def policy_map_fn(agent_id):
    if Utils.is_producer_agent(agent_id):
        return 'baseline_producer', False
    else:
        if agent_id.startswith('SKUStoreUnit') or agent_id.startswith(
                'OuterSKUStoreUnit'):