Update README.md
Browse files
README.md
CHANGED
@@ -11,61 +11,37 @@ tags:
|
|
11 |
![](./images/GREEDRL-Logo-Original-640.png)
|
12 |
|
13 |
|
14 |
-
#
|
15 |
-
|
16 |
-
## 🏆Award
|
17 |
|
18 |
|
19 |
## Introduction
|
20 |
|
21 |
-
|
22 |
On the other hand, *heuristic algorithms* can compute solutions efficiently, but are not able to prove the optimality of solutions.
|
23 |
|
24 |
-
In the realistic business scenarios,
|
25 |
-
proposes a generic and complete solver,
|
|
|
|
|
|
|
|
|
26 |
|
27 |
* **GENERAL**
|
28 |
|
29 |
-
|
30 |
|
31 |
* **HIGH-PERFORMANCE**
|
32 |
|
33 |
-
|
34 |
|
35 |
* **USER-FRIENDLY**
|
36 |
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
## Architecture design
|
41 |
-
The entire architecture is divided into three layers:
|
42 |
-
|
43 |
-
* **High-performance Env framework**
|
44 |
-
|
45 |
-
The constraints and optimization objectives for the problems to be solved are defined in the Reinforcement Learning(RL) Environment(Env).
|
46 |
-
Based on performance and ease of use considerations, the Env framework provides two implementations:one based on **pytorch** and one based on **CUDA C++**.
|
47 |
-
To facilitate the definition of problems for developers, the framework abstracts multiple variables to represent the environment's state, which are automatically generated after being declared by the user. When defining constraints and optimization objectives, developers can directly refer to the declared variables.
|
48 |
-
|
49 |
-
Currently, various VRP variants such as CVRP, VRPTW and PDPTW, as well as problems such as Batching, are supported.
|
50 |
-
|
51 |
-
|
52 |
-
* **Pluggable NN components**
|
53 |
-
|
54 |
-
The framework provides certain neural network(NN) components, and developers can also implement custom neural network components.
|
55 |
-
|
56 |
-
|
57 |
-
* **High-performance NN operators**
|
58 |
-
|
59 |
-
In order to achieve the ultimate performance, the framework implements some high-performance operators specifically for Combinatorial Optimization(CO) problems to replace pytorch operators, such as the Masked Addition Attention and Masked Softmax Sampling."
|
60 |
-
|
61 |
-
![](./images/GREEDRL-Framwork.png)
|
62 |
-
|
63 |
-
## Network design
|
64 |
-
The neural network adopts the Seq2Seq architecture commonly used in Natural Language Processing(NLP), with the Transformer used in the Encoding part and RNN used in the decoding part, as shown in the diagram below.
|
65 |
|
66 |
-
|
|
|
67 |
|
68 |
-
## Modeling examples
|
69 |
|
70 |
|
71 |
### Capacitated Vehicle Routing Problem (CVRP)
|
@@ -577,7 +553,7 @@ class Objective:
|
|
577 |
|
578 |
#
|
579 |
|
580 |
-
#
|
581 |
|
582 |
|
583 |
## Model description
|
|
|
11 |
![](./images/GREEDRL-Logo-Original-640.png)
|
12 |
|
13 |
|
14 |
+
# 🤠GreedRL
|
|
|
|
|
15 |
|
16 |
|
17 |
## Introduction
|
18 |
|
19 |
+
***Combinatorial Optimization Problems(COPs)*** has long been an active field of research. Generally speaking, there exists two main approachs for solving COPs, each of them having pros and cons. On the one hand, the *exact algorithms* can find the optimal solution, but they may be prohibitive for solving large instances because of the exponential increate of the execution time.
|
20 |
On the other hand, *heuristic algorithms* can compute solutions efficiently, but are not able to prove the optimality of solutions.
|
21 |
|
22 |
+
In the realistic business scenarios, COPs are usually large-scale(>=1000 nodes), which have very strict requirements for the execution time and performance of solutions. To better solve these problems, we
|
23 |
+
proposes a generic and complete solver, named **🤠GreedRL**, based on **Deep Reinforcement Learning(DRL)**, which achieves better speed and performance of solutions than *heuristic algorithms* .
|
24 |
+
|
25 |
+
## 🏆Award
|
26 |
+
|
27 |
+
## Main features
|
28 |
|
29 |
* **GENERAL**
|
30 |
|
31 |
+
🤠GreedRL makes **a high level of abstraction for COPs**, which can solve various types of problems, such as Vehicle Routing Problems(VRPs), Batching, Scheduling and Online Assignment problems. At the same time, for the VRPs, it also supports variants of VRPs with different constraints, such as Time-Window, Pickup-Delivery, Split-Delivery, Multi-Vehicles, etc.
|
32 |
|
33 |
* **HIGH-PERFORMANCE**
|
34 |
|
35 |
+
🤠GreedRL have improved the DRL environment(Env) simulation speed by **CUDA and C++ implementations**. At the same time, we have also implemented some **Operators** to replace the native operators of PyTorch, like *Masked Matrix Multiplication* and *Masked Additive Attention*, to achive the ultimate computing performance.
|
36 |
|
37 |
* **USER-FRIENDLY**
|
38 |
|
39 |
+
🤠GreedRL have **warped commonly used modules**, such as Neural Network(NN) components, RL training algothrim and COPs constraints implementations, which makes it easy to use.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
|
41 |
+
## Architecture
|
42 |
+
![](./images/GREEDRL-Framwork.png)
|
43 |
|
44 |
+
## COPs Modeling examples
|
45 |
|
46 |
|
47 |
### Capacitated Vehicle Routing Problem (CVRP)
|
|
|
553 |
|
554 |
#
|
555 |
|
556 |
+
# GreedRL-CVRP-pretrained model
|
557 |
|
558 |
|
559 |
## Model description
|