Multiobjective optimization of the dynamic aperture for SLS 2.0 using surrogate models based on artificial neural networks

Modern synchrotron light source storage rings, such as the Swiss Light Source upgrade (SLS 2.0), use multi-bend achromats in their arc segments to achieve unprecedented brilliance. This performance comes at the cost of increased focusing requirements, which in turn require stronger sextupole and higher-order multipole fields for compensation and lead to a considerable decrease in the dynamic aperture and/or energy acceptance. In this paper, to increase these two quantities, a multi-objective genetic algorithm (MOGA) is combined with a modified version of the well-known tracking code tracy. As a first approach, a massively parallel implementation of a MOGA is used. Compared to a manually obtained solution this approach yields very good results. However, it requires a long computation time. As a second approach, a surrogate model based on artificial neural networks is used in the optimization. This improves the computation time, but the results quality deteriorates. As a third approach, the surrogate model is re-trained during the optimization. This ensures a solution quality comparable to the one obtained with the first approach while also providing an order of magnitude speedup. Finally, good candidate solutions for SLS 2.0 are shown and further analyzed.


I. INTRODUCTION
The upgrade of the Swiss Light Source, called SLS 2.0, is scheduled for 2023-24. To increase the brilliance, the current 3rd generation storage ring will be replaced by one employing seven-bend achromats, including reverse bends and longitudinal gradient bends [1]. The stronger focusing requirements need higher sextupole and higherorder multipole fields for chromatic compensation. This makes finding a reasonably large dynamic aperture (DA) for injection and an energy acceptance for a sufficient beam lifetime more challenging and more important. It can either be done indirectly, by computing and minimizing the dominant resonance driving terms [2], or directly, by computing and maximizing the DA and energy acceptance [3,4].
In this work the latter approach is used and a constrained multiobjective optimization problem is formulated (section II). The search space comprising the strengths of sextupole families, as well as horizontal and vertical linear chromaticity is considered. Similarly to the approach in [3], the objective functions are defined to maximize the transverse DAs at three different energies and to prevent the tune resonances from being crossed, thus maximizing the energy acceptance and beam lifetime. These figures of merit are computed using direct particle tracking with a modified version of the wellknown tracking code tracy [5].
Previous work includes approaches that speed up the convergence of the multi-generation optimization method by, e.g., preselecting points that are likely to be good using k-means clustering [4] or a surrogate model [15][16][17], i.e., an approximation model which captures the significant properties of a given simulation model and is also very cheap to evaluate. In this work an artificial neural network (ANN) surrogate model is used for the optimization, in combination with a MOGA, similarly to [18]. Additionally, the solution quality is improved by re-training the surrogate model during the optimization.
First, the ANN surrogate model is built to approximate the objective functions (section IV). In particular, good hyperparameters are determined and the surrogate model quality is shown. The surrogate model is then used for optimization and a new re-training procedure is devised (section V). The run time and the solution quality of the new approach are compared with those of a massively parallel implementation of a MOGA coupled with tracy. The solution quality is determined in comparison with an existing manually obtained solution.
Finally, good candidate solutions are shown and further analyzed (section VI). In particular, the transverse DAs at the three considered energies are shown and compared with those of the manually obtained solution.

II. OPTIMIZATION PROBLEM
A. Dynamic aperture (DA) The DA can be loosely defined as an area in the transverse phase space in which stable particle motion can occur. To quantify the size of the DA the approach from [3] together with the modifications from [9] is adopted. As the DA area is dependent on the local linear optics given by the Twiss parameters α and β at the starting location of the particle tracking, the DA coordinates r and θ in Floquet space are mapped to the coordinates for tracking via The particle trajectories along 2K rays in the (x, y) Floquet space starting at the origin are considered. The angles between these rays and the x axes are Since particles get lost on the vacuum chamber walls, it is reasonable to assume that a realistic DA will not exceed the aperture at the reference energy that would exist if all sextupoles and higher-order magnets were turned off. This assumed upper limit is referred to as the linear aperture, and the length it spans on the k-th ray is denoted byL(θ k ). Similarly, the length that the DA at a relative energy offset δ spans on this ray is denoted by In order not to reward cases with L(θ k , δ) >L(θ k ), the line objective is defined as BothL(θ k ) and L(θ k , δ) are computed using the biased binary search as presented in [9]. ForL k the dimensionless initial length in Floquet space is set to a sufficiently large reference radius of 0.01. The initial radius for L(θ k , δ) is then set toL k . The DA objective for a given relative energy offset δ is defined as In a flat lattice there is vertical symmetry of the aperture area, so (5) becomes Due to the normalizations in Eqs. (4) and (5), the DA objective is always in [0, 1]. In this paper the on-momentum and off-momentum DA objectives are considered. In particular, where δ = 0.03.

