You are on page 1of 13

Mechanism and Machine Theory 37 (2002) 1165–1177

www.elsevier.com/locate/mechmt

Optimal synthesis of mechanisms with genetic algorithms


J.A. Cabrera *, A. Simon, M. Prado
Department of Mechanical Engineering. University of M
alaga, Campus El Ejido, 29013 M
alaga, Spain
Received 9 October 2001; accepted 10 April 2002

Abstract
This paper deals with solution methods of optimal synthesis of planar mechanisms. A searching pro-
cedure is defined which applies genetic algorithms based on evolutionary techniques and the type of goal
function. Problems of synthesis of four-bar planar mechanisms are used to test the method, showing that
solutions are accurate and valid for all cases. The possibility of extending the method to other mechanism
type is outlined. The main advantages of the method are its simplicity of implementation and its fast
convergence to optimal solution, with no need of deep knowledge of the searching space.
 2002 Elsevier Science Ltd. All rights reserved.

Keywords: Synthesis of mechanisms; Genetic algorithms; Optimization; Evolutionary techniques

1. Introduction

Different techniques have been used for synthesis of mechanisms. In graphical techniques the
use of an atlas of coupler curves is specially worthy of note, as was done by Hrones and Nelson [1]
who develop the atlas of four-bar mechanisms with almost 10,000 curves. Also worthy of note is
the solution by Zhang et al. [2] focussing on five-bar geared linkages. These methods are easy and
fast to use but offer a low precision rate. To our knowledge, the first reference addressing ana-
lytical methods is [3], followed by [4–6]. References on the subject also exist by [7–9], solving the
synthesis problem by using precision points to be reached by the coupler point of the mechanism,
but these methods restrict the number of precision points in order to allow the solution of the
mathematical system to be closed, and show problems caused by the wrong sequence of the
precision points followed.
The great increase in computer power has permitted the recent development of routines that
apply numerical methods to the minimization of a goal function. One of the first authors who

*
Corresponding author. Tel.: +34-952-131415; fax: +34-952-132691.
E-mail address: jcabrera@uma.es (J.A. Cabrera).

0094-114X/02/$ - see front matter  2002 Elsevier Science Ltd. All rights reserved.
PII: S 0 0 9 4 - 1 1 4 X ( 0 2 ) 0 0 0 5 1 - 4
1166 J.A. Cabrera et al. / Mechanism and Machine Theory 37 (2002) 1165–1177

studied these methods was Han [10], whose work was later improved by Kramer and Sandor [11]
and Sohoni and Haug [12]. They optimized one of the most common goal functions: the error
between the points tracked by the coupler and its desired trajectory. On the other hand, multi-
objective techniques are addressed by Rao and Kaplan [13] and Krishnamurty and Turcic [14],
but all of these need a high power of calculus and can fail because they could possibly find the
solution in a local minimum, thus ending the search without reaching the true optimal solution.
The approach presented in this paper to the synthesis of mechanisms deals with genetic algo-
rithms. Genetic algorithms were firstly introduced by Holland [15,16], whose work is included in
[17], and they have been extensively and successfully applied to different optimization problems.
Regarding the synthesis of mechanisms, Fang [18] and Kunjur and Krishnamurty [19] have pre-
sented some results obtained by evolutionary techniques. These methods define a starting popu-
lation that is improved by approximations to the goal function making use of mechanisms of the
natural selection and the laws of natural genetics. The main advantages of these methods are their
simplicity in implementing the algorithms and their low computational cost. In addition, there is no
need for a deep knowledge of searching space, such as whether or not it is continuous, presents
local minimums or shows other mathematical characteristics demanded by traditional searching
algorithms.
Sandor and Erdman [20] define three types of analytical synthesis: synthesis of function gen-
eration, motion generation synthesis and path synthesis. This paper is based on the last type,
although the method can be applied to any of them.
The paper is organized as follows: Section 2 deals with the developing of an optimization al-
gorithm for the synthesis of coupler trajectories of mechanisms based on genetic algorithms. In
Section 3 the goal function for four-bar planar mechanisms is defined, although the method can
apply to any type of synthesis. Section 4 analyzes the results found by the proposed method for
three illustrative examples. Section 5 addresses the discussion of the results arising from the
proposed algorithm and validates its success by comparing it with other solutions available in the
literature. Finally, Section 6 summarizes the conclusions of the paper.

