|
akreon-convex
Typed convex modeling, conic canonicalization, and primal-dual optimization in C++26.
|
#include <convex_problem.hpp>
Public Types | |
| using | T = linalg::space_type_t< conic::builder_dom_t< Builder > > |
| alias for scalar type | |
Public Member Functions | |
| constexpr | ConvexProblem (const Builder &builder_in) |
| CTOR. | |
| template<AtomLike Atom> | |
| constexpr auto | in_set (const Atom &atom) const |
| in set constraint | |
| template<InequalityType IType, AtomLike LHS, typename RHS > | |
| constexpr auto | add_constraint (const Inequality< IType, LHS, RHS > &ineq) const |
| add ineq constraint | |
| constexpr auto | feasibility () const |
| feasibility | |
| template<AtomLike Atom> | |
| constexpr auto | minimize (const Atom &atom) const |
| minimize | |
| template<AtomLike Atom> | |
| constexpr auto | maximize (const Atom &atom) const |
| maximize | |
| constexpr bool | validate () const |
| validate | |
| constexpr auto | linear_objective () const |
| linear objective | |
| constexpr auto | constraint_map () const |
| constraint map (canonical conic form) [ F; g ] | |
| constexpr auto | constraint_cones () const |
| cones | |
| constexpr auto | equality_map () const |
| affine equality map [ A; b ] | |
| constexpr auto | canonical_trace () const |
| Structural trace of canonical rows emitted during canonicalization. | |
Public Attributes | |
| Builder | builder |
| member var | |
forward declaration of convex problem
min c^T z s.t. F z + g in K
transformed to a fully cone problem min c^T x s.t. x = F z + g x in K = K1 x K2 ... Kn
The objective c pushed forward through linear functional c_x when x is feasible: c^T z = <c_x, x> s.t. { x | exists z, F z + g = x }
Definition at line 42 of file convex_problem.hpp.
| using convex::ConvexProblem< Builder, Stage >::T = linalg::space_type_t<conic::builder_dom_t<Builder> > |
alias for scalar type
Definition at line 44 of file convex_problem.hpp.
|
inlineexplicitconstexpr |
|
inlineconstexpr |
add ineq constraint
| ineq | (Inequality) |
Definition at line 83 of file convex_problem.hpp.
References convex::ConvexProblem< Builder, Stage >::builder, and convex::dom_size_v.
|
inlineconstexpr |
Structural trace of canonical rows emitted during canonicalization.
Cone records are aligned with constraint_map() rows and equality records are aligned with equality_map() rows. The trace is intentionally structural: presentation layers can interpret lineage without changing the solver's numeric result contract.
Definition at line 275 of file convex_problem.hpp.
References convex::ConvexProblem< Builder, Stage >::builder.
|
inlineconstexpr |
cones
Definition at line 246 of file convex_problem.hpp.
References convex::ConvexProblem< Builder, Stage >::builder.
|
inlineconstexpr |
constraint map (canonical conic form) [ F; g ]
F z + g
Definition at line 235 of file convex_problem.hpp.
References convex::ConvexProblem< Builder, Stage >::builder.
|
inlineconstexpr |
affine equality map [ A; b ]
A z = b
Definition at line 259 of file convex_problem.hpp.
References convex::ConvexProblem< Builder, Stage >::builder.
|
inlineconstexpr |
feasibility
Definition at line 94 of file convex_problem.hpp.
References convex::ConvexProblem< Builder, Stage >::builder, and convex::dom_size_v.
|
inlineconstexpr |
in set constraint
(ex) A x = b is an affine subspace in set constraint
| atom | (set) |
Definition at line 64 of file convex_problem.hpp.
References convex::ConvexProblem< Builder, Stage >::builder, and convex::dom_size_v.
|
inlineconstexpr |
linear objective
min c^T z
Definition at line 222 of file convex_problem.hpp.
References convex::ConvexProblem< Builder, Stage >::builder.
|
inlineconstexpr |
maximize
| atom |
Definition at line 187 of file convex_problem.hpp.
References convex::CONVEX, convex::dom_size_v, and convex::ConvexProblem< Builder, Stage >::minimize().
|
inlineconstexpr |
minimize
| atom |
Definition at line 118 of file convex_problem.hpp.
References convex::ConvexProblem< Builder, Stage >::builder, convex::CONCAVE, convex::dom_size_v, and conic::make_builder().
Referenced by convex::ConvexProblem< Builder, Stage >::maximize().
|
inlineconstexpr |
validate
Definition at line 213 of file convex_problem.hpp.
References convex::ConvexProblem< Builder, Stage >::builder.
| Builder convex::ConvexProblem< Builder, Stage >::builder |
member var
Definition at line 282 of file convex_problem.hpp.
Referenced by convex::ConvexProblem< Builder, Stage >::add_constraint(), convex::ConvexProblem< Builder, Stage >::canonical_trace(), convex::ConvexProblem< Builder, Stage >::constraint_cones(), convex::ConvexProblem< Builder, Stage >::constraint_map(), convex::ConvexProblem< Builder, Stage >::equality_map(), convex::ConvexProblem< Builder, Stage >::feasibility(), convex::ConvexProblem< Builder, Stage >::in_set(), convex::ConvexProblem< Builder, Stage >::linear_objective(), convex::ConvexProblem< Builder, Stage >::minimize(), and convex::ConvexProblem< Builder, Stage >::validate().