B. Crossing tune resonances
The DA objectives in Eq. (7) are computed to ensure a sufficiently large aperture region in phase space. Unfortunately, the binary search used to compute the line objectives in Eq. (4) is sufficient only when the aperture region is simply connected. This is not always the case, especially when particles cross tune resonances. Therefore, additional requirements that take into account the crossing of tune resonances need to be defined. For this, the tune is considered as a function of the initial positions x, y in transverse Floquet space and the relative energy deviation δ.

Chromatic tune footprint
For a sufficient energy acceptance it is beneficial to constrain the variation of tunes so that no low-order resonances are crossed. In particular, in this paper the tune footprint is constrained inside the triangle formed by three intersecting 2nd order resonances around the onmomentum tune. In the case of the considered SLS 2.0 lattice, the vertices of this triangle (see Fig. 6 To prevent particles from getting lost on resonance stopbands, a margin of 0.025 around the resonance lines is used in this work (see Fig. 6, inner black triangle). The tune footprint is approximately computed by sampling the energy-dependent tunes ν x and ν y at the energy offsets There are cases for which the particle motion is unstable and the tunes cannot be computed. Denoting by g( ν) the squared Euclidean distance of ν from the aforementioned triangle (see Eq. (9)), and taking into account that ν(0, 0, δ 0 ) = ν(0, 0, 0) is known and that g ( ν(0, 0, 0)) = 0, the tune footprint distance is defined as Furthermore, as in [3], is defined, with δ u,+ and δ u,− denoting the first (i.e., smallest in magnitude) positive and negative values, respectively, for which the tunes are located outside the triangle or not computable. The value of P needs to be high enough to achieve a sufficient resolution in tune space, without superfluous computational overhead -in this paper P = 25 is used. Furthermore, δ max = 0.05 is used.

Amplitude-dependent tune shifts (ADTS)
The betatron oscillation is nonlinear and thus anharmonic. Therefore, a number of different amplitudes have to be considered. In this work, to achieve a sufficient resolution, Q = 20 equidistant points are taken on each of the following two line segments in the transverse Floquet plane: the horizontal line segment (see the sentence containing Eq. (3) for the definition of L(·, 0)) (t, ∆) | t ∈ ]0, L(0, 0)] (14) and the vertical line segment In these points (with δ = 0) the tunes are computed as the fundamental frequencies of turn-by-turn data in each plane. To compute these frequencies, the FFT of 128 tracked turns with zero padding to 512 samples is used. To excite both oscillation modes ∆ = 10 −4 is used, offsetting these line segments from the original rays of the DA computation.
As in the case of computing the tune footprint distance ctfp in Eq. (12), the squared Euclidean distance of the tune in these point from the triangle formed by the 2nd order resonances (see Eq. (9)) is subsumed into the amplitude-dependent tune footprint distance Here 'computable' refers to the tracked particle not being lost in 512 turns.

C. Search space
Sextupoles are mainly used to compensate chromaticity, but they also limit the on-momentum transverse DA.
To have the possibility to extend the DA limits, more than two sextupole families are used. The strengths of these two sextupole families are subsumed into a vector of tuning sextupole strengths t = (t 1 , t 2 ), whose linear relationship with chromaticity is quantified by the matrix T. The sextupole strengths of the remaining families are grouped into a vector κ, and their influence on (linear) chromaticity ξ = (ξ x , ξ y ) is characterised by a matrix M, so that where ξ ua is the chromaticity of the unaltered lattice. By magnet design, the applicable sextupole strength is limited to some interval [−κ max , κ max ].
In addition to the sextupole strengths κ, the chromaticity is also taken to be a part of the search space. To prevent head-tail instability, it must be non-negative. On the other hand, the upper limit ξ max can be adjusted.
To sum up, a design point in the search space is where The SLS 2.0 sextupoles have a bore of 22 mm and a maximum poletip field of 0.71 T at 2.7 GeV, which corresponds to κ max = 650 m −3 . Furthermore, in this work ξ max is set to 1.

