Particle Swarm Optimization For Simultaneous Optimization of Design and Machining Tolerances

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

17

Particle Swarm Optimization for Simultaneous


Optimization of Design and Machining
Tolerances
Liang Gao, Chi Zhou and Kun Zan
Department of Industrial & Manufacturing System Engineering,
Huazhong Univ. of Sci. & Tech.
China

Open Access Database www.i-techonline.com

1. Introduction
Tolerance assignment in product design and process planning (machining) affects both the
quality and the cost of the overall product cycle. It is a crucial issue to determine how much
the tolerance should be relaxed during the assignment process, since a tight tolerance
implies a high manufacturing cost and a loose tolerance results in low manufacturing cost.
Hence, during tolerance assignment, a balance between a reduction in quality loss and a
reduction in manufacturing cost must be considered. Traditionally, in the two stages
(product design and process planning) tolerances (Ngoi & Teck, 1997) are often conducted
separately. This is probably due to the fact that they deal with different type of tolerances.
Product design is concerned with related component tolerances, whereas process designing
focus on the process tolerance according to the process specification. However, this
separated approach in tolerance design always suffers from several drawbacks. First of all, it
is difficult to obtain optimal design tolerance because the designer can not determine the
exact manufacturing cost without the specified manufacturing information. Therefore, the
manufacturing engineer must frequently communicate with the designer to adjust the
design tolerances and obtain the appropriate process planning. However, this task is timeconsuming and painstaking. In addition, design tolerances are further distributed for
machining tolerances. Nevertheless, the machining tolerances commonly can not occupy the
design tolerances space. Thus the final tolerance distribution is suboptimal and accordingly,
the actual cost will be inevitably higher than the desired cost. Moreover, due to the specified
procedure, the manufacturing engineer is not informed the design details and does not have
the overview of the whole product.
To overcome the above drawbacks, we need to develop a simultaneous tolerance design.
Zhang (Zhang, 1996) presented the concept of simultaneous tolerance, proposed a general
mathematical model for tolerance optimization in concurrent engineering context, and then
introduced a new concept of interim tolerances that help determine appropriate
manufacturing processes. Singh (Singh et al., 2003) utilized genetic algorithms and penalty
function approach to solve the problem of simultaneous selection of design and
manufacturing tolerances based on the minimization of the total manufacturing cost. Gao
and Huang (Gao & Huang, 2003) utilized a nonlinear programming model for optimal
Source: Swarm Intelligence: Focus on Ant and Particle Swarm Optimization, Book edited by: Felix T. S. Chan and Manoj
Kumar Tiwari, ISBN 978-3-902613-09-7, pp. 532, December 2007, Itech Education and Publishing, Vienna, Austria

322

Swarm Intelligence: Focus on Ant and Particle Swarm Optimization

process tolerance simultaneously based on the objective of total manufacturing cost with
different weighting factors. (Huang et al., 2006) proposed a robust optimum tolerance
design method in a concurrent environment to balance the conflict design targets between
manufacturing tolerances and product satisfaction. A nonlinear optimal model was also
established to minimize the summation of manufacturing costs and product quality loss.
Doubtlessly, the tremendous achievement has been obtained in the simultaneous tolerance
optimization in the concurrent engineering context. However, this problem is characterized
by nonlinear objective, multiple independent variables, and tight constraints which will turn
the search space into a noisy solution surface. Even worse, most of the real world problems
become more and more complex with the higher requirement of accuracy and the critical
function of product. Traditional operational research algorithms are successful in locating
the optimal solution, but they are usually problem dependent and lack of generality. Some
modern heuristic methods are relatively more robust and flexible to solve these complex
problems, but they may risk being trapped to a local optimum and are usually slow in
convergence and require heavy computational cost. In view of the above problems and the
past successful applications of PSO in nonlinear optimization, maybe PSO is a potential
remedy to these drawbacks.
PSO is a novel population based heuristic, which utilizes the swarm intelligence generated
by the cooperation and competition between the particles in a swarm (Kennedy & Eberhart,
1995, Shi & Eberhart, 1998). Compared with evolutionary algorithms (genetic algorithm,
evolutionary programming, evolutionary strategy, and genetic programming), PSO still
maintains the population based global search strategy but adopts the velocity-displacement
model with more efficient information flow and easier implementing procedures. It has
been used successfully to address problems such as complex nonlinear function
optimization (Shi & Eberhart, 1999), task assignment (Salman & Ahmad, 2002) and optimum
design of PID controller (Gaing, 2004). (Noorul et al., 2006) utilized PSO to achieve the
multiple objective of minimum quality loss function and manufacturing cost for the
machining tolerance allocation of the over running clutch assembly. The presented method
outperforms other methods such as GP and GA, but it considered only two dimensional
tolerance allocation of clutch assembly consisting of three components. Besides, the
constraints are too loose and can not satisfy the practical requirement. This paper attempts
to solve more complex tolerance assignment problems by PSO with a sophisticated
constraints handling strategy.
This paper is organized as follows. In section 2, the problem of simultaneous design was
described. The basic PSO algorithm was reviewed and the new sophisticated constraints
handling strategy corresponding to PSO was presented in Section 3. Section 4 gave an
example and the evaluation of the proposed technique is carried out on the example. Some
conclusions and further discussion are offered in Section 5.

