All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.opentripplanner.raptor.api.request.Optimization Maven / Gradle / Ivy

The newest version!
package org.opentripplanner.raptor.api.request;

import java.util.Collection;

/**
 * Here is a list of all optimizations that is implemented. All optimization can be combined in one
 * search.
 */
public enum Optimization {
  /**
   * Run part of the search in parallel. This uses more resources and may degrade the overall
   * performance, but each individual travel search should be faster.
   * 

* This only apply to: multi-criteria search. */ PARALLEL, /** * This optimization use heuristics at each stop calculate an optimistic estimate for all criteria * at the destination. Then this "vector" is checked if it qualify in the existing set of pareto * optimal destination arrivals. *

* On the Norwegian graph this improve the average search time from 1.15 seconds to 0.55 seconds * for a test set of 27 different test cases with an average search-window of 1 hour and 20 * minutes. The longer searches have search-windows up to 3 hours. The SpeedTest is used to obtain * the results. *

* This optimization was not implemented based on the [Restricted Pareto Sets] * (https://epubs.siam.org/doi/pdf/10.1137/1.9781611975499.5), but it is very similar. The current * implementation do not use a separate Raptor search for the cost-criteria, but guess the cost * based on the minimum-travel-time-to-destination and minimum-number-of-transfers-to-destination. *

* This only apply to: multi-criteria search. */ PARETO_CHECK_AGAINST_DESTINATION; public boolean is(Optimization other) { return this == other; } /** * Is this in the given collection? */ public boolean isOneOf(Collection others) { return others.stream().anyMatch(this::is); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy