aligator  0.6.1
A primal-dual augmented Lagrangian-type solver for nonlinear trajectory optimization.
Loading...
Searching...
No Matches
expose-callbacks.cpp
Go to the documentation of this file.
1
4
5namespace aligator {
6namespace python {
7
9
11 using HistoryCallback = HistoryCallbackTpl<Scalar>;
12 using history_storage_t = decltype(HistoryCallback::storage);
13
14 bp::scope in_history =
15 bp::class_<HistoryCallback, bp::bases<CallbackBase>>(
16 "HistoryCallback", "Store the history of solver's variables.",
17 bp::init<bool, bool, bool>((bp::arg("self"),
18 bp::arg("store_pd_vars") = true,
19 bp::arg("store_values") = true,
20 bp::arg("store_residuals") = true)))
21 .def_readonly("storage", &HistoryCallback::storage);
22
23 bp::class_<history_storage_t>("history_storage")
24 .def_readonly("xs", &history_storage_t::xs)
25 .def_readonly("us", &history_storage_t::us)
26 .def_readonly("lams", &history_storage_t::lams)
27 .def_readonly("values", &history_storage_t::values)
28 .def_readonly("merit_values", &history_storage_t::merit_values)
29 .def_readonly("prim_infeas", &history_storage_t::prim_infeas)
30 .def_readonly("dual_infeas", &history_storage_t::dual_infeas)
31 .def_readonly("al_iters", &history_storage_t::al_index)
32 .def_readonly("prim_tols", &history_storage_t::prim_tols)
33 .def_readonly("dual_tols", &history_storage_t::dual_tols);
34}
35
37 bp::register_ptr_to_python<shared_ptr<CallbackBase>>();
38
39 bp::class_<CallbackWrapper, boost::noncopyable>("BaseCallback",
40 "Base callback for solvers.",
41 bp::init<>(bp::args("self")))
42 .def("call", bp::pure_virtual(&CallbackWrapper::call),
43 bp::args("self", "workspace", "results"));
44
46}
47} // namespace python
48} // namespace aligator
void exposeCallbacks()
Expose solver callbacks.
Main package namespace.
void call(const WorkspaceBaseTpl< context::Scalar > &w, const ResultsBaseTpl< context::Scalar > &r)
Definition callbacks.hpp:14