pub fn cutting_plane_optim_q<T, Oracle, Space>(
omega: &mut Oracle,
space_q: &mut Space,
gamma: &mut f64,
options: &Options,
) -> (Option<Space::ArrayType>, usize)where
T: UpdateByCutChoice<Space, ArrayType = Space::ArrayType>,
Oracle: OracleOptimQ<Space::ArrayType, CutChoice = T>,
Space: SearchSpaceQ,Expand description
The function implements the cutting-plane method for solving a convex discrete optimization problem.
Arguments:
omega: The parameter “omega” is an instance of the OracleOptimQ trait, which represents an oracle that provides assessments for the cutting-plane method. It is used to query the oracle for assessments on the current solution.space_q: The parameterspace_qis a mutable reference to aSpaceobject, which represents the search space containing the optimal solutionx*. It is used to update the space based on the cuts obtained from the oracle.gamma: The parameter “gamma” represents the best-so-far optimal solution. It is a mutable reference to a floating-point number (f64).options: Theoptionsparameter is a struct that contains various options for the cutting-plane method. It includes parameters such as the maximum number of iterations (max_iters) and the error tolerance (``). These options control the termination criteria for the method.