2. Simultaneous design
As mentioned before, design processes are commonly divided into two main stages: product
design and process design. Dimensional tolerance analysis is very important in both
product and process design. In product design stage, the functional and assembly tolerances
should be appropriately distributed among the constituent dimensions, this kind of
tolerances are called design tolerances. In the meantime, each design tolerance for the single
dimension should be subsequently refined to satisfy the requirement for process plans in

Particle Swarm Optimization for simultaneous Optimization


of Design and Machining Tolerances

323

machining a part. Such tolerances for the specified machining operation are called
manufacturing tolerance. However, the traditional process of design and machining
tolerance allocations based on experiences can not guarantee optimum tolerance for
minimum production cost. This work aimed at selecting the optimal tolerances sequences to
achieve the minimum manufacturing cost considering the two types of tolerances
simultaneously by a powerful global optimization tool. This problem is formulated as
follows.
2.1 Objective Function
We take the manufacturing cost as the objective function. Generally, the processing of
mechanical product is conducted in a series of process plans. Different process consumes
different expense because different process is associated with different machining methods.
Therefore, the cost of manufacture of the product is the summation of all operation cost. The
machining operation can be modeled with many mathematical models for the cost-tolerance
relationship. In this work, a modified form of the exponential cost (Singh et al., 2003)
function will be adopted. The manufacturing cost of the machining tolerance is formulated
as equation (1).

cij (G ij )

a0 e  a1 ( G a2 )  a3

1, , n

(1)

The total manufacturing cost of a product will be C, where:


n

mi

ij

(2)

i 1 j 1

Where cij (G ij ) and G ij is the manufacturing cost and the tolerance of the jth manufacturing
operation associated with the ith dimension respectively. n is the number of the dimensions
and mi is number of operations corresponding to dimension i. The constants a0, a1, a2, a3
sever as control parameters.
2.2 Constraints
Apart from the constraint of economical manufacturing ranges (process limits), the above
objective is subjected to both the design and manufacturing tolerances.
(1) The design tolerances are those on the principal design dimensions (usually assembly
dimensions) that relate to the functionality of the components. The principal design usually
in turn relies on the other related dimensions which form a dimension chain. This results in
a set of constraints on the principal design tolerances that should be suit for the optimal
solution of the tolerance assignment. The aim of these constraints is to guarantee that the
synthesized tolerance in the dimension chain does not exceed the desired tolerance of the
principal dimension. There are many approaches available to formulate the synthesized
tolerance. They are different tradeoff between the tolerances and the manufacturing cost.
Four commonly used approaches (Singh et al., 2003) were adopted in this work.
(2) Manufacturing tolerances constraints are equivalent to stock allowance constraints. Stock
allowance is associated with the stock removal, the layer to be removed from the surface in
the machining process. Due to the tolerances of the dimensions, the stock removal is also not

324

Swarm Intelligence: Focus on Ant and Particle Swarm Optimization

fixed. This gives rise to another kind of tolerances, manufacturing tolerances, which can be
formulated as follows:

G ij  G i ( j 1) d 'Aij

(3)

