jsw0605 21

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

JOURNAL OF SOFTWARE, VOL. 6, NO.

5, MAY 2011 915

Development of Optimization Design Software


for Bevel Gear Based on Integer Serial Number
Encoding Genetic Algorithm
Xiaoqin Zhang
Mechanical and Electrical Engineering College
Hebei Normal University of Science & Technology, Qinhuangdao, China
Email: [email protected]

Yu Rong, Jingjing Yu, Liling Zhang and Lina Cui


Mechanical and Electrical Engineering College
Hebei Normal University of Science & Technology, Qinhuangdao, China
Email: [email protected]

Abstract—Bevel gear drive is widely used, quality of which of the feasible region, besides traditional optimization
not only affects its own transmission performance, size and method mostly bases on gradient algorithm, which is
weight, but also has some impact on the machine's likely trapped into local minimum search. Many studies
performance. This paper introduces optimization design indicate that the genetic algorithm has strong ability of
software for bevel gear, in which automatic optimization
design is realized. In the paper mathematical model,
general optimization, which is very effective in treating
programming of design data and realization of optimization optimization problem containing continuous and discrete
design based on genetic algorithm are described in detail. variables[4 ][5].
The paper proposed integer serial number encoding genetic This paper proposes the optimization design software
algorithm, which effectively deals with continuous and for straight tooth bevel gear based on genetic algorithm
discrete variable optimization problem and reduces the code encoding with integer serial number, no invalid solution
length of the string to improve the encoding and decoding or duplicate solutions, the code length of the string
efficiency, no invalid solution or duplicate solutions. reduced, the encoding and decoding efficiency improved.
Index Terms—bevel gear, optimization design, genetic
algorithm, integer serial number encoding, augmented II. SOFTWARE FUNCTION
penalty function The software can accomplish strength-calculation and
optimal design of straight tooth bevel gear based on GB/T
Calculation Methods of Load Capacity for Bevel Gear.
I. INTRODUCTION Moreover friendly user interface is developed using VB
Bevel gear drive, characterized by changing direction, language shown in Fig. 1. Input the known data, click on
high coincidence and smooth transmission, etc., is widely the button "optimization calculation", the user can get the
used in the aerospace, automotive and large mechanical optimization results of straight tooth bevel gear. Click on
transmission system. So its design quality not only affect the button "gear materials and fatigue limit query", the
its own transmission performance, size and weight but user can get the corresponding fatigue limit of gear
also have some impact on the machine's performance. In materials, shown in Fig. 2. Click on the button
practical engineering design, involving many parameters, “coefficient calculation”, various coefficients can be
consuming much calculation time, prone to error, and calculated, shown in Fig. 3. For example, select Yfsa and
repeated calculation, query and drawing are needed for click on the button “calculate coefficient”, then the
series of product design, resulting in substantial interface for calculating Yfsa appear as shown in Fig. 4.
duplication of effort, so the development of bevel gear Input the known data and click on the calculating button,
design software finding the optimal design is of great the results of recombination tooth coefficient for pinion
significance [1] [2] [3]. and gear are gained.
Optimization design of bear gear includes the
continuous variables and discrete variables. The III. CRITICAL TECHNOLOGY
traditional method is to round the optimal design to the
adjacent discrete points. Thus, design point might run out A. Establishing Mathematical Model
Establishing mathematical model is prime step for gear
Manuscript received January 1, 2010; revised December 10, 2010; design, in which the design variables, objective function
accepted January 8, 2011
Corresponding author: Zhang Xiaoqin

© 2011 ACADEMY PUBLISHER


doi:10.4304/jsw.6.5.915-922
916 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011

Figure 4. Yfsa calculation

Software design flow chart is shown as Fig. 5


