qiskit.optimization.applications.ising.vehicle_routing
Converts vehicle routing instances into a list of Paulis, and provides some related routines (extracting a solution, checking its objective function value).
Functions
get_operator (instance, n, K) | Converts an instance of a vehicle routing problem into a list of Paulis. |
get_vehiclerouting_cost (instance, n, K, x_sol) | Computes the cost of a solution to an instance of a vehicle routing problem. |
get_vehiclerouting_matrices (instance, n, K) | Constructs auxiliary matrices from a vehicle routing instance, |
get_vehiclerouting_solution (instance, n, K, …) | Tries to obtain a feasible solution (in vector form) of an instance |
get_operator
get_operator(instance, n, K)
Converts an instance of a vehicle routing problem into a list of Paulis.
Parameters
- instance (
ndarray
) – a customers-to-customers distance matrix. - n (
int
) – the number of customers. - K (
int
) – the number of vehicles available.
Return type
WeightedPauliOperator
Returns
operator for the Hamiltonian.
get_vehiclerouting_cost
get_vehiclerouting_cost(instance, n, K, x_sol)
Computes the cost of a solution to an instance of a vehicle routing problem.
Parameters
- instance (
ndarray
) – a customers-to-customers distance matrix. - n (
int
) – the number of customers. - K (
int
) – the number of vehicles available. - x_sol (
ndarray
) – a solution, i.e., a path, in its binary representation.
Return type
float
Returns
objective function value.
get_vehiclerouting_matrices
get_vehiclerouting_matrices(instance, n, K)
Constructs auxiliary matrices from a vehicle routing instance,
which represent the encoding into a binary quadratic program. This is used in the construction of the qubit ops and computation of the solution cost.
Parameters
- instance (
ndarray
) – a customers-to-customers distance matrix. - n (
int
) – the number of customers. - K (
int
) – the number of vehicles available.
Return type
Tuple
[ndarray
, ndarray
, float
]
Returns
a matrix defining the interactions between variables. a matrix defining the contribution from the individual variables. the constant offset.
get_vehiclerouting_solution
get_vehiclerouting_solution(instance, n, K, result)
Tries to obtain a feasible solution (in vector form) of an instance
of vehicle routing from the results dictionary.
Parameters
- instance (
ndarray
) – a customers-to-customers distance matrix. - n (
int
) – the number of customers. - K (
int
) – the number of vehicles available. - result (
MinimumEigensolverResult
) – a result obtained by QAOA.run or VQE.run.
Return type
ndarray
Returns
a solution, i.e., a path, in its binary representation.
#TODO: support statevector simulation, results should be a statevector or counts format, not
a result from algorithm run