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 ------- .. py: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:** .. py:method:: __init__() Initialize characterizer. .. py:method:: characterize() Generate profile for a single algorithm. .. py:method:: characterize_all() Generate profiles for all algorithms in results. .. py:method:: create_comparison() Create comparison of all algorithms. .. py:method:: save_profiles() Save all profiles to JSON file. .. py:method:: load_profiles() Load profiles from JSON file. Functions --------- .. py:function:: characterize() Generate profile for a single algorithm. Args: algorithm: Algorithm name to characterize. Returns: AlgorithmProfile with complete characterization. .. py:function:: characterize_all() Generate profiles for all algorithms in results. Returns: List of AlgorithmProfile objects. .. py:function:: create_comparison() Create comparison of all algorithms. Returns: AlgorithmComparison with rankings and recommendations. .. py:function:: save_profiles() Save all profiles to JSON file. Args: output_path: Path to save profiles. .. py:function:: load_profiles() Load profiles from JSON file. Args: input_path: Path to load from. Returns: AlgorithmComparison with loaded profiles.