Loading...
Searching...
No Matches
Presolve.h
1//
2// Created by Henri on 02/04/2026.
3//
4
5#ifndef IDOL_PRESOLVER_H
6#define IDOL_PRESOLVER_H
7
8#include "idol/mixed-integer/optimizers/presolve/AbstractPresolver.h"
9
10#include <vector>
11#include <memory>
12
13namespace idol {
14 class Presolve;
15 class Model;
16}
17
19 const unsigned int m_n_max_passes = 200;
20 std::vector<std::unique_ptr<Presolvers::AbstractPresolver>> m_presolvers;
21public:
22 void execute(Model& t_model);
23
24 void add(const Presolvers::AbstractPresolver& t_presolver);
25 [[nodiscard]] unsigned int size() const { return m_presolvers.size(); }
26 [[nodiscard]] bool empty() const { return m_presolvers.empty(); }
27};
28
29#endif //IDOL_PRESOLVER_H