Closed alphaville closed 5 years ago
I did a lot of small notes which you can use as TODOs :) I think we should add the crate level attribute
![deny(missing_docs)]
so the compiler complains for us
I added a #![deny(missing_docs)]
in alm/mod.rs
. It would be a good idea to do that project-wide (but in a different branch). I'll create an issue.
Thanks for fixes!
Ready to be merged into
dev/alm/main
--- total number of unit tests in Rust (without examples): 96About this Pull Request
This is a pull request to merge
dev/alm/rust
intodev/alm/main
. The "main" branch is for developments related to the augmented Lagrangian method in the whole OpEn, whiledev/alm/rust
is for developments in Rust (only the core solver, not code generation). There will be further pull requests to merge other branches intodev/alm/main
.The main objective is the development of an ALM solver in Rust.
Important TODOs
master
, we need to mergemaster
intodev/alm
.alm/rust/main
intomaster
; I have not modified the Python code or the old Penalty Method code in Rust on this branch)Steps towards complete Rust implementation
Rust implementation (basic steps):
AlmOptimizer
interfaceY
compute_alm_infeasibility
compute_pm_infeasibility
update_lagrange_multipliers
project_on_set_y
solve_inner_problem
is_exit_criterion_satisfied
is_penalty_stall_criterion
update_penalty_parameter
update_inner_akkt_tolerance
final_cache_update
F1
)F1
andF2
F1
andF2
#![allow(dead_code)]