where G ij and G i ( j 1) are the machining tolerances of process j and j-1 for part i
respectively. 'Aij is the difference between the nominal and the minimum machining
allowances for machining process j.

3. Particle Swarm Optimization


3.1 Background
The investigation and analysis on the biologic colony demonstrated that intelligence
generated from complex activities such as cooperation and competition among individuals
can provide efficient solutions for specific optimization problems (Kennedy et al., 2001).
Inspired by the social behavior of animals such as fish schooling and bird flocking, Kennedy
and Eberhart designed the Particle Swarm Optimization (PSO) in 1995 (Kennedy &
Eberhart, 1995).
This method is a kind of evolutionary computing technology based on swarm intelligence.
The basic idea of bird flocking can be depicted as follows: In a bird colony, each bird looks
for its own food and in the meantime they cooperate with each other by sharing information
among them. Therefore, each bird will explore next promising area by its own experience
and experience from the others. Due to these attractive characteristics, i.e. memory and
cooperation, PSO is widely applied in many research area and real-world engineering fields
as a powerful optimization tool.
3.2 Drawbacks of Traditional Constraints Handling Strategy
Although PSO has successfully solved many research problems, the applications are mainly
focused on unconstrained optimization problems. Some researchers attempt to solve the
constrained problem by optimizing constrained problems indirectly using the traditional
penalty function strategy.
Penalty function is an effective auxiliary tool to deal with simple constrained problems and
has been the most popular approach because of their simplicity and ease of implementation.
Nevertheless, since the penalty function approach is generic and applicable to any type of
constraint, their performance is not always satisfactory, especially when the problems
become more difficult and the imposed constrained conditions become more complex, this
method usually fails to generate the best solution, sometimes even cannot achieve a feasible
one. The underlying limitation is that unfair competition exists in the population. Thus to
deal with this problem, the dynamic and adaptive penalty coefficients should be introduced,
which are highly dependent on the specific problem.
When combined with PSO, the above problem is more severe in that PSO has an inherent
mechanism based on memory information. This mechanism can produce high efficiency and
effectiveness, but also low the flexibility for constrained optimization simultaneously. That
is, the penalty factors cannot be changed during the iteration. In fact, the most difficult
aspect of the penalty function strategy is to find appropriate penalty parameters to guide the
search towards the constrained optimum. It is desirable to design a new constraint handling

Particle Swarm Optimization for simultaneous Optimization


of Design and Machining Tolerances

325

