174 Beam-based Correction and Optimization for Accelerators
not ideal since the choice on the weights is made before all possibilities are
presented. Sometimes it is desirable to find a distribution of optimal solutions
before choosing the solution to operate with. Multi-objective optimization is
needed in such cases. The goal here is to find solutions x in the unit hypercube
that simultaneously minimize multiple objective functions,
min(f 1 (x), f 2 (x), · · · , f M (x)).
(7.6)
Comparison of two solutions for the single objective case is straightforward.
In the minimization problem that we are considering, the solution with a
lower value for the objective is the better one. However, comparison of two
solutions in a multi-objective optimization is more complicated since there
can be additional outcomes – solution A can be better than solution B in one
objective but worse in another. Non-dominated sorting is used to classify the
solutions by their performances in this case. Solution A is said to dominate
solution B if A is at least equal to B in all objectives and is strictly better
than B for at least one objective, i.e.,
∀i ∈ [1, M ] : f i (x A ) ≤ f i (x B ), and
∃j ∈ [1, M ] : f j (x A ) < f j (x B ),
(7.7)
where [1, M ] stands for all integers from 1 to M . Using non-dominated sorting,
a group of solutions can be ordered in different fronts, from best to worst,
labeled, F 1 , F 2 , · · · , such that any solution in F i dominates any solution in
F j if i < j, but no solution dominates another solution if they are in the same
front. The leading front for all valid solutions in the parameter space is called
the Pareto front. Solutions in the Pareto front represents the best possible
solutions. The goal of multi-objective optimization is to find the Pareto front.
The M = 2 case is the most common for multi-objective optimization.
Unless noted, in the following we consider single-objective optimization.
7.1.3 Practical considerations for online optimization implementation
Automated online optimization is executed by computer programs. The computer programs need to implement the optimization algorithms, define the
optimization problem, provide an appropriate interface with the users and
the control systems of the machine, and manage and process the data collected during the optimization process. While the algorithms are common to
all applications, the problem setup can be very different from application to
application. By utilizing a proper interface between the algorithm implementation and the problem setup in the online optimization program, the users
can be shielded from the details of the algorithms and can thus be focused on
the particular application. In the same time, the developers of the optimization algorithms can be isolated from the details of the specific applications.
Such an interface not only makes the program easy to use for users, but also
makes the program easy to maintain, support, and extend.
Précédent

- 187/253

Suivant