2. Optimization method

The optimization problem is given by:


min f ðp1 ðX Þ; p2 ðX Þ; . . . ; pn ðX ÞÞ
subject to: gj ðX Þ 6 0 j ¼ 0; 1; 2; . . . ; m ð1Þ
xi 2 ½lii ; lsi  8xi 2 X
where f is the goal function, which will be dealt with in Section 3, and where each individual X
obtains a value, its fitness, pi ð:Þ are functions of the properties that show the objectives of the
system to be optimized and gj ð:Þ are the constraints defining the searching space.
The strategy of evolutionary methods for optimization problems begins with the generation of
a starting population. For the synthesis of mechanisms, the starting population are sets of design
variables whose values are randomly generated within the searching space. Each individual
(chromosome) of the population is a possible solution to the problem and it is formed by pa-
rameters (genes) that set the design variables of the problem.
J.A. Cabrera et al. / Mechanism and Machine Theory 37 (2002) 1165–1177 1167

Genes can be schematized in several ways. In the first approach by Holland [15,16] they are
binary chains, so each gene xi is expressed by a binary code of size p. Therefore precision is de-
pendent on p and is confined to a range ½li; ls, defined either by integer or real values.
Another way to express the genes, as followed in this paper, is directly as real values. All genes
are grouped in a vector that represent a chromosome [21,22]:
X ¼ ½ x1 x2 ... xn  8x 2 R ð2Þ
Next the starting population has to evolve to populations where individuals are a better so-
lution. This task can be reached by natural selection, reproduction, mutation or other genetic
operators. In this work selection and reproduction are carried out sequentially and mutation is
used as an independent process.

2.1. Selection

For selection, two individuals are randomly chosen from the population and they form a couple
for reproduction. Selection can be based on different probability distributions, such as uniform
distribution or a random selection from a population where each individual is assigned a weight
dependent on its fitness, so that the best individual has the greatest probability to be chosen.
In this paper, the best individual and two individuals randomly selected with uniform distri-
bution are chosen for reproduction and they make up a disturbing vector, V. The scheme, known
as differential evolution, yields [21]:
Xi : i 2 ½1; NP
ð3Þ
V ¼ Xbest þ F ðXr1 Xr2 Þ
where Xbest is the best individual of a population of NP individuals, Xr1 and Xr2 are two individuals
randomly selected in the population, and F is a real value that controls the disturbance of the best
individual.

2.2. Reproduction

Next, for reproduction, V is crossed with individual i of the current population to generate
individual i of the next population. This operator is named crossover.
In natural reproduction, parents’ genes are interchanged to form the genes of their descendant or
descendants. Reproduction is approached in two ways. On the one hand, as shown in Fig. 1,
parents, Xi and V, reproduce and generate their descendant, XiN , by piecewise multipoint crossover:
the crossing points, ðj; j þ kÞ, of the segments of each parent’s gene for its descendant are randomly
selected with uniform probability distribution, so they can be located among all other genes.
On the other hand, as shown in Fig. 2, discrete multipoint crossover can be used to generate
XiN : parent Xi provides its descendant with a set of N genes randomly chosen over its entire
chromosome; parent V provides the remaining ones.
If new descendant, XiN , is better than its antecedent, Xi , will replace it. Otherwise Xi is retained
and XiN is rejected. Therefore the population neither increases nor decreases.
Crossover is carried out with a probability defined as CP 2 ½0; 1.
1168 J.A. Cabrera et al. / Mechanism and Machine Theory 37 (2002) 1165–1177

Fig. 1. Piecewise multipoint crossover for reproduction.

