Skip to content

Commit 0c5d6cb

Browse files
committed
Corrected multiple instances of infeasiblity
1 parent b62c64e commit 0c5d6cb

File tree

2 files changed

+14
-14
lines changed

2 files changed

+14
-14
lines changed

highs/lp_data/HighsSolution.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -561,11 +561,11 @@ void getVariableKktFailures(const double primal_feasibility_tolerance,
561561
// Above upper
562562
primal_infeasibility = value - upper;
563563
}
564-
std::pair<double, double> infeasiblity_residual =
565-
infeasiblity(&lower, &value, &upper, &primal_feasibility_tolerance);
564+
std::pair<double, double> infeasibility_residual =
565+
infeasibility(&lower, &value, &upper, &primal_feasibility_tolerance);
566566
// #2653
567567
//
568-
// assert(infeasiblity_residual.second == primal_infeasibility);
568+
// assert(infeasibility_residual.second == primal_infeasibility);
569569

570570
// Determine whether this value is close to a bound
571571
at_status = kHighsSolutionNo;

highs/util/HighsUtils.h

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -215,24 +215,24 @@ inline T fractionality(T input, T* intval = nullptr) {
215215
return abs(input - val);
216216
}
217217

218-
inline std::pair<double, double> infeasiblity(const double* lower,
218+
inline std::pair<double, double> infeasibility(const double* lower,
219219
const double* value,
220220
const double* upper,
221221
const double* tolerance) {
222222
using std::fabs;
223223
using std::min;
224224
double residual = 0;
225-
double infeasiblity = 0;
225+
double infeasibility = 0;
226226
std::string bound_type = "";
227227
double bound_value = 0;
228-
// Determine the infeasiblity exceeding the tolerance used in
228+
// Determine the infeasibility exceeding the tolerance used in
229229
// computing the number of infeasibilities - which defines
230230
// feasibility of a solution
231231
if (*value < *lower - *tolerance) {
232-
infeasiblity = *lower - *value;
232+
infeasibility = *lower - *value;
233233
}
234234
if (*value > *upper + *tolerance) {
235-
infeasiblity = *value - *upper;
235+
infeasibility = *value - *upper;
236236
}
237237
// Determine the residual used in computing the sum of
238238
// infeasibilities and max infeasibility - which are just for
@@ -249,14 +249,14 @@ inline std::pair<double, double> infeasiblity(const double* lower,
249249
residual = *value - *upper;
250250
}
251251
} else {
252-
residual = infeasiblity;
252+
residual = infeasibility;
253253
}
254254
// Now, if the bound defining the residual is large, it's possible
255-
// for the infeasiblity to be zero, but the residual to exceed the
255+
// for the infeasibility to be zero, but the residual to exceed the
256256
// tolerance due to numerical rounding
257257
//
258258
// Case in point is #2653 where row 1 has l = 157345 and the
259-
// activity gives zero infeasiblity, but a residual of
259+
// activity gives zero infeasibility, but a residual of
260260
// 1.00000761449e-06, exceeding the tolerance of 1e-6 by delta =
261261
// 7.61449e-12.
262262
//
@@ -269,15 +269,15 @@ inline std::pair<double, double> infeasiblity(const double* lower,
269269
//
270270
// delta < 1e1 * max(1.0, fabs(bound_value)) * kHighsMacheps
271271
//
272-
// to give a reasonable value but, in practice, when infeasiblity is
272+
// to give a reasonable value but, in practice, when infeasibility is
273273
// 0, it would seem fine to set
274274
//
275275
// residual = min(residual, tolerance)
276276
//
277277
// so that values of maximum infeasibility defined by residual
278278
// doesn't exceed the tolerance
279279
//
280-
// if (infeasiblity == 0) residual = min(residual, *tolerance);
281-
return std::make_pair(infeasiblity, residual);
280+
// if (infeasibility == 0) residual = min(residual, *tolerance);
281+
return std::make_pair(infeasibility, residual);
282282
}
283283
#endif // UTIL_HIGHSUTILS_H_

0 commit comments

Comments
 (0)