21#include "absl/status/status.h"
22#include "absl/strings/str_join.h"
23#include "absl/types/span.h"
30 return absl::OkStatus();
34 const auto format_bounds_ids = [&builder](
const std::string_view
name,
35 const std::vector<int64_t>& ids) {
40 builder <<
name <<
" with ids "
48 format_bounds_ids(
"variables",
variables);
53 builder <<
" have lower_bound > upper_bound";
const std::string name
A name for logging purposes.
An object oriented wrapper for quadratic constraints in ModelStorage.
constexpr std::size_t kMaxInvertedBounds
The maximum number of variables/constraints with inverted bounds to report.
StatusBuilder InvalidArgumentErrorBuilder()
std::vector< int64_t > linear_constraints
Ids of the linear constraints with inverted bounds.
bool empty() const
Returns true if this object contains no variable/constraint ids.
std::vector< int64_t > variables
Ids of the variables with inverted bounds.
absl::Status ToStatus() const