VehicleRouting#

class VehicleRouting(graph, num_vehicles=2, depot=0)[fuente]#

Bases: GraphOptimizationApplication

Optimization application for the «vehicle routing problem» [1] based on a NetworkX graph.

Referencias

[1]: «Vehicle routing problem», https://en.wikipedia.org/wiki/Vehicle_routing_problem

Parámetros:
  • graph (Graph | 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

Devuelve:

The node index of the depot where all the vehicles depart

graph#

Getter of the graph

Devuelve:

A graph for a problem

num_vehicles#

Getter of num_vehicles

Devuelve:

The number of the vehicles

Methods

static create_random_instance(n, low=0, high=100, seed=None, num_vehicle=2, depot=0)[fuente]#

Create a random instance of the vehicle routing problem.

Parámetros:
  • 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

Devuelve:

A VehicleRouting instance created from the input information

Tipo del valor devuelto:

VehicleRouting

draw(result=None, pos=None)#

Draw a graph with the result. When the result is None, draw an original graph without colors.

Parámetros:
interpret(result)[fuente]#

Interpret a result as a list of the routes for each vehicle

Parámetros:

result (OptimizationResult | ndarray) – The calculated result of the problem

Devuelve:

A list of the routes for each vehicle

Tipo del valor devuelto:

List[List[List[int]]]

static sample_most_likely(state_vector)#

Compute the most likely binary string from state vector.

Parámetros:

state_vector (QuasiDistribution | Statevector | ndarray | Dict) – state vector or counts or quasi-probabilities.

Devuelve:

binary string as numpy.ndarray of ints.

Muestra:

ValueError – if state_vector is not QuasiDistribution, Statevector, np.ndarray, or dict.

Tipo del valor devuelto:

ndarray

to_quadratic_program()[fuente]#

Convert a vehicle routing problem instance into a QuadraticProgram

Devuelve:

The QuadraticProgram created from the vehicle routing problem instance.

Tipo del valor devuelto:

QuadraticProgram