gemseo / algos

pareto_front module

Compute and display a Pareto Front

gemseo.algos.pareto_front.generate_pareto_plots(obj_values, obj_names, figsize=(10, 10))[source]

Plot a 2D Pareto front :param obj_values: objective function array, of size (n_samples, n_objs) :param obj_names: names of the objectives :param figsize: matplotlib figure size in inches

gemseo.algos.pareto_front.plot_pareto_bi_obj(axe, obj_values, pareto_optimal, obj_names, all_pareto=None)[source]

Plot a 2D Pareto front

Parameters
  • axe – matplotlib axe on which to be plotted

  • obj_values – objective function array, of size (n_samples, n_objs)

  • pareto_optimal – vector of booleans of size n_samples, True if Pareto optimal.

  • obj_names – names of the objectives

  • all_pareto – indices of points that are pareto optimal wrt all criteria.

gemseo.algos.pareto_front.select_pareto_optimal(obj_values)[source]

Compute the Pareto front Search for all non dominated points, ie there exists j such that there is no lower value for obj_values[:,j] that does not degrade at least one other objective obj_values[:,i]

Parameters

obj_values – objective function array, of size (n_samples, n_objs)

Returns pareto_optimal

vector of booleans of size n_samples, True if Pareto optimal