Skip to content

Benchmark library of vector-valued optimization problems in Julia, with analytic per-objective gradients, filtering functions, and a unified interface for testing and comparisons of multi-objective solvers.

Notifications You must be signed in to change notification settings

VectorOptimizationGroup/MOProblems.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MOProblems.jl

A Julia library of benchmark multi-objective (vector-valued) optimization problems with per-objective analytic gradients and metadata for filtering by convexity, bounds, and problem dimensions.

Installation

import Pkg
Pkg.add(url="https://github.com/VectorOptimizationGroup/MOProblems.jl")

Usage Example

using MOProblems

zdt1 = ZDT1()               # 30 variables, 2 objectives
x = rand(zdt1.nvar)
values = eval_f(zdt1, x)    # evaluate objective functions
J = eval_jacobian(zdt1, x)  # jacobian (analytical or finite differences)
names = filter_problems(has_jacobian=true)

Documentation

Once the HTML site (Documenter.jl) is published, these Markdown files will serve as the primary source.

Features

  • Large library of benchmark multi-objective problems
  • Analytic gradients per objective when available
  • Unified API for evaluating objectives, constraints, and Jacobians
  • Metadata for filtering (convexity, bounds, dimensions, Jacobians)
  • Central registry with name-based and property-based queries
  • Supports fixed- and variable-dimension test problems

Contributing

Contributions are welcome! Please feel free to submit a Pull Request or open an Issue to discuss improvements or report bugs.

About

Benchmark library of vector-valued optimization problems in Julia, with analytic per-objective gradients, filtering functions, and a unified interface for testing and comparisons of multi-objective solvers.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages