Software

Our research group is committed to developing, contributing to, and maintaining open-source software for scientific computing. In particular, we are highly dedicated to making contributions to packages within the Julia Language ecosystem, which serves as an excellent platform for implementing efficient numerical software. We are interested in a wide range of topics, including numerical optimization, numerical linear algebra, automatic differentiation, algebraic modeling platforms, and modeling tools for chemical and biological processes and energy systems. On this page, you will find a list of open-source development projects led by our research group.

  • MadNLP.jl: A nonlinear programming solver based on the filter line-search interior point method (as in Ipopt) that can handle/exploit diverse classes of data structures, either on host or device memories.
  • ExaModels.jl: An algebraic modeling and automatic differentiation tool in Julia Language, specialized for SIMD abstraction of nonlinear programs.
  • ExaModelsExamples.jl: A collection of examples demonstrating the use of ExaModels.jl for various optimization problems, including power systems, optimal control problems, and COPS benchmark problems.
  • ExaModelsPower.jl: ExaModelsPower.jl is a Julia package for modeling and solving power systems optimization problems, built on top of ExaModels.jl.