pub fn cutting_plane_feas<T, Oracle, Space>(
omega: &mut Oracle,
space: &mut Space,
options: &Options,
) -> (Option<Space::ArrayType>, usize)where
T: UpdateByCutChoice<Space, ArrayType = Space::ArrayType>,
Oracle: OracleFeas<Space::ArrayType, CutChoice = T>,
Space: SearchSpace,Expand description
The function cutting_plane_feas iteratively updates a search space using a cutting plane oracle
until a feasible solution is found or the maximum number of iterations is reached.
Arguments:
omega:omegais an instance of theOracletrait, which represents an oracle that provides information about the feasibility of a solution. TheOracletrait has a methodassess_feasthat takes a reference to the current solution&space.xc()and returns an optional `space: Thespaceparameter represents the search space in which the optimization problem is being solved. It is a mutable reference to an object that implements theSearchSpacetrait.options: Theoptionsparameter is of typeOptionsand contains various settings for the cutting plane algorithm. It likely includes properties such asmax_iters(maximum number of iterations), `` (tolerance for termination), and other parameters that control the behavior of the algorithm.
Returns:
The function cutting_plane_feas returns a tuple (bool, usize). The first element of the tuple
represents whether a feasible solution was obtained (true if yes, false if no), and the second
element represents the number of iterations performed.