VehicleRouting¶
- class VehicleRouting(graph, num_vehicles=2, depot=0)[source]¶
Bases:
GraphOptimizationApplication
Optimization application for the “vehicle routing problem” [1] based on a
NetworkX
graph.References
[1]: “Vehicle routing problem”, https://en.wikipedia.org/wiki/Vehicle_routing_problem
- Parameters:
graph (nx.Graph | np.ndarray | list) – A graph representing a problem. It can be specified directly as a NetworkX graph, or as an array or list format suitable to build out a NetworkX graph.
num_vehicles (int) – The number of vehicles
depot (int) – The index of the depot node where all the vehicle depart
Attributes
- depot¶
Getter of depot
- Returns:
The node index of the depot where all the vehicles depart
- graph¶
Getter of the graph
- Returns:
A graph for a problem
- num_vehicles¶
Getter of num_vehicles
- Returns:
The number of the vehicles
Methods
- static create_random_instance(n, low=0, high=100, seed=None, num_vehicle=2, depot=0)[source]¶
Create a random instance of the vehicle routing problem.
- Parameters:
n (int) – the number of nodes.
low (int) – The minimum value for the coordinate of a node.
high (int) – The maximum value for the coordinate of a node.
seed (int | None) – the seed for the random coordinates.
num_vehicle (int) – The number of the vehicles
depot (int) – The index of the depot node where all the vehicle depart
- Returns:
A VehicleRouting instance created from the input information
- Return type:
- draw(result=None, pos=None)¶
Draw a graph with the result. When the result is None, draw an original graph without colors.
- Parameters:
result (OptimizationResult | np.ndarray | None) – The calculated result for the problem
- interpret(result)[source]¶
Interpret a result as a list of the routes for each vehicle
- Parameters:
result (OptimizationResult | np.ndarray) – The calculated result of the problem
- Returns:
A list of the routes for each vehicle
- Return type:
- static sample_most_likely(state_vector)¶
Compute the most likely binary string from state vector.
- Parameters:
state_vector (QuasiDistribution | Statevector | np.ndarray | dict) – state vector or counts or quasi-probabilities.
- Returns:
binary string as numpy.ndarray of ints.
- Raises:
ValueError – if state_vector is not QuasiDistribution, Statevector, np.ndarray, or dict.
- Return type:
np.ndarray