Fig. 2. Discrete multipoint crossover for reproduction.

2.3. Mutation

Mutation is an operator consisting of random change of a gene during reproduction. In this


work, mutation is defined as follows: when gene xi mutates, the operator randomly chooses a
value within the interval of real values ðxi ; xi
rangeÞ, which is added or subtracted from xi ,
depending on the direction of the mutation.
Mutation is carried out with a probability defined as MP 2 ½0; 1, which is much lower than CP.

3. Goal function

The goal function is the sum of two terms. The first part computes the position error as the sum
of the square of the Euclidean distances between each Cdi and the corresponding C i where:
J.A. Cabrera et al. / Mechanism and Machine Theory 37 (2002) 1165–1177 1169

• fCdi g is a set of target points indicated by the designer that should be met by the coupler of the
mechanism. They can be written in a world coordinate system OXY as:
T
Cdi ¼ ½CXd
i i
; CYd  ð4Þ
i
• fC g is the set of positions of the coupler of the designed mechanism for a set of values of the
input angle fhi2 g, which is another design variable to be optimized:
 T  T
C i ¼ CXi ; CYi ¼ CX ðhi2 Þ; CY ðhi2 Þ ð5Þ
Accordingly, the first part of goal function can be expressed by:
N h
X  i 2  i 2 i
CXd CXi þ CYd CYi ð6Þ
i¼1

where N is the number of points to be synthesized.

To illustrate the method, synthesis of a four-bar planar mechanisms will be discussed. However,
the same method can be applied effortlessly to any other mechanism type.
The closed equation of a four-bar mechanisms yields:
r2 sin h2 þ r3 sin h3 ¼ r4 sin h4
ð7Þ
r2 cos h2 þ r3 cos h3 ¼ r1 þ r4 cos h4
where all geometric magnitudes are described in Fig. 3: the design variables, r1 , r2 , r3 , r4 , rcx , rcy , h0 ,
x0 and y0 , the input angle, h2 , and the unknowns of this system (7), h3 and h4 . The unknowns can
be computed by the equation of Freudenstein [7]. Thus, the position of the coupler C, in the
reference frame O2 Xr Yr , also defined in Fig. 3, is:

Fig. 3. Four-bar mechanism.


1170 J.A. Cabrera et al. / Mechanism and Machine Theory 37 (2002) 1165–1177

CXr ¼ r2 cos h2 þ rcx cos h3 rcy sin h3


ð8Þ
CYr ¼ r2 sin h2 þ rcx sin h3 þ rcy cos h3
or written on the previous world coordinate system OXY:
   
CX cos h0 sin h0 CXr x
¼ þ 0 ð9Þ
CY sin h0 cos h0 CYr y0
This expression for the position of the coupler of the designed mechanism is used in Eq. (6) to
develop the first part of the goal function.
The second part of the goal function is derived from the constraints imposed on the mechanism.
Thus, the next step is to set these constraints. Among them one could point out:

(a) the Grashof condition, to allow for the entire turn of at least one link,
(b) the sequence of input angles, h2 , either from highest to lowest or from lowest to highest,
(c) the range for the design variables,
(d) the range of variation for the input angle,
(e) relations between the gain of an input angle and the adjacent position of the coupler point.

For the examples presented in this paper the first three conditions are imposed, thus the
problem is completely defined by:
n P h 2  i 2 io
N i i i
min i¼1 C Xd ðX Þ CX ðX Þ þ C Yd ðX Þ C Y ðX Þ
subject to: ðaÞðr1 þ r2 < r3 þ r4 Þ where ðr2 < r3 < r4 < r1 Þ
modðjþ1;NÞ modðjþN;N Þ 
ðbÞhj2 > h2 > > h2 where hj2 ¼ min hi2
 