Figure 1. User interface
IV. MATHEMATICAL MODEL FOR OPTIMIZATION DESIGN
Optimization objects for straight tooth bevel gear are
various. If user requirements needed, the consumption of
material is the measurement of design. Therefore the
optimization object is the volume of frustum of cone of
the bevel gear pair [2][6][7].
A. Object Function
Bevel Gear volume are the sum of pinion volume and
gear volume, while each bevel gear volume is similar to
the volume of frustum of cone between the big end and
small end of the pitch circle. Therefore, according to the
volume formula of frustum of cone, volume calculation
formula of straight tooth bevel gear pair can be expressed
Figure 2. Gear material as:
V = V1 + V 2
and constraints are determined through studying gear π ⎡ mz mz R − b mz1 R − b mz1 2 ⎤
= b cosδ1 ⎢( 1 ) 2 + 1 ( × )+( × ) +
design theory. 3 ⎣ 2 2 R 2 R 2 ⎥⎦
π ⎡ mz mz R − b mz2 R − b mz2 2 ⎤
B. Programming of A Large Number of Graph and Table b cosδ2 ⎢( 2 ) 2 + 2 ( × )+( × )
3 ⎣ 2 2 R 2 R 2 ⎥⎦
In gear design process, involving a large number of
graph and table data, how to invert artificial seeking into
automatically calculation is a basic problem in the (1)
process of CAD operations. Where, b is the face width, δ1, δ2 are respectively cone
C. Genetic Algorithm Realizing angle of pinion and gear, m is modulus, z1 is tooth
number of pinion, R is cone pitch, z2 is tooth number of
The augmented penalty function and integer serial
gear.
number encoding is used in genetic algorithm.

Figure 5. Software design flow chart

Figure 3. Coefficient calculation

© 2011 ACADEMY PUBLISHER


JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 917

B. Design Variable computer automatically. Therefore programming of chart


The independent design parameters of volume of data is needed.
straight bevel gear drive include big end module m, tooth A. Table Programming
number of pinion z1, face width coefficient φR, so the
Tables used in the mechanical design are divided into
design variables are.
simple lists and list functions according to having
X = [m,z1,φR]T = [x1,x2,x3]T (2)
function relations or not between data. In simple lists
C. Constraint Conditions various data are independent, having no clear
1) Contact strength conditions relationship, which can be stored in one-dimensional
The bending stress σH and contact stress σF of gears array, two-dimensional array or three-dimensional array,
should be not more than the allowable value, i.e. retrieved by using look-up, interpolation method, and so
on. Function relation is existed between function data and
4.7 KT1 variables, but cannot be expressed by clear expression in
σ H = Z E Z H Zε ≤ [σ H ] list function, which is usually treated by interpolation or
ϕ R (1 − 0.5ϕ R ) 2 m 3 z13 u (3) curve fitting methods.
Where, ZE is the elastic coefficient; ZH is regional Table I shows using coefficient KA [6]. It is a simple
coefficient of pitch point, for straight gear ZH = 2.5; Zε is table. When programming, the data are restored into two-
the coincidence coefficient; K is load coefficient; T1 is dimensional array. MATLAB program is as follows:
input torque; [σH] is the allowable contact stress.
TABLE I.
2) Tooth root bending strength conditions USING COEFFICIENT KA

4.7 KT1YFSa1Yε Work Machine Conditions


Prime mover
σ F1 = ≤ [σ F 1 ] (4) conditions Steady
Slight Moderate Severe
ϕ R (1 − 0.5ϕ R ) 2 z1 2 m 3 u 2 + 1 impact impact impact
Steady 1.00 1.25 1.50 1.75

Slight impact 1.10 1.35 1.60 1.85


