Overview¶
One sentence summary: ElegantRL_Solver is a high-performance RL Solver.
We aim to find high-quality optimum, or even (nearly) global optimum, for nonconvex/nonlinear optimizations (continuous variables) and combinatorial optimizations (discrete variables). We provide pretrained neural networks to perform real-time inference for nonconvex optimization problems, including combinatorial optimization problems.
This project is built on [ElegantRL](https://github.com/AI4Finance-Foundation/ElegantRL) and OpenAI Gym.
- The following two key technologies are under active development:
Massively parallel simuations of gym-environments on GPU, using thousands of CUDA cores and tensor cores.
Podracer scheduling on a GPU cloud, e.g., DGX-2 SuperPod.
- Key references:
Mazyavkina, Nina, et al. “Reinforcement learning for combinatorial optimization: A survey.” Computers & Operations Research 134 (2021): 105400.
Bengio, Yoshua, Andrea Lodi, and Antoine Prouvost. “Machine learning for combinatorial optimization: a methodological tour d’horizon.” European Journal of Operational Research 290.2 (2021): 405-421.
Makoviychuk, Viktor, et al. “Isaac Gym: High performance GPU based physics simulation for robot learning.” Thirty-fifth Conference on Neural Information Processing Systems Datasets and Benchmarks Track (Round 2). 2021.
Nair, Vinod, et al. “Solving mixed integer programs using neural networks.” arXiv preprint arXiv:2012.13349 (2020).
- Environments:
MIMO Beamforming in 5G/6G.
Classical NP-Hard problems.
Classical Simulation of Quantum Circuits.
Compressive Sensing.
Portfolio Management.
OR-Gym.
File Structure:
`
-RLSolver
-├── opt_methods
-| ├──branch-and-bound.py
-| └──cutting_plane.py
-├── helloworld
-| ├──maxcut.py
-| ├──maxcut_env.py
-└── rlsolver (main folder)
- ├── envs
- | ├── _base
- | └── maxcut
- | └── tsp
- | ├── portfolio_management
- |── rlsolver_learn2opt
- | ├── mimo
- | ├── tensor_train
- └── utils
- └── graph_partitioning.py
- └── graph_partitioning_gurobi.py
- └── maxcut.py
- └── maxcut_gurobi.py
- └── tsp.py
- └── tsp_gurobi.py
`
ElegantRL_Solver features high-performance and stability:
High-performance: it can find high-quality optimum, or even (nearly) global optimum.
Stable: it leverages computing resource to implement the Hamiltonian-term as an add-on regularization to DRL algorithms. Such an add-on H-term utilizes computing power (can be computed in parallel on GPU) to search for the “minimum-energy state”, corresponding to the stable state of a system.