| 140 | NodesetAllocator<std::pair<double, int64_t>>>; |
| 141 | |
| 142 | struct OpenNode { |
| 143 | std::vector<HighsDomainChange> domchgstack; |
| 144 | std::vector<HighsInt> branchings; |
| 145 | std::vector<NodeSet::iterator> domchglinks; |
| 146 | double lower_bound; |
| 147 | double estimate; |
| 148 | HighsInt depth; |
| 149 | highs::RbTreeLinks<int64_t> lowerLinks; |
| 150 | highs::RbTreeLinks<int64_t> hybridEstimLinks; |
| 151 | |
| 152 | OpenNode() |
| 153 | : domchgstack(), |
| 154 | branchings(), |
| 155 | domchglinks(), |
| 156 | lower_bound(-kHighsInf), |
| 157 | estimate(-kHighsInf), |
| 158 | depth(0), |
| 159 | lowerLinks(), |
| 160 | hybridEstimLinks() {} |
| 161 | |
| 162 | OpenNode(std::vector<HighsDomainChange>&& domchgstack, |
| 163 | std::vector<HighsInt>&& branchings, double lower_bound, |
| 164 | double estimate, HighsInt depth) |
| 165 | : domchgstack(std::move(domchgstack)), |
| 166 | branchings(std::move(branchings)), |
| 167 | lower_bound(lower_bound), |
| 168 | estimate(estimate), |
| 169 | depth(depth), |
| 170 | lowerLinks(), |
| 171 | hybridEstimLinks() {} |
| 172 | |
| 173 | OpenNode& operator=(OpenNode&& other) = default; |
| 174 | OpenNode(OpenNode&&) = default; |
| 175 | |
| 176 | OpenNode& operator=(const OpenNode& other) = delete; |
| 177 | OpenNode(const OpenNode&) = delete; |
| 178 | }; |
| 179 | |
| 180 | void checkGlobalBounds(HighsInt col, double lb, double ub, double feastol, |
| 181 | HighsCDouble& treeweight); |