YFSa 2
σ F 2 = σ F1 ≤ [σ F 1 ] (5) Moderate
1.25 1.50 1.75 2.0
YFSa1 impact
Severe impact 1.5 1.75 2.0 2.25
σF1,σF2 are respectively tooth root bending stress of
small and large bevel gear; [σ]F1, [σ]F2 are respectively function kA=gearKA(i,j)
allowable bending stress of small and large bevel gear; %i is prime mover condition; j is work machine
YFSa1, YFSa2 are respectively tooth recombination condition
coefficient of small and large bevel gear; Yε is the k=[1.00 1.25 1.50 1.75;1.10 1.35 1.60 1.85;1.25 1.50
contact ratio coefficient. 1.75 2.0;1.5 1.75 2.0 2.25];
3) The maximum peripheral speed conditions. kA=k(i,j);
For straight bevel gear, the peripheral speed of the When KA is used, function gearKA() is loaded.
average diameter vm should meet:
vm<vmax (6) B. Graph Programming
Where, vmax is the maximum peripheral speed. According to sources, line graph can be divided into
4) Modulus constraints two kinds: one kind is represented by the parameters of
For power transmission gear, the minimum modulus is the graph between which have calculation formula, just
not less than 1.5, i.e. because the formula is so complex that drawn into graph
mmax≥m≥1.5 (7) to manually search; one is that the parameters of the
Where, mmax is the maximum value of m. graph can’t be found calculation formula. For the first
5) Face width coefficient constraints. type, it’s needed to find the original formula, and
Usually the range of face width coefficient φR is incorporated into the program; For the second, it’s needed
0.25~0.3 to discrete the graph into table, and treat it as table or
6) The condition of not root cut for small bevel gear seek fitting formulae by curve fitting method and
z1max≥z1≥17cosδ1 (8) incorporated into the program.
Fig. 6 shows the dynamic load coefficient KV [6] [7].
V. PROGRAMMING OF DESIGN DATA In the paper, each curve is respectively programmed by
curve fitting. The programs are respectively named as
In gear design manuals, the relationships between KV5, KV6, KV7, KV8, KV9, KV10, KV11 and KV12.
many coefficients and other parameters are expressed by The program of KV8 is as follows:
table or line graph. In the traditional design, we can function kv=KV8(x)
determine the values of relevant coefficients by v=[2 5 8 10 12 15 18 20 25 30];
consulting manual, while in optimization design software, y=[1.128 1.196 1.244 1.269 1.292 1.323 1.35 1.367
all designs and calculations are fulfilled through the 1.404 1.437];
p=polyfit(x,y,2)

© 2011 ACADEMY PUBLISHER


918 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011

d2=m*z1 % big end diameter



end

sf1=(zv1*sin(pi/3-sita1)+sqrt(3)*(G/cos(sita1)-
pa0/mm))*mm
sf2=(zv2*sin(pi/3-sita2)+sqrt(3)*(G/cos(sita2)-
pa0/mm))*mm
pf1=(pa0/mm+2*G^2/(cos(sita1)*(zv1*cos(sita1)^2-
2*G)))*mm
pf2=(pa0/mm+2*G^2/(cos(sita2)*(zv2*cos(sita2)^2-
2*G)))*mm
hfa1=(0.5*zv1*(cos(alf)/cos(alffa1)-cos(pi/3-
sita1))+0.5*(pa0/mn-G/cos(sita1)))*mn
hfa2=(0.5*zv2*(cos(alf)/cos(alffa2)-cos(pi/3-
Figure 6. Dynamic load coefficient sita2))+0.5*(pa0/mn-G/cos(sita2)))*mn
%calculating tooth shape factor of pinion and gear
kv=polyval(p,x) yfa1=(6*hfa1/mm)/((sf1/mm)^2)*cos(alffa1)/cos(alf)
yfa2=(6*hfa2/mm)/((sf2/mm)^2)*cos(alffa2)/cos(alf)
C. Programming of Gear Recombination Coefficients
La1=sf1./hfa1
In gear design, the tooth shape coefficient YFa and La2=sf2./hfa2
stress correction coefficient YSa are the most complicated qs1=sf1./2./pf1
to determine, affected by the gear module, helix angle, qs2=sf2./2./pf2
equivalent number of teeth, variable coefficient, pressure %calculating stress correction coefficients of
angle, tooth root fillet radius and other factors. Ref. [6] pinion %and gear
gives the calculating formula in detail, in which a ysa1=(1.2+0.13.*La1).*qs1.^(1./(1.21+2.3./La1))
transcendental equation is needed to solve. ysa2=(1.2+0.13.*La2).*qs2.^(1./(1.21+2.3./La2))
1) Solving of transcendental equation. % recombination gear tooth shape coefficients
When calculating YFa or YSa, it’s needed to solve of %pinion and gear
equation: yfs1=yfa1.*ysa1
θ=2.*G.*tan(θ)./zv+H (9) yfs2=yfa2.*ysa2
Where x is needed to calculate, G and H are middle
variables, and zv is equivalent tooth number. VI. REALIZATION OF OPTIMIZAITION DESIGN
This equation can be solved by MATLAB function
fsolve( ). For example, A. Principle of Genetic Algorithm
x = fsolve(fun,x0) (10)
Genetic Algorithm (GA) is referred to as a search
Equation (10) starts at x0 and tries to solve the
method of optimal solution to simulating Darwin's
equations described in fun.
genetic selection and biological evolution process.
The program of solving (9) is as followings:
Genetic algorithm is a series of random iterations and
sita0=pi./6.*ones(1,length(zv)) %starting point
evolutionary computations simulating the process of
sitax=@(x)bevelsita(x,G,H,zv) % function handle
selection, crossover and mutation occurred in natural
sita=fsolve(sitax,sita0)
selection and population genetic, in according to the
Where bevelsita is a M-file function, the content of
survival of the fittest, through crossover and mutation,
which is as followings:
good quality gradually maintained and combined, while
function s=bevelyfasita(x,G,H,zv)
continually producing better individuals and out of bad
s=x-2.*G.*tan(x)./zv+H;
individuals. Through the generational produce and
2) Recombination gear tooth shape coefficient
optimizing the individual, the whole group evolves
In the paper, the tooth shape coefficient YFa and stress
forward and constantly approaches to the optimal
correction coefficient YSa are integrated into one
solution.
parameter, that is, YFa* YSa, which are called
Genetic algorithm, not requiring gradient information
recombination gear tooth shape coefficient, and
and continuous function, optimization results being
programmed by one M-file function, BevelGearYfsa.m,
global, applied to mechanical design optimization
the content of which is as followings:
problems, can effectively avoid local optimal solutions,
function [yfs1,yfs2]=bevelgearYfsa(m,z1,u,fr)
and get the global optimal solution [2] [7].
%generating method, m: module; z1: tooth number
of %pinion; u: rotating speed ratio; fr: tooth B. Outline of the Genetic Algorithm
face %coefficient The following outline summarizes how the genetic
if app==1 % applied to industry; algorithm works [8]:
d1=m*z1 %big end diameter 1) The algorithm begins by creating a random initial
… population.
else app==2 % applied to automobile

© 2011 ACADEMY PUBLISHER


JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 919

2) The algorithm then creates a sequence of new …


populations. At each step, the algorithm uses the case 35
individuals in the current generation to create the next m=45
population. To create the new population, the algorithm case 36
performs the following steps: m=50
a) Scores each member of the current population otherwise
by computing its fitness value. disp ('modulus is not in the range')
end
b) Scales the raw fitness scores to convert them Tooth number z:
into a more usable range of values. z=12+ x(2)
c) Selects members, called parents, based on their Face width coefficient fR:
fitness. fR=0.24+x(3)/100
d) Some of the individuals in the current population D. Initial Population
that have lower fitness are chosen as elite. These elite The initial population is produced by following
individuals are passed to the next population. program:
e) Produces children from the parents. A=rand(PopulationSize,3)
Children are produced either by making random X1=round(1+(19-1).*A(1:PopulationSize,1))
changes to a single parent - mutation - or by combining X2=round(1+(24-1).*A(1:PopulationSize,2))
the vector entries of a pair of parents - crossover. X3=round(1+(13-1).*A(1:PopulationSize,3))
f) Replaces the current population with the InitialPopulation =[X1 X2 X3]
children to form the next generation. Where, rand() is random function, round() is rounding
function and PopulationSize(Population Size) is the
3) The algorithm stops when one of the stopping number of individuals.
criteria is met. Population size is an important parameter in genetic
C. Integer Serial Number Encoding algorithm, which specifies how many individuals there
In the paper, integer serial number encoding method is are in each generation. With a large population size, the
used, in which each chromosome represents the number genetic algorithm searches the solution space more
of a variable value in discrete collection. The advantages thoroughly, thereby reducing the chance that the
of integer serial number encoding relative to the binary algorithm will return a local minimum that is not a global
are smaller seek space and simple, intuitive operation. minimum. However, a large population size also causes
For example, a design variable has 10 optional discrete the algorithm to run more slowly. So it can not be too
values, 4-bit binary code is needed (16 kinds of solutions large or too small. The range of population size is 10-160.
can be expressed), then will result in 6 invalid or It is determined to be 50 by trying.
duplicate combination solutions. However, integer serial The program is as follows:
number encoding can fully express combination solutions options = gaoptimset(' Populationsize ',50)
with only numbers from 0 to 9, so the genetic algorithm E. Fitness Function
does not produce an invalid solution or repeated solution, Gear optimization problem is nonlinear constrained
but also reduces the code string length and improves the optimization problems, commonly used penalty function
encoding and decoding efficiency [9]. method. Penalty function method is simple in principle,
In the standard straight bevel gear design, the easy in algorithm, wide application and widely used.
independent design variables are three: m, z1, fR, where However, many problems exist in penalty, for example,
m and z1 are discrete, and fR is continuous. If fR is kept only when the penalty factor r → ∞ (outside point
two fractions, it is changed into discrete variable. method) or r → 0 (interior point method), converge the
Consistent with modulus constrains, if mmax=50, the algorithm is, the iterative process is of slow convergence.
standard modulus number is 36, m = [1.5 1.75 2 2.25 2.5 In addition, when the initial value of the penalty factor r0
2.75 … 45 50], consistent with tooth number constrains, is inappropriate, the penalty function may become sick,
the number of z1 is 28, z = [13 14 15 16 17 … 38 39 making optimization difficult [5].
40] , consistent with tooth width coefficient constraints, In this paper, augmented penalty function combined
the number of fR is 6, fR = [0.25 0.26 0.27 0.28 0.29 0.3]. Lagrange multiplier method with penalty function
So code ranges of x(1), x(2) and x(3) are respectively 1- method for solving straight bevel gear optimization
36, 1-28 and 1-6 [6][7]. problems. The form of augmented penalty function is as
Decoding ways of the three parameters are separately follows:

