Skip to content

Commit 8913d97

Browse files
authored
Merge pull request #14 from scipopt/hedtke-v110
Release v1.1.0
2 parents e7c78c4 + f69a78c commit 8913d97

File tree

4 files changed

+46
-5
lines changed

4 files changed

+46
-5
lines changed

changelog.md

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
44

55
## [Unreleased] - [Doc:Unreleased]
66

7+
## [1.1.0] - 2023-10-15
8+
9+
### Changed
10+
11+
- [PR14](https://github.com/scipopt/SCIPpp/pull/14) Using SCIP 8.0.4 now.
12+
13+
### Added
14+
15+
- [PR12](https://github.com/scipopt/SCIPpp/pull/12)
16+
Expose SCIP counterparts via `Model::epsilon`, `Model::round`, and `Model::isZero`.
17+
- [PR11](https://github.com/scipopt/SCIPpp/pull/11)
18+
IO methods `Model::writeOrigProblem` to write a model to a file or standard output.
19+
20+
### Fixed
21+
22+
- [PR12](https://github.com/scipopt/SCIPpp/pull/12)
23+
Added more const-correctness
24+
725
## [1.0.2] - 2023-08-12
826

927
### Fixed
@@ -28,7 +46,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2846
Initial release
2947

3048
[Doc:Unreleased]: https://scipopt.github.io/SCIPpp/
31-
[Unreleased]: https://github.com/scipopt/SCIPpp
49+
[Unreleased]: https://github.com/scipopt/SCIPpp/compare/1.1.0...main
50+
[1.1.0]: https://github.com/scipopt/SCIPpp/releases/tag/1.1.0
3251
[1.0.2]: https://github.com/scipopt/SCIPpp/releases/tag/1.0.2
3352
[1.0.1]: https://github.com/scipopt/SCIPpp/releases/tag/1.0.1
3453
[1.0.0]: https://github.com/scipopt/SCIPpp/releases/tag/1.0.0

conanfile.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,13 @@ class ScipPlusPlus(ConanFile):
1818
homepage = "https://github.com/scipopt/SCIPpp"
1919
options = {
2020
"with_tests": [True, False],
21+
"with_utils": [True, False],
2122
"shared": [True, False],
2223
"fPIC": [True, False]
2324
}
2425
default_options = {
2526
"with_tests": False,
27+
"with_utils": False,
2628
"shared": False,
2729
"fPIC": True
2830
}
@@ -65,7 +67,7 @@ def set_version(self):
6567
try:
6668
self.version = git.run("describe --tags --dirty=-d").strip()
6769
except:
68-
self.version = "1.x.y"
70+
self.version = "1.1.0"
6971

7072
def layout(self):
7173
cmake_layout(self)
@@ -79,6 +81,7 @@ def generate(self):
7981
tc = CMakeToolchain(self)
8082
tc.variables[self.name + "_version"] = self.version
8183
tc.variables["BUILD_TESTS"] = self.options.with_tests
84+
tc.variables["BUILD_UTILS"] = self.options.with_utils
8285
tc.generate()
8386

8487
def build(self):

include/scippp/parameters.hpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4273,7 +4273,8 @@ namespace LIMITS {
42734273
constexpr Param<double> GAP { "limits/gap" };
42744274
//! solving stops, if the absolute gap = |primalbound - dualbound| is below the given value
42754275
constexpr Param<double> ABSGAP { "limits/absgap" };
4276-
//! solving stops, if the given number of solutions were found (-1: no limit)
4276+
//! solving stops, if the given number of solutions were found; this limit is first checked in presolving (-1: no
4277+
//! limit)
42774278
constexpr Param<int> SOLUTIONS { "limits/solutions" };
42784279
//! solving stops, if the given number of solution improvements were found (-1: no limit)
42794280
constexpr Param<int> BESTSOL { "limits/bestsol" };
@@ -5292,7 +5293,7 @@ namespace PROPAGATING::SYMMETRY {
52925293
constexpr Param<int> OFSYMCOMPTIMING { "propagating/symmetry/ofsymcomptiming" };
52935294
//! run orbital fixing during presolving?
52945295
constexpr Param<bool> PERFORMPRESOLVING { "propagating/symmetry/performpresolving" };
5295-
//! recompute symmetries after a restart has occured? (0 = never, 1 = always, 2 = if OF found reduction)
5296+
//! recompute symmetries after a restart has occured? (0 = never)
52965297
constexpr Param<int> RECOMPUTERESTART { "propagating/symmetry/recomputerestart" };
52975298
//! Should non-affected variables be removed from permutation to save memory?
52985299
constexpr Param<bool> COMPRESSSYMMETRIES { "propagating/symmetry/compresssymmetries" };

readme.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,12 @@ model.setObjsense(Sense::MAXIMIZE);
115115
### Accessing a Solution
116116

117117
A model can be asked for the status and the number of solutions.
118-
A variable can be asked for its value in a given solution.
118+
A variable can be asked for its value in a given solution as
119+
120+
* floating point number via `getSolVal(sol)`.
121+
* integer via `getSolValAsInt(sol)`.
122+
* long integer via `getSolValAsLongInt(sol)`, and
123+
* it can be checked for zero via `isZero(sol)`.
119124

120125
```cpp
121126
const auto& [x0, x1] = model.addVars<2>("x_");
@@ -126,6 +131,19 @@ if (model.getNSols() > 0 && model.getStatus() == SCIP_STATUS_OPTIMAL) {
126131
}
127132
```
128133

134+
### IO
135+
136+
A model can be written to file via `Model::writeOrigProblem` if a `std::filesystem::directory_entry` is given as
137+
argument. If it is just a string representing a file extension, it is written to standard output.
138+
139+
### Numerics
140+
141+
The model exposes
142+
143+
* `SCIPepsilon` via `epsilon()`,
144+
* `SCIPround` via `round(double)`, and
145+
* `SCIPisZero` via `isZero(double)`
146+
129147
### Features Not Yet Supported
130148

131149
For features not yet supported by SCIP++, one can access the underlying raw SCIP object via

0 commit comments

Comments
 (0)