Bayesian optimization of particle packing fractions.
Project description
Bayesian Optimization of Particle Packing Fractions (BOPPF)
Bayesian optimization of particle packing fractions for solid rocket propellant fuels. The objective function (not released here) is based on proprietary code from Northrop Grumman Innovation Systems (NGIS).
To reproduce, this requires a proprietary Windows executable (renamed to
particle_packing_sim.exe
) and Python functions contained in an unreleased module named proprietary.m
for writing the input files and reading the volume fraction from the output files. These files should be placed into the boppf/utils directory.
Installation
A local installation can be performed via:
conda create -n packing python==3.9.*
conda activate packing
git clone https://github.com/sparks-baird/bayes-opt-particle-packing.git
cd bayes-opt-particle-packing
conda install flit
flit install --pth-file
Usage
The following is based on boppf_example.py, which can be run via python examples/boppf_example.py
First, take care of imports.
from boppf.boppf import BOPPF
from boppf.utils.data import load_data
Define how many pseudo-random initial Sobol points to generate (n_sobol
, typical is twice the number of parameters), the number of Bayesian optimization iterations n_bayes
, and the number of particles to drop in each simulation (particles
).
n_sobol = 10
n_bayes = 40
particles = int(2.5e4)
Instantiate the BOPPF
class, and call the optimize
method.
boppf = BOPPF(n_sobol=n_sobol, n_bayes=n_bayes, particles=particles)
best_parameters, means, covariances, ax_client = boppf.optimize(np.array([]), np.array([]), return_ax_client=True)
The Ax experiment
object and a tabular summary are saved to the results
directory.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file boppf-0.1.0.tar.gz
.
File metadata
- Download URL: boppf-0.1.0.tar.gz
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.27.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e977452b19809f9d3eccb8f8559e62a534bae5cc6549ad536861e0c2fa386a11 |
|
MD5 | d1f0e0e0d6fa7329daf673574145b807 |
|
BLAKE2b-256 | b32984f9bd6e9d2c8bcc311e332dce085192b20b60abe32b1dc5512c870b068d |
File details
Details for the file boppf-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: boppf-0.1.0-py3-none-any.whl
- Upload date:
- Size: 20.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.27.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b0adbb9061d9d502ed346603b1217757c4fa3fa18b62122c08647328ef362c5 |
|
MD5 | dbe2705118ce0a9ae31f875d5a99f1b6 |
|
BLAKE2b-256 | 1f0539785a150f14f4567381572c57fad5ee2eacf3512a3a19fac8dcb785f1a1 |