ðcÞxi 2 ½lii ; lsi 8xi 2 X where X ¼ r1 ; r2 ; r3 ; r4 ; rcx ; rcy ; h0 ; x0 ; y0 ; h12 ; h22 ; . . . ; hN2
ð10Þ
where hi2 is the value of h2 in its ith position and modði; jÞ is the remainder of the quotient i=j.
In order to use this definition of the problem when the optimization algorithm is implemented,
the set constraint (c) is retained when values are assigned to design variables, X, and the other
constraints are inserted into the goal function as penalty functions as follows:
( )
XN h i
 i  2   2
min CXd ðX Þ CXi ðX Þ þ CYdi
ðX Þ CYi ðX Þ þ M1 h1 ðX Þ þ M2 h2 ðX Þ ð11Þ
i¼1

where:

h1 ðX Þ ¼ 0 ! Grashof condition true


h1 ðX Þ ¼ 1 ! Grashof condition false
h2 ðX Þ ¼ 0 ! sequence condition for h2 true
h2 ðX Þ ¼ 1 ! sequence condition for h2 false

and M1 and M2 are constants of a very high value that penalize the goal function when the as-
sociated constraint fails.
J.A. Cabrera et al. / Mechanism and Machine Theory 37 (2002) 1165–1177 1171

4. Results

This section analyzes a set of results found when applying the algorithm developed in the
previous sections. All examples were programmed on a Pentium III 800 MHz and implemented in
Matlab.
The entire proposed algorithm, including the three operators, has been run sequentially fol-
lowing the scheme in Fig. 4, where its simplicity can be observed. However, it is easy to implement
it in parallel, significantly increasing the convergence speed and constituting an additional ad-
vantage of the method.
As described, a set of target points is first input by the designer to define the problem. The first
case of this section is a path synthesis problem with all target points aligned and not prescribed
timing, whose solution has been frequently studied. For the last two cases the target points are not
aligned and with prescribed timing; both of them are problems which have been previously solved
by other optimization methods [19] which are addressed in this paper for the purpose of com-
paring the efficiency of the method against the other algorithms.
For all cases, the final error is computed by the first part of our goal function given in (10),
which is exactly the goal function defined by the aforementioned papers.
Case 1:

(a) The problem is defined by:


• Design variables X ¼ ½r1 ; r2 ; r3 ; r4 ; rcx ; rcy ; h0 ; x0 ; y0 ; h12 ; h22 ; h32 ; h42 ; h52 ; h62 
• Target points: fCdi ¼ ½ð20; 20Þ; ð20; 25Þ; ð20; 30Þ; ð20; 35Þ; ð20; 40Þ; ð20; 45Þ
• Limits of the variables: r1 ; r2 ; r3 ; r4 2 ½0; 60; rcx ; rcy ; x0 ; y0 2 ½ 60; 60; h0 ; h12 ; h22 ; h32 ; h42 ; h52 ;
h62 2 ½0; 2p
• Parameters of the algorithm: NP ¼ 100, CP ¼ 0:6, MP ¼ 0:1, F ¼ 0:4, itermax ¼ 1000.
(b) The best mechanism found in the last iteration is:
r1 ¼ 39:46629 r2 ¼ 8:562912 r3 ¼ 19:09486 r4 ¼ 47:83886
rcx ¼ 13:38556 rcy ¼ 12:21961 h0 ¼ 6:201627 x0 ¼ 29:72255 y0 ¼ 23:45454
½h12 h22 h32 h42 h52 h62  ¼ ½6:119371 0:19304 0:44083 0:684674 0:958351 1:355331
Final error ¼ 0:02617:
It is shown that the Grashof condition and the right sequence of input angles are fulfilled.
The evolution of the goal function along the iterations are shown in Fig. 5, where it is shown
that the position error is reduced 99.99% in only 100 iterations. The proposed mechanism in its
initial and final positions is represented in Fig. 6.
Case 2:

(a) The problem is defined by:

• Design variables: X ¼ ½r1 ; r2 ; r3 ; r4 ; rcx ; rcy 


