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.
Metadata
Release files for boppf 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| boppf-0.1.0.tar.gz | 1.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| boppf-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.1 MB
Release files / boppf-0.1.0.tar.gz
| Download URL | boppf-0.1.0.tar.gz |
|---|---|
| Size | 1.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e977452b19809f9d3eccb8f8559e62a534bae5cc6549ad536861e0c2fa386a11
|
|
BLAKE2b-256 checksum How to use checksums |
b32984f9bd6e9d2c8bcc311e332dce085192b20b60abe32b1dc5512c870b068d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.27.1
|
Release files / boppf-0.1.0-py3-none-any.whl
| Download URL | boppf-0.1.0-py3-none-any.whl |
|---|---|
| Size | 20.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5b0adbb9061d9d502ed346603b1217757c4fa3fa18b62122c08647328ef362c5
|
|
BLAKE2b-256 checksum How to use checksums |
1f0539785a150f14f4567381572c57fad5ee2eacf3512a3a19fac8dcb785f1a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.27.1
|