Recent Releases of alpaqa

alpaqa - 1.1.0a1

Major changes:

  • Renamed problem functions (e.g. eval_f() becomes eval_objective(), get_n() becomes get_num_variables()) See https://kul-optec.github.io/alpaqa/1.1.0a1/Doxygen/page-problem-formulations.html for details.
  • Renamed some solver statistics (e.g. lbfgs_failures becomes direction_failures)
  • Installing the alpaqa Python package no longer requires CasADi.
    If you intend to use alpaqa with CasADi, use pip install --pre "alpaqa[casadi]"

Other changes: - New interface for defining custom inner solvers in Python - Expose Ipopt solver to Python - Use Conan package manager for installing dependencies - Simplified installation from source - CI maintenance - Added Python 3.14 support - Dropped CentOS 7 support - Dropped Python 3.8 support

Full Changelog: https://github.com/kul-optec/alpaqa/compare/1.0.0a20...1.1.0a1

- C++
Published by tttapa 10 months ago

alpaqa - 1.0.0a20

Python 3.13 and NumPy 2.x support

Full Changelog: https://github.com/kul-optec/alpaqa/compare/1.0.0a19...1.0.0a20

- C++
Published by tttapa over 1 year ago

alpaqa - 1.0.0a19

Improved Python stub generation and documentation.

Full Changelog: https://github.com/kul-optec/alpaqa/compare/1.0.0a18...1.0.0a19

- C++
Published by tttapa about 2 years ago

alpaqa - 1.0.0a18

This release adds a casadi::external function loader that does not depend on the CasADi C++ library. This simplifies the installation and reduces the binary size.

The ALPAQA_WITH_CASADI option now enables this loader by default. To enable the full CasADi loader, which also supports other types of casadi::Function objects (e.g. symbolic expressions or serialized functions), use ALPAQA_WITH_EXTERNAL_CASADI (this requires CasADi to be installed).

Full Changelog: https://github.com/kul-optec/alpaqa/compare/1.0.0a17...1.0.0a18

- C++
Published by tttapa about 2 years ago

