AI4Finance-Foundation / RLSolver

Solvers for NP-hard and NP-complete problems with an emphasis on high-performance GPU computing.
https://ai4finance.org
MIT License
130 stars 31 forks source link
gpu-acceleration learning massively-parallel optimization reinforcement solver

RLSolver: High-performance GPU-based Solvers for Nonconvex and NP-Complete Problems

We aim to showcase that reinforcement learning (RL) or machine learning (ML) with GPUs delivers the best benchmark performance for large-scale nonconvex and NP-complete problems. RL with the help of GPU computing can obtain high-quality solutions within short time.

Key Technologies

Workflow

Datasets

Methods

2023 NeurIPS Classical Simulation of Quantum Circuits: Parallel Environments and Benchmark

2023 NeurIPS workshop K-Spin Ising Model for Combinatorial Optimizations over Graphs: A Reinforcement Learning Approach

2021 NeurIPS workshop ElegantRL-Podracer: Scalable and Elastic Library for Cloud-Native Deep Reinforcement Learning

code 2023 AAAI Reinforcement Learning for Branch-and-Bound Optimisation using Retrospective Trajectories

code 2021 AAAI Parameterizing Branch-and-Bound Search Trees to Learn Branching Policies

code 2020 ICML Reinforcement learning for integer programming: Learning to cut

code (greedy) 2017 NeurIPS Learning Combinatorial Optimization Algorithms over Graphs

code (local search) 2023, A Monte Carlo Policy Gradient Method with Local Search for Binary Optimization

code (LKH for TSP) 2021 AAAI Combining reinforcement learning with Lin-Kernighan-Helsgaun algorithm for the traveling salesman problem

code (VCA_RNN) 2023 Machine_Learning Supplementing recurrent neural networks with annealing to solve combinatorial optimization problems

code (VNA) 2021 Nature Machine_Intelligence Variational neural annealing

(iSCO) 2023 ICML Revisiting sampling for combinatorial optimization

Solvers to Compare with

Gurobi is the state-of-the-art solver. The license is required, and professors/students at universities can obtain the academic license for free.

SCIP is a well-known open-source solver, and its simplex is commonly used in "learning to branch/cut". SCIP is open-source and free.

Other Solvers

COPT: a mathematical optimization solver for large-scale problems.

CPLEX: a high-performance mathematical programming solver for linear programming, mixed integer programming, and quadratic programming.

Xpress: an extraordinarily powerful, field-installable Solver Engine.

BiqMac: a solver only for binary quadratic or maxcut. Users should upload txt file, but the response time is not guaranteed. If users use it, we recommend to download the sources and run it by local computers.

Store Results

Partial results are stored in the folder "result" of this repo.

Performance

Quantum circuits MIMO Compressive sensing

File Structure

RLSolver
└──helloworld
   └──maxcut
        └──data
        └──result
        └──util.py
        └──mcmc.py
        └──l2a.py (ours)
        └──baseline
            └──greedy.py
            └──gurobi.py
            └──random_walk.py
            └──simulated_annealing.py
            └──variational_classical_annealing_RNN
            └──variational_neural_annealing
└──benchmark
   └──maxcut.md
   └──graph_partitioning.md
   └──tsp.md
   └──tnco.md
└──rlsolver (main folder)
   └──util.py
   └──data
      └──graph
      └──quantum_circuits
      └──milp_coefs
      └──binary_coefs
   └──problems
      └──maxcut
          └──baseline
          └──mcmc.py
          └──l2a.py(ours)
      └──tnco
          └──baseline
          └──mcmc.py
          └──l2a.py(ours)
      └──mimo
          └──baseline
          └──mcmc.py
          └──l2a.py(ours)

Finished

Related Websites