Welcome to JuliaSmoothOptimizers (JSO)
JSO is an organization dedicated to numerical linear algebra and optimization, containing packages to model, solve, benchmark and analyze results efficiently. We aim, among other things, to provide cutting-edge and original solvers and tools for researchers.
Feel free to visit our website juliasmoothoptimizers.github.io for recent updates on the organization.
Interested in the organization? Have a look at @dpo's presentation of JSO on Youtube 📽️ at the JuliaCon2022.
Want to contribute?
New contributors are always welcome 👋!
First-time contributors might want to have a look at available issues with the label
good first issue.
Please visit Contributing section of the website for guidelines.
One of our simplest packages for new contributors is OptimizationProblems.jl.
Looking for tutorials?
🥋: All packages have their own documentation. You can also access the tutorial section of the JSO website
🎬: Follow @abelsiqueira's youtube channel for more tutorials in videos!
Feel free to open a discussion if you can't find answers to your questions.
Looking for a package?
JuliaSmoothOptimizers contains several packages for modeling and solving linear algebra and optimization problems. The optimization solvers all rely on a unified API to communicate with the models, which is the NLPModels API.
You might also be interested in SolverBenchmark.jl to easily compare your solver via performance profiles or tables available in LaTeX or markdown format!
Linear algebra (incl. linear least squares)
- Efficiently model linear problems 🤠: LinearOperators.jl, SparseMatricesCOO.jl, LLSModels.jl
- Solve linear problems with iterative methods 🥳: Krylov.jl, KrylovPreconditioners.jl
- Computing a sparse factorization 👾: LDLFactorizations.jl, HSL.jl, MUMPS.jl, QRMumps.jl
- Construct a preconditionner 🚀: BasicLU.jl, LimitedLDLFactorizations.jl, AMD.jl
- Access test systems 🤼: SuiteSparseMatrixCollection.jl
Linear and quadratic optimization problems
- Model a problem with quadratic objective and linear constraints 🦸: QuadraticModels.jl, QPSReader.jl
- Solve linear and quadratic models 🎅: RipQP.jl, QuadraticModelsCPLEX.jl, QuadraticModelsXpress.jl, QuadraticModelsGurobi.jl
Nonlinear Least squares
- Model nonlinear least-squares problems 🧙: ADNLPModels.jl, NLPModelsJuMP
- Solve nonlinear least squares 🧐: CaNNOLeS.jl, JSOSolvers.jl
- Access test problems 🤺: BundleAdjustmentModels.jl, NLSProblems.jl, OptimizationProblems.jl
General nonlinear optimization
- Model general optimization problems 💪: NLPModels.jl, ADNLPModels.jl, KnetNLPModels.jl, PDENLPModels.jl
- Load models from other modeling systems 🦅: NLPModelsJuMP.jl, AmplNLReader.jl, CUTEst.jl
- Solve unconstrained and bound-constrained models 👍: JSOSolvers.jl AdaptiveRegularization.jl
- Solve general optimization problems 🤘: DCISolver.jl, FletcherPenaltySolver.jl, NLPModelsIpopt.jl, NLPModelsKnitro.jl, Percival.jl
- Access a collection of test problems 🤖: CUTEst.jl, OptimizationProblems.jl
We gratefully acknowledge the support of MacStadium for providing us with hardware used for continuous integration at JSO!