<div dir="ltr">Hi,<br><br>I would like to experiment with conditional gradient in ipopt.<br>Normal ipopt flow is:<br><br>query user hessian -> find search direction -> filter line search<br><br>I would like to do:<br><br>query user hessian -> find search direction -> let user modify search direction -> filter line search<br><br>I can overload IpoptAlgorithm::ComputeSearchDirection, but is this enough?<br>For example, for a second-order correction FilterLSAcceptor::TrySecondOrderCorrection recalculates the search direction.<br>Would it be better to overload PDSystemSolver::Solve?<br><br>The idea of conditional gradient is to modify any computed search direction, before it is actually used by the optimization algorithm.<br>This is sometimes called 'projected gradient' or 'frank-wolfe' method.<br>To be sure I have overloaded all the necessary parts, your help would be great.<br><br>Thanks,<br><br>Nicolas<br><br></div>