{ }
as follows: 1 m
Modulus m: M ( x, λ, r ) = f ( x) + ∑ max[0, λ1 j + rg j ( x)]2 − λ12j +
2r j =1
switch x(1)
case 1 l
r
m=1.5 ∑ λ2 p hp ( x) + 2 ∑[hp ( x)]2
case 2 p =1
m=1.75

© 2011 ACADEMY PUBLISHER


920 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011

Where, f(x) is the objective function; gj(x) is the kV=bevelgearKV(pregrd,vet)


inequality constraints, m is the number of inequality [Zls,Zmb,Yzi]=bevelgearZmb(u,x(1),x(2),x(3))
constraints; hp(x) is the equality constraints; l is the kHb=bevelgearKHbeta(supp)
number of equality constraints; r is penalty factor; λ1j the kHalf=bevelgearKHalfa(kA,x(1),x(2),pregrd,gearface,
multiplier vector for inequality constraint functions; λ2p Zls,T1,u,x(3))
multipliers for the equality constraints vector [10]. KH=kA.*kV.*kHb.*kHalf
% calculating contact stress and allowable stress
F. Solving through MATLAB GA Toolbox

MATLAB is advanced mathematics software launched %contact stress
by the MathWorks Company since the mid 1980s, which sigmH=ZH.*sqrt(Fmt*KH*(uv+1)/(dv1*b*uv))
faces to science and engineering. % allowable contact stress
MATLAB genetic toolbox is customized toolbox for sigmHmin=SigmaHlim.*ZN./SHmin
genetic algorithm, with which various problems to % calculating load coefficient for bending strength KF
optimize using genetic algorithm can be easily figured kFb=bevelgearKFbeta(kHb)
out. kFalf=bevelgearKFalfa(x(1),x(2),u,pregrd,gearface,T1,
Below is the detailed process to realizing optimization x(3),kA)
design of straight bevel gear using MATLAB 7.1 genetic KF=kA.*kV.*kFb.*kFalf
toolbox [8]. Yk=1
1) Convert the optimization mathematical model of Yls=Zls^2
IV into the following forms applied to MATLAB: % calculating recombination gear tooth coefficient
a) Design variable: [Yfs1,Yfs2]=bevelgearYfsa(x(1),x(2),u,x(3))
X =[ x 1 , x 2 , x 3 ] T
b) Object function: %bending stress and allowable bending stress
Rm=R-0.5*b
F(X)=π*u* (u+1) *x3 (x1*x2)3*(1-x3+x32/3)/8→min mm=x(1)*Rm/R
c) Constraint conditions: sigmF1=Fmt*KF.*Yfs1.*Yzi*Yk*Yls/b/mm
Linear inequality constraints: sigmF2=Fmt*KF.*Yfs2.*Yzi*Yk*Yls/b/mm
A*X<=b, sigmFmin1=SigmaFlim1.*YNX1./SFmin
Linear equality constraints: sigmFmin2=SigmaFlim2.*YNX2./SFmin
Aeq*X=beq c=[sigmH-sigmHmin
Bound constraints: sigmF1-sigmFmin1;
LB<=X<=UB sigmF2-sigmFmin2;
Nonlinear inequality constraints: 17*u/sqrt(1+u^2)-x(2);
C(X)<=0 0.25-x(3);
Non linear equality constraints: x(3)-0.3;
Ceq(X)=0 1.5-x(1)]
2) Establish .m file for objective function: ceq=[ ]
function obj=bevelobj(x) 4 ) Main Program
%m: x1; z1:x2; fR:x3 %bevelgearopt.m
global u %global variable speed ratio %define global variables
obj=pi*u*(u+1)*x(3)*(x(1)*x(2))^3*(1-x(3)+x(3)^2/3) global u % global variable speed ratio
/8 global p %power
3) Establish .m file for nonlinear constraints: global n1 %rotate speed
function [c,ceq]= bevelnonlcon (x) global Zk %bevel gear factor
%define global variables global Ze %elastic influence factor
global u % global variable speed ratio global Zh %area factor
global p %power …
global n1 %rotate speed T1=9549*p/n1
global Zk %bevel gear factor kA=gearkA(orgm,wkm) %load factor
global kA %use coefficient Zh=2*sqrt(1/sin(2*20/180));
global pregrd %precision grade Ze=gearZE(m1,m2) %elasticity factor
global supp %support type Zk=0.8
global adjust %if adjust when assemble x0=[2.5;34;0.3];
global gearface %soft gear face or hard gear face a=[]
global T1 %torpue b=[]
… aeq=[];
%integer serial number encoding beq=[];
lb=[];
% calculating load coefficient for contact strength KH ub=[];
… %fitnessfunction

