Skip to main content

Bayesian Optimization of Particle Packing Fractions (BOPPF)

DOI

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)

Source distribution for boppf 0.1.0
File Size Uploaded
boppf-0.1.0.tar.gz 1.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for boppf 0.1.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page