Class MartinShortestPath<V,E>

java.lang.Object
org.jgrapht.alg.shortestpath.MartinShortestPath<V,E>
Type Parameters:
V - the vertex type
E - the edge type
All Implemented Interfaces:
MultiObjectiveShortestPathAlgorithm<V,E>

public class MartinShortestPath<V,E> extends Object
Martin's algorithm for the multi-objective shortest paths problem.

Martin's label setting algorithm is a multiple objective extension of Dijkstra's algorithm, where the minimum operator is replaced by a dominance test. It computes a maximal complete set of efficient paths when all the cost values are non-negative.

Note that the multi-objective shortest path problem is a well-known NP-hard problem.

Author:
Dimitrios Michail
  • Field Details

    • graph

      protected final Graph<V,E> graph
      The underlying graph.
  • Constructor Details

    • MartinShortestPath

      public MartinShortestPath(Graph<V,E> graph, Function<E,double[]> edgeWeightFunction)
      Create a new shortest path algorithm
      Parameters:
      graph - the input graph
      edgeWeightFunction - the edge weight function
  • Method Details