Template Class cycle_ratio_oracle¶
Defined in File cycle_ratio_oracle.hpp
Nested Relationships¶
Nested Types¶
Template Parameter Order¶
typename Graph
typename Container
typename Fn1
typename Fn2
Class Documentation¶
-
template<typename Graph, typename Container, typename Fn1, typename Fn2>
class cycle_ratio_oracle¶ Oracle for minimum ratio cycle problem.
This example solves the following convex problem:
max t s.t. u[j] - u[i] \le mij - sij * x, t \le x
where sij is not necessarily positive.
- Template Parameters
Graph –
Container –
Fn1 –
Fn2 –
Public Functions
-
inline cycle_ratio_oracle(const Graph &G, Container &u, Fn1 get_cost, Fn2 get_time)¶
Construct a new cycle_ratio oracle object.
- Parameters
G – [in]
u – [inout]
get_cost – [in]
-
cycle_ratio_oracle(const cycle_ratio_oracle&) = delete¶
-
cycle_ratio_oracle &operator=(const cycle_ratio_oracle&) = delete¶
-
cycle_ratio_oracle(cycle_ratio_oracle&&) = default¶
-
inline auto operator()(const double &x, double &t) -> std::tuple<Cut, bool>¶
Make object callable for cutting_plane_dc()
See also
cutting_plane_dc
- Parameters
x – [in]
t – [in] the best-so-far optimal value
- Returns
std::tuple<Cut, double>