MCPcopy Create free account
hub / github.com/ERGO-Code/HiGHS / computeDualObjectiveValue

Function computeDualObjectiveValue

highs/lp_data/HighsSolution.cpp:1329–1343  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1327}
1328
1329bool computeDualObjectiveValue(const HighsModel& model,
1330 const HighsSolution& solution,
1331 double& dual_objective_value) {
1332 const HighsLp& lp = model.lp_;
1333 if (!model.isQp())
1334 return computeDualObjectiveValue(nullptr, lp, solution,
1335 dual_objective_value);
1336 assert(solution.col_value.size() == static_cast<size_t>(lp.num_col_));
1337 // Model is QP, so compute gradient Qx + c so generic
1338 // computeDualObjectiveValue can be used
1339 std::vector<double> gradient;
1340 model.objectiveGradient(solution.col_value, gradient);
1341 return computeDualObjectiveValue(gradient.data(), lp, solution,
1342 dual_objective_value);
1343}
1344
1345bool computeDualObjectiveValue(const double* gradient, const HighsLp& lp,
1346 const HighsSolution& solution,

Callers 4

initialiseForSolveMethod · 0.85
getDualObjectiveValueMethod · 0.85
getKktFailuresFunction · 0.85
lpKktCheckFunction · 0.85

Calls 4

isQpMethod · 0.80
objectiveGradientMethod · 0.80
dataMethod · 0.80
sizeMethod · 0.45

Tested by

no test coverage detected