9#include <Eigen/SparseCore>
41 std::function<double(
const Eigen::VectorXd& x)>
f;
62 std::function<Eigen::SparseVector<double>(
const Eigen::VectorXd& x)>
g;
95 std::function<Eigen::SparseMatrix<double>(
const Eigen::VectorXd& x,
96 const Eigen::VectorXd& y,
97 const Eigen::VectorXd& z)>
119 std::function<Eigen::VectorXd(
const Eigen::VectorXd& x)>
c_e;
147 std::function<Eigen::SparseMatrix<double>(
const Eigen::VectorXd& x)>
A_e;
168 std::function<Eigen::VectorXd(
const Eigen::VectorXd& x)>
c_i;
196 std::function<Eigen::SparseMatrix<double>(
const Eigen::VectorXd& x)>
A_i;
227#ifdef SLEIPNIR_ENABLE_BOUND_PROJECTION
228 const Eigen::ArrayX<bool>& bound_constraint_mask,
Definition expression_graph.hpp:11
ExitStatus
Solver exit status.
Definition exit_status.hpp:16
SLEIPNIR_DLLEXPORT ExitStatus interior_point(const InteriorPointMatrixCallbacks &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 the interior-point method.
Matrix callbacks for the interior-point method solver.
Definition interior_point.hpp:21
std::function< Eigen::SparseMatrix< double >(const Eigen::VectorXd &x)> A_i
Inequality constraint Jacobian ∂cᵢ/∂x getter.
Definition interior_point.hpp:196
std::function< Eigen::SparseMatrix< double >(const Eigen::VectorXd &x)> A_e
Equality constraint Jacobian ∂cₑ/∂x getter.
Definition interior_point.hpp:147
std::function< Eigen::SparseVector< double >(const Eigen::VectorXd &x)> g
Cost function gradient ∇f(x) getter.
Definition interior_point.hpp:62
std::function< Eigen::VectorXd(const Eigen::VectorXd &x)> c_e
Equality constraint value cₑ(x) getter.
Definition interior_point.hpp:119
std::function< double(const Eigen::VectorXd &x)> f
Cost function value f(x) getter.
Definition interior_point.hpp:41
std::function< Eigen::VectorXd(const Eigen::VectorXd &x)> c_i
Inequality constraint value cᵢ(x) getter.
Definition interior_point.hpp:168
std::function< Eigen::SparseMatrix< double >(const Eigen::VectorXd &x, const Eigen::VectorXd &y, const Eigen::VectorXd &z)> H
Lagrangian Hessian ∇ₓₓ²L(x, y, z) getter.
Definition interior_point.hpp:98
Solver iteration information exposed to an iteration callback.
Definition iteration_info.hpp:13
Solver options.
Definition options.hpp:15
#define SLEIPNIR_DLLEXPORT
Definition symbol_exports.hpp:34