alpaqa - 1.0.0a17

  • New dynamic loading API (#10)
  • Add TypeErasedProblem::get_name
  • Convex Newton direction provider
  • Clang 18 support
  • Parameter JSON export
  • Optimized parameter getters/setters
  • More checks in gradient-checker
  • Better Python type hints MinimizationProblemDescription
  • Add CMake and Ninja as Python dependencies
  • Improved documentation

Full Changelog: https://github.com/kul-optec/alpaqa/compare/1.0.0a16...1.0.0a17

- C++
Published by tttapa about 2 years ago

alpaqa - 1.0.0a16

  • DLProblem support on Windows
  • Bash and Zsh completion for alpaqa-driver and solver options
  • Support for complex matrices, prox of complex ℓ₁ norm
  • Allow problems to link to OpenMP (with ALPAQA_WITH_OPENMP)
  • Improvements to DLProblem, TypeErased and print_csv

- C++
Published by tttapa over 2 years ago

alpaqa - 1.0.0a15

  • Improved documentation
  • Eigen 3.4.0 support
  • Support comments in CSV files, support reading integers
  • Improved Conan support
  • CMake component support
  • Improved packaging
  • Conan + CMake example project

Full Changelog: https://github.com/kul-optec/alpaqa/compare/1.0.0a14...1.0.0a15

- C++
Published by tttapa over 2 years ago

alpaqa - 1.0.0a14

  • Added experimental MATLAB/MEX interface (https://kul-optec.github.io/alpaqa/1.0.0a14/Sphinx/reference/matlab-api.html)
  • Support specifying parameters using JSON
  • ASCII aliases for parameter names
  • Driver reports more problem information
  • Document benchmarking strategies
  • Added FISTA solver
  • Improved L-BFGS-B solver
  • Expose FISTASolver and LBFGSBSolver in Python
  • Improved Clang and MSVC compatibility
  • Improved Conan support
  • Upgrade CasADi to 3.6.4
  • Various minor improvements bug fixes

Full Changelog: https://github.com/kul-optec/alpaqa/compare/1.0.0a13...1.0.0a14

- C++
Published by tttapa over 2 years ago

alpaqa - 1.0.0a13

  • Support for non-owning TypeErased references
  • ALPAQA_STANDALONE option that configures relative RPATHs
  • Improved performance SparsityConverter
  • Verify Hessian-vector products in gradient checker
  • Improved documentation
  • Updated Python examples
  • Added alpaqa for NMPC presentation slides
  • More solver progress information
  • Support alternative CUTEst collections
  • Windows support for alpaqa-driver (no DLProblem support yet)
  • Support Python CasADi problems without pre-compilation
  • Parallel compilation for CasADi problems
  • Improved py::object problem interface

Full Changelog: https://github.com/kul-optec/alpaqa/compare/1.0.0a12...1.0.0a13

- C++
Published by tttapa over 2 years ago

alpaqa - 1.0.0a12

  • New sparse matrix representation: get_xyz_num_nonzeros()get_xyz_sparsity()
  • Conversions between sparsity patterns
  • Add ALPAQA_DEBUG_CHECKS_EIGEN CMake option to control Eigen macros
  • Fix option name in Python examples
  • Expose DL and CUTEst loaders in Python on Linux
  • Expose Hessian and Jacobian matrices in Python

Full Changelog: https://github.com/kul-optec/alpaqa/compare/1.0.0a11...1.0.0a12

- C++
Published by tttapa over 2 years ago

alpaqa - 1.0.0a11

  • Fixed alpaqa::prox for NuclearNorm and L1Norm
  • Improved handling of L > L_max in PANOC and ZeroFPR
  • Added alpaqa::prox_step example

Full Changelog: https://github.com/kul-optec/alpaqa/compare/1.0.0a10...1.0.0a11

- C++
Published by tttapa almost 3 years ago

alpaqa - 1.0.0a10

  • More consistent QUB backtrack across algorithms
  • Add ALPAQA_WITH_OPENMP option to enable (limited) parallelization
  • Improved CUTEst loader
  • Link to CUTEst as shared library
  • Add alpaqa::prox and alpaqa::prox_step
  • Initial set of proximal operators in alpaqa::functions (Indicator of box, ℓ₁-norm, nuclear norm)
  • Update Python dependencies
  • Disable float32 Python bindings by default
  • GCC 10 and Clang 14 support
  • Improved documentation

Full Changelog: https://github.com/kul-optec/alpaqa/compare/1.0.0a9...1.0.0a10

- C++
Published by tttapa almost 3 years ago

alpaqa - 1.0.0a9

  • Improved CUTEst problem loader and adapter
  • Return upper-triangular Hessian CUTEst adapter instead of lower (API break)
  • QPALM solver interface, added to alpaqa-driver
  • Sparse logistic regression example
  • Improve dynamic loading API, support exception propagation (ABI break)
  • Configurable float types for smaller binaries, faster compile times
  • Support modifying alpaqa::DefaultConfig
  • Add optional in/out parameter penalties ALM
  • More PANTR statistics
  • Improved UnconstrProblem, expose in Python API
  • Add alpaqa-gradient-checker utility
  • Improved documentation
  • Updated installation instructions
  • Improved CI with Valgrind testing
  • More testing for PANOC with Anderson acceleration
  • Improved Python packaging and metadata

Full Changelog: https://github.com/kul-optec/alpaqa/compare/1.0.0a8...1.0.0a9

- C++
Published by tttapa almost 3 years ago

alpaqa - 1.0.0a8

  • Intermediate development release
  • CUTEst interface
  • Change sparse matrix API
  • Use cibuildwheel for packaging
  • Add .deb package dependencies

Full Changelog: https://github.com/kul-optec/alpaqa/compare/1.0.0a7...1.0.0a8

- C++
Published by tttapa almost 3 years ago

alpaqa - 1.0.0a7

  • Intermediate development release

Full Changelog: https://github.com/kul-optec/alpaqa/compare/1.0.0a6...1.0.0a7

- C++
Published by tttapa almost 3 years ago

alpaqa - 1.0.0a6

  • New type-erased problem formulation
  • PANOC solver specifically for optimal control problems
  • Gauss-Newton accelerator

Full Changelog: https://github.com/kul-optec/alpaqa/compare/1.0.0a5...1.0.0a6

- C++
Published by tttapa over 3 years ago

alpaqa - 1.0.0a5

  • Python: Support releasing the GIL during solve, allowing thread parallelism and handling KeyboardInterrupt.

Full Changelog: https://github.com/kul-optec/alpaqa/compare/1.0.0a4...1.0.0a5

- C++
Published by tttapa over 3 years ago

alpaqa - 1.0.0a4

  • Complete ProblemTrampoline Python interface
  • Flush after printing solver progress

Full Changelog: https://github.com/kul-optec/alpaqa/compare/1.0.0a3...1.0.0a4

- C++
Published by tttapa over 3 years ago

alpaqa - 1.0.0a3

  • Change default value of ALMParams::max_*_num_retries to zero
  • Add final_γ statistic to PANOC

Full Changelog: https://github.com/kul-optec/alpaqa/compare/1.0.0a2...1.0.0a3

- C++
Published by tttapa over 3 years ago

alpaqa - 1.0.0a2

Full Changelog: https://github.com/kul-optec/alpaqa/compare/1.0.0a1...1.0.0a2

- C++
Published by tttapa over 3 years ago

alpaqa - 1.0.0a1

Early alpha release for the 1.0 line.
For testing purposes only, API is still very much subject to change.

- C++
Published by tttapa almost 4 years ago

alpaqa - 1.0.0a0

Early alpha release for the 1.0 line.
For testing purposes only, API is still very much subject to change.

- C++
Published by tttapa almost 4 years ago

alpaqa - 0.0.1

This is the final 0.0 release, in anticipation of the 1.0 release currently under development.

- C++
Published by tttapa almost 4 years ago

alpaqa - 0.0.1a1

  • Provide pre-built wheels for Python 3.10

Full Changelog: https://github.com/kul-optec/alpaqa/compare/0.0.1a0...0.0.1a1

- C++
Published by tttapa almost 4 years ago

alpaqa - 0.0.1a0

This is the first public alpha pre-release.

- C++
Published by tttapa over 4 years ago