Skip to content

Commit

Permalink
experiments added
Browse files Browse the repository at this point in the history
  • Loading branch information
mamunm committed Mar 28, 2024
1 parent 743fbbf commit a10a903
Show file tree
Hide file tree
Showing 10 changed files with 2,026 additions and 18 deletions.
31 changes: 20 additions & 11 deletions README.md
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)
Loading

0 comments on commit a10a903

Please sign in to comment.