In mathematics and computer science, an optimization problem is a problem of finding the best solution from all the feasible solutions. They can broadly be divided into two categories depending upon the variables:
- Continuous (continuous optimization problem)
- Discrete (combinatorial optimization problem)
Some of the problems that can be categorized as optimization problems are given here:
- Shortest path
- Maximum flow through a network
- Vehicle routing
Julia, in particular, provides a number of optimization packages, the group of which is collectively called as JuliaOpt. The two most notable packages used are:
- JuMP (Julia for Mathematical Programming)
- Convex.jl
Both of these are Algebraic modeling languages (AMLs), which sit over MathProgBase.jl.