D. Multiobjective optimization problem
Summing up the three preceding sections, the constrained multiobjective optimization problem considered in this paper is (see Eqs. (6), (7), (13) and (18)) subject to (see Eqs. (12) and (16)) The second constraint ensures that the tune footprint distance ctfp and the amplitude-dependent tune footprint distance adts from the triangle formed by 2nd order resonances (see Eq. (9)) are both zero.
A design point d 1 (see Eq. (18)) dominates d 2 if it is not worse in any of the objectives (see Eq. (20)), and it is strictly better in at least one objective. A MOGA allows independent evaluations of solution candidates and is therefore suitable for parallelization. In this work a massively parallel implementation of a MOGA [28][29][30] is used to find points that are not dominated by any other point, called Pareto optimal points. The basic steps of a MOGA are shown in Algorithm 1. for pairs of individuals di, di+1 do 5: for each new individual dnew, compute F ( dnew)  [26,30] (called opt-pilot) is used, where the algorithm is implemented in C++ and parallelized using MPI such that a new generation is created (line 7) once the objective function values have been computed for n new individuals (line 6).
In this paper simulated binary crossover and independent bit mutation are used.

A. Particle tracking and lattice configuration
The particle tracking code tracy [5] is used to compute the objective function values (Eq. (20)) and constraint violations (Eq. (21)) for a given design point d (Eq. (18)). tracy is a flexible and well-tested beam dynamics library that was also used for SLS [31]. It uses a 4th-order symplectic integrator [32] for all multipole orders and allows fast tracking of single particles, enabling a trade-off between computation time and accuracy.
For the purpose of this paper the tracking code is modified, including the computation of the ADTS and chromatic tune footprints (see section II B) and the DA (see section II A). Furthermore, an interface was created so that the values needed in Eqs. (20) and (21) could be obtained by opt-pilot.
In this paper the current lattice for SLS 2.0 is used [33]. This lattice is based on the multi-bend achromat scheme, including reverse bends and bends with a 3-step longitudinal profile and additional quadrupole focusing. The magnet lattice has a 3-fold symmetry. For on-momentum particles a 'virtual' 12-fold symmetry exists due to the proper adjustment of betatron phase advances between sextupoles in the insertion spaces. In this work the particles are tracked for 500 turns.  21)) On the other hand, for individuals that violate the second constraint in Eq. (21) (i.e., when tune resonances are crossed) the objective function value computed in line 2 or 6 of Algorithm 1 is penalized as where (see Eqs. (12) and (16)) If penalty ≥ 1 at least one of the tune footprints extends so far outside the triangle that this individual cannot be considered better than all infeasible individuals. Therefore, the possibility that the penalized objectives of this feasible individual are compared with constraint violations of an infeasible individual is allowed. This either results in the standard behavior, i.e., the feasible individual being chosen, or the infeasible individual being chosen -in which case its tuning sextupoles are likely close to the admissible bounds. In this work α 1 = 0.01 and α 2 = 1 are used.

C. Results
All computations in this paper are run on Intel Xeon Gold 6152 nodes of the PSI Merlin cluster. An optimization using opt-pilot run for 48 h on three nodes (i.e., 132 processes), with M = 300 and n = 130 (see section III above III A), computed 829 generations. The quality of a generation is quantified by counting the number of distinct design points in that generation which satisfy the constraints in Eq. (21) and have all of the objective function values better than those of the manually obtained solution. The values for a few representative generations, including the last one, are shown in Table I. In particular, since the values of the nonnegative objective functions F 4 and F 5 for the manually obtained solution are zero, they are also zero for all of the newfound points counted in Table I. When comparing the results it should also be taken into account that the DAs of the manually obtained solution were optimized beyond the linear aperture limits.
From these 31 good points from the last generation (see Table I The convergence of the optimization method can be improved by using, e.g., k-means clustering [4], ANN [15] or Gaussian process models [16,17] to pre-select the points that need to be evaluated. Alternatively, an ANN surrogate model can be trained to approximate the objective function values and then used in the optimization [18]. Due to the encouraging results shown in [18], available tools and promising preliminary computations, the approach in this paper is based on training and using an ANN surrogate model. First, a random feasible sample is created and evaluated using tracy. In particular, around 7.5 × 10 4 design points (see Eq. (18)) are chosen uniformly at random from the intervals in Eq. (19). Their feasibility (see section III B) is then checked according to Eq. (17) and 3 × 10 4 feasible points are chosen. The run time for this is negligible. These feasible points are evaluated using tracy and divided into training (70 %), validation (20 %) and test set (10 %). This took 9 h 6 min on five nodes (220 cores).
Second, this random feasible sample is used to train the ANN surrogate model. In particular, a feed-forward ANN with N layers hidden layers is used. The first hidden layer has N neurons neurons while the others have 2N neurons neurons. The activation function is ReLU and the loss function is the mean squared error. The model is generated in Python using the Keras [34] API on top of TensorFlow [35], with some functionality taken from MLLIB [36]. The Talos framework [37] is used to find good hyperparameters N layers ∈ {4, 5, 6}, N neurons ∈ {32, 64, 128} (26) and the batch size for the stochastic gradient descent algorithm Adam [38] N batch ∈ {128, 256}.
Other parameters for Adam are the default ones [39] from Keras, including the learning rate 0.001. A comparison of the six best combinations is shown in Table III. On one core this took 52 min.  The dependence of the training and validation loss on the number of training epochs for the case with the smallest validation loss (Table III), i.e., the hyperparameters N layers = 5, N neurons = 64 and N batch = 128, is shown in Fig. 1. A comparison of this ANN surrogate model with the particle tracking results in tracy is shown in Fig. 2. The comparison is performed on the test set, i.e., random feasible design points that were not used for training. In each sub-plot the x and y coordinates are the values computed with the ANN surrogate model and tracy, respectively. The line y = x indicates perfect agreement. In the case of F 4 and F 5 the surrogate model prediction is rounded to the nearest fraction (see Eq. (13)) and, to facilitate the presentation of the results, the average of these values is shown in the second row, first column. Moreover, for ctfp and adts negative predictions are set to zero.

V. OPTIMIZING WITH THE SURROGATE MODEL
In this section, the MOGA implemented in the Python pymoo [40] module is used for the optimization, with the ANN surrogate model from section IV used to predict the necessary figures of merit (see Eqs. (20) and (21)).
This is compared to the optimization using opt-pilot as described in section III C, to preserve the solution quality while speeding up the optimization. Additionally, as in section III C, the candidate solutions are again compared with the manually obtained solution.
The crossover, mutation and constraint handling used with pymoo are therefore chosen to be as close as possible to the ones used with opt-pilot.

A. Direct approach
As a first approach, an optimization with M = 10 4 individuals in a generation is run for 1000 generations. This took 60 min on one core. The points in generation 1000 are then re-evaluated using tracy (3 h 50 min on five nodes) and the comparison is shown in Fig. 3, blue color. It can be seen from the scale that the objective function values of these design points are very good compared to the values computed for random points (see Fig. 2). For example, in the case of F 2 = DA 0 the test sample achieved values up to around 0.8 and the optimized set of design points always has this value below 0.031. However, the agreement between the surrogate model predictions (x axis) and the values obtained with tracy (y axis) is quite poor. In particular, for F 1 , F 2 and F 3 the surrogate model prediction is generally much smaller than the value computed in tracy -the points that seem good during the optimization with the surrogate model turn out to be mediocre. Therefore, despite the initial surrogate model quality seen in Fig. 2 as evaluated on random feasible points, the surrogate model quality evaluated on good design points, such as those computed in generation 1000, is not adequate for optimization. For example, none of the design points in generation 1000 have F 3 below 0.012 (Fig. 3, first row, third column, blue color). Since the value of F 3 for the manually obtained solution is 0.011 (see Table II), none of these points outperform it.
In total, this approach took around 14 h 48 min. For comparison, the optimization with opt-pilot run for 48 h on three nodes computed 829 generations (with M = 300 and n = 130), where 31 points satisfy the constraints and have all objective functions better than the design solution (see section III C). The optimization with the surrogate model is 3.2× faster, but the solution quality is not as good. The comparison is clearly presented in Table IV To improve the solution quality, the quality of the surrogate model predictions has to be much better for points with good objective function values. To achieve this, in the next section the surrogate model will be re-trained during the optimization.

B. Re-training the surrogate model
The second approach, devised to achieve both the run time of the ANN surrogate model optimization and the solution quality of the opt-pilot optimization, is the following: the surrogate model is re-trained during the optimization. To keep the total run time for training the surrogate models low, the re-training is done only two times: first after generation m 1 and then after generation m 2 . The points used for re-training can be chosen as a subset of the random sample used for training the surrogate model in section IV and the points evaluated during the optimization. Preliminary computations showed that using only the points in generation m i (i ∈ {1, 2}) is not enough to accurately predict the values of new points. On the other hand, using both the initial random sample and some of the points from generation m i works very well. To keep the total number of tracy evaluations below 3 × 10 4 , the surrogate model is trained on 10 4 random feasible points and re-trained in generation m 1 with the random feasible points used previously and 5000 points from generation m 1 , and again in generation m 2 with  IV. Solution quality and run time for different optimization methods. 'SM' is an abbreviation for 'surrogate model'. opt-pilot denotes the massively parallel MOGA implementation combined with tracy, in particular the optimization from section III C. 'SM (3 × 10 4 )' and 'SM + re-train (2 × 10 4 )' refer to the approaches described in section V A and V B, respectively. 'SM + re-train (10 4 )' and 'SM + re-train (5000)' are described in section V C for N = 5000 and N = 2500, respectively. The number in the parenthesis is the combined size of the used samples. 'nof pts better' refers to the number of design points in the last generation that satisfy the constraints in Eq. (21) and have all objectives better than the manually obtained solution. 're-eval all' refers to the case where all 10 4 individuals in the last generation are re-evaluated using tracy, which accounts for around 3 h 50 min of the total run time. 're-eval 10 %' refers to the case where only 1000 of the 10 4 individuals in the last generation are re-evaluated. The speedup is computed with respect to the opt-pilot approach in the first column.  (Table II). The quality of the predictions of the third surrogate model on the 10 4 design points from generation 1000 is shown in Fig. 3, orange color. The total run time, including re-evaluating the entire last generation using tracy, is now around 12 h 15 min, which is a speedup of 3.9× compared to the approach from section III C. However, not all points in the last generation need to be re-evaluated -if only 1000 of these points (i.e., 10 %) are re-evaluated, the total run time is 8 h 52 min, which is a speedup of 5.4× (see Table IV). The 1000 points to be re-evaluated can be chosen based on the values of the predictions.
There are 148 design points in the last generation that satisfy the constraints in Eq. (21) and have all of the objective function values better than those of the manually obtained solution, which is significantly more than the 31 points found in section III C (see Tables I and IV).
As in Table II, out of these 148 design points, the ones with the lowest value of F 1 , F 2 and F 3 are shown in Table V and referred to as point-4, point-5 and point-6, respectively. The quality of these points is clearly comparable with point-1 and point-2 from Table II. For example, the lowest value of F 1 = DA −0.03 = 0.020 is achieved with the new approach for point-4, while point-1 has F 1 = 0.021. On the other hand, point-2 has F 3 = DA 0.03 = 0.002, while the lowest value achieved with the new approach is F 3 = 0.004 for point-6. With both approaches the lowest value of F 2 = DA 0 = 0.001 is achieved. Furthermore, there are design points whose quality is comparable to that of point-3 in Table II, e.g., a design point with (F 1 , F 2 , F 3 , F 4 , F 5 ) = (0.026, 0.001, 0.004, 0, 0), (29) ctfp = 0 and adts = 0.

C. Using a smaller sample for training
In section V A a large sample of 3 × 10 4 random feasible design points was used to illustrate that, regardless of the surrogate model quality on random points, the quality on points with good objective functions is very poor. In section V B the combined size of the samples was 2 × 10 4 instead of 3 × 10 4 . In this section the size of the samples is further reduced.
The approach is the same as the one from section V B. An initial sample of size N is used to train the first surrogate model. The second surrogate model is trained in generation m 1 = 50 using these N points together with  -5,8,11) and F3 (point- 6,9,11), out of all the points (first row in Table IV) that satisfy the constraints in Eq. (21) and have all objectives better than the manually obtained solution (first row in Table II). All the digits of the objective function values computed with 500 turns in tracy are used for the comparison, and the shaded numbers denote the minimal value of the respective objective before rounding. The last column denotes the size of the initial sample. The case with N = 10 4 is described in section V B. The cases with N = 5000 and N = 2500 are described in section V C.
Objective  Table IV, the number of points that satisfy the constraints in Eq. (21) and have all of the objective function values better than those of the manually obtained solution is now 368 for N = 5000 and 87 for N = 2500. The run time including the re-evaluation of the entire last generation is 8 h 31 min (speedup 5.6×) and 6 h 33 min (speedup 7.3×), respectively. If only 1000 of the points in the last generation (i.e., 10 %) are re-evaluated using tracy, the speedups in the cases N = 5000 and N = 2500 are 9.4× and 15.1×, respectively. A detailed comparison is shown in Table IV.
Furthermore, in addition to counting 'nof pts better' (Table IV), out of these design points the points with the lowest values of F 1 , F 2 and F 3 are shown in Table V. Both approaches from this section found numerous points with very good objective function values in a significantly shorter time -most notably the 3 h 10 min for the fastest case (instead of 48 h needed for opt-pilot).

