Skip to content

Latest commit

 

History

History
69 lines (49 loc) · 2.66 KB

README.md

File metadata and controls

69 lines (49 loc) · 2.66 KB

MultiObjectiveProblems.jl

Docs (stable) Docs (dev) CI Coverage

MultiObjectiveProblems.jl is a curated Julia library of benchmark problems for multiobjective optimization. It provides source-traceable problem implementations, a consistent evaluation API, registered analytical derivatives, and metadata-based catalog queries.

Installation

import Pkg
Pkg.add("MultiObjectiveProblems")

See the installation guide for the development version, project environments, and local checkouts.

Quick Example

using MultiObjectiveProblems
using Random

prob = DTLZ2()
lower, upper = recommended_bounds(prob)
rng = MersenneTwister(1234)
α = rand(rng, prob.nvar)
x = lower .+ α .* (upper .- lower)

values = eval_f(prob, x)
J = eval_jacobian(prob, x)

names = filter_problems(has_jacobian = true)

Documentation

The MultiObjectiveProblems.jl documentation contains the quick start, task-oriented guides, mathematical formulations, API reference, and bibliography. Instructions for building it locally are in docs/README.md.

Highlights

  • Curated, source-traceable benchmark implementations.
  • Allocating and in-place APIs for objectives and registered derivatives.
  • Catalog filters for dimensions, bounds, constraints, and derivative support.
  • Registered variable bounds, and a documented finite box for the problems whose formulation declares none.
  • Per-family formulations, metadata, usage examples, and references.

Contributing

Contributions are welcome. See CONTRIBUTING.md for the development workflow, testing requirements, and source-evidence checklist.

Citation

If you use MultiObjectiveProblems.jl in research, please cite the software using the metadata in CITATION.cff.

License

MultiObjectiveProblems.jl is distributed under the MIT License.