AlgorithmCharacterizer

Algorithm characterization from optimization data.

Analyzes optimization trial results to generate comprehensive algorithm profiles with strengths, weaknesses, and recommendations.

See ADR-011 for architecture decisions.

Classes

class AlgorithmCharacterizer

Generate algorithm profiles from optimization data.

Analyzes optimization results to characterize each algorithm’s performance, identify optimal parameters, and generate qualitative assessments.

Example:

results = OptunaOptimizer(…).optimize(…) characterizer = AlgorithmCharacterizer(results) profiles = characterizer.characterize_all()

for profile in profiles:

print(f”{profile.display_name}: {profile.strengths}”)

Methods:

__init__()

Initialize characterizer.

characterize()

Generate profile for a single algorithm.

characterize_all()

Generate profiles for all algorithms in results.

create_comparison()

Create comparison of all algorithms.

save_profiles()

Save all profiles to JSON file.

load_profiles()

Load profiles from JSON file.

Functions

characterize()

Generate profile for a single algorithm.

Args:

algorithm: Algorithm name to characterize.

Returns:

AlgorithmProfile with complete characterization.

characterize_all()

Generate profiles for all algorithms in results.

Returns:

List of AlgorithmProfile objects.

create_comparison()

Create comparison of all algorithms.

Returns:

AlgorithmComparison with rankings and recommendations.

save_profiles()

Save all profiles to JSON file.

Args:

output_path: Path to save profiles.

load_profiles()

Load profiles from JSON file.

Args:

input_path: Path to load from.

Returns:

AlgorithmComparison with loaded profiles.