Instance Generation¶
Instances generation settings are defined in file instances_generator.py.
InstanceGenerator¶
- class maenvs4vrp.environments.toptw.instances_generator.InstanceGenerator(instance_type: str = 'validation', set_of_instances: set = None, device: str | None = 'cpu', batch_size: Size | None = None, seed: int = None)[source]¶
TOPTW instance generation class.
- __init__(instance_type: str = 'validation', set_of_instances: set = None, device: str | None = 'cpu', batch_size: Size | None = None, seed: int = None) None[source]¶
Constructor. Instance generator.
- Parameters:
instance_type (str) – Instance type. Can be “validation” or “test”. Defaults to “validation”.
set_of_instances (set) – Set of instances file names. Defaults to None.
device (str, optional) – Type of processing. It can be “cpu” or “gpu”. Defaults to “cpu”.
batch_size (torch.Size, optional) – Batch size. If not specified, defaults to 1.
seed (int) – Random number generator seed. Defaults to None.
- Returns:
None.
- augment_generate_instance(num_agents: int = 20, num_nodes: int = 100, service_times: int = 0.2, profits: str = 'distance', batch_size: Size | None = None, n_augment: int = 2, seed: int = None, device: str | None = 'cpu') TensorDict[source]¶
Generate augmentated instance.
- Parameters:
num_agents (int) – Total number of agents. Defaults to 20.
num_nodes (int) – Total number of nodes. Defaults to 100.
capacity (int) – Total capacity for each agent. Defaults to 50.
service_times (int) – Service time in the nodes. Defaults to 0.2.
batch_size (torch.Size, optional) – Batch size. Defaults to None.
n_augment (int) – Data augmentation. Defaults to 2.
seed (int, optional) – Random number generator seed. Defaults to None.
- Returns:
Instance data.
- Return type:
TensorDict
- get_instance(instance_name: str, num_agents: int = None) Dict[source]¶
Get an instance with custom number of agents.
- Parameters:
instance_name (str) – Instance file name.
num_agents (int) – Number of agents. Defaults to None.
- Returns:
Instance data.
- Return type:
Dict
- classmethod get_list_of_benchmark_instances()[source]¶
Get list of generated files.
- Parameters:
n/a.
- Returns:
None.
- get_time_windows(instance: TensorDict = None, batch_size: Size = None, seed: int = None) tensor[source]¶
Get time windows to reach the nodes.
- Parameters:
instance (TensorDict) – Data instance. Defaults to None.
batch_size (torch.Size) – Batch size. Defaults to None.
seed (int) – Random number generator seed. Defaults to None.
- Returns:
Nodes time windows.
- Return type:
torch.Tensor
- load_set_of_instances(set_of_instances: set = None)[source]¶
Load every instance on set_of_instances set.
- Parameters:
set_of_instances (set) – Set of instances file names. Defaults to None.
- Returns:
None.
- random_generate_instance(num_agents: int = 20, num_nodes: int = 100, service_times: int = 0.2, profits: str = 'distance', batch_size: Size | None = None, seed: int = None, device: str | None = 'cpu') TensorDict[source]¶
Generate random instance.
- Parameters:
num_agents (int) – Total number of agents. Defaults to 20.
num_nodes (int) – Total number of nodes. Defaults to 100.
capacity (int) – Total capacity for each agent. Defaults to 50.
service_times (int) – Total time of service. Defaults to 0.2.
batch_size (torch.Size, optional) – Batch size. Defaults to None.
seed (int, optional) – Random number generator seed. Defaults to None.
- Returns:
Instance data.
- Return type:
TensorDict
- read_instance_data(instance_name: str) Dict[source]¶
Read instance data from file.
- Parameters:
instance_name (str) – instance file name.
- Returns:
Instance data.
- Return type:
Dict
- sample_instance(num_agents=None, num_nodes=None, service_times=0.2, profits: str = 'constant', instance_name: str = None, sample_type: str = 'random', batch_size: Size | None = None, n_augment: int | None = None, seed: int = None, device: str | None = 'cpu') Dict[source]¶
Sample one instance from instance space.
- Parameters:
num_agents (int) – Total number of agents. Defaults to None.
num_nodes (int) – Total number of nodes. Defaults to None.
capacity (int) – Total capacity for each agent. Defaults to 50.
service_times (int) – Service time in the nodes. Defaults to 0.2.
instance_name (str) – Instance name. Defaults to None.
sample_type (str) – Sample type. It can be “random”, “augment” or “saved”. Defaults to “random”.
batch_size (torch.Size, optional) – Batch size. Defaults to None.
n_augment (int, optional) – Data augmentation. Defaults to None.
seed (int) – Random number generator seed. Defaults to None.
- Returns:
Instance data.
- Return type:
Dict