Google OR-Tools
v9.11
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
infeasible_subsystem_tests.h
Go to the documentation of this file.
1
// Copyright 2010-2024 Google LLC
2
// Licensed under the Apache License, Version 2.0 (the "License");
3
// you may not use this file except in compliance with the License.
4
// You may obtain a copy of the License at
5
//
6
// http://www.apache.org/licenses/LICENSE-2.0
7
//
8
// Unless required by applicable law or agreed to in writing, software
9
// distributed under the License is distributed on an "AS IS" BASIS,
10
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
// See the License for the specific language governing permissions and
12
// limitations under the License.
13
14
#ifndef OR_TOOLS_MATH_OPT_SOLVER_TESTS_INFEASIBLE_SUBSYSTEM_TESTS_H_
15
#define OR_TOOLS_MATH_OPT_SOLVER_TESTS_INFEASIBLE_SUBSYSTEM_TESTS_H_
16
17
#include <ostream>
18
19
#include "gtest/gtest.h"
20
#include "
ortools/math_opt/cpp/math_opt.h
"
21
22
namespace
operations_research::math_opt
{
23
24
// Relevant functionality for infeasible subsystem computation that the solver
25
// supports.
26
struct
InfeasibleSubsystemSupport
{
27
bool
supports_infeasible_subsystems
=
false
;
28
};
29
30
std::ostream&
operator<<
(std::ostream& ostr,
31
const
InfeasibleSubsystemSupport
& support_menu);
32
33
struct
InfeasibleSubsystemTestParameters
{
34
// The tested solver.
35
SolverType
solver_type
;
36
37
InfeasibleSubsystemSupport
support_menu
;
38
};
39
40
std::ostream&
operator<<
(std::ostream& ostr,
41
const
InfeasibleSubsystemTestParameters
& params);
42
43
// A suite of unit tests to show that a solver correctly handles requests for
44
// infeasible subsystems.
45
//
46
// To use these tests, in file <solver>_test.cc write:
47
// INSTANTIATE_TEST_SUITE_P(<Solver>InfeasibleSubsystemTest,
48
// InfeasibleSubsystemTest,
49
// testing::Values(InfeasibleSubsystemTestParameters(
50
// {.solver_type = SolverType::k<Solver>,
51
// .support_menu = {
52
// .supports_infeasible_subsystems =
53
// false}})));
54
class
InfeasibleSubsystemTest
55
:
public
::testing::TestWithParam<InfeasibleSubsystemTestParameters> {};
56
57
}
// namespace operations_research::math_opt
58
59
#endif
// OR_TOOLS_MATH_OPT_SOLVER_TESTS_INFEASIBLE_SUBSYSTEM_TESTS_H_
operations_research::math_opt::InfeasibleSubsystemTest
Definition
infeasible_subsystem_tests.h:55
math_opt.h
operations_research::math_opt
An object oriented wrapper for quadratic constraints in ModelStorage.
Definition
gurobi_isv.cc:28
operations_research::math_opt::SolverType
SolverType
The solvers supported by MathOpt.
Definition
parameters.h:42
operations_research::math_opt::operator<<
std::ostream & operator<<(std::ostream &ostr, const IndicatorConstraint &constraint)
Definition
indicator_constraint.h:139
operations_research::math_opt::InfeasibleSubsystemSupport
Definition
infeasible_subsystem_tests.h:26
operations_research::math_opt::InfeasibleSubsystemSupport::supports_infeasible_subsystems
bool supports_infeasible_subsystems
Definition
infeasible_subsystem_tests.h:27
operations_research::math_opt::InfeasibleSubsystemTestParameters
Definition
infeasible_subsystem_tests.h:33
operations_research::math_opt::InfeasibleSubsystemTestParameters::solver_type
SolverType solver_type
The tested solver.
Definition
infeasible_subsystem_tests.h:35
operations_research::math_opt::InfeasibleSubsystemTestParameters::support_menu
InfeasibleSubsystemSupport support_menu
Definition
infeasible_subsystem_tests.h:37
ortools
math_opt
solver_tests
infeasible_subsystem_tests.h
Generated by
1.12.0