scheme suit for PSO to effectively solve numerous engineering problems and maintain high
efficiency.
3.3 Constraints Handling Strategy for PSO
Taking account of the memory mechanism of PSO and penalty strategy, a new constrainthandling strategy is presented in Figure.1.
The core characteristics of the proposed strategy can be described as follows:
1. Corresponding to the memory mechanism of PSO, a special notation-Particle has been
Feasible (PF) is introduced, which is used to record whether the current particle has
ever satisfied all the constraint conditions. This notation preserves historical constrain
status for each particle.
2. Each particle updates its individual best and neighborhood best according to the
historical constraint information PF, the current constrain status (Current particle is
Feasible, CF) and the objective function with the penalty term.
3. The algorithm selects the velocity updating strategy according to the historical
information PF.
4. When updating the personal and neighborhood best, the algorithm adopts the static
penalty strategy instead of the dynamic and the adaptive ones to guarantee the fairness.
The detailed procedure for updating the personal and neighborhood best values based
on the above constrain handling strategy is presented in Figure.1.
For Each Particle {
If PFtrue Then
If f ( xi ) d f ( pi ) and CF= true Then

pi xi
If f ( pi ) d f (li ) Then

pi li
End if
End if
Else if PFfalse Then
If CF true Then

pi xi
PFtrue
If f ( pi ) d f (li ) Then
pi li
End if
Else if f ( xi ) d f ( pi ) Then

pi xi
End if
End if
Figure 1. The proposed constraint handling strategy for PSO

326

Swarm Intelligence: Focus on Ant and Particle Swarm Optimization

Special attention should be paid that the PSO algorithm based on the proposed constraint
handling strategy does not have to guarantee the existence of feasible solutions in the initial
population. With the randomized initial velocity, the PSO itself has the ability to explore the
feasible space. In addition, the penalty function imposed on the violated particles also direct
the search of PSO towards the feasible region. Therefore once feasible solutions emerge in
the neighborhood population, the neighborhood best will be preserved in the subsequent
iteration procedure. According to the velocity updating formula, each particle will obtain
updating information from its neighborhood best particle, so the corresponding particle
would return to the feasible solution space immediately.

4. Design Example
To validate the effectiveness of the new proposed strategy and illustrate the application of
the concurrent design, the cylinder-piston assembly (Singh et al., 2003) (shown in Figure.2)
is described. In this example, the piston diameter is 50.8mm, the cylinder bore diameter is
50.856mm, and the clearance is 0.056 r 0.025 mm. The machining process plan is: (1) for the
piston: rough turning, finish turning, rough grinding, and finally finish grinding. (2) for the
cylinder bore: drilling, boring, semi-finish boring, and finally grinding. The ranges of the
principal machining tolerances for the piston and cylinder bore were the same as in the
(Singh et al., 2003).

Gc

Gp

'

Figure 2. Cylinder-piston assembly


To formulate this problem, the objective and the constraints should be determined. In this
problem, the principal tolerances are the design tolerances and the machining tolerances for
the piston and the cylinder bore. So there are only two design tolerance parameters, for the
piston diameter and cylinder bore diameter respectively. In the meantime, we have four
machining tolerances for the piston diameter and four machining tolerances for the cylinder
bore diameter. Therefore we have to consider totally 10 tolerances for the piston-cylinder
bore assembly as follows. (1)The design tolerance parameters: G 11d for the piston and G 21d
for the cylinder bore. Four stack-up conditions (Singh et al., 2003) (worst case, RSS, Spotts
modified method and estimated mean shift criteria) are employed to formulate the
corresponding constraints. (2)The machining tolerance parameters are: G ij where i=1,2 and
j=1,2,3,4. Here, the first subscript 1 refer to piston and 2 refer to the cylinder bore. The
second subscript refers to the four machining processes. Usually, the process tolerance for

Particle Swarm Optimization for simultaneous Optimization


of Design and Machining Tolerances

327

the final finishing operation is same as the design tolerance, i.e. G11d

G14 and G12d

G 24 . Thus,

there are actually 8 tolerance parameters to be considerd. The machining tolerance


constraints are formulated based on Equation 3. The manufacturing decision is the total
machining cost and is determined by summing the machining cost-tolerance model as
Equation 1 and Equation 2 subjecting to the constraints and ranges of the principal design
and machining tolerances. The constant parameters are the same as in (Singh et al., 2003).
GA
Piston

Cylinder

0.0162
0.0037
0.0013
0.0005

0.0162
0.0038
0.0012
0.0005

PSO
Cost

66.85

Time (s)

Piston

Cylinder

Min

Ave

Max

Time
(s)

350

0.0163
0.0037
0.0013
0.0005

0.0163
0.0037
0.0013
0.0005

66.74

66.74

66.74

83

(a) Based on the worst case criteria


GA
Piston

Cylinder

0.0161
0.0039
0.0011
0.0007

0.0161
0.0038
0.0012
0.0006

PSO
Cost

65.92

Time (s)

Piston

Cylinder

Min

Ave

Max

Time
(s)

330

0.0161
0.0039
0.0011
0.0007

0.0162
0.0038
0.0012
0.0006

66.82

66.82

66.82

80

(b) Based on the worst RSS criteria


GA
Piston

Cylinder

0.0160
0.0038
0.0012
0.0006

0.0159
0.0038
0.0012
0.0005

PSO
Cost

66.23

Time (s)

Piston

Cylinder

Min

Ave

Max

Time
(s)

330

0.0162
0.0038
0.0012
0.0006

0.0162
0.0038
0.0012
0.0006

65.93

65.93

65.93

78

(c) Based on the worst Spotts' criteria


GA
Piston

Cylinder

0.0162
0.0037
0.0012
0.0006

0.0151
0.0038
0.0011
0.0006

PSO
Cost

66.26

Time (s)

Piston

Cylinder

Min

Ave

Max

Time
(s)

350

0.0161
0.0039
0.0011
0.0006

0.0162
0.0038
0.0012
0.0006

65.82

65.82

65.82

82

(d) Based on the worst mean shift or Greenwood and Chase's unified criteria
Table 1. Optimal tolerances allocation using GA and PSO

328

Swarm Intelligence: Focus on Ant and Particle Swarm Optimization

Figure 3. Variation of the minimum, maximum and average of the manufacturing costs with
progress of the algorithm (Greenwood and Chase's unified, or estimated mean shift criteria)

Figure 4. Minimum manufacturing cost in a given number of generations

Particle Swarm Optimization for simultaneous Optimization


of Design and Machining Tolerances

329

The proposed PSO algorithm with special constraints handling strategy was used to solve
this problem. To validate its efficiency, this new approach was compared with GA in (Singh
et al., 2003). In the optimization process of HPSO, we set the population size popsize=80, the
maximum iteration number itermax=600. These two parameters are the same as those in GA.
The other parameters are set as the common used method. The inertial weight decreases
from 0.9 to 0.4 linearly and the accelerated parameters c1=c2=2.
The optimal tolerance allocated using HPSO and GA based on the above four criteria and
the corresponding CPU time are listed in Table 1. The computational results clearly
indicate that HPSO outperformed GA in the terms of solution quality as well as
computational expense. In addition, HPSO is able to find the optimum in each trial, that
is, it has significantly larger probability of converging to optimal solutions. It is necessary
to point out that one important merit of PSO algorithm is the high precision of the
solutions. However, due to the limitation of display capacity of the tables, the entire data
are rounded.
The statistical results obtained under the Greenwood and Chases estimated mean shift
criteria are demonstrated in Figure.3. Similar curves can be obtained for other cases.
Improvement in the fitness function causes reduction in the assembly manufacturing cost
and the amount of infeasibility in subsequent generations. Figure.3 reflects the general
behavior about convergence of PSO algorithm. Sharply contrast with GA, the PSO algorithm
has consistent convergence. The average and worst fitness are not fluctuant as in GA.
Figure.4 demonstrates the minimum manufacturing cost under all four stack-up conditions.
The different tendency and position of the curve reveals the difference of the fitness
(manufacturing cost).

5. Conclusion
Tolerance assignment is very important in product design and machining. The conventional
sequentially tolerance allocation suffers from several drawbacks. Therefore, a simultaneous
tolerance assignment approach is adopted to overcome these drawbacks. However, the
optimization task is usually difficult to tackle due to the nonlinear, multi-variable and high
constrained characteristics. In trying to solve such constrained optimization problem,
penalty function based methods have been the most popular approach. However, since the
penalty function approach is generic and applicable to any type of constraint, their
performance is not always satisfactory and consistent. In view of the memory characteristics
of PSO, a new constraints handling strategy suit for PSO is designed. This new strategy can
adequately utilize the historical information in PSO algorithm. The application on a
cylinder-piston assembly example demonstrates its high efficiency and effectiveness.
However, when we attempt to extend the proposed approach to the constrained
optimization with large number of complex equality constraints, subtle drawbacks emerged,
as the constrained range is so narrow that the equality constraints are hard to satisfy. This
problem reveals the new research direction, which is the effective equality constraint
handling strategy desirable to develop for PSO based nonlinear programming. Furthermore,
powerful local search methods should be introduced to combine with PSO to improve the
ability of refined search. In view of its successful application in the above problems
especially those engineering ones, PSO can be considered as a general nonlinear constrained
optimization tool, and thus could be applied to more engineering optimization problems
that can be modeled as nonlinear programming problems.

330

Swarm Intelligence: Focus on Ant and Particle Swarm Optimization

6. References
Gaing, Z.L. (2004). A Particle swarm optimization approach for optimum design of PID
controller in AVR system. IEEE Transaction on Energy Conversion, Vol.19, 384-391
Gao, Y. & Huang, M. (2003). Optimal process tolerance balancing based on process
capabilities. International Journal of Advanced Manufacturing Technology, Vol.21, 501
507
Huang, M.F. ; Zhong, Y.R. & Xu, Z.G.(2004). Concurrent process tolerance design based on
minimum product manufacturing cost and quality loss. International Journal of
Advanced Manufacturing Technology, Vol.25, 714-722
Kennedy, J. & Eberhart, R.C.(1995). Particle swarm optimization. Proceedings of IEEE International Conference on Neutral Networks, pp. 1942-1948, Perth, Australia
Kennedy, J. ; Eberhart, R.C. & Shi, Y. (2001) Swarm Intelligence. Morgan Kaufman, San
Francisco
Ngoi, B.K.A. & Teck, O.C. (1997). A tolerancing optimization method for product design.
International Journal of Advanced Manufacturing Technology, Vol. 13, 290-299
Noorul Hap, A. ; Sivakumar, K. ; Saravanan, R. & Karthikeyan, K. (2005). Particle swarm
optimiza-tion (PSO) algorithm for optimal machining allocation of clutch assembly.
Interna-tional Journal of Advanced Manufacturing Technology, Vol.27, 865-869
Salman, A. & Ahmad, I.(2002). Particle swarm optimization for task assignment problem.
Microprocessors and Microsystems, Vol.26, 363-371
Shi, Y.H. ; & Eberhart, R.C.(1998). A modified particle swarm optimizer. Proceedings of IEEE
Conference on Evolutionary Computation, pp. 69-73
Shi, Y.H. & Eberhart, R.C. (1999). Empirical study of particle swarm optimization. IEEE
Congress on Evolutionary Computation
Singh, P.K. ; Jain, P.K. & Jain, S.C. (2003). Simultaneous optimal selection of design and
manufactur-ing tolerances with different stack-up conditions using genetic
algorithms. International Journal of Production Research, Vol.412411-2429
Zhang, G.(1996). Simultaneous tolerancing for design and manufacturing. International
Journal of Production Research, Vol.34, 3361-3382

Swarm Intelligence, Focus on Ant and Particle Swarm Optimization


Edited by FelixT.S.Chan and Manoj KumarTiwari

ISBN 978-3-902613-09-7
Hard cover, 532 pages

Publisher I-Tech Education and Publishing


Published online 01, December, 2007

Published in print edition December, 2007


In the era globalisation the emerging technologies are governing engineering industries to a multifaceted state.

The escalating complexity has demanded researchers to find the possible ways of easing the solution of the
problems. This has motivated the researchers to grasp ideas from the nature and implant it in the engineering

sciences. This way of thinking led to emergence of many biologically inspired algorithms that have proven to

be efficient in handling the computationally complex problems with competence such as Genetic Algorithm
(GA), Ant Colony Optimization (ACO), Particle Swarm Optimization (PSO), etc. Motivated by the capability of

the biologically inspired algorithms the present book on "Swarm Intelligence: Focus on Ant and Particle Swarm
Optimization" aims to present recent developments and applications concerning optimization with swarm
intelligence techniques. The papers selected for this book comprise a cross-section of topics that reflect a

variety of perspectives and disciplinary backgrounds. In addition to the introduction of new concepts of swarm
intelligence, this book also presented some selected representative case studies covering power plant
maintenance scheduling; geotechnical engineering; design and machining tolerances; layout problems;

manufacturing process plan; job-shop scheduling; structural design; environmental dispatching problems;
wireless communication; water distribution systems; multi-plant supply chain; fault diagnosis of airplane

engines; and process scheduling. I believe these 27 chapters presented in this book adequately reflect these

topics.

How to reference

In order to correctly reference this scholarly work, feel free to copy and paste the following:
Liang Gao, Chi Zhou and Kun Zan (2007). Particle Swarm Optimization for Simultaneous Optimization of
Design and Machining Tolerances, Swarm Intelligence, Focus on Ant and Particle Swarm Optimization,
FelixT.S.Chan and Manoj KumarTiwari (Ed.), ISBN: 978-3-902613-09-7, InTech, Available from:

http://www.intechopen.com/books/swarm_intelligence_focus_on_ant_and_particle_swarm_optimization/particl
e_swarm_optimization_for_simultaneous_optimization_of_design_and_machining_tolerances

InTech Europe

University Campus STeP Ri


Slavka Krautzeka 83/A
51000 Rijeka, Croatia
Phone: +385 (51) 770 447
Fax: +385 (51) 686 166
www.intechopen.com

InTech China

Unit 405, Office Block, Hotel Equatorial Shanghai


No.65, Yan An Road (West), Shanghai, 200040, China
Phone: +86-21-62489820
Fax: +86-21-62489821

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy