Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ipopt 3.14 #6

Closed
wants to merge 553 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
553 commits
Select commit Hold shift + click to select a range
6dcd86b
init smart_jnlst in other IpoptApplication constructor, too
svigerske May 4, 2021
e7ac726
add a remark why MKL is problematic with the Java interface
svigerske May 5, 2021
8be60f0
do not write ahead of array in IpBlasCopy call
svigerske May 5, 2021
b9fdc52
fix some scan-build warnings
svigerske May 5, 2021
93c67e9
update to current autotools
svigerske May 5, 2021
f2d3e11
simplify build of Ipopt lib
svigerske May 6, 2021
59d6a9a
move ipopt.pc.in into src/; remove unitTest target
svigerske May 6, 2021
7f2e57b
install ChangeLog with doc
svigerske May 6, 2021
f35d02b
create ipoptamplinterface.pc in src/Apps/AmplSolver
svigerske May 6, 2021
fbc1404
deprecate IPOPT_FORTRAN_INTEGER_TYPE
svigerske May 6, 2021
dfe356d
deprecate ipfint and use ipindex instead
svigerske May 6, 2021
c0c1510
remove some defines that were deprecated with Ipopt 3.13
svigerske May 6, 2021
f9653d6
replace a lot of tabs
svigerske May 6, 2021
dada3a2
fix lineendings
svigerske May 7, 2021
13b9f56
remove trailing whitespace
svigerske May 7, 2021
9aadac0
update doxygen style and layout files to 1.8.18
svigerske May 7, 2021
e3f78dc
fix some places where int and Index were confused
svigerske May 7, 2021
578f4be
change Ipopt::Min/Max into templates
svigerske May 7, 2021
8379ebf
add configure option --with-intsize
svigerske May 7, 2021
80624ba
define ipindex to int64_t if IPOPT_INT64 is defined
svigerske May 7, 2021
68d407c
avoid some compilation issues from Index=int64_t
svigerske May 7, 2021
afcc657
do not build HSL interfaces if int64
svigerske May 7, 2021
bde95ea
add -fdefault-integer-8 to FFLAGS
svigerske May 7, 2021
6aa04b1
don't build pardiso interface if int64
svigerske May 7, 2021
ffd69d7
adjust scalable problems to compile
svigerske May 10, 2021
317065a
instruct AC_COIN_CHK_LAPACK to look for 64-bit lapack
svigerske May 10, 2021
11f1399
add travis job for int64 variant
svigerske May 10, 2021
40d3589
fix Index vs int in sipopt ampl interface
svigerske May 10, 2021
ae5e51e
skip checks for hsl, pardiso, and wsmp if int64
svigerske May 10, 2021
fa25740
skip wsmp check if single-precision, too
svigerske May 10, 2021
40e6bd9
convert %d args to int in examples
svigerske May 10, 2021
a3f8629
introduce and use IPOPT_INDEX_FORMAT
svigerske May 10, 2021
e07a3d6
enable formatter checking (GCC warning) of printf-like functions
svigerske May 10, 2021
c68b7ba
revise uses of int
svigerske May 10, 2021
84b5bce
fix format-security warnings from older GCC
svigerske May 10, 2021
ceb42d4
fix more pointer printing
svigerske May 10, 2021
8544bc3
disable spral check if int64, too
svigerske May 11, 2021
f0aba15
enable and use Z-variants of asl members if int64
svigerske May 11, 2021
77466c4
reorganize ubuntu builds to make it one less
svigerske May 11, 2021
b4a794e
int64 branch merged into mumps5 branch on ThirdParty-Mumps
svigerske May 11, 2021
51cad42
set more reasonable print level in R tests/examples
svigerske May 11, 2021
e1c0622
document for int64 build
svigerske May 11, 2021
4314851
capital MUMPS
svigerske May 11, 2021
27ec115
revise SINGLEPRECISION_BUILD section
svigerske May 11, 2021
83b32c5
add changelog entry
svigerske May 11, 2021
c5a2a86
use max_wall_time parameter in ScalableProblems
svigerske May 11, 2021
b2f9c49
get WSMP version number
svigerske May 11, 2021
2b0341b
replace fabs by std::abs
svigerske May 11, 2021
3166f5b
replace pow by std::pow
svigerske May 11, 2021
12da6c0
use std::min and std::max for Min() and Max()
svigerske May 11, 2021
899db62
replace exp by std::exp
svigerske May 11, 2021
6c4b6e8
replace log(10) by std::log(10)
svigerske May 11, 2021
48a6399
use std versions of sin/cos/tan
svigerske May 11, 2021
c34c3b4
replace sqrt by std::sqrt
svigerske May 11, 2021
815c0f4
add osx build on macOS 11 and with int64 and float
svigerske May 11, 2021
b3ff8c7
fix DenseVector::SumLogsImpl() to return 0 instead of nan if dim=0
svigerske May 11, 2021
d9dfb58
run astyle
svigerske May 11, 2021
ecaaea7
exclude some hsl headers from astyle
svigerske May 11, 2021
18ecf08
check info.flag after ma97_solve
svigerske May 11, 2021
f40eea3
no error if no fortran compiler; fix for ifort non-windows
svigerske May 11, 2021
ea97602
put PDFullSpaceSolver options back into Step Calculation category
svigerske May 12, 2021
42ecc4c
change priority order to decreasing
svigerske May 12, 2021
0f262be
update options docu
svigerske May 12, 2021
7187d0d
update HSL headers
svigerske May 12, 2021
de8e344
exclude all hsl headers from astyle
svigerske May 12, 2021
acc02df
add changelog from ipopt 2
svigerske May 12, 2021
3a4be20
handle error-in-step-computation status when return from resto
svigerske May 12, 2021
471d4d0
remove spaces at begin of line in messages
svigerske May 12, 2021
47e64f5
avoid issues with zero-multiplier in IpCQ::CalculateSafeSlack()
svigerske May 13, 2021
5f96530
add warnings about vecLib single-precision to doc
svigerske May 13, 2021
d719205
fix compiler warning
svigerske May 13, 2021
ab8dd51
adjust macOS builds
svigerske May 13, 2021
5b1794a
improve message when cannot call resto in resto
svigerske May 13, 2021
afd51db
protect calls into mumps by a lock guard mutex if C++11 or higher
svigerske May 14, 2021
20ffeaa
extend note on mumps_->nz vs nnz
svigerske May 14, 2021
48d3dd7
replace \Ipopt by %Ipopt; no more <tt> for Ipopt; remove unused aliases
svigerske May 14, 2021
6d8ce91
fix some doc issues
svigerske May 14, 2021
ef971c3
reformat ChangeLog and replace by ChangeLog.md
svigerske May 14, 2021
45bf65b
enable toc for changelog in docu
svigerske May 14, 2021
9fa432a
add SPRAL to list of dependencies in README.md
svigerske May 14, 2021
3186d2a
remove clearorig argument from TNLPAdapter::ResortBounds()
svigerske May 14, 2021
bbfee52
reorganize 3.14.0 release notes
svigerske May 14, 2021
0e25cad
minor changelog fixes
svigerske May 14, 2021
fb2d0fb
use master branch of ThirdParty-Mumps everywhere
svigerske May 14, 2021
1e68e00
switch to Mumps stable/3.0 (was mumps5) in dependencies; update docu
svigerske May 14, 2021
4bc7971
doc updates
svigerske May 15, 2021
0eeb784
update comments in travis
svigerske May 15, 2021
494ec1a
change abort message if .nl file has complementarity constraints
svigerske May 15, 2021
f9eee81
disable timer before Initialize() call
svigerske May 15, 2021
1c7294b
avoid some compiler warnings
svigerske May 15, 2021
aab0143
move timing_statistics param and handling into IpoptAlgorithm
svigerske May 15, 2021
7a34a6f
fix for build without mumps
svigerske May 17, 2021
a83b9ce
ensure SIPOPTLIB_EXPORT is defined also if no DLL and no GCC
svigerske May 18, 2021
530dad0
ensure SIPOPTLIB_EXPORT define is available in installed headers
svigerske May 18, 2021
e61ce13
rerun autotools to avoid duplicate auxdir/compile in F77
svigerske May 18, 2021
a84c2c8
build and run sIpopt examples in travis, too
svigerske May 18, 2021
30cca6a
fix warnings in test for int64 build
svigerske May 18, 2021
acf0a62
change print level for user-set options to J_SUMMARY
svigerske May 18, 2021
11a9a16
rerun autotools
svigerske May 19, 2021
08176cc
use spral from ralna; enable for macOS and focal
svigerske May 16, 2021
a1d1d3c
set array_base=1
svigerske May 16, 2021
0018bad
suggest to use ralna/spral in docu
svigerske May 19, 2021
84a9e19
add note to readme that 3.14 is still beta
svigerske May 20, 2021
303929d
revise changelog for beta2
svigerske May 20, 2021
d9f2f4d
more notes on beta in readme
svigerske May 20, 2021
0a6aed1
add PardisoSolverInterface::SetFunctions() to set pardiso functions
svigerske May 25, 2021
c5333bb
run astyle, remove duplicate docu
svigerske May 27, 2021
8c2e380
scaling factors need to be squared for grad_f() and h() in resto nlp
svigerske May 27, 2021
39c432b
make vectors and matrices related to reference point const
svigerske May 27, 2021
c5be028
increase tolerance for single precision even further
svigerske May 27, 2021
aaf0630
skip more densevector computations if Dim() == 0
svigerske May 27, 2021
f3d75d2
add ComputeMemIncrease() helper function to fit double into integer
svigerske Jun 2, 2021
4ba1510
avoid overflow when computing memincrase in MA27 interface
svigerske Jun 2, 2021
192afb9
catch std::overflow_exception in IpoptApplication; update doc and cha…
svigerske Jun 2, 2021
708fe83
use ComputeMemIncrease in MA57 interface
svigerske Jun 2, 2021
2b33ce4
use ComputeMemIncrease in Mumps interface
svigerske Jun 2, 2021
cb82f14
extend todo comment
svigerske Jun 2, 2021
dc40528
enable floating-point exceptions during optimize if checklevel >= 2
svigerske Jun 2, 2021
c4064b8
avoid floating-point overflow in recursive_nlp
svigerske Jun 2, 2021
a1c19cc
add documentation on checklevel
svigerske Jun 3, 2021
ea38b88
run astyle
svigerske Jun 3, 2021
5fa537b
set beta release date
svigerske Jun 3, 2021
055eda1
check for failed malloc; use strdup
svigerske Jun 3, 2021
6c95df9
don't need to have IPOPT_CHECKLEVEL and IPOPT_VERBOSITY defined
svigerske Jun 3, 2021
bde7fd2
updated configall_system_msc.h
svigerske Jun 3, 2021
4ef5d15
return Feasible_Point_Found if resto fail on square problem but feasible
svigerske Jun 4, 2021
93c4936
reorder TNLP for better doxygen output
svigerske Jun 4, 2021
c0d263b
use abs of complementarity (tolerance) if applying objective scaling
svigerske Jun 4, 2021
bffa24f
fix constraint violation in TNLP::get_curr_violations
svigerske Jun 5, 2021
9dd52bc
minor option descr updates
svigerske Jun 7, 2021
9159a30
set beta release date
svigerske Jun 7, 2021
1c83dfb
remove regularization remark
svigerske Jun 8, 2021
2b1a2f9
change formula for relative error in derivative test, closes #487
svigerske Jun 9, 2021
890cf56
change obj_factor and lambda[i] from 1 to 1.5 in hessian check
svigerske Jun 14, 2021
d7d5dd9
fix typo in comment
svigerske Jun 14, 2021
a9fb716
add TODO regarding LeastSquareMultipliers not handling wrong intertia
svigerske Jun 14, 2021
2442269
merge changelogs of 3.14 beta releases into one for 3.14.0
svigerske Jun 15, 2021
4fe7e3e
update readme
svigerske Jun 15, 2021
7af4c2a
update travis: homebrew hwloc seems to have moved to 2.5.0
svigerske Jun 15, 2021
17861a4
fix some -Wformat compiler warnings in debug code
svigerske Jun 17, 2021
df1e705
update version to 3.14.1
svigerske Jun 17, 2021
a357243
fix size of dummy deps for h_cache_
svigerske Jun 18, 2021
ee94ad5
add OptionsList::SetBoolValue(IfUnset), fix doxygen comments; closes …
svigerske Jun 18, 2021
1e89a55
replace Sorry, things failed error by strongwarning
svigerske Jun 18, 2021
91e919e
check for libdl only if linear solver loader is enabled
svigerske Jun 22, 2021
d8b338f
fix use of wrong memory free method
svigerske Jun 22, 2021
6c94d75
make it easier to get links to options in options list
svigerske Jun 22, 2021
7dc8d37
initialize in_watchdog_ to false
svigerske Jun 22, 2021
9ea1788
set curr_ to NULL before calling ip_nlp.InitializeStructures()
svigerske Jun 21, 2021
91f4b3b
rerun autotools to get -Zc:__cplusplus for MS/Intel on Windows
svigerske Jun 25, 2021
2c76609
change eval error in solve summary from error to strong warning
svigerske Jun 28, 2021
5d9999e
update version number to 3.14.2
svigerske Jun 28, 2021
c539921
homebrew is now at GCC 11 with macOS 10.14 and 10.15, too
svigerske Jul 2, 2021
43a1316
add OptionsList::UnsetValue()
svigerske Jul 9, 2021
cb2bcac
revise SolverReturn to solve_result_num mapping
svigerske Jul 12, 2021
dafd641
replace wiki references by GitHub discussion references
svigerske Jul 14, 2021
17cc606
fix docu of ReOptimizeTNLP, see also #499
svigerske Jul 15, 2021
47881d4
fix use of assert
svigerske Jul 19, 2021
28fb006
remove rename of MPI_COMM_WORLD
svigerske Jul 19, 2021
93aa659
move MPI init and finalize into library constructor/destructor, see #500
svigerske Jul 19, 2021
4d00f54
add configure flag to disable MPI ini/fini
svigerske Jul 19, 2021
c81a5bd
changelog entry
svigerske Jul 19, 2021
a2c8a72
remove call to MPI_Comm_rank if mpi-mumps
svigerske Jul 20, 2021
e4f829e
complete parameter docu for Intermediate_CB
svigerske Jul 20, 2021
b319821
update note on mumps and mpi
svigerske Jul 21, 2021
7fc321a
set release date
svigerske Jul 21, 2021
0b73e49
fix broken links in docu
svigerske Jul 26, 2021
700d4ea
remove pyipopt link
svigerske Jul 26, 2021
43fb09c
add cyipopt to external interfaces to Ipopt
svigerske Jul 27, 2021
81d8c24
replace $^ by explicit $SRC
svigerske Jul 30, 2021
13cf840
add freebsd build on travis
svigerske Jul 8, 2021
d571175
more indentation
svigerske Jul 30, 2021
c80d28a
remove link to faulty win installation guide
svigerske Aug 6, 2021
84c7b20
end InitializeIterates() timer if eval_error, too
svigerske Aug 6, 2021
a8b1a62
increase version number to 3.14.3
svigerske Aug 6, 2021
c84d65d
grow jac_fixed_idx_map_,etc as required instead of prealloc
svigerske Sep 2, 2021
be044b9
remove some trival but maybe confusing comments in options description
svigerske Sep 3, 2021
2971727
set release date
svigerske Sep 3, 2021
35a50a2
rerun autotools
svigerske Sep 7, 2021
bae155b
suggest --with-lapack-lflags instead of --with-lapack in docu
svigerske Sep 7, 2021
39fa010
only disable java interface build if jar not found, closes #510
svigerske Sep 8, 2021
691af28
do not error if java or javadoc are found, see also #510
svigerske Sep 8, 2021
f4e0ed8
up version number to 3.14.4
svigerske Sep 8, 2021
8abfbb4
rerun autotools to fix --with-lapack-lflags
svigerske Sep 15, 2021
9f769e6
Update install.dox
friederikemeier Sep 17, 2021
d872b3a
update changelog
svigerske Sep 20, 2021
7447c80
rerun autotools to get patched up version of AX_JNI_INCLUDE_DIR
svigerske Oct 8, 2021
161b935
add link to new coin-or sponsor opportunity via github
svigerske Dec 15, 2021
c967728
pass full current solution to FinalizeSolution() also if timelimit re…
svigerske Feb 7, 2022
af5dc7a
change ThirdParty-Xyz dependencies to Required
svigerske Feb 8, 2022
9952c1e
change linear solver dependencies to "Recommended"
svigerske Feb 8, 2022
a62679d
set release date
svigerske Feb 9, 2022
06aa9f8
fix comment
svigerske Mar 29, 2022
a0649ad
add some "see config.log" into error messages
svigerske Mar 29, 2022
3e1088e
Fix constraint name mapping for inequalities.
Mar 31, 2022
0f46919
fix also mapping of integer and numeric inequality meta data
svigerske Apr 1, 2022
8ddc4a1
add changelog entry
svigerske Apr 1, 2022
ac664eb
incr version number to 3.14.6
svigerske Apr 4, 2022
cfadeac
start symbolic factorization timer before mc68_order() for MA86 inter…
svigerske Apr 14, 2022
28c59dc
fix docu
svigerske May 2, 2022
6408e60
include more headers in IpoptCQ header
svigerske May 2, 2022
c5ad14a
set release date
svigerske May 2, 2022
3996040
increment version to 3.14.7
svigerske May 3, 2022
f28ee28
move jacobian_approximation and findiff_perturbation options into NLP…
svigerske May 3, 2022
b38e58c
fix size of delta_u_space, fixes #578
svigerske Jun 23, 2022
b56b627
remove parametric_dsdp_cpp/parametricTNLP2.cpp
svigerske Jun 23, 2022
2ba311b
add option and code to approximate objective gradient
svigerske Jun 23, 2022
4f7ac2d
sync options docu in docu to options docu in code
svigerske Jun 23, 2022
1b04c8b
ran astyle
svigerske Jun 23, 2022
c3026b4
add ipsetproblemscaling to Fortran interface
svigerske Jun 23, 2022
1026a37
call IPSETPROBLEMSCALING in Fortran example
svigerske Jun 23, 2022
d00a2f9
explain how to pass NULL pointer to IPSETPROBLEMSCALING
svigerske Jun 24, 2022
5e3f0bc
set release date
svigerske Jun 24, 2022
0001b10
incr version to 3.14.8
svigerske Jul 13, 2022
5a3b5bd
add {ma27,ma57,mumps}_print_level options
svigerske Jul 13, 2022
7921b01
run astyle
svigerske Jul 13, 2022
04cf5b2
update options docu
svigerske Jul 13, 2022
3598ca5
up version to 3.14.9
svigerske Jul 21, 2022
278d295
fix mapping of meta data for variable bounds
svigerske Jul 20, 2022
6527a5d
mention that releases have only windows binaries attached
svigerske Aug 13, 2022
d41a1eb
increase version number
svigerske Aug 15, 2022
6378c1b
add option to specify that objective gradient is constant
svigerske Aug 15, 2022
bae1cb1
fix docu on intermediate_callback
svigerske Aug 22, 2022
defda81
allow to return NULL for W() in debugmode, too
svigerske Aug 30, 2022
96e88f7
remember unmodified d_L and d_U in OrigIpoptNLP
svigerske Aug 30, 2022
cb942d9
use original constraint sides for get_curr_violations(), fixes #603
svigerske Aug 30, 2022
0e5e2c5
document which bounds/sides are scaled
svigerske Aug 30, 2022
5f835c7
ensure stdout flushed before abort, print run params
svigerske Aug 30, 2022
39695b7
use the current names from the HSL for Ipopt download page
svigerske Sep 10, 2022
03b3eae
fix column index in docu, fixes #609
svigerske Oct 2, 2022
fe3868c
set release date
svigerske Oct 10, 2022
a34c853
fix that grad_f_cache was not invalidated
svigerske Oct 10, 2022
f962e05
increase version to 3.14.11
svigerske Oct 19, 2022
08453ea
add const variant of IpoptData::TimingStats()
svigerske Oct 19, 2022
a666652
add hint on how to use mumps from debian
svigerske Nov 14, 2022
5de3177
Missing third index in the write to file script
zenineasa Nov 22, 2022
5e97a69
set sharedlib extension to dll whenever _WIN32, not only _MSC_VER, se…
svigerske Jan 25, 2023
e622421
fix typo
svigerske Jan 25, 2023
ec43e37
rerun autotools after autotools versions update
svigerske Feb 1, 2023
29ea7c6
install more header files
svigerske Feb 2, 2023
b4e7461
fix docu of SparseSymLinearSolverInterface::EMatrixFormat
svigerske Feb 2, 2023
5bd7fd4
add some more comments about confusing matrix formats
svigerske Feb 7, 2023
5a2f3d8
set release date to today; ran astyle
svigerske Feb 7, 2023
8b042fb
update option docu
svigerske Feb 7, 2023
7b91061
Add missing headers to install.
joaospinto Feb 11, 2023
3a6e213
changelog entry for previous commit
svigerske Feb 11, 2023
090c31e
increase version to 3.14.12
svigerske Feb 11, 2023
47131f7
check whether TNLP is NULL in GetIpoptCurrent* of C interfaces
Robbybp Feb 13, 2023
66939fd
update changelog, style change
svigerske Feb 13, 2023
332132a
Update HSL_MA97 headers for new version
jfowkes Feb 13, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 2 additions & 3 deletions .coin-or/Dependencies
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
ThirdParty/ASL https://github.com/coin-or-tools/ThirdParty-ASL stable/2.0
ThirdParty/Metis https://github.com/coin-or-tools/ThirdParty-Metis stable/2.0
ThirdParty/HSL https://github.com/coin-or-tools/ThirdParty-HSL stable/2.0
ThirdParty/Mumps https://github.com/coin-or-tools/ThirdParty-Mumps stable/2.0
ThirdParty/HSL https://github.com/coin-or-tools/ThirdParty-HSL stable/2.2
ThirdParty/Mumps https://github.com/coin-or-tools/ThirdParty-Mumps stable/3.0
64 changes: 64 additions & 0 deletions .coin-or/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
Description:
Slug: Ipopt
ShortName: Ipopt
LongName:
ShortDescription: A solver for general large-scale nonlinear continuous optimization.
LongDescription: |2
"Ipopt is an open-source solver for large-scale nonlinear continuous optimization.
It can be used from modeling environments, such as AIMMS, AMPL, GAMS, or Matlab, and it is also available as callable library with interfaces to C++, C, Fortran, Java, and R.
Ipopt uses an interior point method, together with a filter linear search procedure."
Manager: Andreas Waechter
Homepage: https://github.com/coin-or/Ipopt
License: Eclipse Public License 2.0
LicenseURL: http://www.opensource.org/licenses/EPL-2.0
Appveyor:
Slug: ipopt-5qaur
Language:
- C++
Categories:
- Optimization deterministic nonlinear

Dependencies:
- Description: ThirdParty wrapper for building ASL
URL: https://github.com/coin-or-tools/ThirdParty-ASL
Version: stable/2.0
Required: Recommended
- Description: ThirdParty wrapper for building Mumps
URL: https://github.com/coin-or-tools/ThirdParty-Mumps
Version: stable/3.0
Required: Recommended
- Description: ThirdParty wrapper for building HSL codes
URL: https://github.com/coin-or-tools/ThirdParty-HSL
Version: stable/2.2
Required: Recommended
- Description: Parallel Sparse Direct Solver from Pardiso-Project
URL: http://www.pardiso-project.org/
Required: Recommended
- Description: Parallel Sparse Direct Solver from Intel MKL
URL: https://software.intel.com/content/www/us/en/develop/tools/math-kernel-library.html
Required: Optional
- Description: Watson Sparse Matrix Package
URL: http://researcher.ibm.com/view_project.php?id=1426
Required: Optional
- Description: Basic Linear Algebra Subroutines (BLAS)
URL: http://www.netlib.org/blas
Required: Required
- Description: Linear Algebra Package (LAPACK)
URL: http://www.netlib.org/lapack
Required: Required

DevelopmentStatus:
activityStatus: Active
maturityLevel: 5
testedPlatforms:
- operatingSystem: Linux
compiler: gcc
- operatingSystem: macOS
compiler:
- gcc
- clang
- operatingSystem: Microsoft Windows with MSys2
compiler:
- gcc
- cl+ifort
- icl+ifort
544 changes: 80 additions & 464 deletions .coin-or/projDesc.xml

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# These are supported funding model platforms

github: [coin-or]
181 changes: 164 additions & 17 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,22 +1,83 @@
language: cpp

git:
depth: 3

matrix:
include:
- os: linux
dist: focal
addons:
apt:
packages:
- gfortran
- liblapack-dev
env: ENABLEDEBUG=true
- libmetis-dev
- libhwloc-dev
- libudev-dev
- cppcheck
env: ENABLEDEBUG=true CPPCHECK=true
- os: linux
dist: focal
addons:
apt:
packages:
- gfortran
- liblapack64-dev
- cppcheck
env: INT64=true CPPCHECK=true
- os: linux
dist: bionic
addons:
apt:
packages:
- gfortran
- liblapack-dev
- libmetis-dev
env: SINGLEPRECISION=true
- os: linux
dist: xenial
addons:
apt:
packages:
- gfortran
- liblapack-dev
- libmetis-dev
- libhwloc-dev
env: VISHIDDEN=true
- os: freebsd
env: NOF77=true
addons:
pkg:
- lapack
- gcc10-devel
- os: linux
arch: arm64
addons:
apt:
packages:
- gfortran
- liblapack-dev
- libmetis-dev
- libhwloc-dev
- os: linux
arch: ppc64le
addons:
apt:
packages:
- gfortran
- liblapack-dev
- libmetis-dev
- libhwloc-dev
- os: linux
arch: s390x
addons:
apt:
packages:
- gfortran
- liblapack-dev
- libmetis-dev
- libhwloc-dev
- os: osx
osx_image: xcode11.3
env: OSX=10.14 VISHIDDEN=true
Expand All @@ -26,37 +87,106 @@ matrix:
env: OSX=10.14 VISHIDDEN=true NOF77=true
compiler: clang
- os: osx
osx_image: xcode10.1
env: OSX=10.13 ENABLEDEBUG=true
osx_image: xcode11.6
env: OSX=10.15 ENABLEDEBUG=true
compiler: clang
- os: osx
osx_image: xcode9.4
env: OSX=10.13
osx_image: xcode12.5
env: OSX=11 SINGLEPRECISION=true
compiler: clang

