Usage of SCIP library can be disabled in CMake build by setting
-DUSE_SCIP=OFF.
However, the tests were still run unconditionally, showing test failures like this:
```
/build/source/ortools/math_opt/solver_tests/test_models_test.cc:29: Failure
Value of: Solve(*model, SolverType::kGscip)
Expected: is OK and has a value that (is an object whose field `termination` (is an object whose field `reason` is equal to optimal) and (is an object whose field `problem_status` (is an object whose field `primal_status` is equal to feasible) and (is an object whose field `dual_status` is equal to feasible) and (is an object whose field `primal_or_dual_infeasible` is equal to false))) and (is an object whose property `has_primal_feasible_solution` is equal to true) and (is an object whose property `objective_value` is approximately 9 (absolute error <= 1.0000000000000001e-05))
Actual: [INVALID_ARGUMENT: solver type SOLVER_TYPE_GSCIP is not registered, support for this solver has not been compiled], which has status INVALID_ARGUMENT: solver type SOLVER_TYPE_GSCIP is not registered, support for this solver has not been compiled
[ FAILED ] SmallModelTest.Integer (2 ms)
[ RUN ] SmallModelTest.Continuous
[ OK ] SmallModelTest.Continuous (1 ms)
[----------] 2 tests from SmallModelTest (3 ms total)
[----------] 2 tests from DenseIndependentSetTest
[ RUN ] DenseIndependentSetTest.Integer
/build/source/ortools/math_opt/solver_tests/test_models_test.cc:40: Failure
Value of: Solve(*model, SolverType::kGscip)
Expected: is OK and has a value that (is an object whose field `termination` (is an object whose field `reason` is equal to optimal) and (is an object whose field `problem_status` (is an object whose field `primal_status` is equal to feasible) and (is an object whose field `dual_status` is equal to feasible) and (is an object whose field `primal_or_dual_infeasible` is equal to false))) and (is an object whose property `has_primal_feasible_solution` is equal to true) and (is an object whose property `objective_value` is approximately 7 (absolute error <= 1.0000000000000001e-05))
Actual: [INVALID_ARGUMENT: solver type SOLVER_TYPE_GSCIP is not registered, support for this solver has not been compiled], which has status INVALID_ARGUMENT: solver type SOLVER_TYPE_GSCIP is not registered, support for this solver has not been compiled
[ FAILED ] DenseIndependentSetTest.Integer (0 ms)
[ RUN ] DenseIndependentSetTest.Continuous
[ OK ] DenseIndependentSetTest.Continuous (1 ms)
[----------] 2 tests from DenseIndependentSetTest (2 ms total)
[----------] 1 test from DenseIndependentSetHint5Test
[ RUN ] DenseIndependentSetHint5Test.HintIsFeasibleWithObjective5
/build/source/ortools/math_opt/solver_tests/test_models_test.cc:59: Failure
Value of: Solve(*model, SolverType::kGscip)
Expected: is OK and has a value that (is an object whose field `termination` (is an object whose field `reason` is equal to optimal) and (is an object whose field `problem_status` (is an object whose field `primal_status` is equal to feasible) and (is an object whose field `dual_status` is equal to feasible) and (is an object whose field `primal_or_dual_infeasible` is equal to false))) and (is an object whose property `has_primal_feasible_solution` is equal to true) and (is an object whose property `objective_value` is approximately 5 (absolute error <= 1.0000000000000001e-05))
Actual: [INVALID_ARGUMENT: solver type SOLVER_TYPE_GSCIP is not registered, support for this solver has not been compiled], which has status INVALID_ARGUMENT: solver type SOLVER_TYPE_GSCIP is not registered, support for this solver has not been compiled
[ FAILED ] DenseIndependentSetHint5Test.HintIsFeasibleWithObjective5 (0 ms)
[----------] 1 test from DenseIndependentSetHint5Test (0 ms total)
[----------] 2 tests from IndependentSetCompleteGraphTest
[ RUN ] IndependentSetCompleteGraphTest.Integer
/build/source/ortools/math_opt/solver_tests/test_models_test.cc:65: Failure
Value of: Solve(*model, SolverType::kGscip)
Expected: is OK and has a value that (is an object whose field `termination` (is an object whose field `reason` is equal to optimal) and (is an object whose field `problem_status` (is an object whose field `primal_status` is equal to feasible) and (is an object whose field `dual_status` is equal to feasible) and (is an object whose field `primal_or_dual_infeasible` is equal to false))) and (is an object whose property `has_primal_feasible_solution` is equal to true) and (is an object whose property `objective_value` is approximately 1 (absolute error <= 1.0000000000000001e-05))
Actual: [INVALID_ARGUMENT: solver type SOLVER_TYPE_GSCIP is not registered, support for this solver has not been compiled], which has status INVALID_ARGUMENT: solver type SOLVER_TYPE_GSCIP is not registered, support for this solver has not been compiled
[ FAILED ] IndependentSetCompleteGraphTest.Integer (0 ms)
```
Fix this, by conditionalizing these tests on USE_SCIP.
* Laid down outer refinement tentative integration with existing code
* Fixed Refinement design, (still figuring out a clean way to integrate it)
* Adding base object accessor function to views
* Completed `ResetToIdentitySubModel` for `CoreModel` and `SubModelView`
* Minor numerical issues strenghtening
* Time statistics
* Improved subgradient stability with numerically challenging cases
* Removed subgradient stabilization (issues with core updates)
* Forcing core update at subgradient end
* Replacing std::cout with VLOGs
* Housekeeping
* CoreUpdate more robust to potential full-model changes
* Skip CoreUpdate when columns are rougthly the same number of rows
* Full-model does not require row-view anymore
* Added cft example
* More torough `FullToSubModelInvariantCheck`
* Better management of empty columns
* Improved `FullToSubModelInvariantCheck`
* Refactored `FullToCoreModel` column selection
* Minor `FullToCoreModel` cleaning
* Refactored `FullToCoreModel` to simplify extention with column generation
* BinPacking model
* Bin Packing instance readers
* Simple best fit greedy heuristic
* Simple initial bin generation
* Bin set
* Initial work on Bin Packing - Set Cover core model generator
* Simple knapsack greedy heuristic
* Simple Branch and bound for Knapsack (from Pisinger)
* Dyamic column generation in core model update
* CFT based bin packing heuristic example
* Split initial bin generation with randomized one
* Updated `bin_packing_cft.cc` example
* Fixed some problems with BPP column generation
* Added small test to bin_packing example
* Had to use absolute paths otherwise `ortools/<dir>` conflict with `build/ortools/<dir>`
* rework Doxygen main page following devsite C++ ref overview.
* improve doxygen c++ cache
note: doxygen log specify the ideal cache size according to the previous run.