Releases: DrobyshevDev/decisionrl
Release list
v0.4.0
Added
decisionrl.solvers: exact dynamic-programming optima (value iteration). The learned inventory policy matches the DP optimum (196.1).JointPricingInventory: coupled price and order decisions with no closed-form optimum (20 environments, 8 applied).- Gymnasium registration:
gymnasium.make("decisionrl/<Env>-v0")for every built-in environment. - Applied RL cookbook and a self-contained in-browser demo of a trained policy vs the base-stock rule.
- Nightly workflow that re-runs the multi-seed applied verification and fails on a regression.
Changed
- README rewritten in a concise, professional style.
- Benchmarks: CleanRL reference column; test coverage (86%) measured in CI with a badge.
Install: pip install -U decisionrl
v0.3.0 — applied-RL hardening
Highlights
Honest, multi-seed proof. The applied-RL results are now mean ± std over 3 seeds against the strong classical baseline, not single-seed figures or straw men. RL wins five (e.g. non-stationary inventory 278.5 ± 2.4 vs 240.7 best fixed base-stock, +16%; energy vs a greedy price-threshold controller; queue vs the best value threshold) and honestly matches the optimum on two (stationary inventory, pricing).
Real Stable-Baselines3 comparison in the docs: PPO CartPole parity 500/500, DQN CartPole 327 ± 122 vs 96 ± 57.
Added
decisionrl.baselines— reusable classical baselines incl. the exact newsvendor base-stock optimum.NonstationaryInventory— the "classical methods break" environment (19 envs, 7 applied).decisionrl.config— YAML/JSON experiment runner +decisionrl run <config>CLI.decisionrl.tracking— reproducibility manifests (git SHA, versions, seed, config, metrics).render_rgbon every applied env; Applied-RL notebook; multi-seed verification script.
Changed
- Repositioned end-to-end around operational decisions ("Beyond operations" section for the broader library); "Why RL, and not a solver?" section.
- CI slow job parallelized with pytest-xdist.
Install: pip install -U decisionrl
v0.2.0
Highlights
Renamed to decisionrl — one name everywhere (pip install decisionrl, import decisionrl). Breaking: update imports reinforce.* → decisionrl.*.
Repositioned around applied RL — reinforcement learning for operational decisions (pricing, inventory, energy, queues, supply chains), each environment shipped with the classic operations-research baseline so a learned policy can be proved better, not just asserted.
Added
- Four applied environments —
DynamicPricing,QueueAdmissionControl,EnergyMicrogrid,SupplyChain— bringing the total to 18 environments (6 applied), each with a baseline and a learning test. examples/applied_rl_demo.py: trains all six applied tasks and prints the learned-vs-baseline proof table (RL beats the naive baseline on five, recovers the base-stock optimum on inventory).- Baseline comparison harness vs Stable-Baselines3 (
examples/benchmark_vs_baselines.py). - TRPO, meta-RL (RL²), and
BernoulliBandit.
Changed
DistributedActorLearnergained a configurablerecv_timeout(no more deadlock on a crashed actor).- README, banner and docs repositioned around applied RL. 31 algorithms, 345 tests.
Full details in CHANGELOG.md.
Full Changelog: https://github.com/DenisDrobyshev/decisionrl/commits/v0.2.0