Template Class network_oracle

Template Parameter Order

  1. typename Graph

  2. typename Container

  3. typename Fn

Class Documentation

template<typename Graph, typename Container, typename Fn>
class network_oracle

Oracle for Parametric Network Problem.

This oracle solves the following feasibility problem:

find    x, u
s.t.    u[j] - u[i] \le h(e, x)
        \forall e(i, j) \in E

Template Parameters
  • Graph

  • Container

  • Fn

Public Functions

inline network_oracle(const Graph &G, Container &u, Fn h)

Construct a new network oracle object.

Parameters
  • G[in] a directed graph (V, E)

  • u[inout] list or dictionary

  • h[in] function evaluation and gradient

explicit network_oracle(const network_oracle&) = default

Construct a new network oracle object.

template<typename opt_type>
inline auto update(const opt_type &t) -> void
Parameters

t[in] the best-so-far optimal value

template<typename T>
inline auto operator()(const T &x) -> std::optional<std::tuple<T, double>>

Make object callable for cutting_plane_feas()

Template Parameters

T

Parameters

x[in]

Returns

std::optional<std::tuple<T, double>>