Roadmap¶
This document describes the planned direction for givp over the next
twelve months. Items are subject to change based on user feedback and
available contributor time.
Current version¶
v1.0.0 - production release of the GRASP + ILS + VND + Path Relinking metaheuristic for continuous, integer, and mixed black-box optimization. Available in Python, Julia, Rust, C++ (header-only), and R.
Short-term (next 3 months)¶
- Expanded examples:
- [x] multi-objective scalarization wrapper example (Issue #141)
- [x] combinatorial TSP-like discretized objective example (Issue #140)
- Cross-port parameter semantics sync:
- [x] versioned parity checklist published (
docs/parameter-parity.md) (Issue #138) - [x] docs synchronized to the canonical config contract across Python, Julia, Rust, C++, and R
- Elite-pool warm start API — cross-port rollout (Issue #142): completed
across Python, Julia, Rust, C++, and R with multi-seed
initial_guessesexposed in public APIs. - Configurable path-relinking strategies — cross-port rollout (Issue #143):
completed across Python, Julia, Rust, C++, and R with explicit
path_relink_strategy(bidirectional,forward,backward,randomized; Python/Julia/R keeprandomalias compatibility). - Multilingual benchmark protocol parity for dissertation workflow
(Issue #172): completed protocol freeze for literature-comparison runners
with aligned defaults (
n_runs=30,dims=10,max_iter=200,time_limit=30.0, canonical baseline set), including R CLI--time-limitsupport and parity documentation updates.
Recently completed (v1.0.0 line): Julia package on General Registry (
Pkg.add("GIVPOptimizer")), Rustn_workerswithrayon, C++ literature comparison pipeline, C++ staging packaging (vcpkg/conan), Julia CLI, iteration callback, warm start, fuzzing drivers, and coverage/format quality gates. Architecture page with Mermaid diagrams (docs/architecture.md) and navigation integration in MkDocs. Benchmark JSON schema v1 adopted by Python, Julia, Rust, and C++ literature-comparison runners, with a shared documentation page. Rust literature comparison pipeline consolidated with canonical command, benchmark-runner location, schema v1 output, and smoke test coverage. Benchmark chart automation delivered throughpython/benchmarks/publish_docs_artifacts.py, which publishes generated benchmark report pages and reusable SVG charts indocs/examples/from the committed Python, Julia, Rust, C++, and R literature-comparison artifacts. Documentation improvements: benchmark comparison charts (docs/examples/benchmark-reports/), parity tables, and roadmap status synchronized with implemented changes. Optional scikit-learn integration (Issue #145):GIVPOptimizernow inherits fromsklearn.base.BaseEstimatorwhen scikit-learn is installed, enabling use in scikit-learn'sGridSearchCV,RandomizedSearchCV, and other model selection / hyperparameter tuning pipelines via thefit()method.
Medium-term (3–6 months)¶
- C++ package promotion (from October 2026): track migration from staging
overlays (
cpp/vcpkg_ports/arnime-givp/,cpp/conan/) to upstream package indexes when the external submission window opens (Issue #139).
Long-term (6–12 months)¶
- Type-safe bounds specification (Issue #146): accept named-parameter bounds via mapping in addition to the current sequence-of-pairs format.
- Async support (Issue #147): explore asyncio-compatible runner for use in Jupyter and async frameworks.
Out of scope¶
The following are explicitly out of scope for this project:
- Gradient-based optimisation — use SciPy or PyTorch for that.
- Exact mathematical programming solvers (MILP/MINLP) — dedicated tools such as OR-Tools, CBC, or commercial solvers are better suited.
- GPU acceleration — not currently planned.
Feedback¶
If a feature you need is missing, please open a
GitHub Issue with the
label enhancement.