![]() |
OR-Tools
9.6
|
Helper class that manages vehicles.
This class is based on the RoutingModel::VehicleTypeContainer that sorts and stores vehicles based on their "type".
Definition at line 53 of file routing_search.h.
Public Member Functions | |
| VehicleTypeCurator (const RoutingModel::VehicleTypeContainer &vehicle_type_container) | |
| int | NumTypes () const |
| int | Type (int vehicle) const |
| void | Reset (const std::function< bool(int)> &store_vehicle) |
| Resets the vehicles stored, storing only vehicles from the vehicle_type_container_ for which store_vehicle() returns true. More... | |
| void | Update (const std::function< bool(int)> &remove_vehicle) |
| Goes through all the currently stored vehicles and removes vehicles for which remove_vehicle() returns true. More... | |
| int | GetLowestFixedCostVehicleOfType (int type) const |
| void | ReinjectVehicleOfClass (int vehicle, int vehicle_class, int64_t fixed_cost) |
| bool | HasCompatibleVehicleOfType (int type, const std::function< bool(int)> &vehicle_is_compatible) const |
| Searches a compatible vehicle of the given type; returns false if none was found. More... | |
| std::pair< int, int > | GetCompatibleVehicleOfType (int type, const std::function< bool(int)> &vehicle_is_compatible, const std::function< bool(int)> &stop_and_return_vehicle) |
| Searches for the best compatible vehicle of the given type, i.e. More... | |
|
inlineexplicit |
Definition at line 55 of file routing_search.h.
| std::pair< int, int > GetCompatibleVehicleOfType | ( | int | type, |
| const std::function< bool(int)> & | vehicle_is_compatible, | ||
| const std::function< bool(int)> & | stop_and_return_vehicle | ||
| ) |
Searches for the best compatible vehicle of the given type, i.e.
the first vehicle v of type 'type' for which vehicle_is_compatible(v) returns true. If a compatible vehicle is found, its index is removed from vehicles_per_vehicle_class_ and the function returns {vehicle, -1}. If for some vehicle 'stop_and_return_vehicle' returns true before a compatible vehicle is found, the function simply returns {-1, vehicle}. Returns {-1, -1} if no compatible vehicle is found and the stopping condition is never met.
Definition at line 139 of file routing_search.cc.
|
inline |
Definition at line 71 of file routing_search.h.
| bool HasCompatibleVehicleOfType | ( | int | type, |
| const std::function< bool(int)> & | vehicle_is_compatible | ||
| ) | const |
Searches a compatible vehicle of the given type; returns false if none was found.
Definition at line 127 of file routing_search.cc.
|
inline |
Definition at line 59 of file routing_search.h.
|
inline |
Add the vehicle class entry to the set (it was removed when vehicles_per_vehicle_class_[vehicle_class] got empty).
Definition at line 83 of file routing_search.h.
| void Reset | ( | const std::function< bool(int)> & | store_vehicle | ) |
Resets the vehicles stored, storing only vehicles from the vehicle_type_container_ for which store_vehicle() returns true.
Definition at line 76 of file routing_search.cc.
|
inline |
Definition at line 61 of file routing_search.h.
| void Update | ( | const std::function< bool(int)> & | remove_vehicle | ) |
Goes through all the currently stored vehicles and removes vehicles for which remove_vehicle() returns true.
Definition at line 105 of file routing_search.cc.