remove possibility to choose algorithm but only use brute force and farthest insertion
This commit is contained in:
parent
e6eea67eeb
commit
e773a80b06
@ -122,10 +122,6 @@ void RouteParameters::setLanguage(const std::string &language_string)
|
||||
language = language_string;
|
||||
}
|
||||
|
||||
void RouteParameters::setTripAlgo(const std::string &trip_algo_string)
|
||||
{
|
||||
trip_algo = trip_algo_string;
|
||||
}
|
||||
|
||||
void RouteParameters::setGeometryFlag(const bool flag) { geometry = flag; }
|
||||
|
||||
|
@ -81,8 +81,6 @@ struct RouteParameters
|
||||
|
||||
void getCoordinatesFromGeometry(const std::string geometry_string);
|
||||
|
||||
void setTripAlgo(const std::string &trip_algo);
|
||||
|
||||
short zoom_level;
|
||||
bool print_instructions;
|
||||
bool alternate_route;
|
||||
@ -99,7 +97,6 @@ struct RouteParameters
|
||||
std::string output_format;
|
||||
std::string jsonp_parameter;
|
||||
std::string language;
|
||||
std::string trip_algo;
|
||||
std::vector<std::string> hints;
|
||||
std::vector<unsigned> timestamps;
|
||||
std::vector<bool> uturns;
|
||||
|
@ -270,21 +270,10 @@ template <class DataFacadeT> class RoundTripPlugin final : public BasePlugin
|
||||
NodeIDIterator start = std::begin(scc.component) + scc.range[k];
|
||||
NodeIDIterator end = std::begin(scc.component) + scc.range[k+1];
|
||||
|
||||
// Compute the Trip with the given algorithm
|
||||
if (route_parameters.trip_algo == "BF" && route_parameters.coordinates.size() < BF_MAX_FEASABLE) {
|
||||
SimpleLogger().Write() << "Running brute force";
|
||||
if (component_size < BF_MAX_FEASABLE) {
|
||||
scc_route = osrm::trip::BruteForceTrip(start, end, number_of_locations, result_table);
|
||||
route_result.push_back(scc_route);
|
||||
} else if (route_parameters.trip_algo == "NN") {
|
||||
SimpleLogger().Write() << "Running nearest neighbour";
|
||||
scc_route = osrm::trip::NearestNeighbourTrip(start, end, number_of_locations, result_table);
|
||||
route_result.push_back(scc_route);
|
||||
} else if (route_parameters.trip_algo == "FI") {
|
||||
SimpleLogger().Write() << "Running farthest insertion";
|
||||
scc_route = osrm::trip::FarthestInsertionTrip(start, end, number_of_locations, result_table);
|
||||
route_result.push_back(scc_route);
|
||||
} else{
|
||||
SimpleLogger().Write() << "Running farthest insertion";
|
||||
} else {
|
||||
scc_route = osrm::trip::FarthestInsertionTrip(start, end, number_of_locations, result_table);
|
||||
route_result.push_back(scc_route);
|
||||
}
|
||||
|
@ -55,11 +55,11 @@ namespace trip
|
||||
// computes the distance of a given permutation
|
||||
EdgeWeight ReturnDistance(const DistTableWrapper<EdgeWeight> & dist_table,
|
||||
const std::vector<NodeID> & location_order,
|
||||
const EdgeWeight min_route_dist,
|
||||
const std::size_t component_size) {
|
||||
const EdgeWeight & min_route_dist,
|
||||
const std::size_t & component_size) {
|
||||
EdgeWeight route_dist = 0;
|
||||
std::size_t i = 0;
|
||||
while (i < location_order.size()) {
|
||||
while (i < location_order.size() && (route_dist < min_route_dist)) {
|
||||
route_dist += dist_table(location_order[i], location_order[(i+1) % component_size]);
|
||||
++i;
|
||||
}
|
||||
|
@ -42,7 +42,7 @@ template <typename Iterator, class HandlerT> struct APIGrammar : qi::grammar<Ite
|
||||
*(query) >> -(uturns);
|
||||
query = ('?') >> (+(zoom | output | jsonp | checksum | location | hint | timestamp | u | cmp |
|
||||
language | instruction | geometry | alt_route | old_API | num_results |
|
||||
matching_beta | gps_precision | classify | trip_algo | locs));
|
||||
matching_beta | gps_precision | classify | locs));
|
||||
|
||||
zoom = (-qi::lit('&')) >> qi::lit('z') >> '=' >>
|
||||
qi::short_[boost::bind(&HandlerT::setZoomLevel, handler, ::_1)];
|
||||
@ -85,8 +85,6 @@ template <typename Iterator, class HandlerT> struct APIGrammar : qi::grammar<Ite
|
||||
qi::bool_[boost::bind(&HandlerT::setClassify, handler, ::_1)];
|
||||
locs = (-qi::lit('&')) >> qi::lit("locs") >> '=' >>
|
||||
stringforPolyline[boost::bind(&HandlerT::getCoordinatesFromGeometry, handler, ::_1)];
|
||||
trip_algo = (-qi::lit('&')) >> qi::lit("trip_algo") >> '=' >>
|
||||
string[boost::bind(&HandlerT::setTripAlgo, handler, ::_1)];
|
||||
|
||||
string = +(qi::char_("a-zA-Z"));
|
||||
stringwithDot = +(qi::char_("a-zA-Z0-9_.-"));
|
||||
@ -98,7 +96,7 @@ template <typename Iterator, class HandlerT> struct APIGrammar : qi::grammar<Ite
|
||||
qi::rule<Iterator> api_call, query;
|
||||
qi::rule<Iterator, std::string()> service, zoom, output, string, jsonp, checksum, location,
|
||||
hint, timestamp, stringwithDot, stringwithPercent, language, instruction, geometry, cmp, alt_route, u,
|
||||
uturns, old_API, num_results, matching_beta, gps_precision, classify, locs, stringforPolyline, trip_algo;
|
||||
uturns, old_API, num_results, matching_beta, gps_precision, classify, locs, stringforPolyline;
|
||||
|
||||
HandlerT *handler;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user