• Target points: fCdi g ¼ ½ð3:000; 3:000Þ; ð2:759; 3:363Þ; ð2:372; 3:663Þ; ð1:890; 3:862Þ; ð1:355;
3:943Þ; hi2 ¼ ½30 45 60 75 90
• Limits of the variables: r1 ; r2 ; r3 ; r4 2 ½0; 50; rcx ; rcy 2 ½ 50; 50
• Parameters of the algorithm: NP ¼ 50, CP ¼ 0:9, MP ¼ 0:1, F ¼ 0:6, itermax ¼ 100.
1172 J.A. Cabrera et al. / Mechanism and Machine Theory 37 (2002) 1165–1177

Fig. 4. Scheme of the entire algorithm for the synthesis of mechanisms.

(b) The best mechanism found in the last iteration is the one listed in Table 1 along with the best
results found by two gradient based optimization methods and the genetic algorithm pro-
posed by Kunjur and Krishnamurty (algorithm KK). All results were presented in [19].
J.A. Cabrera et al. / Mechanism and Machine Theory 37 (2002) 1165–1177 1173

Fig. 5. Evolution of goal function in case 1.

Fig. 6. Solution of case 1. (––): initial position of mechanism; ( ): final position of mechanism.

For the two genetic algorithms, The resulting mechanism and the path tracked by their coupler
points are shown in Fig. 7, in addition to the target points of the problem.
1174 J.A. Cabrera et al. / Mechanism and Machine Theory 37 (2002) 1165–1177

Table 1
Final mechanism of case 2 from several optimization methods
Central difference Exact gradient Genetic algorithm KK Proposed algorithm
N evaluations 233 39 5000 5000
Final error 6:276  10 3 6:8  10 5 9:54  10 4 1:827  10 6
r1 2.90335 2.85813 3.509643 3.0630424
r2 1.72989 1.99965 1.857606 1.9959624
r3 3.19002 3.06518 4.725835 3.305823
r4 2.04117 2.46329 3.518721 2.524706
rcx 2.07177 1.71710 1.959538 1.645158
rcy 1.58801 1.63089 1.558898 1.708959

Fig. 7. Solution of case 2 from the different optimization methods. (––): KK algorithm; ( ): proposed method; ():
target points.

Case 3:

(a) The problem is defined by:

• Design variables: X ¼ ½r1 ; r2 ; r3 ; r4 ; rcx ; rcy ; h0 ; x0 ; y0 ; h12 


• Target points: fCdi g ¼ ½ð0:5; 1:1Þ ð0:4; 1:1Þ ð0:3; 1:1Þ ð0:2; 1:0Þ ð0:1; 0:9Þ ð0:005; 0:75Þ ð0:02;
0:6Þ ð0:0; 0:5Þ ð0:0; 0:4Þ ð0:03; 0:3Þ ð0:1; 0:25Þ ð0:15; 0:2Þ
ð0:2; 0:3Þ ð0:3; 0:4Þ ð0:4; 0:5Þ ð0:5; 0:7Þ ð0:6; 0:9Þ ð0:6; 1:0Þ; hi2 ¼ ½h12 ; h12 þ 20  i i : 1 . . . 17
• Limits of the variables: r1 ; r2 ; r3 ; r4 2 ½0; 50; rcx ; rcy ; x0 ; y0 2 ½ 50; 50
• Parameters of the algorithm: NP ¼ 100, CP ¼ 0:9, MP ¼ 0:1, F ¼ 0:6, itermax ¼ 50.

(b) The best mechanism found in the last iteration is the one listed in Table 2 along with the best
results found by the aforementioned methods:
J.A. Cabrera et al. / Mechanism and Machine Theory 37 (2002) 1165–1177 1175

