forked from coin-or/Ipopt
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
652 lines (584 loc) · 34.2 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
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
Here we list changes of Ipopt since the release of version 3.0.0.
More detailed information about incremental changes can be found in the
commit history.
in preparation: 3.13
This major release comes with a larger renovation of the build
system and a changed directory structure (eliminated top directory),
which is the result of a long and still on-going effort to use
recent autotools versions for various COIN-OR projects, reduce
future maintenance efforts, and adapting behaviors of standard
autotools-based projects.
As a consequence, a monolithic build of Ipopt, which builds Ipopt
with all its dependencies in one run of configure and make is no
longer possible. Dependencies should now be build and installed
before building Ipopt.
Additionally, support for some outdated versions of dependencies
and unmaintained components of Ipopt have been dropped and some
improvements that may require changes on the users side have been
applied.
A more detailed, probably incomplete, list of changes follows:
- Removed git submodules. Dependencies (HSL, Mumps, ASL, etc) now
need to be build and installed in advance, either manually or
by using coinbrew.
- Dropped support for HSL < 2013.
- Dropped support for MA28 in the linear solver loader.
- Dropped support for Pardiso < 4.0 from pardiso-project.org.
- Added support for Mumps 5.2.x, though initial experiments on
CUTEst indicated that, on average, performance is worse than
when using Mumps 4.10.0.
- Dropped CUTEr interface, the successor CUTEst includes an
interface to Ipopt.
- Dropped Matlab interface as it is unmaintained and it was
reported that it stopped functioning.
Use https://github.com/ebertolazzi/mexIPOPT instead.
- Dropped MSVS project files as unmaintained and not functioning
with current Ipopt anymore.
- Integrated Java interface into the main Ipopt library, that is,
it is handled equivalently to the C and Fortran interfaces:
- The source moved into src/Interfaces.
- The JNI functions are now included in the main Ipopt library,
thus an extra jipopt library is no longer build or necessary.
- The Java class and org.coinor.ipopt.jar package are build and
installed as part of the main Ipopt build.
- The examples moved into examples/*_java.
- A Java interface test is executed by make test.
- To build javadoc, run make javadoc in the main build directory.
- The configure flag --disable-java can be used to disable the
check for Java and build of the Java interface.
- DLLPATH and DLLNAME have been removed from the Ipopt class and
constructors that works without arguments and with only one
argument (specifying the Ipopt library namestem) have been added.
- Method Ipopt::finalize has been marked as deprecated and will
be removed in some future Ipopt version. Users must call
dispose() explicitly.
- Integrated sIpopt into the main Ipopt build, that is, it is now
build together with Ipopt, but installed as separate library
and executable. Use --disable-sipopt to disable building sIpopt.
- IPOPT_THREAD_LOCAL now uses C++11's thread_local keyword if C++11
is available.
- When using a GCC-compatible compiler, Ipopt and sIpopt interface
functions are now declared with visibility(default)-attribute,
thus building Ipopt with -fvisibility=hidden still produces a
usable library.
- When using a MSVC-compatible compiler, Ipopt and sIpopt interface
functions are now declared with dllimport-attribute, so that an
Ipopt C++ DLL can be used.
- Under Windows/Msys2, DLLs are now build by default.
- Cygwin and MSys1 are not supported.
- pkg-config is now mandatory to use dependencies like ASL or HSL.
On Windows, make sure to use a pkg-config version that produces
Unix-style paths.
- Script "compile" is now used to wrap around calls of cl/icl/ifort
and translate GCC-style compiler flags to MSVC style.
- "Addlibs" files have been removed, pkg-config should be used instead.
- 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.
- The check for a Fortran compiler can be disabled via --disable-f77
and Ipopt can easier be build without a Fortran compiler.
- Lapack is no longer optional, but required. The separate check
for Blas and the --with-blas flags have been removed.
- --enable-debug does not imply --disable-shared anymore.
- Removed --enable-debug-ipopt, use --enable-debug instead.
- Removed configure variables ADD/OPT/DBG_C/CXX/F77FLAGS. Use
C/CXX/F77FLAGS 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.
- Fixed handling of ma77_default_control in LSL_setMA77().
- Fixed calculation of quality function when setting option
quality_function_centrality to reciprocal.
- Fixed compiler warnings, in particular when using -Wunused-parameter.
- Changed default for ma97_print_level to -1. This avoids messages
about numerical singular systems written to stdout by default.
2019-04-08 releases/3.12.13
- fixed Pardiso settings when using Pardiso from Pardiso project
website (by Olaf Schenk): the new settings should provide much
better performance; the default for option pardiso_order changed
from five to metis
- changed distinction of MKL and Basel Pardiso in configure: to
use MKL Pardiso, only specify MKL for Blas; to use Basel Pardiso,
use --with-pardiso
2018-11-17 releases/3.12.12
- allow for --without-matlab-home to disable check for Matlab [r2748]
- add dppsv to v8-ifort [r2746]
- disable error in LibraryHandler.c if snprintf detection failed [r2751]
2018-09-16 releases/3.12.11
- fill Mumps struct with zeros when allocating in Mumps interface [r2724]
- minor fix in build-system of ThirdParty/ASL
2018-06-02 releases/3.12.10
- fixed setting for parallel solve when using MKL Pardiso
(by t1393988511) [r2711]: parallel solve was disabled (which
is not the default); note, that the setting for parallel
factorization was not affected
- fixed invalid read in AMPL interface for problems without
objective function [r2715, #305]
- updated ThirdParty/ASL to retrieve updated ASL (20180528) [#305]
- name JIpopt library libjipopt.dylib on Mac OS X [r2718, #275]
2018-01-15 releases/3.12.9
- fixed memory leak in MA86 interface (by mhahn) [r2700,#283]
- fixed handling of time limit when reoptimizing: CPU time spend
was accumulated when reoptimizing, while it should have been
reset for each solve (by paul-scott) [r2702,r2703]
- fixed sign in Jacobian finite-difference approximation when point
was close to variable upper bounds (by Enrico Bertolazzi) [r2704]
2017-06-12 releases/3.12.8
- add define for FORTRAN_INTEGER_TYPE to config_ipopt_default.h
- IpoptApplication::RethrowNonIpoptException() now returns whether
non-ipopt exceptions were rethrown before the method was called.
2017-02-25 releases/3.12.7
- removed compiler flag -pedantic-errors to avoid problems with some
configure tests when using recent GCC versions
- fixed rare bug in handling variable/constraint names in AmplTNLP
(by G. Hackebeil) [r2673]
- the get.Mumps script in ThirdParty/Mumps now renames libseq/mpi.h
to libseq/mumps_mpi.h to avoid conflicts when building in a MPI
environment (by T. Ralphs); note that if updating an existing
checkout/download of Ipopt, you may have to rerun get.Mumps
2016-07-20 releases/3.12.6
- better support for custom algorithm development [r2659]
(by Gabriel Hackebeil) https://github.com/coin-or/Ipopt/pull/5:
"Reorganization of the AlgorithmBuilder class to allow easier
customization of the Ipopt algorithm. In particular, we wanted to
make use of the code that creates the SymLinearSolver object to
implement our own SymLinearSolver without copy-pasting everything
in AlgorithmBuilder.
AlgorithmBuilder::BuildBasicAlgorithm now consists of 8 method calls
that build the core components passed into the arguments of the
IpoptAlgorithm class. These calls are ordered based on any dependencies
they might have. In addition, all code for creating the PDSystemSolver,
AugSystemSolver, and SymLinearSolver has been moved into separate factory
methods.
Also, included is a change to install a few more header files with Ipopt.
Some of these are required to subclass AlgorithmBuilder, and the others
are simply some matrix types that we require."
- extend build system to work without Fortran compiler [r2660,r2661]
If no Fortran compiler is available (F77=unavailable), then
the build system checks for functions in Blas, Lapack, and
Pardiso via C linkage. This seems to work when using the Intel MKL,
thus allowing to build Ipopt with C/C++ compilers and MKL only.
The linear solver loader and the CuteR interface are disabled when
no Fortran compiler is available. A user may have to adjust the
definition of F77_FUNC in Ipopt/src/Common/IpoptConfig.h.
2016-04-30 releases/3.12.5
- changed fptr from long to void*: the Fortran side needs to
make sure that it uses a big enough integer type to store a
C pointer, thus void* can be used on the C side [r2599]
- added additional second-order-correction method, which can be
selected by setting the new option soc_method to 1 (by Wei Wan)
[r2606, r2607]
- added parameter allow_clobber with default value false to
IpoptApplication::Initialize and OptionsList::ReadFromStream
2015-08-09 releases/3.12.4
- option to use regularized Hessian when doing a curvature test
without inertia information (neg_curv_test_tol > 0), new
option neg_curv_test_reg to switch back to original behavior
(by N.-Y. Chiang and V. Zavala Tejeda) [r2579]
- sIpopt: Added access to sensitivity directional derivative
vector (ds/dp*(p-p0) Eq. 14 sIpopt implementation paper). Also,
added an option to compute the sensitivity matrix and provide
access to it. Finally, added an example that shows how to
access the new information. (by R. Lopez-Negrete)
- use workaround for failing check for random number generator
with any gcc 4.8.x (x >= 2)
2015-04-15 releases/3.12.3 and releases/3.11.11
- fixed bug in MA97 interface that lead to conversion issues
(by J. Hogg) [r2566, #260]
2015-04-04 releases/3.12.2
- revised integration of doxygen documentation into build system
(by T. Ralphs)
2015-02-13 releases/3.12.1
- fixes to build system for dependency linking and library versioning
- Ipopt will now report an NLP with inconsistent variable bounds
or inconsistent constraints sides as infeasible instead of
throwing an invalid TNLP exception (by T. Kelman) [r2548]
2015-01-23 releases/3.12.0
- Library dependencies are now recorded in shared library builds,
which is intended to simplify linking against the Ipopt library.
However, the pkg-config and ipopt_addlibs files do not reflect
this change yet (it is rather experimental, imho). To restore
the previous behavior, use --disable-dependency-linking as
configure option. In case of problems, contact Ted Ralphs.
- If linking against Intel MKL for Blas/lapack, use of Pardiso
from MKL is now automatically enabled. Note, that this will
change the default solver on Ipopt builds without any of the
linear solvers MA27, MA57, MA97, and MA86 (these take preference
over Pardiso). [#216]
- dropped support for old HSL sources (<2013; ThirdParty/HSLold)
- updated ASL sources, now downloaded from AMPL-MP (github)
- some internal changes to data structures (improved use of compound
component spaces) and addition of IpLapackDppsv (by Gabe Hackebeil)
2015-01-18 releases/3.11.10
- fix a memory allocation in Java interface in cases where jint
has a different size than int [r2513]
- the buildsystem now tries the Accelerate framework instead of
vecLib for finding Blas/Lapack on MacOS X
2014-08-16 releases/3.11.9
- fix compilation issue of Java interface on systems where Index
and jint have different size [r2498, #241]
- work around failing check for random number generator with gcc
4.8.3 [r2495, r2496]
- readded IpTaggedObject.cpp to list of sources to compile in
MSVS v8-ifort project file [r2492]
- work around missing support for thread-local storage with gcc < 4.5
on MacOS X [r2491, #243]
- fix call to MKL Pardiso init function [r2489]
- speed up Triplet to CSR converter [r2487, #234]
- fixed a bug in equilibration scaling where average values were
computed incorrectly (by V. Zverovich) [r2483]
2014-04-08 releases/3.11.8
- fixed a bug, introduced with Ipopt 3.11.0, where the tag in the
Ipopt's caching mechanism was not unique over time, which lead
ot failures of Ipopt that were difficult to debug or recognize
(e.g., Ipopt may have stopped with an restoration failure for
instances that solved fine with Ipopt 3.10) [r2472, r2473]
I'm very thankful to Gabriel Hackebeil and Kurt Majewski for
their debugging effort on this issue.
- building Mumps with pthreads is now disabled by default [#229]
- fixed setting of LD on Windows (now set to link only iff using
MS/Intel compilers) [#230]
- fixed download link for Gnumex [r2471]
- for some messages about too-few-degrees-of-freedom and restoration
failure, the message level changed from error to strong-warning
[r2460, r2469]
- revised calls to MPI_Init and MPI_Finalize in Mumps interface [r2467]
(MPI_Init is now called only if function MPI_Initialized is available
and MPI has not been initialized already; MPI_Finalize is only called
if Ipopt also called MPI_Init; ...)
2013-12-18 releases/3.11.7
- adapted PARDISO parameters when using MKL PARDISO to be close
to using Basel PARDISO
- added options pardiso_max_iterative_refinement_steps and
pardiso_order; the former defaults to 1 in case of MKL PARDISO,
which may help on instances that otherwise fail due to numerical issues
- removed duplicate code in IpQualityFunctionMuOracle.cpp [#225, r2445]
- fixed bug in triplet to csr converter [#226, r2446]
- minor changes in buildsystem
2013-11-16 releases/3.11.6
- updates to Matlab Interface build system (by T. Kelman)
- fix to updates of R Interface [r2416, #223]
- fixed SHAREDLIBEXT in v8-ifort's config.h [r2426, #224]
- minor fixes to the buildsystem
2013-10-26 releases/3.11.5
- added method IpoptApplication::RethrowNonIpoptException() to enable
rethrowing of non-ipopt and non-bad_alloc exceptions catched in
the *Optimize() and Initialization() methods; default is still to
return with NonIpopt_Exception_Thrown status
- minor fixes to the buildsystem [#215, #222]
2013-09-12 releases/3.11.4
- hopefully fixed non-working linear solver loader in DLLs build with
MSVS/v8-ifort project files [r2365]
- allow MC19 to be loaded via linear solver loader (by J. Currie) [r2366]
- fixed new point flag when running dependendency detector [r2368]
- experimental: adapt Pardiso interface to work with MKL Pardiso
(by J. Currie, T. Kelman) [r2369, #216]:
- in a few tests it has been found that Pardiso from Intel MKL nowadays
seems to work fine with Ipopt
- to use Intel MKL with Ipopt 3.11, one has to specify the MKL libs via
--with-pardiso and add -DHAVE_PARDISO_MKL -DHAVE_PARDISO_PARALLEL
to the compiler flags
- note that this is still an experimental feature (and thus not enabled
by default)
- updated Ipopt/R interface to version 0.8.4 [r2373]
- additional variables have been included in the object returned from ipoptr:
z_L : final values for the lower bound multipliers
z_U : final values for the upper bound multipliers
constraints : final values for the constraints
lambda : final values for the Lagrange multipliers
- removed ipoptr_environment as argument in ipoptr (see also r2372)
- fixed bug in penalty term for centrality in quality function (not used by
default) [#219, r2374]
- minor bugfixes in AMPL interface, debug print statements, and compound matrix
(by G. Hackebeil) [#218, r2371, r2377, r2378, r2379]
- download scripts for ASL, Blas, and Lapack now first try to download tarball
copies from the COIN-OR server
2013-08-08 releases/3.11.3
- get.* scripts for ThirdParty/{ASL,Blas,Lapack} now work around broken
ftp access to www.netlib.org.
2013-07-01 releases/3.11.2
- changed default for option option_file_name to ipopt.opt; specifying an
empty string for this option now disables reading of an option file [r2339]
- missing initial values are now set to 0.0, projected onto variable bounds,
in AMPL interface [r2340, #205]
- fixed missing variable initialization in MA97 interface [r2341, #206]
2013-06-14 releases/3.11.1
- the setup for the v8-ifort MSVS project changed to use dynamic runtime
DLLs instead of static linking, which caused crashes in debug mode
(by M. Roelofs) [r2301]
- fixed memory leaks in Java Interface (by javier) [#200, r2312]
- updates and fixes to MA77 and MA87 interfaces, adding support of
HSL 2013 codes (by J. Hogg);
HSL 2012 still supported when compiled with Ipopt, but the linear solver
loader to dynamically load a HSL library at runtime now assumes HSL 2013
- added option ma97_solve_blas3 (by J. Hogg) [r2329]
- changed default for option ma27_meminc_factor from 10.0 to 2.0 [r2330]
- fixed bug in ipopt_auxdata of MATLAB Interface related to iterfunc [r2325]
2013-05-07 releases/3.11.0
- update and extension of Ipopt documentation
- updated build of doxygen documentation to comply with other COIN-OR projects
- localized global variables in TaggedObject and RegisteredOption,
so that Ipopt should now be threadsafe as long as Ipopt objects
(esp. SmartPtr's) are not shared between threads and a threadsafe
linear solver is used (e.g., MA27) [#167]
- no more need for whitespace character at end of options file
- added options print_frequency_iter and print_frequency_time to regulate
which iteration summary lines should be printed [#161]
- function evaluation timings are now available in OrigIpoptNLP [#86]
- some fixes to uncommon issues with the Ipopt SmartPtr [#162]
- new build system for Harwell codes (ThirdParty/HSL), which requires
the coin-hsl archives from http://www.hsl.rl.ac.uk/ipopt/;
previously downloaded HSL sources can still be used by placing them
into ThirdParty/HSLold, but this option may be removed in a future
Ipopt version
- new interfaces for Harwell codes HSL_MA77, HSL_MA86, and HSL_MA97;
see http://www.hsl.rl.ac.uk/ipopt/ about help on when to use which solver;
especially MA57 and HSL_MA97 should be considered as replacement for MA27;
however, MA27 is still the default for now
- changed default of ma57_automatic_scaling to no (faster in general,
but for higher reliability, you may want to set this option to yes)
- major improvements for building the MATLAB interface (see documentation)
- MATLAB interface now returns number of function evaluations, too
- the MA57 interface can now be used with the MA57 library that comes with
MATLAB (configure option --enable-matlab-ma57; cannot use Metis)
- auxdata is now handled by a wrapper function ipopt_auxdata.m instead
of internally within the mex code (replace Matlab call to ipopt with
ipopt_auxdata if using auxiliary data in any callbacks) [r2282]
- exposed more intermediate Ipopt information to iterfunc callback [r2283]
- fixes to JIpopt buildsystem (now may work on windows and uses libtool)
- JIpopt now reads options file ipopt.opt by default, if present
- removed predefined KEY_ strings in JIpopt
- renamed API functions that retrieve solution values in JIpopt
- simplified installation of R interface
2013-05-05 releases/3.10.4
- fixed sign of dual values in AMPL solution again (with help of Gabe)
[r2169, r2170, r2184, #183]
- fixed bugs with reoptimizing a TNLP with all variables fixed [r2172, r2173, #179]
- fixed more issues with sparse data structures and non-double numbers
in Matlab interface (by T. Kelman) [r2191]
- added missing final int for Ipopt return code Maximum_CpuTime_Exceeded
in Java interface [r2216]
- fixed bug when trying to warmstart Ipopt in Java interface [r2253]
- fixed wrong use of SmartPtr's in Java interface [r2255, r2263]
- fixed bug in returning final solution in Java interface [r2258]
- included patch in ThirdParty/Mumps to work around bugs in Mumps
matrix ordering routines AMF and QAMD (now give preference to AMD and METIS)
2012-11-19 releases/3.10.3
- minor fixes in MA86 interface (by Jonathan Hogg) [r2069, r2086]
- fix in IpTripletToCSRConverter for CSR forms with
extra entries (by Jonathan Hogg) [r2087]
- workaround problems with MacOSX-Lion's blas library
(by Frederic Hetch) [r2102, #181]
- the C interface now catches also Ipopt exceptions thrown
within the OptimizeTNLP call and returns Ipopt::Unrecoverable_Exception
as status [r2094, #144]
- fixed segmentation fault in adaptive barrier parameter update rule
when using the mehrotra option on unconstrained problems [r2114, #114]
- fixed segmentation fault in case no iterate is available in case of
catastrophic failure in restoration phase [r2115]
- fixed default for mumps_dep_tol to work with current Mumps versions [r2116]
- fixed sign of dual values in AMPL solution [r2123, #183]
- fixed issue with sparse gradients in Matlab interface
(by T. Kelman) [r2133, #187]
- sIPOPT (by H. Pirnay):
- starting values in C++ version of parametric example now
match AMPL version [r2098]
- numerical values in parametric example now match publication [r2099]
- added options n_sens_steps and sens_boundcheck as AMPL options [r2099]
- any non-zero suffix value is now accepted for sens_init_constr [r2100]
- fix typo in AMPL interface (by Weifeng Chen) [r2110]
- fix bug when compiling without AMPL interface [r2113]
- build system:
- updated instruction on using nowadays HSL sources (by T. Kelman)
- fixed issue with libdir being <prefix>/lib64
- other minor fixes
2012-02-12 releases/3.10.2
- updates to HSL interface (by Jonathan Hogg):
- MC68 can now be loaded dynamically, too
- MA86 exploits built-in scaling
- MA86 can choose best ordering from AMD and Metis
- fix for return code of MA86 for singular matrices
- corrected computation of Upsilon (norm of step SQUARED)
- updates to MSVS v8-ifort project files and addition of vc10
project files (using vc8-generated IpoptFSS.dll) (by Marcel Roelofs)
- minor bugfixes, include updates in BuildTools
2011-09-20 releases/3.10.1
- include updates in BuildTools, including new ThirdParty/Metis
(fix for URL to download Metis 4.0.3 release)
- linear solver loader prints error code when failing to load
library under Windows
- message on failure when reallocating memory in Mumps now includes
size of memory that was tried to be allocated
- added missing include of cstdio/stdio.h to IpJournalist.hpp
- minor fixes to build system
2011-06-20 releases/3.10.0
- move to new COIN-OR configuration and installation convention
- primal infeasibility output is now true infeasibility in original
problem formulation
2011-04-07 releases/3.9.3
- include updates in BuildTools, including new ThirdParty/Metis
(required to work with current metis release)
2010-12-22 releases/3.9.2
- converted from Common Public License to Eclipse Public License
- some bugfixes from BuildTools
2010-11-26 releases/3.9.1
- improved Hessian update for restoration phase
- added intermediate callback feature to C and Fortran interface
2010-11-05 releases/3.9.0
- switching to new BuildTools system
- added R interface (contributed by Jelmer Ypma)
- updates in AsNMPC (by Hans Pirnay)
2010-06-29 releases/3.8.3
- restated SolveStatistics::TotalCPUTime method for backward
compatibility
2010-06-16 releases/3.8.2
- uses MUMPS version 4.9 and Lapack version 3.2.1
- added AsNMPC contribution made by Hans Pirnay
- enhanced MA57 options
- several bug fixes and minor additions
2009-10-30 releases/3.8.1
- Bugfix in NLP function evaluation timing measurement. The
time for the objective function gradient had been forgotten.
2009-10-29 releases/3.8.0
- Added MSVC solution with Intel Fortran compiler to generate DLLs
(contributed by Marcel Roelofs). To make this work, a lot of methods
in exported headers have been made virtual
- changed default convergence tolerance in restoration phase (now same
as regular tolerance)
- output is flushed after each iteration
2009-10-06 releases/3.7.1
- bugfix for square problems
- correct timinig information (obj gradient was forgotten)
- flush output buffer after each iteration
- first code for iterative WSMP version (experimental and undocumented)
2009-07-16 releases/3.7.0
- a number of fixes (including those from 2009 COIN Bug Squashing
Party)
- changes in some exposed header files to provide access to internal
data structures for specific applications
2009-05-01 releases/3.6.1
- minor corrections in tutorial files
2009-04-29 releases/3.6.0
- new Matlab interface
- added new option to limit cpu time (max_cpu_time)
- added ThirdParty directory for Metis to be used with MUMPS or MA57
- updated CUTEr Makefile to make it work with CUTEr2
- added files for a tutorial (including coding exercise)
2009-01-13 releases/3.5.5
- minor fixes regarding compilation
- undocumented version of inexact method
2008-09-29 releases/3.5.4
- changed to MUMPS version 4.8.3 in externals (Mumps developers
seem to have removed 4.8.1).
2008-09-19 releases/3.5.3
- changed back to MUMPS version 4.8.1 since there seem to be issues
on Windows
2008-09-18 releases/3.5.2
- changed to latest version of MUMPS (4.8.2)
- some bugfixes (linear algebra objects, automatic problem scaling)
- made sure the subversion revision number is correct in all files
- allowed general additional data and cq in IpData and IpCq
2008-08-26 releases/3.5.1
- changed to latest version of MUMPS (4.8.1)
2008-08-25 releases/3.5.0
- added ComputeRowAMax and ComputeColAMax methods to Matrix base class
- changed externals for MUMPS to stable/1.1
- call finalize solution in more failure cases
(this means that AMPL writes .sol file in more situations)
- added IpTNLPReducer as simple way to exclude constraints from problem
- several fixes, also from COIN Bug Squashing Party 2008
2008-07-18 releases/3.4.2
- some bug fixes
- added wallclock time routine
- penalty function version does not longer crash if it
wants to go to restoration phase (not that this really helps
converence though)
2008-05-30 releases/3.4.1
- some bug fixes
- deleted v9 MSVC files again (since v8 works fine for v9)
- print Ipopt version in default print level
- added option that allows to change name of options file
(option_file_name)
2008-04-25 releases/3.4.0
- added support to dynamically load HSL or Pardiso:
If Ipopt has been compiled without some HSL or Pardiso solver,
it can now load those solvers from a shared library at runtime
without recompilation. This will make ditribution of binaries
easier. Does not work on all platforms yet.
- several bugfixes
- ensured compilation of MSVS project files (v8 and v9)
- new special return code for square problems
(Feasible_Point_Found returned if dual inf not small)
- new initialization option for bound multipliers
(see option bound_mult_init_method)
- added simple penalty function line search option
(line_search_method=penalty) - not guaranteed to converge, see
Ipopt implementation paper (in MathProg)
- some very basic method to approximate constraint Jacobian by
finite differences (not efficient, but will hopefully be extended)
2008-02-28 releases/3.3.5
- corrected links for Ipopt mailing list
- added missing Makefile.in for Matlab interface
- the addlibs* files are now installed in share/doc/coin/Ipopt
instead of lib
- updates in Matlab interface
- bugfix for ticket #56
2007-12-27 releases/3.3.4
- headers are now installed in include/coin
(no longer in include/ipopt)
- default for dual_inf_tol is now 1 (instead of 1e-4)
- In matlab interface, here the text from Peter Carbonetto:
There have been several significant changes made to the MATLAB interface since the last release. The most important two changes are: 1) Following the "warm start" feature of IPOPT, you may pass in initial estimates for the Lagrange multipliers. 2) Callback routines for computing the objective, gradient (etc.) are now specified using function handles instead of strings. (Thanks to Marcus Brubaker at the University of Toronto for the initial suggestion.)
2007-09-25 releases/3.3.3
- minor changes, bug fixes
2007-06-20 releases/3.3.1
synchronized with all changes in trunk; probably more than to be
remembered. In the following a few:
- support for Mumps linear solver (contributed by Damian Hocking)
- --print-options flag for ipopt ASL solver executable to see all
Ipopt options (available through ipopt.opt file)
- added Matlab interface (contributed by Peter Carbonetto)
- added support for f2c compiler to compiler Fortran code with
MSVC++ compiler
- new MSVisualStudio support (now within MSVisualStudio project
and also with f2c)
- a number of small changes/bug fixes/improvements
- small change in interface (e.g., FinalizeSolution method)
2007-04-24 releases/3.2.4
- updated download script for Blas to fit netlib's
recent changes
- using a more recent version of BuildTools
2006-11-29 release/3.2.3
- updated download script for Lapack to fit to netlib's
recent changes
2006-10-11 stable/3.2 r795
- Bugfix in L-BFGS update
- fix in configure with detection of sizeof(int *) on Cygwin
2006-07-14 - version 3.2.1 - dev release number 764
- Bugfix in least square multiplier estimate.
It mainly showed up in LBFGS with restoration phase as seg fault
2006-07-07 - version 3.2.0 - dev 757
- changed installation procedure and directory structure to
conform with new COIN-OR convention
2006-04-08 - version 3.1.0 - dev release number 714
Several bug-fixes, improvements and additions. In particular:
- new quasi-Newton approximation using L-BFGS
- interfaces to linear solver MA57, WSMP, Pardiso
(MUMPS and TAUCS not yet completed)
- derivative checker
- unit test
- configure supports compilation under Cygwin with native
Windows compilers
- ScalableExample
- user call-back method in TNLP
2005-12-04 - version 3.0.1 - fixes independent of dev
(already taken care of there)
Several corrections to Windows files
Fix termination if number of iterations is exceeded in restoration phase
2005-08-26 - version 3.0.0 - dev release number 510
First official release of the new C++ implementation of Ipopt.