5.2. Hierarchical Clustering with Oscillation Detection
We focus on hierarchical clustering [
37]. Conventional hierarchical clustering starts with each data point as an independent cluster and repeatedly merges the two closest clusters. In contrast, the proposed hierarchical clustering incorporates an oscillation detection step during the merging process.
The methodological outline is as follows. For each variable dimension j, hierarchical clustering is applied independently to the ordered samples in the space. To determine whether two candidate clusters and can be merged, the merged variable value sequence is examined for oscillatory behavior. Let denote the sequence of local extrema extracted from the merged variable value sequence with a sliding window of width w, which suppresses the detection of gradual periodic variations as oscillations. The number of significant adjacent extrema is defined as , where is the amplitude threshold for variable j, introduced to prevent clusters from being separated by small fluctuations. An oscillation is detected when , where p specifies the minimum number of significant extrema required to regard the merged sequence as oscillatory, and only cluster pairs that do not satisfy this condition are merged, thereby preserving locally monotonic cluster structure.
The methodological details are given below. The pseudocode of the proposed hierarchical clustering with oscillation detection is shown in Algorithm 2. Line 1 prepares the set of cluster vectors
. For each known solution
(
), a cluster vector
is defined. Here,
represents the cluster number when focusing on dimension
j of the variable space.
| Algorithm 2
Clustering |
Require: Direction vectors of known solutions , variable vectors of known solutions Ensure: Cluster labels
- 1:
▹Cluster vector set - 2:
for
do - 3:
- 4:
← Oscillation−Aware Linkage ▹ Algorithm 3 - 5:
for do - 6:
- 7:
end for - 8:
end for - 9:
Exact-match clustering of known solutions using - 10:
return
|
In lines 2–8, clustering is repeated D times, once for each dimension . Line 3 defines an amplitude threshold as , which represents the maximum amplitude allowed within a single cluster. is an amplitude threshold coefficient and ranges from 0 to 1.
For each variable dimension
j, the dataset used for clustering is defined as
, where
denotes the first component of the direction vector
. Unlike [
14], which determined oscillation solely based on the count of local extrema, this paper introduces the amplitude-based criterion to suppress over-segmentation caused by minor fluctuations. Line 4 performs clustering for dimension
j with oscillation detection, as described in Algorithm 3.
In Algorithm 3, line 1 starts with
N data points as independent clusters. Line 2 constructs the dataset
by pairing the first elements of the direction vectors with the corresponding values in the
j-th variable dimension, as defined above. Line 3 calculates the distance matrix
of
. In this paper, the distance between the two closest data points in different clusters is used. Lines 4–16 repeat the merging process until only one cluster remains, or until no further clusters can be merged due to oscillation-based divergence.
| Algorithm 3
Oscillation-Aware Linkage |
Require: 1-th direction vector of known solutions , j-th dimension variable value of known solutions , window size w, peak-count threshold p, j-th amplitude threshold Ensure: Cluster labels
- 1:
▹ index per cluster - 2:
- 3:
Compute pairwise distances of with - 4:
while more than one cluster remains do - 5:
- 6:
- 7:
if ¬Is Oscillating then ▹ Algorithm 4 - 8:
, remove from - 9:
Update distances from - 10:
else - 11:
- 12:
end if - 13:
if all then - 14:
break - 15:
end if - 16:
end while - 17:
▹Cluster index vector - 18:
for each do - 19:
for each do - 20:
- 21:
end for - 22:
end for - 23:
return
|
| Algorithm 4
Is Oscillating |
Require: Data and , window size w, peak-count threshold p, j-th amplitude threshold Ensure: Boolean flag indicating vibration
- 1:
Sort paired elements in in ascending order of - 2:
Extract variable values from sorted - 3:
for to do - 4:
Extract local maxima and minima in sequence - 5:
- 6:
if then - 7:
return true - 8:
end if - 9:
end for - 10:
return false
|
Lines 5 and 6 extract the two closest clusters from the distance matrix . Based on single linkage, let and denote the closest cluster pair selected as a merging candidate. The samples belonging to these clusters are represented as and .
Line 7 applies oscillation detection: only if the combined data points exhibit monotonic changes are the clusters merged at line 8, and the distance matrix is updated at line 9. The pseudocode for oscillation detection is shown in Algorithm 4.
In Algorithm 4, line 1 sorts the paired elements in the combined data of the closest clusters, , in ascending order of and stores them as . Although each element in is a pair such as , line 2 extracts only the variable values from as , where and denote the sizes of clusters and , respectively. For oscillation detection, lines 3–9 employ a sliding window of width w over the value sequence . Line 4 extracts local maxima and minima in a subsequence of w elements from as , where denotes the number of extrema. Line 5 counts the number of adjacent extrema for which the absolute difference between successive extrema is greater than or equal to as . In lines 6–8, if in any window, the sequence is judged to be oscillatory and the cluster pair is not merged.
Returning to Algorithm 3, line 11 handles the case where the two clusters are divergent by setting the corresponding distance in the matrix to ∞ so that they will not be merged later. Lines 13–15 handle the case where all elements of the distance matrix become ∞, indicating that no clusters can be merged and the clustering process terminates. Line 17 prepares the cluster number vector. Lines 18–22 assign the cluster number k to each element of the known solutions and record it as .
Returning to Algorithm 2, in lines 5–7, the cluster numbers () obtained for dimension j are stored as in the cluster vector set . After repeating lines 2–8 for all D dimensions, the cluster vector set is completed. Finally, line 9 groups the known solutions () whose cluster vectors are identical and outputs the final cluster vector .
If a cluster contains only a single solution, a response surface model cannot be constructed. In [
14], such single-solution clusters could be generated. In this paper, a reassignment mechanism is introduced in which the solution is merged into the nearest neighboring cluster, thereby ensuring model constructability and improving robustness. Because this operation is applied only when a cluster contains a single solution and no response surface can otherwise be constructed, it is treated as a minimal implementation-level adjustment rather than a structural modification of the clustering result.
In the current formulation, oscillation-aware linkage uses only the first direction component as a scalar ordering coordinate, which is naturally suited to bi-objective settings where local ordering is directly induced along a single direction axis. Extension to higher-dimensional objective spaces requires defining multiple scalar orderings or an alternative ordering mechanism derived from the full direction vector.
5.3. Multimodal PSE with Clustering and Oscillation Detection
The methodological outline is as follows. Based on the obtained clusters, a PS estimation model is constructed independently for each cluster
. Let the cluster-wise model for
be denoted by the
-model. Using the direction vectors
and variable vectors
extracted from
, the model is defined as
where
is a direction vector in cluster
, and
is the corresponding variable vector.
For a given direction vector
, the estimated variable vector obtained from cluster
is written as
By applying this estimation independently to all clusters whose direction ranges involve
, multiple candidate variable vectors can be generated for the same objective-space direction. This cluster-wise independence allows distinct variable vectors to be estimated for the same objective-space direction when multiple local Pareto-set branches coexist.
The methodological details are given below. The pseudocode of the proposed multimodal PSE method is shown in Algorithm 5.
Figure 3 presents a flowchart of the proposed multimodal PSE method to facilitate understanding of the overall procedure. To improve traceability, the corresponding line numbers in Algorithm 5 are also indicated in the flowchart. The differences from the conventional PSE method in Algorithm 1 are marked in red. At line 8, the known solution set is divided into clusters
in the variable space using hierarchical clustering with oscillation detection, described in Algorithm 2 of
Section 5.2. In the example shown in
Figure 2b, the set is divided into
.
Lines 9–13 build a PS estimation model, denoted as the -model, for each cluster . In the example, both the -model and the -model are constructed.
Line 14 assigns priorities to the direction vectors in the large set
for PS estimation. Specifically, in Algorithm 6, line 1 first selects the edge direction vectors that have 1 as one of their components from
, and stores them in
. For example, in
Figure 2b,
. Lines 2–5 repeatedly add to
the direction vector
that is farthest from the already selected ones. In the example,
becomes
. This ensures that even if the entire set
is not fully explored, the selected direction vectors are approximately uniformly distributed in the objective space.
Returning to Algorithm 5, lines 16–26 perform PS estimation by focusing on each direction vector in order of priority. Line 17 selects the set of clusters that are compatible with the direction vector . Specifically, clusters whose direction-vector ranges include the first component of the target direction vector are selected, so that PS estimation is performed only within clusters relevant to the given direction.
Lines 18–25 then compute the estimated variable vector from the response surface -model of each cluster for the given direction vector . In other words, for a single direction vector , estimated variable vectors are generated.
At line 22, the algorithm terminates when
variable vectors have been generated. This implies that not all direction vectors in
are necessarily explored. Therefore, at line 14, the direction vectors are ordered so that they are approximately uniformly distributed in the objective space.
| Algorithm 5 Proposed Multimodal Pareto Set Estimation |
Require: Known solution set , a large direction vector set Ensure: Population
(a) Learning Process - 1:
Extract objective vectors () - 2:
Extract variable vectors () - 3:
▹Direction vectors of known solutions - 4:
for
do - 5:
▹Direction vector of known - 6:
- 7:
end for
- 8:
Clustering ▹Algorithm 2 - 9:
for each
do - 10:
Extract direction vectors () - 11:
Extract variable vectors () - 12:
-model ← Train PS model - 13:
end for - 14:
Prioritize Directions () ▹ Algorithm 6
(b) Estimation Process - 15:
▹Solutions generated by PS estimation - 16:
for each
do
- 17:
▹ Target cluster selection - 18:
for each do - 19:
-model ()
- 20:
Evaluation() - 21:
- 22:
if then - 23:
return Extract non-dominated () - 24:
end if - 25:
end for
- 26:
end for
|
| Algorithm 6
Prioritize Directions |
Require: A large direction vector set Ensure: Prioritized direction vector set
- 1:
Pick extreme vectors with an element of 1 from - 2:
while
do - 3:
Pick the farthest vector from - 4:
- 5:
end while - 6:
return
|