High-dimensional numerical optimization and sampling toolkit for complex, non-differentiable problems.
Project description
hdim-opt: High-Dimensional Optimization Toolkit
Modern optimization package to accelerate convergence in complex, high-dimensional problems. Includes the QUASAR evolutionary algorithm, HDS exploitative QMC sampler, Sobol sensitivity analysis, signal waveform decomposition, and data transformations.
All core functions, listed below, are single-line executable and require three essential parameters: [obj_function, bounds, n_samples]:
-
quasar: QUASAR optimization for high-dimensional problems.
-
hyperellipsoid: Generate a non-uniform hyperellipsoid density sequence.
-
analyze: Numerically analyze any given dataset.
-
sensitivity: Sensitivity analysis to quantify each variable's influence on the objective (via SALib).
-
lorentzian: Fit a Lorentzian/Cauchy kernel density estimation to the data ensemble.
-
isotropize/deisotropize: Isotropize the input data using zero-phase component analysis (ZCA).
-
waveform: Decompose the input waveform signal array into a diagnostic summary.
Installation
Installed via hdim_opt directly from PyPI:
pip install hdim_opt
Example Usage:
import hdim_opt as h
# Parameter Space
n_dimensions = 30
n_samples = 1000
bounds = [(-100,100)] * n_dimensions
obj_func = h.test_functions.rastrigin # Test function
# Sampling
ellipsoid_samples = h.hyperellipsoid(n_samples, bounds, verbose=True) # Hyperellipsoid sampling
iso_samples, iso_params = h.isotropize(ellipsoid_samples) # Isotropize data
h.analyze(ellipsoid_samples) # Analyze any dataset
# Optimization
solution, fitness = h.quasar(obj_func, bounds, init=iso_samples) # QUASAR evolutionary optimization
Si, S2 = h.sensitivity(obj_func, bounds) # Sobol sensitivity analysis
kde = h.lorentzian(solution, sigma=150.0, ensemble=ellipsoid_samples, verbose=True) # Lorentzian KDE
# Waveforms
t, signal = h.waveform_analysis.e1_waveform(noise=0.1) # Waveform generation
summary = h.waveform(t,signal) # Waveform analysis
QUASAR Optimizer
QUASAR (Quasi-Adaptive Search with Asymptotic Reinitialization) is a quantum-inspired evolutionary algorithm, highly efficient for minimizing high-dimensional, non-differentiable, and non-parametric objective functions.
- Benefit: Significant improvements in convergence speed and solution quality compared to contemporary optimizers. (Reference: [https://arxiv.org/abs/2511.13843]).
HDS Sampler
HDS (Hyperellipsoid Density Sampling) is a non-uniform Quasi-Monte Carlo sampling method, specifically designed to exploit promising regions of the search space.
- Benefit: Provides control over the sample distribution. Results in higher average optimization solution quality when used for population initialization compared to uniform QMC methods. (Reference: [https://arxiv.org/abs/2511.07836]).
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hdim_opt-1.4.3.tar.gz.
File metadata
- Download URL: hdim_opt-1.4.3.tar.gz
- Upload date:
- Size: 36.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97a1314489ac04a093c16debe17e5bfb168f21869bc3b6e1b3680077fdf56951
|
|
| MD5 |
16ec5ae7740e653bbdc29a2187eaa686
|
|
| BLAKE2b-256 |
f0e58813668e84ed16d975a9776fbe97a2b0fb20b0b555a78b55771aeea94fc9
|
File details
Details for the file hdim_opt-1.4.3-py3-none-any.whl.
File metadata
- Download URL: hdim_opt-1.4.3-py3-none-any.whl
- Upload date:
- Size: 38.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
08dbacbbd4ef130b086a56cdbbfda49577b1b5453455d24b150332d67758064b
|
|
| MD5 |
baadc74eec4bd059211a38585548551f
|
|
| BLAKE2b-256 |
b4a3a71e17235f47f69f4ce68348c7909db8617038fbfecfaab2e40a160ec6df
|