pyanno4rt.optimization.solvers._pymoo_solver

Pymoo wrapper.

Overview

Classes

PymooSolver

Pymoo wrapper class.

CustomCallback

Custom callback object for the Pymoo solver.

Classes

class pyanno4rt.optimization.solvers._pymoo_solver.PymooSolver(number_of_variables, number_of_constraints, problem_instance, lower_variable_bounds, upper_variable_bounds, lower_constraint_bounds, upper_constraint_bounds, algorithm, initial_fluence, max_iter, tolerance)[source]

Pymoo wrapper class.

This class serves as a wrapper for the multi-objective (Pareto) optimization algorithms from the Pymoo solver. It takes the problem structure, configures the selected algorithm, and defines the method to run the solver.

Parameters:
  • number_of_variables (int) – Number of decision variables.

  • number_of_constraints (int) – Number of constraints.

  • problem_instance (object of class ParetoOptimization The object representing the (Pareto) optimization problem.)

  • lower_variable_bounds (list) – Lower bounds on the decision variables.

  • upper_variable_bounds (list) – Upper bounds on the decision variables.

  • lower_constraint_bounds (list) – Lower bounds on the constraints.

  • upper_constraint_bounds (list) – Upper bounds on the constraints.

  • algorithm (str) – Label for the solution algorithm.

  • initial_fluence (ndarray) – Initial fluence vector.

  • max_iter (int) – Maximum number of iterations.

  • tolerance (float) – Precision goal for the objective function value.

fun

Minimization function from the Pymoo library.

Type:

callable

algorithm_object

The object representing the solution algorithm.

Type:

object of class from pymoo.algorithms

problem

The object representing the Pymoo-compatible structure of the multi-objective (Pareto) optimization problem.

Type:

object of class from pymoo.core.problem

termination

The object representing the termination criterion.

Type:

object of class from pymoo.termination

Overview

Methods

run(_)

Run the Pymoo solver.

Members

run(_)[source]

Run the Pymoo solver.

Parameters:

initial_fluence (ndarray) – Initial fluence vector.

Returns:

  • ndarray – Optimized (Pareto) set of fluence vectors.

  • str – Description for the cause of termination.

class pyanno4rt.optimization.solvers._pymoo_solver.CustomCallback[source]

Bases: pymoo.core.callback.Callback

Custom callback object for the Pymoo solver.

objective_names

Tuple with the compound names of the objective functions.

Type:

tuple

constraint_names

Tuple with the compound names of the constraint functions.

Type:

tuple

Overview

Methods

notify(algorithm)

Log the intermediate results after each iteration.

Members

notify(algorithm)[source]

Log the intermediate results after each iteration.

Parameters:

algorithm (object of class from pymoo.algorithms) – The object representing the solution algorithm.