VI. CANDIDATE SOLUTIONS
In this section some of the candidate solutions obtained in sections III and V are compared and further analyzed. In particular, out of the points found in section III C with the massively parallel implementation of a MOGA, point-3 (see Table II Table V) is chosen. All of these points are compared with the manually obtained solution, referred to as the 'design solution'.
For each of these solution candidates, the transverse DAs at three different energies (δ ∈ {−0.03, 0, 0.03}) are shown in Fig. 4. In each sub-plot the bold black line shows the boundary of the on-momentum DA, computed with 500 turns in tracy as described in section II A. As indicated by the smaller values of the objective function F 2 = DA 0 , all three candidate solutions have a larger onmomentum DA than the design solution. The green and blue areas show the off-momentum DA for δ = −0.03 and δ = 0.03, respectively. These transverse DAs correspond to the objective functions F 1 = DA −0.03 and F 3 = DA 0.03 , respectively. In the case of δ = 0.03 it can clearly be seen that the computed transverse DA for all three new candidate solutions is larger than that of the design solution, as indicated by the smaller values of F 3 . In the case of δ = −0.03 the area of the transverse DA for point-11 is of a similar size to that of the design solution. This agrees with the fact that for both of these design points F 1 = 0.032 (see Tables II and V). The other two new candidate solutions have lower values of F 1 (F 1 = 0.025 in Table II and F 1 = 0.026 in Eq. (29)) and the computed areas of the transverse DA at δ = −0.03 for these two design points are larger than that of the design solution, which is again the desired behaviour.
Additionally, the transverse DAs at the three considered energies are computed with OPA [41] (Fig. 5). In OPA, for each energy, the transverse DA is sampled on a two-dimensional grid of points. This results in a better approximation of the DA (cf. section II A), at the expense of computation time. For the considered candidate solutions, the OPA-computed transverse DAs are larger than that of the manually obtained solution. This is in agreement with the relative relationships of the tracycomputed transverse DAs (Fig. 4).
The chromatic tune footprint (section II B 1) and amplitude-dependent tune footprint (section II B 2) for the three new solution candidates and the design solution are shown in Fig. 6. In each sub-plot, the outer triangle (red) is the one formed by three intersecting 2nd order resonances around the on-momentum tune (see Eq. (9)). The inner triangle (black) includes the margin from section II B 1. For all of the candidate solutions, F 4,5 = unstable −,+ = 0 (see Eq. (13)) and the second constraint in Eq. (21) is satisfied, i.e., ctfp + adts = 0 (see Eqs. (12) and (16)), so all footprints are located inside the inner triangle.

VII. CONCLUSIONS
In this paper a multi-objective genetic algorithm is used to find a good dynamic aperture and energy acceptance for the Swiss Light Source upgrade. To speed up this expensive computation, artificial neural network surrogate models are used in the optimization. Compared to a massively parallel implementation of a multi-objective genetic algorithm, the new optimization method results in an order of magnitude speedup. At the same time, the solution quality is preserved. In particular, tens of the design points in the last generation are better than the design solution in all of the considered objective functions.
The new, faster method makes it possible to include more design parameters in the optimization problem, such as the octupole strengths, which could further improve the solution quality. Furthermore, it allows for the inclusion of a more accurate and more expensive model, e.g., a model which includes nonlinear synchrotron oscillation. In this work the focus is on the lattice for the Swiss Light Source upgrade, but an analogous procedure could easily be used for a different lattice or a different machine.   Table II (2nd column), the design point from Eq. (29) (3rd column) and point-11 from Table V (4th column). The 2nd order resonances are shown as red and the black triangle includes the additional margin around the resonance lines.