dart_mathopt 0.0.1-dev.1
dart_mathopt: ^0.0.1-dev.1 copied to clipboard
Mathematical optimization for Dart & Flutter (LP/MILP/QP) powered by HiGHS and Clarabel via Rust FFI.
0.0.1-dev.1 #
-
Preview release for pub.dev:
LICENSEcarries the full GPL-3.0 text with the commercial-license alternative (dart pub publish --dry-runclean). -
Single entry point
DartMathOpt.init(config:)withMathOptConfigpresets. -
Engine registries (Dart + Rust); MicroLP pure-Rust LP engine;
anyhowcontext at the FFI boundary. -
Compiled-request cache + per-constraint event-loop yields.
-
Natural operators (
x + y,x * 3); vectorized builders; N-D indexed variables and grids; logical choice helpers. -
Typed solutions (
hasSolution/requireSolution); NaN math rejected pre-FFI (infinite bounds legal). -
Web path:
highsis now an optional cargo feature (default on);--no-default-featuresbuilds pure-Rust Clarabel + MicroLP to WASM, withautofalling back to MicroLP. -
Showcase grows to 12 demos using all three engines: Farm Planning (MicroLP), Juice Blending (Clarabel), Project Funding (
atMostOne) and Lecture Timetabling (exactlyOnegrid) on HiGHS. -
Unified console
example.dart: usage-pattern recipes plus the catalog tour (tour/patternsargs). -
Microsecond engine timings (
solve_time_us, additive FFI field) with exact adaptive display (µs/ms/s) in the showcase; shared catalog tour for both console entries. -
Test-suite overhaul per testing skills:
test/mirrorslib/src/by module,group()everywhere, Arrange-Act-Assert structure, new unit suites (options, logger, loader, exceptions, constraints, DTO contracts, lifecycle, init guard), 89.9% hand-written non-bridge coverage, and a real-solveintegration_test/flow for the example app (withsolve()refusing uninitialized use via a clear error).