Table 2
Final mechanism of case 3 from several optimization methods
Central difference Exact gradient Genetic algorithm KK Proposed algorithm
N evaluations 505 240 5000 5000
Final error 2:66  10 2 1:68  10 2 4:30  10 2 2:45  10 2
r1 2.80000 2.85452 1.879660 3.057878
r2 0.36000 0.36355 0.274853 0.237803
r3 2.91000 2.91374 1.180253 4.828954
r4 0.49845 0.49374 2.138209 2.056456
rcx 1.023716 1.031223 )0.833592 0.767038
rcy 1.718140 1.717471 )0.378770 1.850828
x0 0.95000 0.95928 1.132062 1.776808
y0 )1.18289 )1.19645 0.663433 )0.641991
h0 0.75999 0.76398 4.354224 1.002168
h12 0.51000 0.51172 2.558625 0.226186

Fig. 8. Path tracked by the solutions to case 3 from different methods along with target points. ( ): exact gradient
method; (––): KK algorithm; ( ): proposed method; (– – –): central difference; (): target points.

The paths tracked by the couplers of the resulting mechanisms from each method are depicted
in Fig. 8, along with the target points of the problem.

5. Discussion of the method

The first example deals with the synthesis of a four-bar linkage with all target points aligned
and without prescribed timing, thus the number of design variables is larger.
Case 1 works with a design domain of medium size, i.e. medium-sized number of target points,
6 points. The best solution was found for a population size of 100, where probabilities for
crossover and mutation are 0.6 and 0.1 respectively, and the factor F of the disturbing vector of
1176 J.A. Cabrera et al. / Mechanism and Machine Theory 37 (2002) 1165–1177

the selection equals 0.4. Fig. 5 shows the fast convergence of the goal function to a near optimal
solution, and additionally the position error is reduced 99.99% to an almost-null value in only 100
iterations. Later the improvement of the goal function is negligible, thus the number of necessary
evaluations and therefore the computation time could be reduced for these problems.
The initial values used by the algorithm are randomly chosen by the computer code. But the
solution reached is always very similar, both for these cases and any others tested. This fact points
out that the method escapes local minimums when the number of evaluations is large enough.
It was also observed that the gain of input angles between adjacent positions of the mechanism
is very directly related to the distance between adjacent target points.
The last two cases are path synthesis problems with prescribed timing, thus the number of
design variables is reduced. Both of them are problems which have been previously addressed by
other optimization methods [19], and the results are compared with the mechanisms found by
those algorithms in Tables 1 and 2.
It is observed that the number of iterations required by genetic algorithms are generally much
larger than the iterations used by gradient based methods. But the evaluation of the function is
much more complex for deterministic methods, which need the computation of the first order
derivatives of the goal functions and of the constraints. Thus the computation time of genetic
algorithms is lower in general. Regarding the algorithm proposed in this paper, the computation
time was 2.86 s for case 2 and 3.25 s for case 3, against 16.98 s and 37.03 s of the genetic algorithm
KK that runs on a 486 PC at 33 MHz. Despite the difficulty of comparing the time of computing
on different platforms, the cost of the proposed algorithm seems to be reasonably low.
On the other hand, the algorithm significantly improves the accuracy of the solutions of any of
the other methods for small to medium-sized design domains, such as cases 1 or 2. For large
design domains, such as case 3, the final error reached by the proposed method for the best so-
lution is smaller than the error of the other genetic algorithm. Moreover its magnitude is com-
parable to the final error of the gradient based methods, although is still higher than the error of
the exact gradient method.

6. Conclusions

The paper presents a new method based on evolutionary techniques for path synthesis of planar
mechanisms. In this method, which offers the benefit of being easy and simple to implement, an
algorithm is presented to optimize the position error between the target points selected by the
designer for the coupler point and the points reached by the resulting mechanism, subject to
different constraints. The same method can be applied to optimize any other goal function, such
as mechanical advantage, cost of the mechanism, etc.
The algorithm is has been fully developed for synthesis of four-bar mechanisms, but it can be
used for any other mechanism type.
The method can be used not only for optimization of a single goal, but also for problems with
multiple objectives. Thus, it can be used effortlessly to find the mechanism or mechanisms that
satisfy a set of objectives by introducing little modifications into the algorithm.
The paper applies the algorithm to three cases of path synthesis of four-bar mechanisms. Two
of problems are compared to the solutions reached by other optimization algorithms based on
J.A. Cabrera et al. / Mechanism and Machine Theory 37 (2002) 1165–1177 1177

