ConstrainedShortestPaths.CSPInstanceType
CSPInstance{G,FR,BR,C,FF,BF}

Attributes

  • graph
  • origin_forward_resource
  • destination_backward_resource
  • cost_function
  • forward_functions
  • backward_functions
ConstrainedShortestPaths.PiecewiseLinearType
PiecewiseLinear

Type used to represent increasing piecewise linear functions, with starting slope 0.

Attributes

  • final_slope::Float64: (positive) slope of the last linear piece.
  • break_x::Vector{Float64}: (ordered) list of all break points x-coordinates.
  • break_y::Vector{Float64}: (non decreasing) list of all break points y-coordinates corresponding to break_x elementwise.
Base.:+Method
+(f1, f2)

Return a PiecewiseLinear corresponding to f1 + f2.

ConstrainedShortestPaths.basic_shortest_pathMethod
basic_shortest_path(graph, distmx=weights(graph), s, t)

Compute shortest path between vertices s and t of graph graph.

Arguments

  • graph::AbstractGraph: acyclic directed graph.
  • distmx::AbstractMatrix: distmx[i, j] corresponds to the distance between vertices i and j along edge (i, j) of graph.

Returns

  • p_star::Vector{Int}: optimal path found.
  • c_star::Float64: length of path p_star.
ConstrainedShortestPaths.composeMethod
compose(f1, f2)

Return a PiecewiseLinear corresponding to f1 ∘ f2 ! only support functions with only one break point and final slope 1

ConstrainedShortestPaths.get_pointsMethod
get_points(f1, f2, i1, i2)

Return break point i1 of f1 and break point i2 of f2. If i1 or i2 are out of range, return a border (x, f(x)).

ConstrainedShortestPaths.meetMethod
meet(f1, f2)

Compute the minimum of two PiecewiseLinear functions Return a PiecewiseLinear f, such that ∀x, f(x) = min(f1(x), f2(x)).

ConstrainedShortestPaths.resource_shortest_pathMethod
resource_shortest_path(g, s, t, distmx, costmx)

Compute resource contrained shortest path between vertices s and t of graph g.

Arguments

  • g::AbstractGraph: acyclic directed graph.
  • max_costs::AbstractVector: list of upper bounds for each resource constraint.
  • distmx::AbstractMatrix: distmx[i, j] corresponds to the distance between vertices i and j along edge (i, j) of g.
  • costmx::Array{Float64, 3}: cost_mx[i, j, k] corresponds to the resource cost of edge (i, j) for the kth resource constraint.

Returns

  • p_star::Vector{Int}: optimal path found.
  • c_star::Float64: length of path p_star.
ConstrainedShortestPaths.stochastic_routing_shortest_pathMethod
stochastic_routing_shortest_path(graph, slacks, delays)

Compute stochastic routing shortest path between first and last vertices of graph graph.

Arguments

  • graph::AbstractGraph: acyclic directed graph.
  • slacks: slacks[i, j] corresponds to the time slack between i and j.
  • delays: delays[i, ω] corresponds to delay of i for scenario ω.

Returns

  • p_star::Vector{Int}: optimal path found.
  • c_star::Float64: length of path p_star.