Skip to content

Latest commit

 

History

History
executable file
·
124 lines (110 loc) · 14.6 KB

Optimization.md

File metadata and controls

executable file
·
124 lines (110 loc) · 14.6 KB

Optimization.md

Mathematical Optimization packages in Julia!



§1. FRAMEWORKS

  • JuMP.jl :: A modeling language for Mathematical Optimization (linear, mixed-integer, conic, semidefinite, nonlinear).

  • Clp.jl :: Interface to the Coin-OR Linear Programming solver (CLP)
  • Gurobi.jl :: is a Julia interface for the Gurobi Optimizer, a commercial optimization solver for a variety of mathematical programming problems, including linear programming (LP), quadratic programming (QP), quadratically constrained programming (QCP), mixed integer linear programming (MILP), mixed-integer quadratic programming (MIQP), and mixed-integer quadratically constrained programming (MIQCP).
  • jlSimplex :: Proof-of-concept implementation of the (dual) simplex algorithm for linear programming in Julia.
  • NLTester :: Code for benchmarks comparing AMPL, Julia, and YALMIP (MATLAB) for nonlinear modeling.
  • PiecewiseLinearOpt.jl :: Optimizing over piecewise linear functions.
  • Tulip.jl :: is an open-source interior-point solver for linear optimization, written in pure Julia. It implements the homogeneous primal-dual interior-point algorithm with multiple centrality corrections, and therefore handles unbounded and infeasible problems.

  • BARON.jl :: A wrapper for the BARON mixed-integer nonlinear programming solver.
  • ConicNonlinearBridge.jl :: Wrapper to solve conic optimization problems with derivative-based nonlinear solvers.
  • Convex.jl :: A Julia library for mathematical programming that makes it easy to formulate and fast to solve nonlinear convex optimization problems.
  • CUTEst.jl :: Julia interface for CUTEst.
  • DReal.jl :: A Julia wrapper for Nonlinear SMT solving using the dReal SMT solver.
  • Ipopt.jl :: Julia interface to the Ipopt nonlinear solver.
  • NLPModels.jl :: A standardized API to evaluate the functions and derivatives of nonlinear optimization models.
  • NLopt.jl :: Package to call the NLopt nonlinear-optimization library from the Julia language.
  • Optim.jl :: Univariate and multivariate optimization solvers in Julia.
  • Quadprog.jl :: A wrapper around Ipopt.jl to solve quadratic programming problems. This package provides the function quadprog which calls the Ipopt.jl library for Interior Point Nonlinear Optimization.
  • OptimizationServices.jl :: Julia interface to COIN-OR Optimization Services. This Julia package is intended to be an interface between MathProgBase.jl and COIN-OR Optimization Services (OS), translating between the Julia-expression-tree MathProgBase format for nonlinear objective and constraint functions and the Optimization Services instance Language (OSiL) XML-based optimization problem interchange format.
  • PDENLPModels.jl :: A NLPModel API for optimization problems with PDE-constraints.

