Class MatchGraphRequest

  • All Implemented Interfaces:
    org.apache.avro.generic.GenericContainer, org.apache.avro.generic.IndexedRecord

    public class MatchGraphRequest
    extends Object
    implements org.apache.avro.generic.IndexedRecord
    A set of parameters for GPUdb.matchGraph.

    Matches a directed route implied by a given set of latitude/longitude points to an existing underlying road network graph using a given solution type.

    IMPORTANT: It's highly recommended that you review the Graphs and Solvers concepts documentation, the Graph REST Tutorial, and/or some /match/graph examples before using this endpoint.

    • Constructor Detail

      • MatchGraphRequest

        public MatchGraphRequest()
        Constructs a MatchGraphRequest object with default parameters.
      • MatchGraphRequest

        public MatchGraphRequest​(String graphName,
                                 List<String> samplePoints,
                                 String solveMethod,
                                 String solutionTable,
                                 Map<String,​String> options)
        Constructs a MatchGraphRequest object with the specified parameters.
        Parameters:
        graphName - Name of the underlying geospatial graph resource to match to using samplePoints.
        samplePoints - Sample points used to match to an underlying geospatial graph. Sample points must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with: existing column names, e.g., 'table.column AS SAMPLE_X'; expressions, e.g., 'ST_MAKEPOINT(table.x, table.y) AS SAMPLE_WKTPOINT'; or constant values, e.g., '{1, 2, 10} AS SAMPLE_TRIPID'.
        solveMethod - The type of solver to use for graph matching. Supported values:
        • MARKOV_CHAIN: Matches samplePoints to the graph using the Hidden Markov Model (HMM)-based method, which conducts a range-tree closest-edge search to find the best combinations of possible road segments (NUM_SEGMENTS) for each sample point to create the best route. The route is secured one point at a time while looking ahead CHAIN_WIDTH number of points, so the prediction is corrected after each point. This solution type is the most accurate but also the most computationally intensive. Related options: NUM_SEGMENTS and CHAIN_WIDTH.
        • MATCH_OD_PAIRS: Matches samplePoints to find the most probable path between origin and destination pairs with cost constraints.
        • MATCH_SUPPLY_DEMAND: Matches samplePoints to optimize scheduling multiple supplies (trucks) with varying sizes to varying demand sites with varying capacities per depot. Related options: PARTIAL_LOADING and MAX_COMBINATIONS.
        • MATCH_BATCH_SOLVES: Matches samplePoints source and destination pairs for the shortest path solves in batch mode.
        • MATCH_LOOPS: Matches closed loops (Eulerian paths) originating and ending at each graph node within min and max hops (levels).
        • MATCH_CHARGING_STATIONS: Matches an optimal path across a number of ev-charging stations between source and target locations.
        • MATCH_SIMILARITY: Matches the intersection set(s) by computing the Jaccard similarity score between node pairs.
        • MATCH_PICKUP_DROPOFF: Matches the pickups and dropoffs by optimizing the total trip costs
        • MATCH_CLUSTERS: Matches the graph nodes with a cluster index using Louvain clustering algorithm
        • MATCH_PATTERN: Matches a pattern in the graph
        • MATCH_EMBEDDING: Creates vector node embeddings
        • MATCH_ISOCHRONE: Solves for isochrones for a set of input sources
        The default value is MARKOV_CHAIN.
        solutionTable - The name of the table used to store the results, in [schema_name.]table_name format, using standard name resolution rules and meeting table naming criteria. This table contains a track of geospatial points for the matched portion of the graph, a track ID, and a score value. Also outputs a details table containing a trip ID (that matches the track ID), the latitude/longitude pair, the timestamp the point was recorded at, and an edge ID corresponding to the matched road segment. Must not be an existing table of the same name. The default value is ''.
        options - Additional parameters.
        • GPS_NOISE: GPS noise value (in meters) to remove redundant sample points. Use -1 to disable noise reduction. The default value accounts for 95% of point variation (+ or -5 meters). The default value is '5.0'.
        • NUM_SEGMENTS: Maximum number of potentially matching road segments for each sample point. For the MARKOV_CHAIN solver, the default is 3. The default value is '3'.
        • SEARCH_RADIUS: Maximum search radius used when snapping sample points onto potentially matching surrounding segments. The default value corresponds to approximately 100 meters. The default value is '0.001'.
        • CHAIN_WIDTH: For the MARKOV_CHAIN solver only. Length of the sample points lookahead window within the Markov kernel; the larger the number, the more accurate the solution. The default value is '9'.
        • SOURCE: Optional WKT starting point from samplePoints for the solver. The default behavior for the endpoint is to use time to determine the starting point. The default value is 'POINT NULL'.
        • DESTINATION: Optional WKT ending point from samplePoints for the solver. The default behavior for the endpoint is to use time to determine the destination point. The default value is 'POINT NULL'.
        • PARTIAL_LOADING: For the MATCH_SUPPLY_DEMAND solver only. When false (non-default), trucks do not off-load at the demand (store) side if the remainder is less than the store's need. Supported values:
          • TRUE: Partial off-loading at multiple store (demand) locations
          • FALSE: No partial off-loading allowed if supply is less than the store's demand.
          The default value is TRUE.
        • MAX_COMBINATIONS: For the MATCH_SUPPLY_DEMAND solver only. This is the cutoff for the number of generated combinations for sequencing the demand locations - can increase this up to 2M. The default value is '10000'.
        • MAX_SUPPLY_COMBINATIONS: For the MATCH_SUPPLY_DEMAND solver only. This is the cutoff for the number of generated combinations for sequencing the supply locations if/when 'permute_supplies' is true. The default value is '10000'.
        • LEFT_TURN_PENALTY: This will add an additional weight over the edges labeled as 'left turn' if the 'add_turn' option parameter of the GPUdb.createGraph was invoked at graph creation. The default value is '0.0'.
        • RIGHT_TURN_PENALTY: This will add an additional weight over the edges labeled as' right turn' if the 'add_turn' option parameter of the GPUdb.createGraph was invoked at graph creation. The default value is '0.0'.
        • INTERSECTION_PENALTY: This will add an additional weight over the edges labeled as 'intersection' if the 'add_turn' option parameter of the GPUdb.createGraph was invoked at graph creation. The default value is '0.0'.
        • SHARP_TURN_PENALTY: This will add an additional weight over the edges labeled as 'sharp turn' or 'u-turn' if the 'add_turn' option parameter of the GPUdb.createGraph was invoked at graph creation. The default value is '0.0'.
        • AGGREGATED_OUTPUT: For the MATCH_SUPPLY_DEMAND solver only. When it is true (default), each record in the output table shows a particular truck's scheduled cumulative round trip path (MULTILINESTRING) and the corresponding aggregated cost. Otherwise, each record shows a single scheduled truck route (LINESTRING) towards a particular demand location (store id) with its corresponding cost. The default value is 'true'.
        • OUTPUT_TRACKS: For the MATCH_SUPPLY_DEMAND solver only. When it is true (non-default), the output will be in tracks format for all the round trips of each truck in which the timestamps are populated directly from the edge weights starting from their originating depots. The default value is 'false'.
        • MAX_TRIP_COST: For the MATCH_SUPPLY_DEMAND and MATCH_PICKUP_DROPOFF solvers only. If this constraint is greater than zero (default) then the trucks/rides will skip traveling from one demand/pick location to another if the cost between them is greater than this number (distance or time). Zero (default) value means no check is performed. The default value is '0.0'.
        • FILTER_FOLDING_PATHS: For the MARKOV_CHAIN solver only. When true (non-default), the paths per sequence combination is checked for folding over patterns and can significantly increase the execution time depending on the chain width and the number of GPS samples. Supported values:
          • TRUE: Filter out the folded paths.
          • FALSE: Do not filter out the folded paths
          The default value is FALSE.
        • UNIT_UNLOADING_COST: For the MATCH_SUPPLY_DEMAND solver only. The unit cost per load amount to be delivered. If this value is greater than zero (default) then the additional cost of this unit load multiplied by the total dropped load will be added over to the trip cost to the demand location. The default value is '0.0'.
        • MAX_NUM_THREADS: For the MARKOV_CHAIN solver only. If specified (greater than zero), the maximum number of threads will not be greater than the specified value. It can be lower due to the memory and the number cores available. Default value of zero allows the algorithm to set the maximal number of threads within these constraints. The default value is '0'.
        • SERVICE_LIMIT: For the MATCH_SUPPLY_DEMAND solver only. If specified (greater than zero), any supply actor's total service cost (distance or time) will be limited by the specified value including multiple rounds (if set). The default value is '0.0'.
        • ENABLE_REUSE: For the MATCH_SUPPLY_DEMAND solver only. If specified (true), all supply actors can be scheduled for second rounds from their originating depots. Supported values:
          • TRUE: Allows reusing supply actors (trucks, e.g.) for scheduling again.
          • FALSE: Supply actors are scheduled only once from their depots.
          The default value is FALSE.
        • MAX_STOPS: For the MATCH_SUPPLY_DEMAND solver only. If specified (greater than zero), a supply actor (truck) can at most have this many stops (demand locations) in one round trip. Otherwise, it is unlimited. If 'enable_truck_reuse' is on, this condition will be applied separately at each round trip use of the same truck. The default value is '0'.
        • SERVICE_RADIUS: For the MATCH_SUPPLY_DEMAND and MATCH_PICKUP_DROPOFF solvers only. If specified (greater than zero), it filters the demands/picks outside this radius centered around the supply actor/ride's originating location (distance or time). The default value is '0.0'.
        • PERMUTE_SUPPLIES: For the MATCH_SUPPLY_DEMAND solver only. If specified (true), supply side actors are permuted for the demand combinations during MSDO optimization - note that this option increases optimization time significantly - use of 'max_combinations' option is recommended to prevent prohibitively long runs. Supported values:
          • TRUE: Generates sequences over supply side permutations if total supply is less than twice the total demand
          • FALSE: Permutations are not performed, rather a specific order of supplies based on capacity is computed
          The default value is TRUE.
        • BATCH_TSM_MODE: For the MATCH_SUPPLY_DEMAND solver only. When enabled, it sets the number of visits on each demand location by a single salesman at each trip is considered to be (one) 1, otherwise there is no bound. Supported values:
          • TRUE: Sets only one visit per demand location by a salesman (TSM mode)
          • FALSE: No preset limit (usual MSDO mode)
          The default value is FALSE.
        • ROUND_TRIP: For the MATCH_SUPPLY_DEMAND solver only. When enabled, the supply will have to return back to the origination location. Supported values:
          • TRUE: The optimization is done for trips in round trip manner always returning to originating locations
          • FALSE: Supplies do not have to come back to their originating locations in their routes. The routes are considered finished at the final dropoff.
          The default value is TRUE.
        • NUM_CYCLES: For the MATCH_CLUSTERS solver only. Terminates the cluster exchange iterations across 2-step-cycles (outer loop) when quality does not improve during iterations. The default value is '10'.
        • NUM_LOOPS_PER_CYCLE: For the MATCH_CLUSTERS and MATCH_EMBEDDING solvers only. Terminates the cluster exchanges within the first step iterations of a cycle (inner loop) unless convergence is reached. The default value is '10'.
        • NUM_OUTPUT_CLUSTERS: For the MATCH_CLUSTERS solver only. Limits the output to the top 'num_output_clusters' clusters based on density. Default value of zero outputs all clusters. The default value is '0'.
        • MAX_NUM_CLUSTERS: For the MATCH_CLUSTERS and MATCH_EMBEDDING solvers only. If set (value greater than zero), it terminates when the number of clusters goes below than this number. For embedding solver the default is 8. The default value is '0'.
        • CLUSTER_QUALITY_METRIC: For the MATCH_CLUSTERS solver only. The quality metric for Louvain modularity optimization solver. Supported values:
          • GIRVAN: Uses the Newman Girvan quality metric for cluster solver
          • SPECTRAL: Applies recursive spectral bisection (RSB) partitioning solver
          The default value is GIRVAN.
        • RESTRICTED_TYPE: For the MATCH_SUPPLY_DEMAND solver only. Optimization is performed by restricting routes labeled by 'MSDO_ODDEVEN_RESTRICTED' only for this supply actor (truck) type. Supported values:
          • ODD: Applies odd/even rule restrictions to odd tagged vehicles.
          • EVEN: Applies odd/even rule restrictions to even tagged vehicles.
          • NONE: Does not apply odd/even rule restrictions to any vehicles.
          The default value is NONE.
        • SERVER_ID: Indicates which graph server(s) to send the request to. Default is to send to the server, amongst those containing the corresponding graph, that has the most computational bandwidth. The default value is ''.
        • INVERSE_SOLVE: For the MATCH_BATCH_SOLVES solver only. Solves source-destination pairs using inverse shortest path solver. Supported values:
          • TRUE: Solves using inverse shortest path solver.
          • FALSE: Solves using direct shortest path solver.
          The default value is FALSE.
        • MIN_LOOP_LEVEL: For the MATCH_LOOPS solver only. Finds closed loops around each node deducible not less than this minimal hop (level) deep. The default value is '0'.
        • MAX_LOOP_LEVEL: For the MATCH_LOOPS solver only. Finds closed loops around each node deducible not more than this maximal hop (level) deep. The default value is '5'.
        • SEARCH_LIMIT: For the MATCH_LOOPS solver only. Searches within this limit of nodes per vertex to detect loops. The value zero means there is no limit. The default value is '10000'.
        • OUTPUT_BATCH_SIZE: For the MATCH_LOOPS solver only. Uses this value as the batch size of the number of loops in flushing(inserting) to the output table. The default value is '1000'.
        • MULTI_STEP: For the MATCH_SUPPLY_DEMAND solver only. Runs multiple supply demand solver repeatedly in a multi step cycle by switching supplies to demands until it reaches the main hub supply. Supported values: The default value is FALSE.
        • CHARGING_CAPACITY: For the MATCH_CHARGING_STATIONS solver only. This is the maximum ev-charging capacity of a vehicle (distance in meters or time in seconds depending on the unit of the graph weights). The default value is '300000.0'.
        • CHARGING_CANDIDATES: For the MATCH_CHARGING_STATIONS solver only. Solver searches for this many number of stations closest around each base charging location found by capacity. The default value is '10'.
        • CHARGING_PENALTY: For the MATCH_CHARGING_STATIONS solver only. This is the penalty for full charging. The default value is '30000.0'.
        • MAX_HOPS: For the MATCH_SIMILARITY and MATCH_EMBEDDING solvers only. Searches within this maximum hops for source and target node pairs to compute the Jaccard scores. The default value is '3'.
        • TRAVERSAL_NODE_LIMIT: For the MATCH_SIMILARITY solver only. Limits the traversal depth if it reaches this many number of nodes. The default value is '1000'.
        • PAIRED_SIMILARITY: For the MATCH_SIMILARITY solver only. If true, it computes Jaccard score between each pair, otherwise it will compute Jaccard from the intersection set between the source and target nodes. Supported values: The default value is TRUE.
        • FORCE_UNDIRECTED: For the MATCH_PATTERN and MATCH_EMBEDDING solvers only. Pattern matching will be using both pattern and graph as undirected if set to true. Supported values: The default value is FALSE.
        • MAX_VECTOR_DIMENSION: For the MATCH_EMBEDDING solver only. Limits the number of dimensions in node vector embeddings. The default value is '1000'.
        • OPTIMIZE_EMBEDDING_WEIGHTS: For the MATCH_EMBEDDING solvers only. Solves to find the optimal weights per sub feature in vector embeddings. Supported values: The default value is FALSE.
        • EMBEDDING_WEIGHTS: For the MATCH_EMBEDDING solver only. User specified weights per sub feature in vector embeddings. The string contains the comma separated float values for each sub-feature in the vector space. These values will ONLY be used if 'optimize_embedding_weights' is false. The default value is '1.0,1.0,1.0,1.0'.
        • OPTIMIZATION_SAMPLING_SIZE: For the MATCH_EMBEDDING solver only. Sets the number of random nodes from the graph for solving the weights using stochastic gradient descent. The default value is '1000'.
        • OPTIMIZATION_MAX_ITERATIONS: For the MATCH_EMBEDDING solver only. When the iterations (epochs) for the convergence of the stochastic gradient descent algorithm reaches this number it bails out unless relative error between consecutive iterations is below the 'optimization_error_tolerance' option. The default value is '1000'.
        • OPTIMIZATION_ERROR_TOLERANCE: For the MATCH_EMBEDDING solver only. When the relative error between all of the weights' consecutive iterations falls below this threshold the optimization cycle is interrupted unless the number of iterations reaches the limit set by the option 'max_optimization_iterations'. The default value is '0.001'.
        • OPTIMIZATION_ITERATION_RATE: For the MATCH_EMBEDDING solver only. It is otherwise known as the learning rate, which is the proportionality constant in front of the gradient term in successive iterations. The default value is '0.3'.
        • MAX_RADIUS: For the MATCH_ISOCHRONE solver only. Sets the maximal reachability limit for computing isochrones. Zero means no limit. The default value is '0.0'.
        The default value is an empty Map.
    • Method Detail

      • getClassSchema

        public static org.apache.avro.Schema getClassSchema()
        This method supports the Avro framework and is not intended to be called directly by the user.
        Returns:
        The schema for the class.
      • getGraphName

        public String getGraphName()
        Name of the underlying geospatial graph resource to match to using samplePoints.
        Returns:
        The current value of graphName.
      • setGraphName

        public MatchGraphRequest setGraphName​(String graphName)
        Name of the underlying geospatial graph resource to match to using samplePoints.
        Parameters:
        graphName - The new value for graphName.
        Returns:
        this to mimic the builder pattern.
      • getSamplePoints

        public List<String> getSamplePoints()
        Sample points used to match to an underlying geospatial graph. Sample points must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with: existing column names, e.g., 'table.column AS SAMPLE_X'; expressions, e.g., 'ST_MAKEPOINT(table.x, table.y) AS SAMPLE_WKTPOINT'; or constant values, e.g., '{1, 2, 10} AS SAMPLE_TRIPID'.
        Returns:
        The current value of samplePoints.
      • setSamplePoints

        public MatchGraphRequest setSamplePoints​(List<String> samplePoints)
        Sample points used to match to an underlying geospatial graph. Sample points must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with: existing column names, e.g., 'table.column AS SAMPLE_X'; expressions, e.g., 'ST_MAKEPOINT(table.x, table.y) AS SAMPLE_WKTPOINT'; or constant values, e.g., '{1, 2, 10} AS SAMPLE_TRIPID'.
        Parameters:
        samplePoints - The new value for samplePoints.
        Returns:
        this to mimic the builder pattern.
      • getSolveMethod

        public String getSolveMethod()
        The type of solver to use for graph matching. Supported values:
        • MARKOV_CHAIN: Matches samplePoints to the graph using the Hidden Markov Model (HMM)-based method, which conducts a range-tree closest-edge search to find the best combinations of possible road segments (NUM_SEGMENTS) for each sample point to create the best route. The route is secured one point at a time while looking ahead CHAIN_WIDTH number of points, so the prediction is corrected after each point. This solution type is the most accurate but also the most computationally intensive. Related options: NUM_SEGMENTS and CHAIN_WIDTH.
        • MATCH_OD_PAIRS: Matches samplePoints to find the most probable path between origin and destination pairs with cost constraints.
        • MATCH_SUPPLY_DEMAND: Matches samplePoints to optimize scheduling multiple supplies (trucks) with varying sizes to varying demand sites with varying capacities per depot. Related options: PARTIAL_LOADING and MAX_COMBINATIONS.
        • MATCH_BATCH_SOLVES: Matches samplePoints source and destination pairs for the shortest path solves in batch mode.
        • MATCH_LOOPS: Matches closed loops (Eulerian paths) originating and ending at each graph node within min and max hops (levels).
        • MATCH_CHARGING_STATIONS: Matches an optimal path across a number of ev-charging stations between source and target locations.
        • MATCH_SIMILARITY: Matches the intersection set(s) by computing the Jaccard similarity score between node pairs.
        • MATCH_PICKUP_DROPOFF: Matches the pickups and dropoffs by optimizing the total trip costs
        • MATCH_CLUSTERS: Matches the graph nodes with a cluster index using Louvain clustering algorithm
        • MATCH_PATTERN: Matches a pattern in the graph
        • MATCH_EMBEDDING: Creates vector node embeddings
        • MATCH_ISOCHRONE: Solves for isochrones for a set of input sources
        The default value is MARKOV_CHAIN.
        Returns:
        The current value of solveMethod.
      • setSolveMethod

        public MatchGraphRequest setSolveMethod​(String solveMethod)
        The type of solver to use for graph matching. Supported values:
        • MARKOV_CHAIN: Matches samplePoints to the graph using the Hidden Markov Model (HMM)-based method, which conducts a range-tree closest-edge search to find the best combinations of possible road segments (NUM_SEGMENTS) for each sample point to create the best route. The route is secured one point at a time while looking ahead CHAIN_WIDTH number of points, so the prediction is corrected after each point. This solution type is the most accurate but also the most computationally intensive. Related options: NUM_SEGMENTS and CHAIN_WIDTH.
        • MATCH_OD_PAIRS: Matches samplePoints to find the most probable path between origin and destination pairs with cost constraints.
        • MATCH_SUPPLY_DEMAND: Matches samplePoints to optimize scheduling multiple supplies (trucks) with varying sizes to varying demand sites with varying capacities per depot. Related options: PARTIAL_LOADING and MAX_COMBINATIONS.
        • MATCH_BATCH_SOLVES: Matches samplePoints source and destination pairs for the shortest path solves in batch mode.
        • MATCH_LOOPS: Matches closed loops (Eulerian paths) originating and ending at each graph node within min and max hops (levels).
        • MATCH_CHARGING_STATIONS: Matches an optimal path across a number of ev-charging stations between source and target locations.
        • MATCH_SIMILARITY: Matches the intersection set(s) by computing the Jaccard similarity score between node pairs.
        • MATCH_PICKUP_DROPOFF: Matches the pickups and dropoffs by optimizing the total trip costs
        • MATCH_CLUSTERS: Matches the graph nodes with a cluster index using Louvain clustering algorithm
        • MATCH_PATTERN: Matches a pattern in the graph
        • MATCH_EMBEDDING: Creates vector node embeddings
        • MATCH_ISOCHRONE: Solves for isochrones for a set of input sources
        The default value is MARKOV_CHAIN.
        Parameters:
        solveMethod - The new value for solveMethod.
        Returns:
        this to mimic the builder pattern.
      • getSolutionTable

        public String getSolutionTable()
        The name of the table used to store the results, in [schema_name.]table_name format, using standard name resolution rules and meeting table naming criteria. This table contains a track of geospatial points for the matched portion of the graph, a track ID, and a score value. Also outputs a details table containing a trip ID (that matches the track ID), the latitude/longitude pair, the timestamp the point was recorded at, and an edge ID corresponding to the matched road segment. Must not be an existing table of the same name. The default value is ''.
        Returns:
        The current value of solutionTable.
      • setSolutionTable

        public MatchGraphRequest setSolutionTable​(String solutionTable)
        The name of the table used to store the results, in [schema_name.]table_name format, using standard name resolution rules and meeting table naming criteria. This table contains a track of geospatial points for the matched portion of the graph, a track ID, and a score value. Also outputs a details table containing a trip ID (that matches the track ID), the latitude/longitude pair, the timestamp the point was recorded at, and an edge ID corresponding to the matched road segment. Must not be an existing table of the same name. The default value is ''.
        Parameters:
        solutionTable - The new value for solutionTable.
        Returns:
        this to mimic the builder pattern.
      • getOptions

        public Map<String,​String> getOptions()
        Additional parameters.
        • GPS_NOISE: GPS noise value (in meters) to remove redundant sample points. Use -1 to disable noise reduction. The default value accounts for 95% of point variation (+ or -5 meters). The default value is '5.0'.
        • NUM_SEGMENTS: Maximum number of potentially matching road segments for each sample point. For the MARKOV_CHAIN solver, the default is 3. The default value is '3'.
        • SEARCH_RADIUS: Maximum search radius used when snapping sample points onto potentially matching surrounding segments. The default value corresponds to approximately 100 meters. The default value is '0.001'.
        • CHAIN_WIDTH: For the MARKOV_CHAIN solver only. Length of the sample points lookahead window within the Markov kernel; the larger the number, the more accurate the solution. The default value is '9'.
        • SOURCE: Optional WKT starting point from samplePoints for the solver. The default behavior for the endpoint is to use time to determine the starting point. The default value is 'POINT NULL'.
        • DESTINATION: Optional WKT ending point from samplePoints for the solver. The default behavior for the endpoint is to use time to determine the destination point. The default value is 'POINT NULL'.
        • PARTIAL_LOADING: For the MATCH_SUPPLY_DEMAND solver only. When false (non-default), trucks do not off-load at the demand (store) side if the remainder is less than the store's need. Supported values:
          • TRUE: Partial off-loading at multiple store (demand) locations
          • FALSE: No partial off-loading allowed if supply is less than the store's demand.
          The default value is TRUE.
        • MAX_COMBINATIONS: For the MATCH_SUPPLY_DEMAND solver only. This is the cutoff for the number of generated combinations for sequencing the demand locations - can increase this up to 2M. The default value is '10000'.
        • MAX_SUPPLY_COMBINATIONS: For the MATCH_SUPPLY_DEMAND solver only. This is the cutoff for the number of generated combinations for sequencing the supply locations if/when 'permute_supplies' is true. The default value is '10000'.
        • LEFT_TURN_PENALTY: This will add an additional weight over the edges labeled as 'left turn' if the 'add_turn' option parameter of the GPUdb.createGraph was invoked at graph creation. The default value is '0.0'.
        • RIGHT_TURN_PENALTY: This will add an additional weight over the edges labeled as' right turn' if the 'add_turn' option parameter of the GPUdb.createGraph was invoked at graph creation. The default value is '0.0'.
        • INTERSECTION_PENALTY: This will add an additional weight over the edges labeled as 'intersection' if the 'add_turn' option parameter of the GPUdb.createGraph was invoked at graph creation. The default value is '0.0'.
        • SHARP_TURN_PENALTY: This will add an additional weight over the edges labeled as 'sharp turn' or 'u-turn' if the 'add_turn' option parameter of the GPUdb.createGraph was invoked at graph creation. The default value is '0.0'.
        • AGGREGATED_OUTPUT: For the MATCH_SUPPLY_DEMAND solver only. When it is true (default), each record in the output table shows a particular truck's scheduled cumulative round trip path (MULTILINESTRING) and the corresponding aggregated cost. Otherwise, each record shows a single scheduled truck route (LINESTRING) towards a particular demand location (store id) with its corresponding cost. The default value is 'true'.
        • OUTPUT_TRACKS: For the MATCH_SUPPLY_DEMAND solver only. When it is true (non-default), the output will be in tracks format for all the round trips of each truck in which the timestamps are populated directly from the edge weights starting from their originating depots. The default value is 'false'.
        • MAX_TRIP_COST: For the MATCH_SUPPLY_DEMAND and MATCH_PICKUP_DROPOFF solvers only. If this constraint is greater than zero (default) then the trucks/rides will skip traveling from one demand/pick location to another if the cost between them is greater than this number (distance or time). Zero (default) value means no check is performed. The default value is '0.0'.
        • FILTER_FOLDING_PATHS: For the MARKOV_CHAIN solver only. When true (non-default), the paths per sequence combination is checked for folding over patterns and can significantly increase the execution time depending on the chain width and the number of GPS samples. Supported values:
          • TRUE: Filter out the folded paths.
          • FALSE: Do not filter out the folded paths
          The default value is FALSE.
        • UNIT_UNLOADING_COST: For the MATCH_SUPPLY_DEMAND solver only. The unit cost per load amount to be delivered. If this value is greater than zero (default) then the additional cost of this unit load multiplied by the total dropped load will be added over to the trip cost to the demand location. The default value is '0.0'.
        • MAX_NUM_THREADS: For the MARKOV_CHAIN solver only. If specified (greater than zero), the maximum number of threads will not be greater than the specified value. It can be lower due to the memory and the number cores available. Default value of zero allows the algorithm to set the maximal number of threads within these constraints. The default value is '0'.
        • SERVICE_LIMIT: For the MATCH_SUPPLY_DEMAND solver only. If specified (greater than zero), any supply actor's total service cost (distance or time) will be limited by the specified value including multiple rounds (if set). The default value is '0.0'.
        • ENABLE_REUSE: For the MATCH_SUPPLY_DEMAND solver only. If specified (true), all supply actors can be scheduled for second rounds from their originating depots. Supported values:
          • TRUE: Allows reusing supply actors (trucks, e.g.) for scheduling again.
          • FALSE: Supply actors are scheduled only once from their depots.
          The default value is FALSE.
        • MAX_STOPS: For the MATCH_SUPPLY_DEMAND solver only. If specified (greater than zero), a supply actor (truck) can at most have this many stops (demand locations) in one round trip. Otherwise, it is unlimited. If 'enable_truck_reuse' is on, this condition will be applied separately at each round trip use of the same truck. The default value is '0'.
        • SERVICE_RADIUS: For the MATCH_SUPPLY_DEMAND and MATCH_PICKUP_DROPOFF solvers only. If specified (greater than zero), it filters the demands/picks outside this radius centered around the supply actor/ride's originating location (distance or time). The default value is '0.0'.
        • PERMUTE_SUPPLIES: For the MATCH_SUPPLY_DEMAND solver only. If specified (true), supply side actors are permuted for the demand combinations during MSDO optimization - note that this option increases optimization time significantly - use of 'max_combinations' option is recommended to prevent prohibitively long runs. Supported values:
          • TRUE: Generates sequences over supply side permutations if total supply is less than twice the total demand
          • FALSE: Permutations are not performed, rather a specific order of supplies based on capacity is computed
          The default value is TRUE.
        • BATCH_TSM_MODE: For the MATCH_SUPPLY_DEMAND solver only. When enabled, it sets the number of visits on each demand location by a single salesman at each trip is considered to be (one) 1, otherwise there is no bound. Supported values:
          • TRUE: Sets only one visit per demand location by a salesman (TSM mode)
          • FALSE: No preset limit (usual MSDO mode)
          The default value is FALSE.
        • ROUND_TRIP: For the MATCH_SUPPLY_DEMAND solver only. When enabled, the supply will have to return back to the origination location. Supported values:
          • TRUE: The optimization is done for trips in round trip manner always returning to originating locations
          • FALSE: Supplies do not have to come back to their originating locations in their routes. The routes are considered finished at the final dropoff.
          The default value is TRUE.
        • NUM_CYCLES: For the MATCH_CLUSTERS solver only. Terminates the cluster exchange iterations across 2-step-cycles (outer loop) when quality does not improve during iterations. The default value is '10'.
        • NUM_LOOPS_PER_CYCLE: For the MATCH_CLUSTERS and MATCH_EMBEDDING solvers only. Terminates the cluster exchanges within the first step iterations of a cycle (inner loop) unless convergence is reached. The default value is '10'.
        • NUM_OUTPUT_CLUSTERS: For the MATCH_CLUSTERS solver only. Limits the output to the top 'num_output_clusters' clusters based on density. Default value of zero outputs all clusters. The default value is '0'.
        • MAX_NUM_CLUSTERS: For the MATCH_CLUSTERS and MATCH_EMBEDDING solvers only. If set (value greater than zero), it terminates when the number of clusters goes below than this number. For embedding solver the default is 8. The default value is '0'.
        • CLUSTER_QUALITY_METRIC: For the MATCH_CLUSTERS solver only. The quality metric for Louvain modularity optimization solver. Supported values:
          • GIRVAN: Uses the Newman Girvan quality metric for cluster solver
          • SPECTRAL: Applies recursive spectral bisection (RSB) partitioning solver
          The default value is GIRVAN.
        • RESTRICTED_TYPE: For the MATCH_SUPPLY_DEMAND solver only. Optimization is performed by restricting routes labeled by 'MSDO_ODDEVEN_RESTRICTED' only for this supply actor (truck) type. Supported values:
          • ODD: Applies odd/even rule restrictions to odd tagged vehicles.
          • EVEN: Applies odd/even rule restrictions to even tagged vehicles.
          • NONE: Does not apply odd/even rule restrictions to any vehicles.
          The default value is NONE.
        • SERVER_ID: Indicates which graph server(s) to send the request to. Default is to send to the server, amongst those containing the corresponding graph, that has the most computational bandwidth. The default value is ''.
        • INVERSE_SOLVE: For the MATCH_BATCH_SOLVES solver only. Solves source-destination pairs using inverse shortest path solver. Supported values:
          • TRUE: Solves using inverse shortest path solver.
          • FALSE: Solves using direct shortest path solver.
          The default value is FALSE.
        • MIN_LOOP_LEVEL: For the MATCH_LOOPS solver only. Finds closed loops around each node deducible not less than this minimal hop (level) deep. The default value is '0'.
        • MAX_LOOP_LEVEL: For the MATCH_LOOPS solver only. Finds closed loops around each node deducible not more than this maximal hop (level) deep. The default value is '5'.
        • SEARCH_LIMIT: For the MATCH_LOOPS solver only. Searches within this limit of nodes per vertex to detect loops. The value zero means there is no limit. The default value is '10000'.
        • OUTPUT_BATCH_SIZE: For the MATCH_LOOPS solver only. Uses this value as the batch size of the number of loops in flushing(inserting) to the output table. The default value is '1000'.
        • MULTI_STEP: For the MATCH_SUPPLY_DEMAND solver only. Runs multiple supply demand solver repeatedly in a multi step cycle by switching supplies to demands until it reaches the main hub supply. Supported values: The default value is FALSE.
        • CHARGING_CAPACITY: For the MATCH_CHARGING_STATIONS solver only. This is the maximum ev-charging capacity of a vehicle (distance in meters or time in seconds depending on the unit of the graph weights). The default value is '300000.0'.
        • CHARGING_CANDIDATES: For the MATCH_CHARGING_STATIONS solver only. Solver searches for this many number of stations closest around each base charging location found by capacity. The default value is '10'.
        • CHARGING_PENALTY: For the MATCH_CHARGING_STATIONS solver only. This is the penalty for full charging. The default value is '30000.0'.
        • MAX_HOPS: For the MATCH_SIMILARITY and MATCH_EMBEDDING solvers only. Searches within this maximum hops for source and target node pairs to compute the Jaccard scores. The default value is '3'.
        • TRAVERSAL_NODE_LIMIT: For the MATCH_SIMILARITY solver only. Limits the traversal depth if it reaches this many number of nodes. The default value is '1000'.
        • PAIRED_SIMILARITY: For the MATCH_SIMILARITY solver only. If true, it computes Jaccard score between each pair, otherwise it will compute Jaccard from the intersection set between the source and target nodes. Supported values: The default value is TRUE.
        • FORCE_UNDIRECTED: For the MATCH_PATTERN and MATCH_EMBEDDING solvers only. Pattern matching will be using both pattern and graph as undirected if set to true. Supported values: The default value is FALSE.
        • MAX_VECTOR_DIMENSION: For the MATCH_EMBEDDING solver only. Limits the number of dimensions in node vector embeddings. The default value is '1000'.
        • OPTIMIZE_EMBEDDING_WEIGHTS: For the MATCH_EMBEDDING solvers only. Solves to find the optimal weights per sub feature in vector embeddings. Supported values: The default value is FALSE.
        • EMBEDDING_WEIGHTS: For the MATCH_EMBEDDING solver only. User specified weights per sub feature in vector embeddings. The string contains the comma separated float values for each sub-feature in the vector space. These values will ONLY be used if 'optimize_embedding_weights' is false. The default value is '1.0,1.0,1.0,1.0'.
        • OPTIMIZATION_SAMPLING_SIZE: For the MATCH_EMBEDDING solver only. Sets the number of random nodes from the graph for solving the weights using stochastic gradient descent. The default value is '1000'.
        • OPTIMIZATION_MAX_ITERATIONS: For the MATCH_EMBEDDING solver only. When the iterations (epochs) for the convergence of the stochastic gradient descent algorithm reaches this number it bails out unless relative error between consecutive iterations is below the 'optimization_error_tolerance' option. The default value is '1000'.
        • OPTIMIZATION_ERROR_TOLERANCE: For the MATCH_EMBEDDING solver only. When the relative error between all of the weights' consecutive iterations falls below this threshold the optimization cycle is interrupted unless the number of iterations reaches the limit set by the option 'max_optimization_iterations'. The default value is '0.001'.
        • OPTIMIZATION_ITERATION_RATE: For the MATCH_EMBEDDING solver only. It is otherwise known as the learning rate, which is the proportionality constant in front of the gradient term in successive iterations. The default value is '0.3'.
        • MAX_RADIUS: For the MATCH_ISOCHRONE solver only. Sets the maximal reachability limit for computing isochrones. Zero means no limit. The default value is '0.0'.
        The default value is an empty Map.
        Returns:
        The current value of options.
      • setOptions

        public MatchGraphRequest setOptions​(Map<String,​String> options)
        Additional parameters.
        • GPS_NOISE: GPS noise value (in meters) to remove redundant sample points. Use -1 to disable noise reduction. The default value accounts for 95% of point variation (+ or -5 meters). The default value is '5.0'.
        • NUM_SEGMENTS: Maximum number of potentially matching road segments for each sample point. For the MARKOV_CHAIN solver, the default is 3. The default value is '3'.
        • SEARCH_RADIUS: Maximum search radius used when snapping sample points onto potentially matching surrounding segments. The default value corresponds to approximately 100 meters. The default value is '0.001'.
        • CHAIN_WIDTH: For the MARKOV_CHAIN solver only. Length of the sample points lookahead window within the Markov kernel; the larger the number, the more accurate the solution. The default value is '9'.
        • SOURCE: Optional WKT starting point from samplePoints for the solver. The default behavior for the endpoint is to use time to determine the starting point. The default value is 'POINT NULL'.
        • DESTINATION: Optional WKT ending point from samplePoints for the solver. The default behavior for the endpoint is to use time to determine the destination point. The default value is 'POINT NULL'.
        • PARTIAL_LOADING: For the MATCH_SUPPLY_DEMAND solver only. When false (non-default), trucks do not off-load at the demand (store) side if the remainder is less than the store's need. Supported values:
          • TRUE: Partial off-loading at multiple store (demand) locations
          • FALSE: No partial off-loading allowed if supply is less than the store's demand.
          The default value is TRUE.
        • MAX_COMBINATIONS: For the MATCH_SUPPLY_DEMAND solver only. This is the cutoff for the number of generated combinations for sequencing the demand locations - can increase this up to 2M. The default value is '10000'.
        • MAX_SUPPLY_COMBINATIONS: For the MATCH_SUPPLY_DEMAND solver only. This is the cutoff for the number of generated combinations for sequencing the supply locations if/when 'permute_supplies' is true. The default value is '10000'.
        • LEFT_TURN_PENALTY: This will add an additional weight over the edges labeled as 'left turn' if the 'add_turn' option parameter of the GPUdb.createGraph was invoked at graph creation. The default value is '0.0'.
        • RIGHT_TURN_PENALTY: This will add an additional weight over the edges labeled as' right turn' if the 'add_turn' option parameter of the GPUdb.createGraph was invoked at graph creation. The default value is '0.0'.
        • INTERSECTION_PENALTY: This will add an additional weight over the edges labeled as 'intersection' if the 'add_turn' option parameter of the GPUdb.createGraph was invoked at graph creation. The default value is '0.0'.
        • SHARP_TURN_PENALTY: This will add an additional weight over the edges labeled as 'sharp turn' or 'u-turn' if the 'add_turn' option parameter of the GPUdb.createGraph was invoked at graph creation. The default value is '0.0'.
        • AGGREGATED_OUTPUT: For the MATCH_SUPPLY_DEMAND solver only. When it is true (default), each record in the output table shows a particular truck's scheduled cumulative round trip path (MULTILINESTRING) and the corresponding aggregated cost. Otherwise, each record shows a single scheduled truck route (LINESTRING) towards a particular demand location (store id) with its corresponding cost. The default value is 'true'.
        • OUTPUT_TRACKS: For the MATCH_SUPPLY_DEMAND solver only. When it is true (non-default), the output will be in tracks format for all the round trips of each truck in which the timestamps are populated directly from the edge weights starting from their originating depots. The default value is 'false'.
        • MAX_TRIP_COST: For the MATCH_SUPPLY_DEMAND and MATCH_PICKUP_DROPOFF solvers only. If this constraint is greater than zero (default) then the trucks/rides will skip traveling from one demand/pick location to another if the cost between them is greater than this number (distance or time). Zero (default) value means no check is performed. The default value is '0.0'.
        • FILTER_FOLDING_PATHS: For the MARKOV_CHAIN solver only. When true (non-default), the paths per sequence combination is checked for folding over patterns and can significantly increase the execution time depending on the chain width and the number of GPS samples. Supported values:
          • TRUE: Filter out the folded paths.
          • FALSE: Do not filter out the folded paths
          The default value is FALSE.
        • UNIT_UNLOADING_COST: For the MATCH_SUPPLY_DEMAND solver only. The unit cost per load amount to be delivered. If this value is greater than zero (default) then the additional cost of this unit load multiplied by the total dropped load will be added over to the trip cost to the demand location. The default value is '0.0'.
        • MAX_NUM_THREADS: For the MARKOV_CHAIN solver only. If specified (greater than zero), the maximum number of threads will not be greater than the specified value. It can be lower due to the memory and the number cores available. Default value of zero allows the algorithm to set the maximal number of threads within these constraints. The default value is '0'.
        • SERVICE_LIMIT: For the MATCH_SUPPLY_DEMAND solver only. If specified (greater than zero), any supply actor's total service cost (distance or time) will be limited by the specified value including multiple rounds (if set). The default value is '0.0'.
        • ENABLE_REUSE: For the MATCH_SUPPLY_DEMAND solver only. If specified (true), all supply actors can be scheduled for second rounds from their originating depots. Supported values:
          • TRUE: Allows reusing supply actors (trucks, e.g.) for scheduling again.
          • FALSE: Supply actors are scheduled only once from their depots.
          The default value is FALSE.
        • MAX_STOPS: For the MATCH_SUPPLY_DEMAND solver only. If specified (greater than zero), a supply actor (truck) can at most have this many stops (demand locations) in one round trip. Otherwise, it is unlimited. If 'enable_truck_reuse' is on, this condition will be applied separately at each round trip use of the same truck. The default value is '0'.
        • SERVICE_RADIUS: For the MATCH_SUPPLY_DEMAND and MATCH_PICKUP_DROPOFF solvers only. If specified (greater than zero), it filters the demands/picks outside this radius centered around the supply actor/ride's originating location (distance or time). The default value is '0.0'.
        • PERMUTE_SUPPLIES: For the MATCH_SUPPLY_DEMAND solver only. If specified (true), supply side actors are permuted for the demand combinations during MSDO optimization - note that this option increases optimization time significantly - use of 'max_combinations' option is recommended to prevent prohibitively long runs. Supported values:
          • TRUE: Generates sequences over supply side permutations if total supply is less than twice the total demand
          • FALSE: Permutations are not performed, rather a specific order of supplies based on capacity is computed
          The default value is TRUE.
        • BATCH_TSM_MODE: For the MATCH_SUPPLY_DEMAND solver only. When enabled, it sets the number of visits on each demand location by a single salesman at each trip is considered to be (one) 1, otherwise there is no bound. Supported values:
          • TRUE: Sets only one visit per demand location by a salesman (TSM mode)
          • FALSE: No preset limit (usual MSDO mode)
          The default value is FALSE.
        • ROUND_TRIP: For the MATCH_SUPPLY_DEMAND solver only. When enabled, the supply will have to return back to the origination location. Supported values:
          • TRUE: The optimization is done for trips in round trip manner always returning to originating locations
          • FALSE: Supplies do not have to come back to their originating locations in their routes. The routes are considered finished at the final dropoff.
          The default value is TRUE.
        • NUM_CYCLES: For the MATCH_CLUSTERS solver only. Terminates the cluster exchange iterations across 2-step-cycles (outer loop) when quality does not improve during iterations. The default value is '10'.
        • NUM_LOOPS_PER_CYCLE: For the MATCH_CLUSTERS and MATCH_EMBEDDING solvers only. Terminates the cluster exchanges within the first step iterations of a cycle (inner loop) unless convergence is reached. The default value is '10'.
        • NUM_OUTPUT_CLUSTERS: For the MATCH_CLUSTERS solver only. Limits the output to the top 'num_output_clusters' clusters based on density. Default value of zero outputs all clusters. The default value is '0'.
        • MAX_NUM_CLUSTERS: For the MATCH_CLUSTERS and MATCH_EMBEDDING solvers only. If set (value greater than zero), it terminates when the number of clusters goes below than this number. For embedding solver the default is 8. The default value is '0'.
        • CLUSTER_QUALITY_METRIC: For the MATCH_CLUSTERS solver only. The quality metric for Louvain modularity optimization solver. Supported values:
          • GIRVAN: Uses the Newman Girvan quality metric for cluster solver
          • SPECTRAL: Applies recursive spectral bisection (RSB) partitioning solver
          The default value is GIRVAN.
        • RESTRICTED_TYPE: For the MATCH_SUPPLY_DEMAND solver only. Optimization is performed by restricting routes labeled by 'MSDO_ODDEVEN_RESTRICTED' only for this supply actor (truck) type. Supported values:
          • ODD: Applies odd/even rule restrictions to odd tagged vehicles.
          • EVEN: Applies odd/even rule restrictions to even tagged vehicles.
          • NONE: Does not apply odd/even rule restrictions to any vehicles.
          The default value is NONE.
        • SERVER_ID: Indicates which graph server(s) to send the request to. Default is to send to the server, amongst those containing the corresponding graph, that has the most computational bandwidth. The default value is ''.
        • INVERSE_SOLVE: For the MATCH_BATCH_SOLVES solver only. Solves source-destination pairs using inverse shortest path solver. Supported values:
          • TRUE: Solves using inverse shortest path solver.
          • FALSE: Solves using direct shortest path solver.
          The default value is FALSE.
        • MIN_LOOP_LEVEL: For the MATCH_LOOPS solver only. Finds closed loops around each node deducible not less than this minimal hop (level) deep. The default value is '0'.
        • MAX_LOOP_LEVEL: For the MATCH_LOOPS solver only. Finds closed loops around each node deducible not more than this maximal hop (level) deep. The default value is '5'.
        • SEARCH_LIMIT: For the MATCH_LOOPS solver only. Searches within this limit of nodes per vertex to detect loops. The value zero means there is no limit. The default value is '10000'.
        • OUTPUT_BATCH_SIZE: For the MATCH_LOOPS solver only. Uses this value as the batch size of the number of loops in flushing(inserting) to the output table. The default value is '1000'.
        • MULTI_STEP: For the MATCH_SUPPLY_DEMAND solver only. Runs multiple supply demand solver repeatedly in a multi step cycle by switching supplies to demands until it reaches the main hub supply. Supported values: The default value is FALSE.
        • CHARGING_CAPACITY: For the MATCH_CHARGING_STATIONS solver only. This is the maximum ev-charging capacity of a vehicle (distance in meters or time in seconds depending on the unit of the graph weights). The default value is '300000.0'.
        • CHARGING_CANDIDATES: For the MATCH_CHARGING_STATIONS solver only. Solver searches for this many number of stations closest around each base charging location found by capacity. The default value is '10'.
        • CHARGING_PENALTY: For the MATCH_CHARGING_STATIONS solver only. This is the penalty for full charging. The default value is '30000.0'.
        • MAX_HOPS: For the MATCH_SIMILARITY and MATCH_EMBEDDING solvers only. Searches within this maximum hops for source and target node pairs to compute the Jaccard scores. The default value is '3'.
        • TRAVERSAL_NODE_LIMIT: For the MATCH_SIMILARITY solver only. Limits the traversal depth if it reaches this many number of nodes. The default value is '1000'.
        • PAIRED_SIMILARITY: For the MATCH_SIMILARITY solver only. If true, it computes Jaccard score between each pair, otherwise it will compute Jaccard from the intersection set between the source and target nodes. Supported values: The default value is TRUE.
        • FORCE_UNDIRECTED: For the MATCH_PATTERN and MATCH_EMBEDDING solvers only. Pattern matching will be using both pattern and graph as undirected if set to true. Supported values: The default value is FALSE.
        • MAX_VECTOR_DIMENSION: For the MATCH_EMBEDDING solver only. Limits the number of dimensions in node vector embeddings. The default value is '1000'.
        • OPTIMIZE_EMBEDDING_WEIGHTS: For the MATCH_EMBEDDING solvers only. Solves to find the optimal weights per sub feature in vector embeddings. Supported values: The default value is FALSE.
        • EMBEDDING_WEIGHTS: For the MATCH_EMBEDDING solver only. User specified weights per sub feature in vector embeddings. The string contains the comma separated float values for each sub-feature in the vector space. These values will ONLY be used if 'optimize_embedding_weights' is false. The default value is '1.0,1.0,1.0,1.0'.
        • OPTIMIZATION_SAMPLING_SIZE: For the MATCH_EMBEDDING solver only. Sets the number of random nodes from the graph for solving the weights using stochastic gradient descent. The default value is '1000'.
        • OPTIMIZATION_MAX_ITERATIONS: For the MATCH_EMBEDDING solver only. When the iterations (epochs) for the convergence of the stochastic gradient descent algorithm reaches this number it bails out unless relative error between consecutive iterations is below the 'optimization_error_tolerance' option. The default value is '1000'.
        • OPTIMIZATION_ERROR_TOLERANCE: For the MATCH_EMBEDDING solver only. When the relative error between all of the weights' consecutive iterations falls below this threshold the optimization cycle is interrupted unless the number of iterations reaches the limit set by the option 'max_optimization_iterations'. The default value is '0.001'.
        • OPTIMIZATION_ITERATION_RATE: For the MATCH_EMBEDDING solver only. It is otherwise known as the learning rate, which is the proportionality constant in front of the gradient term in successive iterations. The default value is '0.3'.
        • MAX_RADIUS: For the MATCH_ISOCHRONE solver only. Sets the maximal reachability limit for computing isochrones. Zero means no limit. The default value is '0.0'.
        The default value is an empty Map.
        Parameters:
        options - The new value for options.
        Returns:
        this to mimic the builder pattern.
      • getSchema

        public org.apache.avro.Schema getSchema()
        This method supports the Avro framework and is not intended to be called directly by the user.
        Specified by:
        getSchema in interface org.apache.avro.generic.GenericContainer
        Returns:
        The schema object describing this class.
      • get

        public Object get​(int index)
        This method supports the Avro framework and is not intended to be called directly by the user.
        Specified by:
        get in interface org.apache.avro.generic.IndexedRecord
        Parameters:
        index - the position of the field to get
        Returns:
        value of the field with the given index.
        Throws:
        IndexOutOfBoundsException
      • put

        public void put​(int index,
                        Object value)
        This method supports the Avro framework and is not intended to be called directly by the user.
        Specified by:
        put in interface org.apache.avro.generic.IndexedRecord
        Parameters:
        index - the position of the field to set
        value - the value to set
        Throws:
        IndexOutOfBoundsException
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object