File NonSymmetricIPM.h
-
template<class T>
class Instance
-
template<class T>
class DirectionDecomposition -
Friends
-
friend std::ostream &operator<<(std::ostream &os, const DirectionDecomposition<T> &dir)
-
friend std::ostream &operator<<(std::ostream &os, const DirectionDecomposition<T> &dir)
-
template<class T>
class ErrorConstants Public Functions
-
inline ErrorConstants()
-
template<class U>
inline ErrorConstants(const ErrorConstants<U> other)
-
inline ErrorConstants()
-
template<typename IPMDouble>
class NonSymmetricIPM Public Types
-
enum Termination
Values:
-
enumerator SUCCESS
-
enumerator FAILURE
-
enumerator SUCCESS
Public Functions
-
template<typename T>
inline void cast_members_from(const NonSymmetricIPM<T> &other)
-
template<typename T>
inline NonSymmetricIPM<T> *cast_with_product_barrier()
-
inline IPMDouble calc_step_length_predictor()
-
int run_solver()
-
inline IPMDouble primal_error()
-
inline IPMDouble dual_error()
-
inline IPMDouble primal_error_rescaled()
-
inline IPMDouble dual_error_rescaled()
-
inline IPMDouble duality_gap()
-
inline IPMDouble complementarity()
-
inline bool verify_solution(IPMDouble precision = 10e-5)
-
void initialize()
Public Members
-
std::shared_ptr<spdlog::logger> _logger
-
std::shared_ptr<spdlog::logger> _benchmark_logger
-
Matrix A
-
Vector b
-
Vector c
-
Matrix _basis_ker_A
-
Vector x
-
Vector y
-
Vector s
-
pt::ptree _config
-
unsigned _num_predictor_steps = 500
-
unsigned _num_corrector_steps
-
IPMDouble _param_step_length_predictor = 0.02
-
IPMDouble _step_length_predictor
-
IPMDouble _step_length_corrector
-
IPMDouble _epsilon = 10e-5
-
unsigned _total_num_line_steps
-
IPMDouble _large_neighborhood
-
IPMDouble _small_neighborhood
-
bool _check_centrality_in_every_segment = true
-
bool _type_cast_if_unsuccessful = true
-
bool _use_line_search = true
-
IPMDouble kappa
-
IPMDouble tau
-
Vector _last_predictor_direction
-
ErrorConstants<IPMDouble> _err_consts
Private Functions
-
void set_configuration_variables()
-
bool terminate()
-
bool terminate_successfully_wrapper()
-
bool terminate_successfully()
-
bool terminate_infeasible_wrapper()
-
bool terminate_infeasible()
-
std::vector<std::pair<Vector, Vector>> solve_andersen_andersen_subsystem(std::vector<std::pair<Vector, Vector>>&)
-
void print_status()
-
void test_gradient()
-
void test_hessian()
Private Members
-
enum Termination