Loading...
Searching...
No Matches
AbstractPresolver.h
1//
2// Created by Henri on 02/04/2026.
3//
4
5#ifndef IDOL_ABSTRACTPRESOLVER_H
6#define IDOL_ABSTRACTPRESOLVER_H
7#include "idol/mixed-integer/modeling/expressions/LinExpr.h"
8
9namespace idol {
10 namespace Presolvers {
12 }
13 class Model;
14}
15
17protected:
18 static double get_min_activity(const Model& t_model, const LinExpr<Var>& t_expr);
19 static double get_max_activity(const Model& t_model, const LinExpr<Var>& t_expr);
20public:
21 virtual ~AbstractPresolver() = default;
22
23 virtual bool execute(Model& t_model) = 0;
24 virtual void log_after_termination() const {}
25 [[nodiscard]] virtual AbstractPresolver* clone() const = 0;
26};
27
28#endif //IDOL_ABSTRACTPRESOLVER_H