MAENVS4VRP Quickstart Notebook¶
Basic Usage¶
Let’s explore the library using the CVRPTW environment as an example.
Import libraries¶
Include all libraries from the environment, except benchmarking and toy generation.
from maenvs4vrp.environments.cvrptw.env import Environment
from maenvs4vrp.environments.cvrptw.env_agent_selector import AgentSelector
from maenvs4vrp.environments.cvrptw.observations import Observations
from maenvs4vrp.environments.cvrptw.instances_generator import InstanceGenerator
from maenvs4vrp.environments.cvrptw.env_agent_reward import DenseReward
%load_ext autoreload
%autoreload 2
Generate instances and create the environment¶
Create each instance to generator, observations, agent selector and rewards. Afterwards, you can use all these instances to create your environment.
gen = InstanceGenerator(batch_size = 8)
obs = Observations()
sel = AgentSelector()
rew = DenseReward()
env = Environment(instance_generator_object=gen,
obs_builder_object=obs,
agent_selector_object=sel,
reward_evaluator=rew,
seed=0)
Reset environment¶
Before simulating the problem, you must reset the environment.
td = env.reset(batch_size = 8, num_agents=4, num_nodes=16)
Compute agent steps until all agents return to depot¶
Until all agents are done with their tasks and back to depot, the prgram will iteratively perform an action and move to the next agent.
while not td["done"].all():
td = env.sample_action(td) # this is where we insert our policy
td = env.step(td)