deterministic and genetic methods. It was observed that the algorithm shows fast convergence to
the optimal result and very low error of adjustment to target points. Moreover, it shows errors
comparable to the best of the other algorithms tested and smaller computation times.

References

[1] J.A. Hrones, G.L. Nelson, Analysis of the Four Bar Linkage, MIT Press and Wiley, New York, 1951.
[2] C. Zhang, R.L. Norton, T. Hammond, Optimization of parameters for specified path generation using an atlas of
coupler curves of geared five-bar linkages, Mechanism and Machine Theory 19 (6) (1984) 459–466.
[3] G.N. Sandor, A General Complex Number Method for Plane Kinematic Synthesis with Applications, PhD Thesis,
Columbia University, New York, 1959.
[4] A.G. Erdman, Three and four precision point kinematic synthesis of planar linkages, Mechanism and Machine
Theory 16 (5) (1981) 227–245.
[5] R.E. Kaufman, Mechanism design by computer, Machine Design Magazine (1978) 94–100.
[6] R.J. Loerch, A.G. Erdman, N. Sandor, A. Mihda, Synthesis of Four Bar Linkages with Specified Ground Pivots,
Proceedings of 4th Applied Mechanisms Conference, Chicago, 1975, pp. 101–106.
[7] F. Freudenstein, An analytical approach to the design of four-link mechanisms, Transactions of the ASME 76
(1954) 483–492.
[8] R. Beyer, The Kinematic Synthesis of Mechanism, McGraw-Hill, New York, 1963.
[9] R. Hartenberg, J. Denavit, Kinematic Synthesis of Linkages, McGraw-Hill, New York, 1964.
[10] C. Han, A general method for the optimum design of mechanisms, Journal of Mechanisms 1 (1966) 301–313.
[11] S.N. Kramer, G.N. Sandor, Selective precision synthesis. A general method of optimization for planar
mechanisms, Journal of Engineering for Industry 2 (1975) 678–701.
[12] V.N. Sohoni, E.J. Haug, A state space technique for optimal design of mechanisms, ASME Journal of Mechanical
Design 104 (1982) 792–798.
[13] S.S. Rao, R.L. Kaplan, Transaction ASME Journal of Mechanisms Transmission Automatic Design 108 (1986)
454–460.
[14] S. Krishnamurty, D.A. Turcic, Optimal synthesis of mechanisms using nonlinear goal programming techniques,
Mechanisms and Machine Theory 27 (5) (1992) 599–612.
[15] J.H. Holland, Genetic algorithms and the optimal allocations of trials, SIAM Journal of Computing 2 (2) (1973)
88–105.
[16] J.H. Holland, Adaptation in Natural and Artificial Systems, The University of Michigan Press, Michigan, 1975.
[17] D.E. Goldberg, Genetic Algorithms in Search, Optimization and Machine Learning, Addison Wesley, Mas-
sachusetts, 1989.
[18] W.E. Fang, Simultaneous type and dimensional synthesis of mechanisms by genetic algorithms-DE, Mechanism
Synthesis Analysis 70 (1994).
[19] A. Kunjur, S. Krishnamurty, Genetic algorithms in mechanical synthesis, Journal of Applied Mechanisms and
Robotics 4 (2) (1997) 18–24.
[20] G.N. Sandor, A.G. Erdman, Advanced Mechanism Design. Analysis and Synthesis, Prentice-Hall, New Jersey,
1984.
[21] A.H. Wright, Genetic Algorithms for Real Parameter Optimization, Proceedings of First workshop on the
Foundations of Genetic Algorithms and Classifier Systems, Indiana, 1990, pp. 205–218.
[22] R. Storn, K. Price, Differential evolution. A simple and efficient heuristic scheme for global optimization over
continuous spaces, Journal of Global Optimization 11 (1997) 341–359.

You might also like