before_script:
- export VISHIDDEN=${VISHIDDEN:-false}
- export NOF77=${NOF77:-false}
- export ENABLEDEBUG=${ENABLEDEBUG:-false}
- if [[ "$TRAVIS_OS_NAME" == "osx" ]] && ! $NOF77; then brew update; brew install bash gcc; export CC=gcc-9 ; export CXX=g++-9 ; $CC --version; $CXX --version; gfortran --version; fi
- export SINGLEPRECISION=${SINGLEPRECISION:-false}
- export INT64=${INT64:-false}
- export CPPCHECK=${CPPCHECK:-false}
- >
if [[ "$TRAVIS_OS_NAME" == "osx" ]] && ! $NOF77; then
brew update;
brew install bash gcc metis hwloc;
$SINGLEPRECISION && brew install lapack;
if [[ "$OSX" == 10.14 ]] ; then export CC=gcc-11 ; export CXX=g++-11 ;
elif [[ "$OSX" == 10.15 ]] ; then export CC=gcc-11 ; export CXX=g++-11 ;
elif [[ "$OSX" == 11 ]] ; then export CC=gcc-11 ; export CXX=g++-11 ; fi ;
$CC --version; $CXX --version; gfortran --version;
fi ;
if [[ "$TRAVIS_OS_NAME" == "freebsd" ]] ; then
export CC=gcc ; export CXX=g++ ;
$CC --version; $CXX --version
fi

