Aller au contenu

EXO11 - BoTorch Kernel Selection for Multi-Objective Optimization

Question

Starting from the reference files (in directory examples/cabin):

  1. Use the botorch_multi_objective_optimizer_kernel instead of the basic BoTorch optimizer
  2. Test different kernel types: "mixed", "matern", "rbf", and "categorical"
  3. Compare the performance and convergence of different kernel configurations
  4. Analyze the impact of kernel selection on Pareto frontier quality
  5. Investigate the numerical stability with different kernels

Objectives

  • Life Cycle Cost (minimize)
  • Life Cycle Assessment - CO2 emissions (minimize)
  • Thermal Comfort (minimize)

Parameters to test

Kernel Types

  • kernel_type: "mixed", "matern", "rbf", "categorical"
  • fallback_to_simple_kernel: True, False

Optimization Parameters

  • n_initial_points: 5
  • n_optimization_iterations: 15
  • acquisition_function: "qEHVI"
  • batch_size: 1
  • raw_samples: 256, 512
  • num_restarts: 5, 10

Expected outcomes

  1. Understanding of how different kernels affect optimization performance
  2. Identification of the most suitable kernel for building renovation problems
  3. Analysis of numerical stability with different kernel configurations
  4. Comparison of convergence speed and solution quality
  5. Recommendations for kernel selection based on problem characteristics

Tasks

  1. Kernel Comparison: Run optimization with each kernel type and compare results
  2. Numerical Stability: Monitor for convergence issues and numerical errors
  3. Performance Analysis: Compare hypervolume improvement and Pareto frontier quality
  4. Parameter Sensitivity: Test different raw_samples and num_restarts values
  5. Fallback Analysis: Compare results with and without fallback_to_simple_kernel

Hint(s)

  • Look at the kernel_selection.md documentation for detailed kernel explanations
  • Monitor the optimization progress and any warning messages
  • The "mixed" kernel combines RBF for discrete variables and Matern for continuous variables
  • "categorical" kernel uses short lengthscales for categorical behavior
  • Use fallback_to_simple_kernel=True for better numerical stability
  • Compare the number of function evaluations and convergence time
  • Analyze the diversity and quality of Pareto solutions obtained

Advanced Analysis

  • Plot convergence curves for each kernel type
  • Compare the distribution of objective values
  • Analyze the exploration vs exploitation balance
  • Investigate the impact of kernel parameters on performance