File tree Expand file tree Collapse file tree 4 files changed +46
-5
lines changed Expand file tree Collapse file tree 4 files changed +46
-5
lines changed Original file line number Diff line number Diff line change @@ -4,6 +4,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4
4
5
5
## [ Unreleased] - [ Doc: Unreleased ]
6
6
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
+
7
25
## [ 1.0.2] - 2023-08-12
8
26
9
27
### Fixed
@@ -28,7 +46,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
28
46
Initial release
29
47
30
48
[ 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
32
51
[ 1.0.2 ] : https://github.com/scipopt/SCIPpp/releases/tag/1.0.2
33
52
[ 1.0.1 ] : https://github.com/scipopt/SCIPpp/releases/tag/1.0.1
34
53
[ 1.0.0 ] : https://github.com/scipopt/SCIPpp/releases/tag/1.0.0
Original file line number Diff line number Diff line change @@ -18,11 +18,13 @@ class ScipPlusPlus(ConanFile):
18
18
homepage = "https://github.com/scipopt/SCIPpp"
19
19
options = {
20
20
"with_tests" : [True , False ],
21
+ "with_utils" : [True , False ],
21
22
"shared" : [True , False ],
22
23
"fPIC" : [True , False ]
23
24
}
24
25
default_options = {
25
26
"with_tests" : False ,
27
+ "with_utils" : False ,
26
28
"shared" : False ,
27
29
"fPIC" : True
28
30
}
@@ -65,7 +67,7 @@ def set_version(self):
65
67
try :
66
68
self .version = git .run ("describe --tags --dirty=-d" ).strip ()
67
69
except :
68
- self .version = "1.x.y "
70
+ self .version = "1.1.0 "
69
71
70
72
def layout (self ):
71
73
cmake_layout (self )
@@ -79,6 +81,7 @@ def generate(self):
79
81
tc = CMakeToolchain (self )
80
82
tc .variables [self .name + "_version" ] = self .version
81
83
tc .variables ["BUILD_TESTS" ] = self .options .with_tests
84
+ tc .variables ["BUILD_UTILS" ] = self .options .with_utils
82
85
tc .generate ()
83
86
84
87
def build (self ):
Original file line number Diff line number Diff line change @@ -4273,7 +4273,8 @@ namespace LIMITS {
4273
4273
constexpr Param<double > GAP { " limits/gap" };
4274
4274
// ! solving stops, if the absolute gap = |primalbound - dualbound| is below the given value
4275
4275
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)
4277
4278
constexpr Param<int > SOLUTIONS { " limits/solutions" };
4278
4279
// ! solving stops, if the given number of solution improvements were found (-1: no limit)
4279
4280
constexpr Param<int > BESTSOL { " limits/bestsol" };
@@ -5292,7 +5293,7 @@ namespace PROPAGATING::SYMMETRY {
5292
5293
constexpr Param<int > OFSYMCOMPTIMING { " propagating/symmetry/ofsymcomptiming" };
5293
5294
// ! run orbital fixing during presolving?
5294
5295
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)
5296
5297
constexpr Param<int > RECOMPUTERESTART { " propagating/symmetry/recomputerestart" };
5297
5298
// ! Should non-affected variables be removed from permutation to save memory?
5298
5299
constexpr Param<bool > COMPRESSSYMMETRIES { " propagating/symmetry/compresssymmetries" };
Original file line number Diff line number Diff line change @@ -115,7 +115,12 @@ model.setObjsense(Sense::MAXIMIZE);
115
115
### Accessing a Solution
116
116
117
117
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) ` .
119
124
120
125
``` cpp
121
126
const auto & [x0, x1] = model.addVars<2 >(" x_" );
@@ -126,6 +131,19 @@ if (model.getNSols() > 0 && model.getStatus() == SCIP_STATUS_OPTIMAL) {
126
131
}
127
132
```
128
133
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
+
129
147
### Features Not Yet Supported
130
148
131
149
For features not yet supported by SCIP++, one can access the underlying raw SCIP object via
You can’t perform that action at this time.
0 commit comments