§4. UNCLASSIFIED

  • AmplNLReader.jl :: A Julia Interface to AMPL.
  • AmplNLWriter.jl :: Julia interface to AMPL-enabled solvers
  • AutomotiveDrivingModels.jl :: For car encounter models.
  • BlackBoxOptim.jl :: An experimental, work-in-progress global optimization framework for Julia, supporting both multi- and single-objective optimization problems, focused on (meta-)heuristic/stochastic algorithms (DE, PSO, CMA-ES etc).
  • BLOM.jl :: A Julia port of the Berkeley Library for Optimization Modeling (Work-In-Progress).
  • CGP.jl :: Cartesian Genetic Programming (CGP) implemented in Julia.
  • Caching.jl :: Memoization mechanism.
  • Cbc.jl :: Interface to the Coin-OR Cbc solver for mixed-integer programming
  • CharibdeOptim.jl :: A Julia implementation of the cooperative solver Charibde.
  • CGRASP.jl :: Continuous Greedy Randomized Adaptive Search Procedure (CGRASP), in Julia.
  • CSDP.jl :: Julia wrapper for the CSDP semidefinite programming solver.
  • ConstraintProgramming.jl :: Calculates the feasible region for a set of real-valued inequalities with Julia.
  • CutPools.jl :: Pools of cutting planes for JuMP models.
  • CPLEX.jl :: The CPLEX.jl package provides an interface for using IBM's CPLEX Optimizer™ from the Julia language. You cannot use CPLEX.jl without having purchased and installed a copy of CPLEX Optimizer™ from IBM. This package is available free of charge and in no way replaces or alters any functionality of IBM's CPLEX Optimizer product.
  • CSDP.jl :: Julia wrapper to CSDP semidefinite programming solver.
  • CoinOptServices.jl :: Julia interface to COIN-OR Optimization Services.
  • DDUS.jl :: Data-driven Uncertainty Sets for the JuMPeR framework.
  • ECOS.jl :: Julia wrapper for the ECOS conic optimization solver.
  • EAGO.jl :: A development environment for robust and global optimization.
  • EAGODomainReduction.jl :: Domain Reduction Procedures in Global Optimization.
  • GeneticAlgorithms.jl :: is a lightweight framework that simplifies the process of creating genetic algorithms and running them in parallel.
  • GLPK.jl :: GLPK wrapper module for Julia.
  • GLPKMathProgInterface.jl :: Interface between the GLPK.jl wrapper and MathProgBase.jl.
  • HSL.jl :: Julia interface to the HSL Mathematical Software Library.
  • InformedDifferentialEvolution.jl :: Implementation of Differential Evolution with optional custom predictors.
  • jobshop :: The Jobshop (Open Shop Scheduling Problem (OSSP)) problem is solved with evolutionary strategies in Julia.
  • JuliaCMAES :: CMA-ES port - a mix of the original minimal MATLAB implementation (purecmaes.m) and the full one (cmaes.m).
  • julia-nlopt :: NLopt bindings for julia. {NB: Not maintained for the current Julia releases}.
  • JuMPeR.jl :: Julia for Mathematical Programming (JuMP) extension for Robust optimization.
  • JuMPTools.jl :: Small helper functions for JuMP models.
  • JuGP.jl :: A prototype JuMP extension for geometric programming.
  • Junquo.jl :: stands for JUlia Nonconvex QUadratically constrained quadratic program Optimizer, a (mixed-integer) nonconvex quadratically constrained quadratic program (QCQP) solver.
  • KNITRO.jl :: This package provides an interface for using the KNITRO solver from the Julia language, which can only be used after having purchased and installed a copy of KNITRO from Ziena Optimization.
  • LinearOperators.jl :: Linear Operators for Julia.
  • LinearResponseVariationalBayes.jl :: Julia tools for building simple variational Bayes models with JuMP.
  • LossFuns.jl :: An implementation of loss functions for empirical risk minimization.
  • LsqFit.jl :: Simple curve fitting functionality from Optim.jl has been moved into its own package.
  • LSQ.jl :: is a library that makes it easy to formulate and solve least-squares optimization problems with linear equality constraints.
  • MathProgBase.jl :: Solver-independent functions (incl. linprog and mixintprog) and low-level interface for Mathematical Programming.
  • Mayday.jl :: Sums-of-Squares optimization in Julia, powered by JuMP
  • MinFinder.jl :: The MinFinder algorithm to find all the minima for a differentiable function inside a bounded domain.
  • Memoize.jl :: Easy memoization for Julia.
  • Mosek.jl :: Interface to the Mosek solver in Julia.
  • MOpt.jl :: Parallel derivative-free Moment Optimization for Julia.
  • Munkres.jl :: Munkres algorithm for the optimal assignment problem.
  • NEOS.jl :: A Julia interface for the NEOS Optimisation Server.
  • NewOptimizer.jl :: WIP for new optimizer for julia base.
  • NODAL.jl :: is an Open Distributed Autotuning Library in Julia.
  • OSQP.jl :: A Julia wrapper for the Operator Splitting Quadratic Program (OSQP) solver is a numerical optimization package.
  • ParallelGenocop.jl :: Parallel implementation of Genocop - a genetic algorithm for numerical optimization problems with linear constraints.
  • pikaia.jl :: Genetic Algorithms (GA's).
  • PolyJuMP :: A JuMP extension for Polynomial Optimization.
  • Polyopt.jl :: Julia package for polynomial optimization using semidefinite programming, with some presentation notebooks of an optimization package.
  • Predictors.jl
  • ProfileView.jl :: Interactive SVG flame graphs for analyzing/profiling. An HTML preview of the SVG example
  • ProxAlgs.jl :: Proximal algorithms for optimization in Julia.
  • Proximal.jl :: Translation of Parikh and Boyd code for proximal algorithms.
  • QuadDIRECT.jl :: Global optimization without derivatives.
  • QuickCheck.jl :: is listed in METADATA and based on QuickCheck specification-based randomized tester for Julia.
  • Ranking.jl :: Tools for ranking in Julia.
  • RationalSimplex.jl :: Pure Julia implementation of the simplex algorithm.
  • scheduleCrew.jl.
  • SCIP.jl by @mlubin :: An optimization software for mixed-integer programs.
  • SCIP.jl by @ryanjoneil :: A Julia interface to the SCIP solver.
  • SCS.jl :: Julia Wrapper for SCS (https://github.com/cvxgrp/scs).
  • SemidefiniteModels :: A MathProgBase extension for Semidefinite Modelling.
  • SemidefiniteProgramming.jl :: This package provides a Julia interface for low-level modeling of semidefinite programming problems and for solving semidefinite programs with solvers such as SDPA and CSDP.
  • simplex.jl :: Practice project program that performs the simplex algorithm.
  • StructJuMP.jl :: A block-structured optimization framework for JuMP.
  • StochasticDualDynamicProgramming :: Implementation of Stochastic Dual Dynamic Programming using the StructJuMP modeling interface.
  • SumOfSquares.jl :: Sum of Squares Programming for Julia.
  • Surrogates.jl :: Surrogate modeling and optimization.
  • TrafficAssignment.jl :: A package for traffic assignment that loads the network data and finds the user equilibrium traffic pattern.
  • VinDsl.jl :: A fast and furious domain-specific language for variational inference in Julia.
  • VRP :: Vehicle Routing Problem (VRP) is a combinatorial optimization and integer programming problem.
  • Xpress.jl :: A Julia interface for the FICO Xpress optimization suite.