You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This repository implements Scalable Neural Network-based Blackbox Optimization (SNBO) — a novel
4
-
method for efficient blackbox optimization using neural networks. This repository also includes code
5
-
for various benchmark methods used for evaluating the SNBO.
3
+
This repository provides implementation for SNBO (Scalable Neural Network-based Blackbox Optimization) — a novel method for efficient blackbox optimization using neural networks. It also includes code for benchmark algorithms and a suite of test problems used in the paper.
6
4
7
-
This work is currently under review and will be available soon.
5
+
📝 **Note**: This work is currently under review. Citation details will be available soon.
6
+
7
+
## 📌 Features
8
+
9
+
This repository includes implementations for the following optimization algorithms:
> ⚠️ ***NOTE***: Before running the file, you need to append the path of the root folder to `PYTHONPATH` variable. This can be done by running following command in the terminal before running the python file:
77
+
78
+
```
79
+
export PYTHONPATH=PATH_TO_SNBO_FOLDER:$PYTHONPATH
80
+
```
81
+
82
+
Or, you can add this line to your shell configuration file (`.bashrc` or`.zshrc`) and reload the terminal.
83
+
84
+
✅ Option 2 (**Recommended**): Instead of directly running the `optimize.py` file, you can use one of the ready-to-use scripts available in runscript folder. These scripts already include the `export` statement requried for appending the `PYTHONPATH` variable at the start of the script, you just need to ensure that correct path is defined.
41
85
42
86
To solve a test problem using SNBO or any of the benchmark methods, you can use ``single_run.sh`` file under runscripts folder. To execute the file, run:
43
87
44
88
```
45
-
sh runscripts/single_run.sh
89
+
bash runscripts/single_run.sh
46
90
```
47
91
48
92
If you want to run a batch of optimization, you can use ``batch_run.sh`` file under runscripts folder. To execute the file, run:
49
93
50
94
```
51
-
sh runscripts/batch_run.sh
95
+
bash runscripts/batch_run.sh
52
96
```
53
97
54
98
When you execute any of the above commands, it will create a folder name ``results`` and will save the entire optimization history in a mat file.
55
99
56
-
> 💡 **_NOTE:_** It is recommended to run the bash file or `optimize.py` file from the root folder and NOT from within the subfolder.
100
+
> ⚠️ **_NOTE:_** It is recommended to run the python or the bash file from the root folder and NOT from within the subfolder.
101
+
102
+
## 📊 Results from paper
103
+
104
+
To reproduce the data reported in the paper, you can use ``paper_results.sh`` script. Use the following command to run this script:
105
+
106
+
```
107
+
bash runscripts/paper_results.sh
108
+
```
109
+
110
+
For each seed value, this script loops through each problem and solves it using all the methods.
111
+
112
+
> ⏳ **Warning**: This script will take a long time to run, depending on the resources used
57
113
58
114
## 🧾 Citation
59
115
60
-
If you use this code or SNBO method in your research, please cite the original work (citation coming soon, paper under review).
116
+
If you use SNBO method in your research, please cite the original work (citation coming soon, paper under review).
0 commit comments