forked from coin-or/Osi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
249 lines (187 loc) · 9.23 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
21/03/2023
- remove use of std::bind2nd to improve compatibility with C++17, see #177
11/01/2023
- use new XPRSgetmipentities() function from XPRESS 41
08/11/2022
- fixed that objective offset was ignored when reading from .lp file, see #248
26/08/2022
- add compatibility with Mosek 10.0.18
20/05/2022
- add compatibility with Mosek 10.0.15 (beta)
28/03/2022
- add compatibility with Mosek 10.0.12 (beta)
12/01/2021 OsiXpr
- use new XPRESS message callback functions from XPRESS 39
16/06/2020 OsiXpr
- added functionality for switching between dual and primal simplex with hints
- implemented getDualRays
- implemented getBasisStatus
20/05/2020 OsiMsk
- protect change in numInstances_ global variable by mutex if C++ 11 or higher, see #135
11/05/2020 OsiMsk
- increase maximal number of nonzeros in addCols and addRows only if necessary, see #134
24/03/2020 OsiCpx
- fixed coltype not being allocated when loading a problem via matrix
that has no rows, see #129
Mar/2020 OsiSolverInterface
- added the new conflict graph structure: attribute cgraph_ and methods getCGraph and setCGraph.
Jan/2020 Buildsystem
- Larger renovation of the build system and elimination of root directory.
As a consequence, a monolithic build of Osi, which builds Osi with
all its dependencies in one run of configure and make is no longer
possible. Dependencies should now be build and installed before
building Osi.
- Removed svn:externals. CoinUtils now needs to be build and installed
in advance.
- When using a GCC-compatible compiler, the Osi interface
functions are now declared with `visibility(default)`-attribute,
thus building Osi with `-fvisibility=hidden` still produces a
usable library.
- When using a MSVC-compatible compiler, Osi interface functions
are now declared with `dllimport`-attribute, so that a Osi C++ DLL
can be used.
- Under Windows/Msys2, DLLs are now build by default.
- Cygwin and MSys1 are no longer supported.
- pkg-config is now mandatory. On Windows, make sure to use a
pkg-config version that produces Unix-style paths.
- "Addlibs" files have been removed, pkg-config should be used instead.
- Script "compile" is now used to wrap around calls of cl/icl/ifort
and translate GCC-style compiler flags to MSVC style.
- Header files are now installed in the better named
`$prefix/include/coin-or` instead of `$prefix/include/coin`.
- The default for `--prefix` is no longer the build directory, but
the autotools-default, probably `/usr/local`.
- `--enable-debug` does not imply `--disable-shared` anymore.
- Removed `--enable-debug-osi`, use `--enable-debug` instead.
- Removed configure variables OPT/DBG_C/CXXFLAGS. Use C/CXXFLAGS instead.
- Silent build output is now enabled by default, use configure
flag `--disable-silent-rules` or call make with `V=1` to disable.
- Also for static builds, PIC objects are now generated by default,
use `--without-pic` to disable.
- The `--with-*-incdir` and `--with-*-lib` configure flags have been
replaced by corresponding `--with-*-cflags` and `--with-*-lflags`
flags. Note that the include directories need to be specified
via `-I<dir>` in `--with-*-cflags`.
09/01/2020 OsiGlpk
- updated to support current Glpk 4.65
06/08/2019 OsiGrb
- fix problem with loading a problem with ranged rows when already a problem has been loaded (#124)
06/08/2019 OsiSpx
- fixed issue with objective sense getting lost when loading new problem (#123)
10/03/2019 OsiSpx
- fixed problems with copy constructor / clone (#113)
10/03/2019 OsiMsk
- fixed problem where no Mosek output was produced on cloned/copied OsiMsk instances
- eliminated additional newline printed in Mosek output (#105)
10/03/2019 OsiCpx
- fixed OsiCpx::setRowPrice(), see also #81
22/02/2019 OsiSolverInterfaceTest
- remove nonsense test for whether a column solution exists *before* solve
23/01/2018 OsiMsk
- add compatibility with Mosek 9.0 beta
20/04/2017 OsiSpx
- add compatibility with SoPlex 3.0
31/05/2016 OsiMsk
- get it compiling with Mosek 8 beta (conic MIP only with Mosek 7, MSK_initenv() removed)
18/05/2016 OsiCpx
- switch from deprecated CPXcopymipstart to CPXaddmipstarts
10/03/2016 OsiMsk
- improved performance of frequently called checkMSKerror() and MSKassert()
functions (contributed by Geoff Leyland)
17/02/2016 OsiCpx
- fixed handling of cplex message callbacks in OsiCpx::reset()
15/02/2016 OsiCpx
- fixed OsiCpx::getRowActivity() when solved a MIP
09/06/2015 OsiSpx
- added compatibility with SoPlex 2.2
- added OsiSpx::getLpPtr()
12/06/2014 OsiSpx
- added compatibility with SoPlex 2.0 (using SoPlex legacy interface)
10/02/2014 OsiMsk
- fixed bug in OsiMsk::getPrimalRays() when number of rows < number of columns
17/01/2014 OsiGrb
- fixed bug in OsiGrb::deleteCols() where the columns types got lost
11/18/2013 OsiMsk
- changed MIP optimizer to Mosek's own conic MIP optimizer, if Mosek version >= 7
09/11/2013 OsiCpx
- fixed getIterationCount() for MIPs (use CPXgetmipitcnt instead of CPXgetitcnt)
08/30/2013 OsiGrb
- fixed bug in getObjectiveCoefficients and getBasisStatus for LPs without ranged rows
08/23/2013 OsiGrb
- fixed bug in deleting row or column names when deleting several rows/columns at once
04/02/2013 OsiMsk
- update to work with Mosek 7, too (contributed by Erling D. Andersen)
02/02/2013 OsiUnitTest
- replace macro for asserting a condition and collecting its outcome by a function
to improve compilation speed (contributed by Victor Zverovich)
29/11/2012 OsiMsk
- added getRescode() to get result code of last MSK_optimize call
21/11/2012 OsiCpx
- calling setWarmStart with a too small basis now disables the use of an
advanced basis for the next LP solve
20/11/2012 OsiGlpk, OsiCpx
- workaround problem in Glpk with empty problem name (patch by Bertrand Le Cun)
- not using CPXsolninfo for MIPs with CPLEX < 11.0 anymore
25/07/2012 OsiGrb
- fix mipstart option in OsiGrb: pass only values for discrete variables to Gurobi
26/11/2011 OsiGrb
- add implementation of OsiGrb::applyCuts that batches the row cuts before transfering them to Gurobi
12/11/2011 OsiSpx
- add resolve with cleared basis if solve fails with exception (which may be due to a singular startbasis),
needs SoPlex >= 1.5.0.7
03/09/2011 OsiMsk
- fix bug in one loadProblem method when NULL was passed as row range array
30/07/2011 Osi
- fix writing LP files with names: the objective name was not copied, leading to a segfault in CoinLpIO
30/07/2011 OsiSpx, OsiGlpk
- allow NULLs for row* arguments in some loadProblem call
28/07/2011 OsiSpx
- invert dual ray in getDualRays to match Osi definition when testing infeasibility proof
12/07/2011 MSVisualStudio
- updated MSVC++ v10 project files to catch up with buildsystem changes
25/06/2011 Osi
- add generic implementations of is{Primal,Dual}ObjectiveLimitReached
25/06/2011 OsiCommonTest
- add unittest command line parameter -onerror to specify behaviour in case of a failing test
23/06/2011 OsiMsk
- add isLicenseError() to check whether last solve was abandoned due to a mosek licensing issue
22/06/2011 OsiCpx
- fix handling of primal/dual objective limit so it correctly takes objoffset into account
- preserve objective sense also when empty model is loaded
- make sure getWarmStart returns proper atlower/atupper status for inequalities
13/06/2011 OsiCommonTest, unittest
- removed now redundant counting of unittest failures, so test functions now return void
03/06/2011 OsiMsk
- fix caching flags (bitwise negation is ~, not !)
- free all cached data when loading problem
- fix getDualRay and getPrimalRay so they should return a ray now
- fixed various further issues in unittest, so OsiMsk passes it now
15/05/2011 OsiXpr
- added option (mipstart) to pass column solution as initial solution to a MIP solve
30/04/2011 OsiCpx, OsiGrb
- added option (mipstart) to pass column solution as initial solution to a MIP solve
29/04/2011 OsiMsk
- fix loss of Mosek task when copying OsiMsk
25/04/2011 OsiSpx
- add methods to set/get/check timelimit
- fix bug in solve methods where cached result vectors where not cleared
- fix setWarmStart to swap status for slack variables as in getWarmStart
- fix caching flags (bitwise negation is ~, not !)
- redirect set/get name discipline to base class
- fix primal/dual objective limit: take objoffset into account, correct check if limit changed after solve
- getColSolution and getObjValue now return lower bound and value in lower bound before solve
01/04/2011 OsiGlpk
- if initial basis is invalid or singular in initialSolve or resolve,
construct advanced basis and try again
31/03/2011 OsiGrb
- fixed handling of free variables in setWarmStart
30/03/2011 OsiGrb
- fixed memory leak in loadProblem
21/03/2011 OsiCommonTest, unittest
- add classes TestOutcome{s} to collect outcome of unittests
- add macros to simplify asserts and exception catching and storing results as TestOutcome
- change general and OsiGlpk tests to use new macros
- return number of unexpected errors as return code of unittest
- add parameter -verbosity to unittest to specify amount of output of unittests
- a bit cleanup
21/03/2011 started CHANGELOG