A C++ Framework for Optimization
Loading...
Searching...
No Matches
Formulation.h
1//
2// Created by Henri on 03/02/2026.
3//
4
5#ifndef IDOL_ROBUST_NESTEDBRANCHANDCUT_FORMULATION_H
6#define IDOL_ROBUST_NESTEDBRANCHANDCUT_FORMULATION_H
7#include "idol/bilevel/modeling/Description.h"
8#include "idol/mixed-integer/modeling/models/Model.h"
9
10namespace idol::Robust::BBBB {
11 class Formulation;
12}
13
14namespace idol::Optimizers::Robust {
15 class BilevelBasedBranchAndBound;
16}
17
20
21 Model m_model;
22 std::vector<Var> m_first_stage_decisions;
23 idol::Bilevel::Description m_bilevel_description;
24protected:
25 void build_model();
26public:
28
29 Model& model() { return m_model; }
30 const Model& model() const { return m_model; }
31
32 const idol::Bilevel::Description& bilevel_description() const { return m_bilevel_description; }
33
34 auto first_stage_decisions()const { return ConstIteratorForward(m_first_stage_decisions); }
35};
36
37#endif //IDOL_ROBUST_NESTEDBRANCHANDCUT_FORMULATION_H