script:
- git clone --depth 1 https://github.com/coin-or-tools/ThirdParty-ASL
- pushd ThirdParty-ASL && ./get.ASL && ./configure --prefix=$HOME/install && make && make install && popd
- if $NOF77 ; then echo "Skipping Metis build." ; else git clone --depth 1 https://github.com/coin-or-tools/ThirdParty-Metis ; pushd ThirdParty-Metis && ./get.Metis && ./configure --prefix=$HOME/install && make && make install && popd ; fi
- if $NOF77 ; then echo "Skipping Mumps build." ; else git clone --depth 1 https://github.com/coin-or-tools/ThirdParty-Mumps ; pushd ThirdParty-Mumps && ./get.Mumps && ./configure --prefix=$HOME/install && make && make install && popd ; fi
# macOS VecLib doesn't work for single-precision routines (https://github.com/mcg1969/vecLibFort) - use homebrew lapack instead
- >
if $NOF77 || $SINGLEPRECISION || $INT64 ; then
echo "Skipping Spral build." ;
else
git clone --depth 1 --branch master https://github.com/ralna/spral.git &&
pushd spral &&
./autogen.sh &&
if [[ "$TRAVIS_OS_NAME" == "osx" ]] ; then
CFLAGS=-fPIC CXXFLAGS=-fPIC FFLAGS=-fPIC FCFLAGS=-fPIC ./configure --prefix ${HOME}/spral --with-metis="-L/usr/local/Cellar/metis/5.1.0/lib -lmetis" --with-metic-inc-dir=/usr/local/Cellar/metis/5.1.0/include ;
else
CFLAGS=-fPIC CXXFLAGS=-fPIC FFLAGS=-fPIC FCFLAGS=-fPIC ./configure --prefix ${HOME}/spral ;
fi &&
make install &&
popd ;
fi
- >
mkdir -p $HOME/install/share && touch $HOME/install/share/config.site ;
( $NOF77 && echo enable_f77=no ;
$ENABLEDEBUG && ( echo enable_debug=yes ; echo with_ipopt_checklevel=5 ; echo with_ipopt_verbosity=5 ) ;
$SINGLEPRECISION && echo "with_precision=single" ;
$SINGLEPRECISION && [[ "$TRAVIS_OS_NAME" == "osx" ]] && ! $NOF77 && echo "with_lapack=\"-L/usr/local/opt/lapack/lib -llapack -lblas\"" ;
$INT64 && echo "with_intsize=64" ;
[[ -d $HOME/spral ]] && echo "with_spral_cflags=-I${HOME}/spral/include" ;
[[ -d $HOME/spral ]] && [[ "$TRAVIS_OS_NAME" == "linux" ]] && echo "with_spral_lflags=\"-L${HOME}/spral/lib -lspral -lgfortran -lhwloc -lm -lmetis -llapack -lblas -fopenmp\"" ;
[[ -d $HOME/spral ]] && [[ "$TRAVIS_OS_NAME" == "osx" ]] && echo "with_spral_lflags=\"-L${HOME}/spral/lib -lspral -lgfortran -L/usr/local/Cellar/hwloc/2.5.0/lib -lhwloc -lm -L/usr/local/Cellar/metis/5.1.0/lib -lmetis -framework Accelerate -fopenmp\"" ;
[[ "$TRAVIS_OS_NAME" == "osx" ]] && ( echo "with_metis_cflags=-I/usr/local/Cellar/metis/5.1.0/include" ; echo "with_metis_lflags=\"-L/usr/local/Cellar/metis/5.1.0/lib -lmetis\"" ) ;
) > $HOME/install/share/config.site ;
cat $HOME/install/share/config.site
- >
if [[ "$TRAVIS_OS_NAME" == "freebsd" ]] ; then
echo "Skipping ASL build." ;
else
git clone --depth 1 https://github.com/coin-or-tools/ThirdParty-ASL ;
pushd ThirdParty-ASL &&
./get.ASL &&
./configure --prefix=$HOME/install &&
make && make install &&
popd ;
fi
- >
if $NOF77 ; then
echo "Skipping Mumps build." ;
else
git clone --depth 1 https://github.com/coin-or-tools/ThirdParty-Mumps ;
pushd ThirdParty-Mumps &&
./get.Mumps &&
./configure --prefix=$HOME/install &&
make && make install &&
popd ;
fi
- mkdir build
- pushd build
- export ADD_CFLAGS="-Wall -Wextra -Werror"
- export ADD_CXXFLAGS="-Wall -Wextra -Werror"
- if $VISHIDDEN ; then ADD_CFLAGS="$CFLAGS -fvisibility=hidden" ; fi
- if $VISHIDDEN ; then ADD_CXXFLAGS="$CXXFLAGS -fvisibility=hidden" ; fi
- export CFGFLAGS=""
- if $NOF77 ; then CFGFLAGS="$CFGFLAGS --disable-f77" ; fi
- if $ENABLEDEBUG ; then CFGFLAGS="$CFGFLAGS --enable-debug --with-ipopt-checklevel=5 --with-ipopt-verbosity=5" ; fi
- ../configure --prefix=$HOME/install $CFGFLAGS
- if $VISHIDDEN ; then ADD_CFLAGS="$ADD_CFLAGS -fvisibility=hidden" ; fi
- if $VISHIDDEN ; then ADD_CXXFLAGS="$ADD_CXXFLAGS -fvisibility=hidden" ; fi
- ../configure --prefix=$HOME/install
- make
- if $NOF77 ; then echo "skip test as no linear solver" ; else make test ; fi
- export OMP_CANCELLATION=TRUE
- >
if $NOF77 ; then echo "skip test as no linear solver" ;
else
make test || exit 1 ;
if [[ -d $HOME/spral ]] ; then
echo "linear_solver mumps" > test/ipopt.opt ;
make test ;
fi
fi
- make install
- pushd examples/Cpp_example
- make
Expand All @@ -75,6 +205,23 @@ script:
- make
- if ! $NOF77 ; then ./solve_problem MBndryCntrl1 10 ; fi
- popd
- pushd examples/recursive_nlp
- make
- if ! $NOF77 ; then ./recursive_nlp ; fi
- popd
- pushd contrib/sIPOPT/examples/parametric_cpp
- make
- if ! $NOF77 ; then ./parametric_driver ; fi
- popd
- pushd contrib/sIPOPT/examples/parametric_dsdp_cpp
- make
- if ! $NOF77 ; then ./parametric_dsdp_driver ; fi
- popd
- pushd contrib/sIPOPT/examples/redhess_cpp
- make
- if ! $NOF77 ; then ./redhess_cpp ; fi
- popd
- if $CPPCHECK ; then make cppcheck ; fi

