generated from AC-BO-Hackathon/project-template
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
10 changed files
with
2,026 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,25 @@ | ||
[![Open in Codespaces](https://classroom.github.com/assets/launch-codespace-7f7980b617ed060a017424585567c406b6ee15c891e84e1186181d67ecf80aa0.svg)](https://classroom.github.com/open-in-codespaces?assignment_repo_id=14492361) | ||
# Autograding Example: Python | ||
This example project is written in Python, and tested with pytest. | ||
[![Open in Codespaces](https://classroom.github.com/assets/launch-codespace-7f7980b617ed060a017424585567c406b6ee15c891e84e1186181d67ecf80aa0.svg)](https://classroom.github.com/open-in-codespaces?assignment_repo_id=14492361) | ||
# Investigation of Multi-Objective Bayesian Optimization of QM9 Dataset | ||
|
||
## The assignment | ||
The tests are failing right now because the method isn't outputting the correct string. Fixing this up will make the tests green. | ||
This project will investigate the application of multi-objective Bayesian optimization (specifically EHVI- and parEGO-based methods) to benchmark several multi-objective optimization tasks with QM9 dataset. The objective is to develop specific guidelines about the choice of surrogate and acquisition functions in the context of Multi-Objective Bayesian Optimization for molecular property optimization. | ||
|
||
## Setup command | ||
References: | ||
|
||
See `postCreateCommand` from [`devcontainer.json`](.devcontainer/devcontainer.json). | ||
Balandat, Maximilian and Karrer, Brian and Jiang, Daniel R. and Daulton, Samuel and Letham, Benjamin and Wilson, Andrew Gordon and Bakshy, Eytan (2020) BoTorch: A Framework for Efficient Monte-Carlo Bayesian Optimization | ||
Raghunathan Ramakrishnan, Pavlo O. Dral, Matthias Rupp & O. Anatole von Lilienfeld (2014) Quantum chemistry structures and properties of 134 kilo molecules | ||
|
||
## Run command | ||
`pytest` | ||
# Results & Discussion | ||
|
||
## Notes | ||
- pip's install path is not included in the PATH var by default, so without installing via `sudo -H`, pytest would be unaccessible. | ||
In this work, we used the QM9 dataset (that contains about 134K molecules) to demonstrate the power of EHVI-based algorithms. In the interest of time and computational cost, we used randomly selected 1000 structures. We designed a few multi-objective tasks for this project, which are not necessarily motivated by any scientific design goals. But our results show the promise of using BO for similar kind of multi-objective molecular properties optimization. For featurization, we used the coulomb matrix (CM) and smooth overlap of atomic orbitals (SOAP) methods. For GP kernels, we used RBF, and Matern kernel. We compared three different acquisition functions, namely, 1. qEHVI, 2. qNEHVI, and 3. random data acquisition. In all the simulation results provided below, we used 50 initial random seed points. One main limitation of this work is, due to time constraints, we didn't run the simulation several times to have statistically robust results. | ||
|
||
## Maximizing mu (dielectric constant) and alpha (polarizability) | ||
|
||
This problem aims to find materials with a high dielectric constant in conjunction to a high polarizability. Below figure shows the optimization profile along with the pareto fronts for all three acquistion functions. | ||
|
||
![maximization of mu and alpha](experiments/mu_alpha/mu_alpha_results.png) | ||
|
||
# Maximizing mu and minimizing bandgap | ||
|
||
This problem is trying to find the molecules with a high dielectric constant with a low bandgap (high electrical conductivity). | ||
|
||
![Maximization of mu with minimizing gap](experiments/mu_gap/mu_gap_results.png) |
Oops, something went wrong.