v0.4.0
Major release: v0.4.0
is here! π
This release adds several new features and major refactorings in both modeling and environment sides!
Changelog
β¨ Features
- DeepACO + ACO @Furffico @henry-yeh
- Non-autoregressive (NAR) models and NARGNN @Furffico @henry-yeh
- Add modular environment data generator with support to new distributions @cbhua
- New decoding techniques based on the decoding strategy class @LTluttmann
- Top-p (nucleus sampling)
- Top-k
- Select start nodes functions @LTluttmann
βοΈ Refactoring
- Major modeling refactoring (summarized here). Now we categorize NCO approaches (which are not necessarily trained with RL!) into the following: 1) constructive (AR and NAR), 2) improvement, 3) transductive. This translates into code, which is now fully customizable. For instance, in constructive methods, now encoders / decoders can be fully replaced or removed in an abstract way!
- Major environment refactoring (summarized here): we further modularize the environments into components (logic under
env
, data generation undergenerator
, and so on), with several components moved inside theRL4COEnvBase
. Importantly, we introduce data generators that can be customized! - Use Abstract classes if class should not be @ngastzepeda
π Documentation
- Hydra documentation and tutorial @LTluttmann
- New modularized examples under
examples/
- Updated RL4CO structure in ReadTheDocs
- Move to MIT license with AI4CO for inclusiveness
- New RL4CO / AI4CO swag. You may also find them here!
π Bug Fixes
- MatNet and FFSP bugfix @LTluttmann
- Best solution gathering from POMO @ahottung
- Tests now passing on MPS; compatibility with TorchRL pytorch/rl#2125
- Miscellaneuous @LTluttmann , @bokveizen , @tycbony