© 2011 ACADEMY PUBLISHER


JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 921

fitnessFunction = @bevelobj; Call MATLAB.PutWorkspaceData("p", "base", p)


%Set optimization options: Call MATLAB.PutWorkspaceData("n1", "base", n1)
options = gaoptimset; %fault options Call MATLAB.PutWorkspaceData("u", "base", u)
% change optimization options Call MATLAB.PutWorkspaceData("z1", "base", z1)
options = gaoptimset(options,'PopInitRange' ,[1 1 1 ; Call MATLAB.PutWorkspaceData("m", "base", min)
36 28 6 ]); Call MATLAB.PutWorkspaceData("fr", "base", fr)
options = gaoptimset(options,'MigrationDirection' , Call MATLAB.PutWorkspaceData("supp", "base",
'both'); supp)
options = gaoptimset(options,'TolFun' ,0.001); ‘Executing the MATLAB program of bevel gear
options = gaoptimset(options,'TolCon' ,0.001); optimization design
options = gaoptimset(options,'SelectionFcn', matlab.execute ("bevelgearopt")
{@selectiontournament 4 }); ‘Results from MATLAB are transmitted to Visual
options = gaoptimset(options,'MutationFcn', Basic
@mutationadaptfeasible); Call MATLAB.GetWorkspaceData("M", "base", mout)
options = gaoptimset(options,'HybridFcn' ,{ @fmincon Call MATLAB.GetWorkspaceData("Z1","base", outz1)
[ ]})
%Call ga( ) function: …
[X,FVAL]=ga(@FitnessFcn,nvars,A,b,Aeq,beq,LB, ‘Optimization results are transmitted to UI
UB, @bevelnonlcon,options) Textoutm.Text = mout
Textoutz1.Text =outz1
VII. INTERFACE BETWEEN VISUAL BASIC …
LANGUAGE AND MATLAB SOFTWARE
VIII. APPLICATION EXAMPLE
Interface between Visual Basic language and
MATLAB software can be realized by three methods, It is known that input power P=5kw, small gear speed
DLL(dynamic linked library), DDE(dynamic data n1=960r/min, gear ratio u=4.8; load stability, expected
exchange) or ActiveX technology. In the paper, the third life is 15 years, 300 days a year, accounting for 30% of
method is adopted. Partial programs are as follows: working time. Work condition is steady, pinion is
Private Sub OptiCommand_Click() cantilever, big gear is two-support.
‘Announce ActiveX loading MATLAB Result compared with the results of traditional
Dim matlab As Object optimization design and conventional design is shown in
Table II.
‘Loading MATLAB application program
Set matlab = CreateObject("Matlab.Application") TABLE II.
RESULTS COMPARED WITH THE TRADITIONAL OPTIMIZATION DESIGN
AND CONVENTIONAL DESIGN
‘Define variables for input parameters
Face
Dim p As Double, n1 As Double, u As Double Design
Module
Tooth
width Volume
Dim z1 As Double method number
coefficient
Dim fR As Double Genetic
2.75 24 0.3 6.8834e+005
Dim mi As Double, mj As Double 'gear material algrithm
… Traditional
3 33 0.27 2.1604e+006
optimization
‘Define variables for output results Conventional
Dim outm As Variant 3 34 0.3 2.5408e+006
design
Dim outz1 As Variant, outz2 As Variant
… IX. CONCLUSION
‘The known data in UI are transmitted to input
parameters Optimization design software for straight bevel gear is
p = Val(Textp.Text) developed in the paper to achieve the automatic
u = Val(Textu.Text) optimization by using VB and MATLAB, in which the
n1 = Val(Textn1.Text) genetic algorithm is selected and the augmented penalty
z1 = Val(Textz1.Text) function and integer serial number encoding is used, so
fr= Val(TextfR.Text) the global optimal solution can be obtained, design
… efficiency greatly improved, weight of bevel gear
‘Visual Basic variables are transmitted to MATLAB reduced, the production cycle shortened.
workspace
Call MATLAB.PutWorkspaceData("orgm", "base", REFERENCES
orgm) ‘original machine working conditions [1] Zeng Qiang, “The R & D of Gear CAD system based on
Call MATLAB.PutWorkspaceData("wkm", "base", artificial intelligence,” Xi'an Architecture and Technology
wkm) ‘work machine working conditions university, 2003
Call MATLAB.PutWorkspaceData("pregrd", "base",
accgrd) ‘precision grade

© 2011 ACADEMY PUBLISHER


922 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011

[2] Liang Shangming, Yin Guofu, “Modern mechanical


optimization Methods,” Beijing,: Chemical Industry Press,
2005, pp.231-234
[3] Ang Xueye, Ding Jianmei, “3-Dimensional parametrical
modeling method of straight bevel gear,” engineering
graphics transaction, vol. 6, 2007, pp.22~25
[4] Bi Changchun, Ding Yuzhan, “Application of real number
encoding genetic algorithm in helical gear drive
optimization design,” mechanical science and technology,
vol. 11, 2000, pp.82-84
[5] Chen Xiuning, “Mechanical optimization Design,”
Zhejiang University Press, Hangzhou, 1997, pp. 252-260
[6] Cheng Daxian, Mechanical Design Handbook. Machine
drive, Beijing: Chemical Industry Press, 2004.
[7] Zhu Xiaolu, Gear drive design manual, Beijing: Chemical
Industry Press, 2005.
[8] The MathWorks, Inc, http://www.mathsworks.com
[9] Laumanns M, Thiele L, Zitzler E, Welzl E, Deb K,
“Running time analysis of multi-objective evolutionary
algorithms on a simple discrete optimization problem,”
Parallel Problem Solving from Nature—PPSN vol. VII,
Spain: Granada, 2002, pp.44-53
[10] Schwefel H. Evolution and optimum seeking, New York:
John Wiely &Sons, 1995.

Xiaoqin Zhang: born in Tangshan,


China in March, 1971. A PHD Candidate,
Mechanical Engineering College,
Yanshan University, Qinhuangdao, China,
Major in CAD/CAM.

© 2011 ACADEMY PUBLISHER

You might also like