14#ifndef ORTOOLS_MATH_OPT_SOLVERS_GSCIP_GSCIP_TESTING_H_
15#define ORTOOLS_MATH_OPT_SOLVERS_GSCIP_GSCIP_TESTING_H_
19#include "gtest/gtest.h"
34 double tolerance = 1e-5);
45 double expected_objective_value,
47 double tolerance = 1e-5);
51 const GScipResult& actual_result,
double expected_objective_value,
52 const GScipSolution& expected_solution,
double tolerance = 1e-5);
void AssertOptimalWithBestSolution(const GScipResult &actual_result, const double expected_objective_value, const GScipSolution &expected_solution, const double tolerance)
Select next search node to expand Select next item_i to add this new search node to the search Generate a new search node where item_i is not in the knapsack Check validity of this new partial solution(using propagators) - If valid
bool SolutionsAlmostEqual(const GScipSolution &left, const GScipSolution &right, const double tolerance)
std::string SolutionToString(const GScipSolution &solution)
void AssertOptimalWithPartialBestSolution(const GScipResult &actual_result, const double expected_objective_value, const GScipSolution &expected_solution, const double tolerance)
GScipParameters TestGScipParameters()
absl::flat_hash_map< SCIP_VAR *, double > GScipSolution
testing::Matcher< GScipSolution > GScipSolutionEquals(const GScipSolution &rhs)
testing::Matcher< GScipSolution > GScipSolutionAlmostEquals(const GScipSolution &rhs, double tolerance)