ripopt 0.6.2

A memory-safe interior point optimizer in Rust
Documentation
[workspace]
members = [".", "rmumps"]

[package]
name = "ripopt"
version = "0.6.2"
edition = "2021"
license = "EPL-2.0"
description = "A memory-safe interior point optimizer in Rust"
repository = "https://github.com/jkitchin/ripopt"
categories = ["mathematics", "science", "algorithms"]
keywords = ["optimization", "nlp", "interior-point", "nonlinear", "solver"]
exclude = [
    "adversary/",
    "benchmarks/",
    ".crucible/",
    "docs/",
    "manuscript/",
    "research/",
    "tutorials/",
    "Ripopt.jl/",
    "ipopt-rust.png",
    "*.pdf",
    "*.ipynb",
    "RIPOPT_VS_IPOPT.md",
    ".github/",
]

[lib]
crate-type = ["cdylib", "rlib"]

[dependencies]
log = "0.4"
env_logger = "0.11"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
faer = { version = "0.20", optional = true }
rmumps = { version = "0.1.1", path = "rmumps", optional = true, features = ["faer"] }

[features]
default = ["rmumps", "faer"]
ipopt-native = []
cutest = []
hs = []
rmumps = ["dep:rmumps"]
faer = ["dep:faer"]

[[bin]]
name = "hs_suite"
path = "benchmarks/hs/run_ripopt.rs"
required-features = ["hs"]

[[bin]]
name = "ipopt_native"
path = "benchmarks/hs/run_ipopt_native.rs"
required-features = ["ipopt-native"]

[[bin]]
name = "ripopt"
path = "src/bin/ripopt_ampl.rs"

[[bin]]
name = "cutest_suite"
path = "benchmarks/cutest/run_cutest.rs"
required-features = ["cutest", "ipopt-native"]

[[bin]]
name = "collect_kkt"
path = "benchmarks/cutest/collect_kkt.rs"
required-features = ["cutest"]

[[example]]
name = "compare_large_scale"
required-features = ["ipopt-native"]

[[example]]
name = "benchmark_solvers"

[profile.release]
debug = true

[dev-dependencies]
approx = "0.5"
serde = { version = "1", features = ["derive"] }
serde_json = "1"