27 PADM(
const PADM& t_src);
28 PADM(PADM&&) =
default;
30 PADM& operator=(
const PADM&) =
delete;
31 PADM& operator=(PADM&&) =
default;
35 PADM& with_sub_problem_spec(
unsigned int t_id,
ADM::SubProblem t_sub_problem);
37 PADM& with_rescaling_threshold(
double t_threshold);
39 PADM& with_penalty_update(
const PenaltyUpdate& t_penalty_update);
41 PADM& with_feasible_solution_status(SolutionStatus t_status);
50 std::optional<Annotation<double>> m_penalized_constraints;
51 std::optional<ADM::SubProblem> m_default_sub_problem_spec;
52 Map<unsigned int, ADM::SubProblem> m_sub_problem_specs;
53 std::optional<double> m_rescaling;
54 std::unique_ptr<PenaltyUpdate> m_penalty_update;
55 std::optional<SolutionStatus> m_feasible_solution_status;
56 std::optional<Plots::Manager*> m_plot_manager;
58 [[nodiscard]] std::vector<ADM::SubProblem> create_sub_problem_specs(
const Model& t_model,
const ADM::Formulation& t_formulation)
const;