Loading...
Searching...
No Matches
idol::Optimizers::PADM Class Reference

Description

Definition at line 18 of file Optimizers_PADM.h.

Classes

class  IterationPlot

Public Methods

 PADM (const Model &t_model, ADM::Formulation t_formulation, std::vector< idol::ADM::SubProblem > &&t_sub_problem_specs, PenaltyUpdate *t_penalty_update, SolutionStatus t_feasible_solution_status, Plots::Manager *t_plot_manager)
std::string name () const override
double get_var_primal (const Var &t_var) const override
double get_var_reduced_cost (const Var &t_var) const override
double get_var_ray (const Var &t_var) const override
double get_ctr_dual (const Ctr &t_ctr) const override
double get_ctr_farkas (const Ctr &t_ctr) const override
unsigned int get_n_solutions () const override
unsigned int get_solution_index () const override
unsigned int get_outer_loop_iteration_count () const
unsigned int get_inner_loop_iteration_count () const
ADM::SubProblemsub_problem_spec (unsigned int t_sub_problem_id)
SolutionStatus get_status () const override
SolutionReason get_reason () const override
double get_best_obj () const override
double get_best_bound () const override
double get_relative_gap () const override
double get_absolute_gap () const override

Protected Methods

void add (const Var &t_var) override
void add (const Ctr &t_ctr) override
void add (const QCtr &t_ctr) override
void remove (const Var &t_var) override
void remove (const Ctr &t_ctr) override
void remove (const QCtr &t_ctr) override
void update () override
void write (const std::string &t_name) override
void hook_before_optimize () override
void hook_optimize () override
void set_solution_index (unsigned int t_index) override
void update_obj_sense () override
void update_obj () override
void update_rhs () override
void update_obj_constant () override
void update_mat_coeff (const Ctr &t_ctr, const Var &t_var) override
void update_ctr_type (const Ctr &t_ctr) override
void update_ctr_rhs (const Ctr &t_ctr) override
void update_var_type (const Var &t_var) override
void update_var_lb (const Var &t_var) override
void update_var_ub (const Var &t_var) override
void update_var_obj (const Var &t_var) override
void update_penalty_parameters ()
void run_inner_loop ()
bool is_feasible () const
std::pair< bool, bool > solve_sub_problem (unsigned int t_sub_problem_id)
void compute_objective_value ()
void make_history ()
void log_inner_loop (unsigned int t_inner_loop_iteration)
void log_outer_loop ()
double infeasibility_linf (unsigned int t_sub_problem_id, const PrimalPoint &t_solution) const
double infeasibility_l1 (unsigned int t_sub_problem_id, const PrimalPoint &t_solution) const
void detect_stagnation (bool t_feasibility_has_changed)
void detect_stagnation_due_to_rescaling ()
void restart ()
void check_feasibility ()
void check_time_limit ()
void check_outer_iteration_limit ()
void write_solution (const std::string &t_name)
void write_iteration_history (const std::string &t_name)
double get_var_result (const Var &t_var, const std::function< double(const Var &, unsigned int)> &t_function) const
void build () override
virtual void set_status (SolutionStatus t_status)
virtual void set_reason (SolutionReason t_reason)
virtual void set_best_bound (double t_value)
virtual void set_best_obj (double t_value)

Methods Documentation

◆ build()

void idol::Algorithm::build ( )
inlineoverrideprotectedinherited

Definition at line 21 of file Algorithm.h.

◆ name()

std::string idol::Optimizers::PADM::name ( ) const
inlinenodiscardoverride

Definition at line 27 of file Optimizers_PADM.h.

◆ set_best_bound()

virtual void idol::Algorithm::set_best_bound ( double t_value)
inlineprotectedvirtualinherited

Definition at line 25 of file Algorithm.h.

◆ set_best_obj()

virtual void idol::Algorithm::set_best_obj ( double t_value)
inlineprotectedvirtualinherited

Definition at line 26 of file Algorithm.h.

◆ set_reason()

virtual void idol::Algorithm::set_reason ( SolutionReason t_reason)
inlineprotectedvirtualinherited

Definition at line 24 of file Algorithm.h.

◆ set_status()

virtual void idol::Algorithm::set_status ( SolutionStatus t_status)
inlineprotectedvirtualinherited

Definition at line 23 of file Algorithm.h.