after_failure:
- find . -name config.log -exec tail -n 1000 {} \;
32 changes: 23 additions & 9 deletions AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -71,12 +71,9 @@ Contributors:
- Stefan Vigerske (GAMS)
Dynamic loading of linear solver shared libraries

src/contrib/LinearSolverLoader/HSLLoader.c
src/contrib/LinearSolverLoader/HSLLoader.h
src/contrib/LinearSolverLoader/LibraryHandler.c
src/contrib/LinearSolverLoader/LibraryHandler.h
src/contrib/LinearSolverLoader/PardisoLoader.c
src/contrib/LinearSolverLoader/PardisoLoader.h
src/Common/IpLibraryLoader.hpp
src/Common/IpLibraryLoader.cpp
HSL and Pardiso interface files

- Marcel Roelofs (AIMMS)
MSVC project files for Intel Fortran compiler, creating a DLL
Expand Down Expand Up @@ -114,18 +111,35 @@ Contributors:
R interface with examples, all files in directory (and subdirectory of)

contrib/RInterface

- Tony Kelman (Berkeley)
improvements to Matlab interface

Ipopt/contrib/MatlabInterface

- Gabriel Hackebeil
improved use compound component spaces

- Nai-Yuan Chiang and Victor M. Zavala Tejeda (Argonne National Laboratory)
inertia free curvature test in solution of primal-dual system (full approach)

- Brad Bell
recursive NLP example

examples/recursive_nlp/recursive_nlp.cpp

- Mitchell Clement
support for use of single-precision floating point number

many source files affected, see https://github.com/coin-or/Ipopt/pull/428

- Byron Tasseff (LANL, University of Michigan)
Spral interface

src/Algorithm/LinearSolvers/IpSpralSolverInterface.hpp
src/Algorithm/LinearSolvers/IpSpralSolverInterface.cpp


Contributors of code that is no longer included in Ipopt distribution:

- Yifan Hu (Wolfram): Contributed TAUCS interface, implemented in the files
Expand Down
Loading