46 static absl::StatusOr<std::unique_ptr<Xpress>>
New(
47 absl::string_view model_name);
56 absl::StatusOr<int>
GetIntAttr(
int attribute)
const;
60 absl::Status
AddVars(absl::Span<const double> obj,
61 absl::Span<const double> lb, absl::Span<const double> ub,
62 absl::Span<const char> vtype);
64 absl::Status
AddVars(absl::Span<const int> vbegin, absl::Span<const int> vind,
65 absl::Span<const double> vval,
66 absl::Span<const double> obj,
67 absl::Span<const double> lb, absl::Span<const double> ub,
68 absl::Span<const char> vtype);
70 absl::Status
AddConstrs(absl::Span<const char> sense,
71 absl::Span<const double> rhs,
72 absl::Span<const double> rng);
73 absl::Status
AddConstrs(absl::Span<const char> rowtype,
74 absl::Span<const double> rhs,
75 absl::Span<const double> rng,
76 absl::Span<const int> start,
77 absl::Span<const int> colind,
78 absl::Span<const double> rowcoef);
82 absl::Span<const int> col_index,
83 absl::Span<const double> obj_coeffs);
85 absl::Span<const int> colind2,
86 absl::Span<const double> coefficients);
88 absl::Status
ChgCoeffs(absl::Span<const int> rowind,
89 absl::Span<const int> colind,
90 absl::Span<const double> values);
96 absl::Status
GetLpSol(absl::Span<double> primals, absl::Span<double> duals,
97 absl::Span<double> reducedCosts);
104 absl::Status
GetBasis(std::vector<int>& rowBasis,
105 std::vector<int>& colBasis)
const;
107 std::vector<int>& colBasis)
const;
110 const char* sMsg,
int nLen,
116 absl::StatusOr<std::vector<double>>
GetVarLb()
const;
117 absl::StatusOr<std::vector<double>>
GetVarUb()
const;
124 absl::Status ToStatus(
126 absl::StatusCode code = absl::StatusCode::kInvalidArgument)
const;
128 std::map<int, int> int_control_defaults_;
129 void initIntControlDefaults();