This repository contains the code necessary to reproduce the results of BootQA approach.
Currently the repository only supports Linux distributions and is tested on Ubuntu 20.
Anaconda Python distribution is required here:
Steps:
1. Clone repository
2. cd ASE_submission
3 conda env create -f ocean.yml
4. conda activate ocean
You can find the implementation of BootQA, EIDQ, VQ, and SA under the "code" folder. The "code/dataset" file contains the test cases and property values for "Paint Control", "IOF/ROL", and "GSDTSR" dataset.
You can run the following command line in the terminal under the root of the reporistory.
python code/bootqa.py [sub-problem size] [run] [dataset_name]
You can implement experiments of various sub-problem sizes (i.e., 10, 20, ...). You can set the number of repeat by the run parameter. You can select which dataset to run (i.e., "paintcontrol", "gsdtsr", "iofrol").
You can use the following command line in the terminal.
python code/eidq.py [sub-problem size] [run] [dataset_name]
You can use the following command line in the terminal. Note that VQ can be implemented on the "paintcontrol" dataset.
python code/vq.py [run]
You can use the following command line in the terminal. Note that VQ can be implemented on the "paintcontrol" dataset.
python code/sa.py [run] [dataset_name]
NOTE: Each approach (BootQA, EIDQ, SA, and VQ ) has it's own folder. For BootQA and EIDQ the results are seperated by dataset/subproble_size/runs_number and for SA and VQ the results are seperated by dataset/runs_number
The results for each Run is provided seperately.
1. approach/dataset/run/summary.csv (Contains summarized data for RQ results)
2. approach/dataset/run/result.csv (constains data of selected test cases)
For example for paintcontrol dataset for VQ run 0 the file path would be VQ/paintcontrol/0/summary.csv
1. approach/dataset/size/run/summary.csv (Contains summarized data for RQ results for each sub problem size)
2. approach/dataset/size/run/log.csv (Constains raw data of the each sub-solution, including selected test cases, embeddding time, QPU timing, embedding information, etc)
3. approach/dataset/size/run/sample_info/ (this folder contains the candidate solutions in QA process in all excutions. For BootQA, each file contains the information of one sub-problem. For EIDQ, each file contains the information of one iteration. For VQ, it contains one file of the execution.)
4. approach/dataset/size/run/result.csv (constains data of selected test cases)
For example for paintcontrol dataset for BootQA for subproblem size 20 and run 0 the file path would be BootQA/paintcontrol/size_20/0/summary.csv
NOTE: Running the experiment from scratch requred D-wave api authentication which is not provided in this repository.