9#include <Eigen/SparseCore>
41 std::function<double(
const Eigen::VectorXd& x)>
f;
62 std::function<Eigen::SparseVector<double>(
const Eigen::VectorXd& x)>
g;
90 std::function<Eigen::SparseMatrix<double>(
const Eigen::VectorXd& x,
91 const Eigen::VectorXd& y)>
113 std::function<Eigen::VectorXd(
const Eigen::VectorXd& x)>
c_e;
141 std::function<Eigen::SparseMatrix<double>(
const Eigen::VectorXd& x)>
A_e;
169 const Options& options, Eigen::VectorXd& x);
Definition expression_graph.hpp:11
SLEIPNIR_DLLEXPORT ExitStatus sqp(const SQPMatrixCallbacks &matrix_callbacks, std::span< std::function< bool(const IterationInfo &info)> > iteration_callbacks, const Options &options, Eigen::VectorXd &x)
Finds the optimal solution to a nonlinear program using Sequential Quadratic Programming (SQP).
ExitStatus
Solver exit status.
Definition exit_status.hpp:16
Solver iteration information exposed to an iteration callback.
Definition iteration_info.hpp:13
Solver options.
Definition options.hpp:15
Matrix callbacks for the Sequential Quadratic Programming (SQP) solver.
Definition sqp.hpp:21
std::function< Eigen::SparseMatrix< double >(const Eigen::VectorXd &x)> A_e
Equality constraint Jacobian ∂cₑ/∂x getter.
Definition sqp.hpp:141
std::function< Eigen::SparseMatrix< double >(const Eigen::VectorXd &x, const Eigen::VectorXd &y)> H
Lagrangian Hessian ∇ₓₓ²L(x, y) getter.
Definition sqp.hpp:92
std::function< Eigen::VectorXd(const Eigen::VectorXd &x)> c_e
Equality constraint value cₑ(x) getter.
Definition sqp.hpp:113
std::function< double(const Eigen::VectorXd &x)> f
Cost function value f(x) getter.
Definition sqp.hpp:41
std::function< Eigen::SparseVector< double >(const Eigen::VectorXd &x)> g
Cost function gradient ∇f(x) getter.
Definition sqp.hpp:62
#define SLEIPNIR_DLLEXPORT
Definition symbol_exports.hpp:34