Skip to content
Back to skills

Acquisition Control

ASecurity

"Select, tune, debug, and extend BayesianOptimization acquisition

  • 247 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 8, 2026
businesspythonbashapi

Works with

  • api

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill acquisition-control --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Acquisition Control?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Acquisition Control
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-acquisition-control/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-acquisition-control)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: acquisition-control
description: "Select, tune, debug, and extend BayesianOptimization acquisition
  functions including UCB, EI, PI, Constant Liar, GPHedge, custom acquisitions,
  and constraint compatibility."
disable-model-invocation: true
metadata:
  disco-role: operating
license: MIT
---

# Acquisition Control

Use this sub-skill when the task is to choose, configure, debug, serialize, or extend acquisition functions for `bayesian-optimization` v3.3.x.

## Route here for

- Choosing UCB, Expected Improvement, Probability of Improvement, Constant Liar, or GPHedge.
- Tuning exploration/exploitation knobs: `kappa`, `xi`, `exploration_decay`, and `exploration_decay_delay`.
- Using lower-level acquisition `suggest(...)` controls such as `n_random`, `n_smart`, `fit_gp`, and `random_state`.
- Running asynchronous ask-tell loops with `ConstantLiar` dummy suggestions.
- Building portfolio acquisition strategies with `GPHedge`.
- Writing custom `AcquisitionFunction` subclasses and making them compatible with optimizer `save_state` / `load_state`.
- Diagnosing constraint compatibility, empty target-space errors, duplicate suggestions, stale `UtilityFunction` snippets, and custom state-method failures.

## Do not use this sub-skill for

- Basic optimizer lifecycle, `maximize`, `probe`, registration, or state management beyond acquisition-specific state. Use [optimizer workflows](../optimizer-workflows/SKILL.md).
- Detailed constraints, typed parameters, domain reduction, or parameter-bound transformations beyond acquisition compatibility notes. Use [advanced domain features](../advanced-domain-features/SKILL.md).
- Repository maintenance, tests, releases, or contribution workflows. Use [repo maintenance](../repo-maintenance/SKILL.md).

## Read first

1. [API reference](references/api-reference.md) for class signatures, parameter constraints, state parameters, constraint support, and common errors.
2. [Workflows](references/workflows.md) for strategy selection, exploration tuning, Constant Liar ask-tell, GPHedge portfolios, custom acquisitions, and save/load patterns.
3. [Troubleshooting](references/troubleshooting.md) when suggestions fail, constraints are rejected, parameters validate incorrectly, duplicates appear, old `UtilityFunction` code is encountered, or custom acquisitions fail persistence.
4. [Acquisition probe script](scripts/acquisition_probe.py) for a deterministic tiny check that compares built-in acquisition suggestions and optionally exercises Constant Liar and GPHedge.

## Minimal setup snippets

```python
from bayes_opt import BayesianOptimization, acquisition

optimizer = BayesianOptimization(
    f=None,
    pbounds={"x": (-2.0, 4.0)},
    acquisition_function=acquisition.UpperConfidenceBound(kappa=2.576),
    random_state=7,
    verbose=0,
)

# Seed observations before acquisition-driven suggestions.
optimizer.register({"x": -1.0}, target=-4.29)
optimizer.register({"x": 0.0}, target=-0.69)
optimizer.register({"x": 2.5}, target=-0.44)
next_point = optimizer.suggest()
```

If no `acquisition_function` is passed, `BayesianOptimization` chooses UCB for unconstrained problems and Expected Improvement for constrained problems. The optimizer-level `suggest()` method returns a random point while the target space is empty; lower-level acquisition `suggest(...)` requires at least one registered observation.

## Quick validation

After installing `bayesian-optimization` with its normal dependencies, run:

```bash
python scripts/acquisition_probe.py --help
python scripts/acquisition_probe.py --include-constant-liar --include-gphedge
```

The script performs no network access, no plotting, and no writes. It prints concise `PASS` lines after validating that suggested points remain inside bounds.

Files in this skill

  • SKILL.md3.7 KB
  • references/api-reference.md9.8 KB
  • references/troubleshooting.md9 KB
  • references/workflows.md10 KB
  • scripts/acquisition_probe.py8.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…