essos.multiobjectiveoptimizer¶
Classes¶
Module Contents¶
- class essos.multiobjectiveoptimizer.MultiObjectiveOptimizer(loss_functions, vmec, coils_init=None, function_inputs=None, opt_config=None)¶
- loss_functions¶
- loss_names¶
- vmec¶
- function_inputs¶
- opt_config¶
- study = None¶
- order_Fourier¶
- num_points¶
- num_coils¶
- max_eval¶
- n_trials¶
- tol¶
- optimizer_choices¶
- initial_coils¶
- best_coils = None¶
- _generate_initial_coils()¶
- _call_loss_fn(func, available_inputs)¶
- _build_available_inputs(x)¶
- weighted_loss(x, weights)¶
- _objective(trial)¶
- _build_coils_from_x(x)¶
- run(seed: int = 42)¶
- optimize_with_optax(weights, method='adam', lr=0.01)¶
- plot_pareto_fronts(logx=False, logy=False, logz=False, z_thresh=None, ncols=None, save=None)¶
Plot Pareto front.
logx, logy, logz: Apply log10 transform to x, y, z axes respectively. z_thresh: If provided, filter out points where y > mean + z_thresh * std ncols: Number of columns in the grid layout for 2D projections. save: str (exact path) or True (auto-save in ./output/) or None (no save)
- plot_parallel_coordinates(logy=False, z_thresh=None, include_params=None, save=None)¶
Draw one parallel-coordinates figure per objective.
logy: Apply log10 transform to y-axis values. z_thresh: If provided, filter out points where y > mean + z_thresh * std include_params: If provided, filter the parameters to include only those specified. save: str (exact path) or True (auto-save in ./output/) or None (no save).
For True/str, a separate file per objective is saved.
- plot_optimization_history(logy=False, z_thresh=None, ncols=2, save=None)¶
Plot optimization history for all objectives in a grid layout.
logy: Apply log10 transform to y-axis values. z_thresh: If provided, filter out points where y > mean + z_thresh * std ncols: Number of columns in the grid layout. save: str (exact path) or True (auto-save in ./output/) or None (no save).
- plot_param_importances(save=None, ncols=2)¶
- select_best_from_pareto(weights=None, limits=None)¶
- rebuild_best_coils(weights=None, limits=None, plot=False)¶