DBDelve
Dive deep into your data. A fast, native, multi-engine database client written in Rust. Free and open source, no telemetry.
翻訳待ち
Rust sequential quadratic programming for smooth constrained optimization, with Python bindings and a shell/MCP job worker.
翻訳待ち
Loading the full README.
Read the full README ↗One of 18 related repositories. The repository overview shows what each one does and how they connect.
A sequential quadratic programming (SQP) solver in Rust, with Python bindings, for smooth constrained problems such as trajectory transcriptions. Dense BFGS accepts up to 256 variables. The experimental structured SQP modes use sparse curvature and Clarabel for larger models. Partitioned BFGS passed the independent first-order check on the 4,994-variable SQP5 transfer with an extended time budget.
Seven application tutorials (SQP1–SQP6, X2) cover constrained calibration, multistart and scaling, a hanging chain, collocation from the brachistochrone to a low-thrust transfer, an Earth–Mars Sims–Flanagan leg, reaction kinetics and AC power dispatch, each with an independent reference.
Choosing an optimization tool? Start with the shared solver-selection and agent guide or the optimization ecosystem overview. The guide compares this solver with Python/Rust black-box optimization and the other structured solver, then explains library, shell and MCP use.
Shared agent job API: this repository builds
sqp-job-worker, a native solver worker for the job API of optimization-jobs, at the revision thatCargo.tomlpins. The same build makes the runneroptimization-runandoptimization-mcp, an MCP server through which agents submit, follow and cancel solves. See the API guide, the runnable tutorial, the validation report and the review. Existing solver APIs remain available. Your own NLPs run as jobs in a worker of your own built on the worker library (application models). Sibling workers on the same node: LP-IP-craft for LP/MIP, fcmaes-rust for black-box, multimodal and multi-objective search. experiment-craft runs reproducible campaigns of these jobs (parameter sweeps, dependent steps, budgets and reports); its baseline rebuilds and testssqp-job-workerat a pinned revision. It is in early development.
AI agents: read ai-context.md (formulation, options, results, multistart, the job API) and AGENTS.md (build, test, conventions).
Version 0.18.0: experimental structured SQP above 256 variables. Opt-in
partitioned BFGS on overlapping constraint cliques
and an optional exact sparse Lagrangian Hessian, with sparse Clarabel QPs,
sparse restoration, a memory and fill budget checked before solving, and
structure diagnostics. On the Earth–Mars multiple-shooting transfer
(pykep-rust 0.1.6) it passed the independent first-order check at 130 to
1,916 variables within 30 seconds and at 4,994 variables with a 90-second
budget. The default dense mode is unchanged. sqp.solve/1 accepts the
structured mode for registered models up to 5,000 variables. See the
target card and CHANGELOG.md.
Previous version 0.17.0: first release on PyPI and crates.io. pip install sqp-craft
installs a wheel, and the library crates sqp-craft, sqp-craft-solver,
sqp-craft-clarabel, sqp-craft-activeset and sqp-craft-parallel are on
crates.io. The solver crates and the Python package are numerically unchanged
since 0.16.0; the release adds the CUTEst benchmark harness, publishing metadata
and release workflows (see CHANGELOG.md).
Previous version 0.16.0: eight-worker execution and thirty further experiments
(iterations 31–60). Native Options(threads=8) offers a maximum worker budget;
large active-set QP outputs and opt-in native propagation models can use it.
Small pilot kernels and full BFGS keep their measured scalar path. Rust
batch::solve_many / try_solve_many run ordered independent starts with
worker-local models/backends, shared cancellation and an eight-CPU total budget.
Python callbacks/observers remain on their calling thread; the Clarabel engine
remains serial. Default threads=1 and the 256-variable NLP limit are unchanged.
See the parallel plan,
results,
reproduction/API guide and
the review before merging.
This is the beginning of the README. Read the rest at the original. Read the full README ↗