MCPcopy Create free account
hub / github.com/cvanaret/Uno / notify_acceptable_iterate

Method notify_acceptable_iterate

interfaces/Python/cpp_classes/UnoSolverWrapper.cpp:17–28  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

15 UserCallbacks(), notify_acceptable_iterate_callback(notify_acceptable_iterate_callback), termination_callback(termination_callback) { }
16
17 void UnopyUserCallbacks::notify_acceptable_iterate(const Vector<double>& primals, const Multipliers& multipliers,
18 double objective_multiplier, double primal_feasibility_residual, double stationarity_residual, double complementarity_residual) {
19 if (this->notify_acceptable_iterate_callback.has_value()) {
20 const auto primals_py = to_const_array(primals.data(), primals.size());
21 const auto lower_bound_multipliers_py = to_const_array(multipliers.lower_bounds.data(), multipliers.lower_bounds.size());
22 const auto upper_bound_multipliers_py = to_const_array(multipliers.upper_bounds.data(), multipliers.upper_bounds.size());
23 const auto constraint_multipliers_py = to_const_array(multipliers.constraints.data(), multipliers.constraints.size());
24 (*this->notify_acceptable_iterate_callback)(primals_py, lower_bound_multipliers_py, upper_bound_multipliers_py,
25 constraint_multipliers_py, objective_multiplier, primal_feasibility_residual, stationarity_residual,
26 complementarity_residual);
27 }
28 }
29
30 bool UnopyUserCallbacks::termination(const Vector<double>& primals, const Multipliers& multipliers,
31 double objective_multiplier, double primal_feasibility_residual, double stationarity_residual,

Callers

nothing calls this directly

Calls 3

to_const_arrayFunction · 0.85
dataMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected