Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
i
CURRENT COMPUTATIONAL METHODS
IN
STRUCTURAL DINAMICS
MATLAB, NEURAL NETWORKS, GENETIC ALGORITHMS
KNOWLEDGE BASE EXPERT SYSTEMS
Gilberto Mosqueda Abel Sanchez
May 20, 1997
ii
TABLE OF CONTENTS
LIST OF FIGURES_____________________________________________________ iii
INTRODUCTION _______________________________________________________1
PART I ________________________________________________________________2
PROGRAM OVERVIEW__________________________________________________2
CONSTRUCTING A MODEL _____________________________________________3
Model Input Data File ________________________________________________________ 3
Sample Data File ____________________________________________________________ 3
Stiffness Matrix _____________________________________________________________ 4
Mass Matrix ________________________________________________________________ 6
Damping Matrix_____________________________________________________________ 7
VIEW PLOT____________________________________________________________7
VIEW FREQUENCIES___________________________________________________8
STATIC ANALYSIS _____________________________________________________8
DYNAMIC ANALYSIS ___________________________________________________8
MATLAB Tollbox ___________________________________________________________ 9
Newmark Method ___________________________________________________________ 9
Central Difference Method ___________________________________________________ 10
STORAGE SCHEMES __________________________________________________10
TESTING THE PROGRAM ______________________________________________11
PART II ______________________________________________________________12
NEURAL NETWORKS __________________________________________________12
DAMAGE ASSESSMENT USING NEURAL NETWORKS_____________________13
Procedure _________________________________________________________________ 14
STRUCTURAL CONTROL USING NEURAL NETWORKS____________________15
VIBRATION SIGNATURE ANALYSIS USING NEURAL NETWORKS __________16
KNOWLEDGE BASED EXPERT SYSTEMS ________________________________17
Differences From Conventional Programming ___________________________________ 17
System Architecture_________________________________________________________ 19
STRUCTURAL DYNAMIC ANALYSIS USING GENETIC ALGORITHMS _______20
CONCLUSION_________________________________________________________24
APPENDIX:___________________________________________________________27
COMPUTER PROGRAM ___________________________________________________ 27
iii
LIST OF FIGURES
FIGURE 1. Main menu to control functions of truss analysis program. ___________________________2FIGURE 2. Example of truss system_______________________________________________________3FIGURE 3. Truss element in space. _______________________________________________________4FIGURE 4. Plots obtained from the VIEW PLOT funcition. ____________________________________8FIGURE 5. Input window for Newmark Method. ____________________________________________10FIGURE 6. Sample output graph.________________________________________________________11FIGURE 8. Evolution Process.__________________________________________________________22FIGURE 9. Psudocode for genetic algorithm. ______________________________________________22
1
INTRODUCTION
This paper will focus on emerging computational methods in the field of structuraldynamics. With this goal in mind a computer program was developed using the increasinglypopular programming language of Matlab. In addition, the following structural dynamicscomputational tools are presented: artificial neural networks; genetic algorithms; and knowledgebase systems.
The reader is strongly encouraged to test the program submitted with this report (3.5 indisk). If access to Athena is convenient the program can also be run from“/afs/athena.mit.edu/user/m/o/mosqueda/Public”, by entering SDYAP at the Matlab prompt.
This report is divided in two sections: part I covers the Matlab program, its theoreticalbases, its logic, and usage instructions; part II presents current computational tools and theirstructural dynamics applications.
2
PART I
PROGRAM OVERVIEW
A computer program for use with MATLAB was developed for the analysis of 3-
dimensional truss systems. The program is capable of handling several types of analysis including
static and dynamic loading conditions. In the case of static loading, the truss can be subjected to
concentrated loads at the joints. For dynamic analysis, the allowable loading conditions are more
limited. One can apply only one concentrated or sinusoidal force at any joint in the structure in a
direction orthogonal to the global axis. These limitations arise from the complexity of inputting
variable loading conditions that also vary with time. In addition, the truss model can also be
subjected to ground excitation provided an acceleration record exist in the required format. In
calculating the dynamic response, the program provides three options for the time integration, the
MATLAB Toolbox, the Newmark Method, and the Central Difference Method. The program
makes use of user interface controls with options to select between the different functions of the
program and also to enter some of the data.
Upon entering the program, a menu window appears, giving the user the following options
(Fig. 1): INPUT MODEL, VIEW MODEL, VIEW FREQUENCIES, STATIC ANALYSIS,
DYNAMIC ANALYSIS - MATLAB, NEWMARK METHOD -CENTRAL DIFFERENCE
METHOD, and EXIT. In the discussion that follows, each of these functions and their use will be
explained . Specifications will be given on how to input the data and obtain the results.
FIGURE 1. Main menu to control functions of truss analysis program.
3
CONSTRUCTING A MODEL
The first step in executing the program is to build a truss model. Once the user presses the
‘INPUT MODEL’ button , the program will prompt for the name of the text file containing
information about the nodes and members that make up the truss system. This prompt will occur
at the MATLAB window. It is important to maintain this window within view at all times since
some output and error messages will also appear in this window.
Model Input Data File
It is extremely important that the correct format be implemented when creating the input
file. Each of the required lines of the text file will be discussed in detail.
• LINE 1 contains two words or strings such as Truss Model to identify the file.• LINE 2 contains the number of nodes (nnod) followed by the string Nodes.• LINE 3 contains the number of members (nmem) followed by the string Members.• LINE 4 contains the heading for the nodal data which consist of seven strings• The following nnod lines contain the node number, the 3-D coordinates of the node in space,
and support conditions in each of the three directions ( fixed(1) or free(0) ).• The next line contains six strings that serve as headings for the member data.• The next nmem lines include, in order, the member number, its two end nodes, the Area,
Modulus of Elasticity, and Density of the member.• The following line contains two strings to identify the data for supports at springs.• This is follow by the integer number of springs (nspr), and the string Springs.• The next line includes four strings to label the spring data.• The next nspr lines include the node application number followed by three integers
representing the amount of spring stiffness in each of the global directions.
Sample Data FileAs an example, the data file for the following structure would appear as shown:
pastePAZ, pg(400)
FIGURE 2. Example of truss system
4
Truss Dat3 nodes3 membersnode xcor ycor zcor xres yres zres 1 0.0 0.0 0.0 1 1 1 2 0.0 60.0 0.0 0 0 1 3 60.0 0.0 0.0 0 1 1
member ni nj Area Modulus Mass-Density 1 1 2 10.0 30000000 0.01 2 2 3 10.0 30000000 0.01 3 3 1 10.0 30000000 0.01
Spring Supports0 springsNode Kx-spr Ky-spr Kz-spr
It is important to note that the mass must be entered as density. Since this is a two
dimensional structure, the z-constrains must all be fixed. Also, since there are no springs present,
no data lines are included under the spring stiffness headings. However, all the headings and the
number of springs are still required.
Once all the data is gathered, the matrices of the system can be computed. Although some
might not be required, both the mass and the stiffness matrix are computed immediately after the
input is obtained.
In building the matrices for a 3-D truss system, three possible movements were considered
per node, the translation in the x, y, and z directions. The rotations at the joints were neglected
since the members are connected by pins. Also, the members were assumed to carry axial forces
only, thus they could only deform axially, and not by shear or bending.
Stiffness Matrix
To build the structure stiffness matrix, a truss member was considered in space with end
nodes i and j and three possible displacements at each node.
FIGURE 3. Truss element in space.
x
y
z node i(xi, yi , zi)
node j(xj, yj , zj)
LGlobalaxis
5
With given coordinates at both end nodes, the direction cosines can be defined as the ratio
of the projection on the axis in question over the total length of the member. For a truss member
with coordinates (xi, yi , zi) in the ith node and (xj, yj , zj) in the jth node, the direction cosine angles
in the x, y, and z axis respectively are:
Cx x
Lxj i=−
, Cy y
Lyj i=−
, and Cz z
Lzj i=−
.
From the above definitions, the direction cosine vector, alpha, and the stiffness matrix for
the element can now be obtained. For a member with cross-sectional area, A, and length L the
stiffness matrix , Kel, is given by:
[ ]vα = C C Cx y z
kAEL
=
K k kC C C C C
C C C C CC C C C C
elT
x y x z x
x y y z y
x z y z z
= =
r rα α
2
2
2
The global stiffness matrix for the entire structure is simply the sum of element matrices.
To build the matrix, the Kel matrix is added to (row i, column i ) and (row j, column j). It is then
subtracted from (row i, column j) and (row j, column i) where i and j correspond to the end nodes
of the member. In the global matrix, the rows and columns noted as i and j represent the three
possible degrees of freedom at each node. While constructing the stiffness matrix, all boundary
conditions are temporarily removed. Once the matrix is complete, the boundary conditions are
applied to reduce the stiffness matrix to only contain the node directions that are free to translate.
The global stiffness matrix for a system with m members and n nodes can be expressed as:
K Kg el m
m= ∑ ,1
where the matrix of each element is given by
6
( 1 2 … . i … . j … . n )
K K KK K
el m el el
el el
, = −−
0 0 0 0 00 0 0 0 00 0 00 0 00 0 0 0 0
For use in analysis, the global stiffness matrix needs to be arranged with the free nodes
separated from the restrained joints. Once all the free joint displacements are placed first, the
global matrix will be of the form
KKff KfrKrf Krr
=
where the matrix Kff relates the loads applied at the unrestrained joints to the corresponding
displacements.
Mass Matrix
The program uses the consistent mass matrix for each element. Although a lumped mass
matrix is much easier to compute and requires less storage space, a consistent mass matrix is
known to gives much better results (Bathe). The consistent mass matrix for any element in general
is given by :
Mel H HdVT
V
= ∫ρ
For the case of the three-dimensional truss element, this integral can be simplified to
MelL
=
ρ6
1 0 00 1 00 0 1
Similar to the case of the stiffness matrix, the mass matrix is built for the entire structure,
including the restrained nodes. The mass matrix is then rearranged to obtain the portion of the
matrix corresponding to the degrees of freedom that are free to translate. The complete consistent
mass matrix for the entire structure is given by
M Mg el m
m= ∑ ,1
( 1 2 … . i … . j … . n )
7
M M MM M
el m el el
el el
, =
0 0 0 0 00 0 0 0 00 0 2 00 0 2 00 0 0 0 0
Damping MatrixIn this program, only one damping ratio is and it is assumed to be the same for all modes
of vibration. The damping matrix is chosen to satisfy the following equation.
φ φ ω ξςiT
j i i ijC = 2
where ςij is the Kronecker delta. Assuming the same damping ratio, ξi for all modes i with
frequency ω i , and mode shape vector φi , the damping matrix, C, can be determined from:
( ) ( )C T= − −Φ Ω Φ1 12ξ
VIEW PLOT
This option allows the user the view the constructed model from different angles. It could
help to insure that the data for the model was entered correctly and that all the members are
connected in the right places. An example of the plots is shown in FIGURE 4.
8
FIGURE 4. Plots obtained from the VIEW PLOT function.
VIEW FREQUENCIES
View Frequencies displays the frequencies of the structure in radians per second. This
information is very helpful in selecting a time step for the time integration procedures, particularly
for the Central Difference Method.
STATIC ANALYSISThis program allows the user to solve for the displacements of the structure when applied
to static loading at the nodes. The loads on the structure are entered via an input file, which the
program prompts for when the static analysis button is activated. The data file consist of the
number of loaded nodes followed by a listing of those nodes. Assuming the F1=500 in FIG. 1, the
data file would appear as:
Load Data1 loaded nodes
node Px Py Pz 1 500.0 0.0 0.0
The load vector is built by adding in the loads into the appropriate location in the load
vector. This is done by considering the node and direction, and determining its corresponding
location within the stiffness matrix. If the load is applied in the direction of a support, then the
load is ignored. Once all loads have been read into the load vector, the displacement are
determined from the equilibrium equation and displayed on the MATLAB window:
[ ] U K Pf gff f= ⋅− 1
DYNAMIC ANALYSISTo obtain the response of the structure over time, the program performs numerical
integration using one of two methods, the Newmark Method or the Central Difference Method. In
addition, the equations of motion can also be solved using the MATLAB Toolbox for solving
differential equations. The method of choice can be selected from the menu window. Upon
selecting one of the methods, a graphical user interface window will appear to input the integration
parameters, loading conditions, and output desired (FIG. 5).
9
MATLAB Toolbox
Included in the MATLAB Toolbox is the function LSIM which solves a system of
differential equations. The command LSIM(A,B,C,D,U,T) plots the time response of the linear
system:
&x Ax Buy Cx Bu= += +
In the case of dynamics of structures, the equation of motion can be put into this matrix
form by breaking down the second order equation into two first order equation. This
transformation is as follows:
Mx Cx Kx P t
xx
IM K M C
xx U
P t
&& & ( )&&& &
( )
+ + =
⇒
=
+
− − −
0 01 1 1
By solving for the A, B, C, and D matrices, building the time vector, T, and the load matrix U,
where each column in U corresponds to the loading at time in the same column of T.
Newmark Method
In applying the Newmark method, one must select the two parameters, alpha and gamma,
the time step to be used in the integration, and the time for which the response is to be calculated.
In addition, a load must be defined as either constant or sinusoidal. The load magnitude and
duration as well as frequency, if sinusoidal, can also be specified. The load application is entered
by the node number and the preferred direction needs to be selected.
There are two options available to view the results. One can select to view a plot of the
displacement at the point of application or a list of the maximum acceleration, velocity, and
displacements at each node. Either both or just one of these options need be selected. Activating
the ‘Calculate’ button computes the results and displays the selected output. A graph is developed
for the displacement response while the maximum response is listed in the MATLAB window.
10
FIGURE 5. Input window for Newmark Method.
Another loading option is an acceleration record from a data file. In this case, the
equivalent load vector is assumed to be proportional to the mass and is given by
[ ]R Macc
eq =
The matrix acc is filled with the value of acceleration obtained from the data file.
When using the ground motion loading, the magnitude entry can be used as a multiplier to
change units from the data file if necessary. A graph of the response displacement can also be
obtained by selection the option as well as specifying a point with the load application input.
Central Difference Method The input window for the Central Difference Method is similar to that of the Newmark
Method. The main difference between the two is two Newmark parameters which are not present
in this case.
STORAGE SCHEMESMATLAB has built in functions that allow the for the storage of matrices as sparse. Apart
from reducing storage space required, computations are carried out much faster. Both the stiffness
matrix and the mass matrix are stored in this fashion. One disadvantage was that the whole matrix
instead of just the upper triangular half was stored in order to utilize the matrix functions available
within MATLAB.
11
TESTING THE PROGRAMThe program was tested and compared to documented examples in the book by PAZ. The
resulting mass matrix, stiffness matrix, and frequencies calculated by the program gave excellent
results as compared with the examples. The response was reasonably close as well. There was
some small difference which could of resulted from the different methods used. In addition, similar
models were compared using the different methods of the program. Some of the results from these
test are included in the appendix. A sample output graph obtained from the program is show in
FIGURE 6.
FIGURE 6. Sample output graph.
12
PART II
NEURAL NETWORKSIn recent years, there has been a growing interest in a class of computing devices that
operate in a manner analogous to that of biological nervous systems. These devices known as
artificial neural networks (ANN), or connectionist systems, are finding applications in all branches
of science and engineering. In the field of civil engineering consistent applications and use of ANN
only dates back to the beginning of the decade. In spite of its short history, the applications of
ANN in civil engineering have been bast, structural assessment, structural analysis and design,
finite element methods, control, just to mention a few in the field of structural engineering (Topping
95).
The fast acceptance of ANN can be attributed to several factors. The most important are
as fallow:
1. The ability to learn and generalize from examples.2. Produce meaningful solutions to problems even when input data contains errors or is
incomplete.3. Adapt solutions over time to compensate for changing circumstances.4. Process information rapidly and readily between computers.
It is worth noting that points 1-3, are goals which have eluded the conventional electronic digital
computing methods.
Current ANN are much simpler than their biological counter parts. However, the goal of
engineering applications is not to duplicate biological neural networks but to exploit their
information-processing characteristics, such as those of generalization and error tolerance. These
objectives, as has been found, can be achieved with relatively few neurons (Flood 94).
Neural networks are configured from a number of parallel operating processors, termed
neurons, cells, or units, connected into some circuit. The network is constructed from a set of
simple processing units, each capable of only a few computations, such as summation and
threshold logic. The power gained by a neural network is due to the fact that there are many
processors and each processor is connected with many others; much in the same way neurons in
our brain are highly interconnected.
A neural network performs "computations" by propagating changes in activation (i.e. level
of stimulation) between the processors; it stores what it has "learned" as strengths of the
connections between processors. The propagation of activation, and thus the nature of the
13
"computation" performed by a network, is strongly affected by the strengths of the connections
between processors (Flood 94).
Training procedure as defined by Flood and Kartam: a major concern in the development
of a neural network is determining an appropriate set of weights that make it perform the desired
function. There are many ways that this can be done; the most popular type of these algorithms are
based on supervised training. Typically, supervised training starts with a network comprising an
arbitrary number of hidden neurons, a fixed topology of connections, and randomly selected values
for the weights. The network is then presented with a set of training patterns, each comprising and
example of the problem to be solved (the inputs) and its corresponding solution (the targeted
outputs). Each problem is input into the network in turn, and the resultant output is compared to
the targeted solution providing a measure of total error in the network for the set of training
patterns. The weights are then adjusted by small amounts by some rule (i.e. delta rule) so that on
the next occasion the example problems are presented to the network, the error is reduced, and the
output is closer to that required. Typically, the process is repeated many times until the network is
able the reproduce, to a specified tolerance, the corresponding solutions to each of the example
problems. Following these many examples, it is anticipated that the network is able to generalize
what it has practiced - in essence it is able to learn - to provide accurate solutions to examples of
the problem not used during training (Flood 94).
DAMAGE ASSESSMENT USING NEURAL NETWORKS
Szewczyk and Hajela in their paper “Damage Detection in Structures Based on Feature-
Sensitive Neural Networks”, describe an innovative method for damage assessment using ANN.
A counter propagation neural network (CPNN), which belongs to a class of feature-
sensitive networks, was developed. Essentially, the CPNN may be view as a near optimal look up
table of a functional relation, and its improved version offer such additional features as one pass of
all training data for setting the interconnection weights, a nonlinear interpolation scheme to
improve the generalization capability of the network, and a reduced number of control parameters
(Szewczyck 94). Thus, the major reasons for using a CPNN are: the ease with which the
interconnection weights can be set, and likewise the network trained; its ability to model data for a
large domain of a functional relation; its ability to approximate direct and inverse relations; and
work with incomplete and noisy data which is common place in structural systems.
14
The damage detection problem was formulated as an inverse static analysis problem,
where, given an experimentally observed response dependent on the stiffness matrix K the objective
is to identify the components Kij of that matrix.
Kd = f d = static displacements
f = prescribed loads
The stiffness matrix was expressed as a function of the material properties and geometrical
characteristics. The strategy was: for a given vector dobs find the vector e such that K(e)dobs = f.
This is based on the following assumptions:
• Structural members with constant geometry.• Introducing damage through variations in the effective Young's and shear moduli used
in computing Kij.• The loss of structural stiffness is introduced through a reduction in the effective
Young's modulus of a member, and vector e, with components Ej, j =1,..., m.• n experimentally observable global displacements, dobs, are available for different
conditions of structural damage
A note is made that the stated problem is mathematically equivalent to obtaining the mapping
φ:d ∈ Rne → e ∈ Rm
e
which can be considered an inverse relation between the known response of a structural system and
the physical state of that system. It is worth mentioning that this formulation may be extended to
other damage models as well, e.g., damping coefficients or natural frequencies related to extent of
damage (Szewczyck 94).
Procedure
Once the output vector representing the response of the system or static displacements d
has been established it is then passed to the CPNN. The CPNN in turn will return a vector of
quantities e representing damage to the structural system. Inspection of the vector components
will reveal the location of the damaged site and a measure of the damage.
For structurally indeterminate structures (the majority) the number of unknowns outnumbers the
number of independent known equations. Thus, most analytical approaches utilize either
15
optimization techniques or the least-square fit to generate possible solutions. The neural-network
approach is, on the other hand, an approximation technique that handles non unique cases by either
returning one of the possible solutions, or an average taken over all possible solutions, or an
average taken over all possible solutions (Szewczyck 94). This method resulted in qualitatively
good results for Szewczyk and Hajela.
STRUCTURAL CONTROL USING NEURAL NETWORKS
The control of structures for static and dynamic loading can be of two types, passive and active
control. Presently, a large part of the control algorithms developed are based on optimal control.
The standard optimal-control technique has required the entire time history structural response to
compute the necessary control force (Chen 95). Yang and Soong (1988), achieved online control,
by developing an instantaneous optimal-control algorithm for civil engineering structures. In this
algorithm, the optimization is achieved only with in each small time interval in the instantaneous
optimal control, instead of minimizing the objective function in the global sense required by
standard optimal control (Chen 95).
Chen, Tsai, Qi, Yang, and Amini in their paper “Neural Network for Structure Control”,
introduce ANN as an alternative for control of civil engineering structures. “ANN is emerging as a
promising tool and has shown great potential for the purposes of control. It has many attributes,
such as massive parallelism, adaptability, robustness, and the inherent capability to handle
nonlinear systems” (Chen 95).
This paper proposed a backpropagation-through-time neural controller (BTTNC), to be
used in the active control of structures under dynamic loading. Control was implemented using two
components: a neural emulator network, which is trained to represent the structure to be controlled;
and a neural action network, which is trained to determine the control actions on the structure. This
concept was applied to a computer simulation of a seismic event acting on an 10 floor apartment
building. Acceleration sensors were installed on the ground floor, 6th floor, and roof. The results
were successful, the BTTNC performed beautifully in the simulation.
16
VIBRATION SIGNATURE ANALYSIS USING NEURALNETWORKSBarai and Pandey presented in their paper, “Vibration Signature Analysis Using Artificial Neural
Networks”, a new way of doing signature analysis using ANN.
As presented in this paper structural identification is a process for constructing a
mathematical description of a physical system when both the input and the corresponding output
are known. The principle of structural identification was defined as being based on the fact that
when a structure undergoes various degrees of damage, certain structural characteristics undergo
changes (Barai 95).
Structural identification under dynamic loading can be of two types: frequency based; or
time-domain based. The more common of the two is frequency based identification; its advantages
are that modal information can be expressed in terms of mode shapes, resonant frequencies, and
modal damping ratios; also, the modal vector information of a few nodes for finite-elements or
frame analysis model is adequate to compare model measurements.
(Barai 95).
The typical method of vibration signature analysis defines the baseline vibration signature
before any damage takes place. The vibration signatures are then monitored and if they deviate
from the model the component is taken to have suffered damage.
In this paper signature analysis aided by ANN was applied to bridge assessment, under
dynamic loading. Initially, the bridge vibration signatures are periodically recorded in order to
establish a baseline vibration signature in the time domain The next step was to use multilayer
perceptrons using backpropagation for network training.
The mulitlayer perceptron consists of an array of input neurons, know as the
input layer, an array of output neurons, known as the output layer and a
number of hidden layers. Each neuron receives a weighted sum from the
neurons in the preceding layer and provides an input to every neuron of the
next layer. The activation of each neuron is governed by a threshold function
(Barai 95).
The training patterns for the ANN in terms of vibration signatures were generated
analytically for a moving load traveling on a trussed bridge structure at a constant speed to
simulate the inspection vehicle. Using the finite element technique, the moving forces are converted
17
into stationary time-dependent force functions in order to generate vibration signals in the structure
and the same is used to train the network (Barai 95). The effectiveness of the network was
demonstrated by comparing the output with the algorithmically generated performance measures
not considered in training (Barai 95).
An important finding made in this publication is that the measurement of a single node,
strategically placed, has been found to be sufficient for identification purposes.
KNOWLEDGE BASED EXPERT SYSTEMS
Expert systems, which sometimes are called knowledge based expert systems (KBES),
have their origins in a field of computer science called Artificial Intelligence (AI). The main goal of
AI, for many years, has been to simulate human intelligence through computer algorithms.
Expert systems are a result of many years of attempting to simulate or reproduce
intelligent problem-solving behavior in a computer program. The early attempts were directed
toward the development of general problem solvers. However, after years of research, it was
determined that general problem solvers are weak, at best, unless specific knowledge about the
problem being solved is added to guide the search for a solution (Maher 87). This determination led
to what is now referred to as expert systems. This change in attitude gave way to what today is
called expert systems. The goal is still the same: to simulate human intelligence. However, now
specific information about the class of problem being solved is coded into the programs knowledge
base.
It should be noted that in the strict definition, a knowledge based system is different than a
knowledge based expert system. The former is a system in which the knowledge is obtained from
an informed person as opposed to the latter where the knowledge is obtained from an expert. In
other words, both systems are alike with one having a higher degree of expertise in the programs
knowledge base.
Differences From Conventional Programming
Conventional programming usually requires an implicit declaration of knowledge, where
knowledge is represented in two ways: static, such as facts, and procedural, like equations and
equations. This coding approach requires a programming expert which makes the program
inflexible and difficult to update.
18
A prevailing problem in engineering design software is that an expert is required in order
to make any changes to the existing program. In fact, most programs can not be changed by other
than the developer. This produces a process which is very time consuming and expensive resulting
in programs which are usually outdated and inadequate (Lawrence 86).
One of the distinguishing marks of expert systems is their explicit representation of
knowledge. By separating the knowledge from the control strategy (not embedding the knowledge
within the program), the program is not only more flexible and transparent, but also more easily
altered and understood. This is the major advantage of expert systems over conventional programs
(Lawrence 86).
Expert systems are an ideal way to take advantage of expert's knowledge. An example are
engineers which over time are exposed to a great variety of problems. As a result of this process
engineers gain experience in the selection of strategies, the evaluation of results, and the
appropriate selections for preliminary designs. This experience is consciously or subconsciously
translated into a series of rules, other than traditional design guidelines, that serve to increase the
engineers efficiency and improve their accuracy (Finn 85). By organizing these rules, called
heuristics, and coding them into the solution strategy for the expert system, the performance level
of the program can be that of an expert. Hence, one can see that if the knowledge can be extracted
from the expert and implemented in to the knowledge base, the user, regardless of the level of
expertise, can obtain the same results as the expert engineer.
Since in most engineering applications knowledge is constantly changing an added benefit
of expert systems is the added flexibility. Every time an application is expanded or further
developed the current program becomes outdated as mentioned before. However, in an expert
system the separation of knowledge makes it possible to update quickly and effortlessly. In some
systems, even imprecise knowledge can be accommodated by using factors of certainty which will
then produce a number of candidate solutions (Lawrence 86).
19
System Architecture
What fallow is a piece by piece definition of the expert system architecture as defined by Maher,
see FIGURE 7 (Maher 87).
FIGURE 4. Network Architecture (Maher 87).
Knowledge Base
• The knowledge base is the component of an expert system that contains the facts and heuristicsassociated with the domain in which the expert system is applied.
• An important note to make about heuristics is that they contain information about a type ofproblem with no explicit reference as to how or when the knowledge will be used.
• The knowledge base should be transparent enough so that it can be easily modified.Modification is important in most engineering domains since knowledge is continuallychanging and expanding.
Context
• The context updates information about the problem currently being solved. Thus, initially itcontains the problem's parameters. Later, through KBES reasoning, the information to solvethe system. Last, intermediate steps and solution.
• Said differently, the context is a declarative form of the current state of the problem the expertsystem is solving.
Inference Mechanism
• The inference mechanism is the part of the expert system that contains the control information.The inference mechanism uses the knowledge base to modify and expand the context. If the
User
Expert
KnowledgeAcquisition Facility
Knowledge Base
Inference Mechanism
ContextUser Interface
Explanation Facility
20
inference mechanism operates at a very low level(providing flexibility in solution strategy), theknowledge base must contain additional control information specific to the application domain.The more specific the inference mechanism, the less control information there is in theknowledge base.
Explanation Facility
• This part of the KBES maintains a trace of the execution used to arrive at the final result. Thisfeature can be an important asset to determine the validity of a particular result or as ateaching tool.
Knowledge Acquisition
• Typically this facility acts like an editor, and knowledge is entered directly, from an expert, ina form acceptable by the used software. Usually the KBES has a graphical editor in which theexpert engineer can modify the rules of the knowledge base.
User Interface
• The user interface as the name implies acts as a liaison between the user and the computerprogram.
An example of an application will be given together with genetic algorithms in the next section.
STRUCTURAL DYNAMIC ANALYSIS USING GENETIC
ALGORITHMS
This section will introduce the foundations of genetic algorithms (GA) as presented in the paper,
“Genetic Algorithms in Discrete Optimization of Steel Truss Roofs” by Koumousis and Georgiou.
The definition and concepts provided are the same as the paper; they are duplicated for the readers
continuity and convenience.
Genetic algorithms are based in on the concept of natural selection and natural genetics.
They rely on the principles of Darwinian theory of survival of the fittest. They efficiently
incorporate information from previous stages to create new search points in the design space,
resulting in an improved performance. Genetic algorithms use random choice as a tool to guide an
exploitative search through a coding of the design space.
Genetic algorithms are different from traditional optimization methods in the following
aspects:
1. Genetic Algorithms work with a coding set of variables and not with the variablesthemselves.
2. They search from a population of points rather than by improving a single point.3. They use objective function information without any gradient information.
21
4. Their transition scheme is probabilistic whereas traditional methods use gradientinformation.
A defining characteristic of Genetic Algorithms is the coding of the variables that define
the problem. Typically, the variables are transformed to a binary string of specific length. In turn,
this string represents the chromosome of the problem and the length the chromosome represents the
number of zeros and ones in the binary string.
Multiple variable coding is constructed by simply concatenating as many single variable
codings as the number of the variables of the problem. Each variable may have its own length
corresponding to the minimum, maximum values and a step value specified for a particular
application. By decoding the individuals of the initial population, the solution for each specific
instance is determined and the value of the objective function that corresponds to this individual is
evaluated. This applies to all members of the population.
A simple genetic algorithm proceeds by first randomly generating a population of a
specific size. A pseudo random generator is used to generate the initial population. From this
population, the next population is evolved by performing three distinct operations: reproduction,
crossover, and mutation. Based on the statistics of this population the next population is
reproduced following the weighted-roulette-wheel method, following a bias law, which assigns
probabilities to the members analogous to the statistics of the generation. This means that the weak
designs will be assigned small probabilities and the strong designs will be assigned high
probabilities of existence in the next generation. In this way, the next generation evolves where the
fittest have survived and increase their presence, while the weaker designs die out, or disappear
from the generation. This process is exemplified in the figure below.
22
00001000
11100001
11100001
10110011
00001000
00001000
11100001
01101011
FIGURE 8. Evolution Process.
Pseudo-code for genetic algorithms would be,
FIGURE 9. Psudocode for genetic algorithm.
11100001
10110011
01110000
00001000
01101011
10110111
11100001
01011111
11101000
00000001
10110001
11100011
00001000
00001000
01100001
11101011
11101000
00000001
1”1”110001
11100011
00001000
00001000
01100001
11101011
Selection Crossover Mutation
Old Population New Population
Begin; initialize (oldpop); evaluate(oldpop); do (until gen = maxgen);
reproduction(oldpop); crossover(newpop); mutation(newpop); evaluate(newpop); oldpop = newpop; end;
23
Start
Initialization
FEM Analysis
Generation = i
Fitness Evaluation
Genetic Operators
Reproduction
Crossover
Mutation
FEM Analysis
ActivateKBS
Generation < Gmax
Stop
Knowledge-BasedSystem
Modify ChromosomeBased on Probability
Yes
No
NoYes (i=i+1)
Flow Chart (Yang 95)(example of a GA and KBS application)
24
The characteristics of GA combine to perform especially well when solving complicated “real
world” problems because it does not impose similar limitations as those of traditional optimization
and control methods, resulting in a robust technique. As previously discussed, GA is a probabilistic
technique based on the process of evolution and its nature. However, the characteristics that make
it so robust also translate to a more computer intensive and hence slower technique.
Lee and Takagi, proposed a method for controlling GAs using logic techniques based on
experience and intuition. The key advantage of this method is that it can rapidly and effectively
inject expert knowledge gene into the chromosome pool which preserves a lot of genotype
information. Their results showed an improved performance over a simple GA in the classic
inverted pendulum control problem.
Yang and Soh, presented a GA approach with a knowledge based system (see system flow
chart in the previous page). Unlike a pure GA, the suggested procedures introduces a heuristic
rules knowledge based system for local modifications of the design variables which are of great
importance to search efficiency. These heuristics rules help the GA in three ways:
1. They can inject expert experience so that the algorithm can reach the optimum solutionquickly.
2. They give direct guidance to the search which substantially reduces the computingtime.
3. Due to the use of the modification based on the predefined probability, it is possiblefor these rules to reduce the risk of the premature problem in the pure GA, and avoidthe loss of vague information which can also be useful (Yang 95).
CONCLUSIONA program was coded in MATLAB for the analysis of three dimensional trusses. The
program is designed to be user friendly by making use of user interface controls to manage the flow
of the program. The applicable loading conditions are limited due to the difficulty in designing a
user interface to handle many situations. For this type of situation, developing a manageable text
file seemed troublesome as well. The program was tested and compared to some documented
examples and proved to be accurate.
The computational methods introduced, represent some of the current computational tools
found in the current literature. The tools reviewed were focused in structural dynamics
applications. In closing, it is worth mentioning that Matlab has a neural network toolbox with
many of the computational techniques discussed in this paper.
25
BIBLIOGRAPHY
Flood, I and Kartam, N. (1994) . “ Neural Networks in Civil Engineering. II: Systems andApplication. “ Journal of Computing in Civil Engineering, 149- 161.
Szewczyk, P and Hajela, P. (1994). “Damage Detection In Structures Based on Feature-SensitiveNeural Networks.” Journal of Computing in Civil Engineering, 163-179.
Carpenter, W and Barthelemy, J. (1994). “Common Misconceptions About Neural Networks AsAprroximators.” Journal of Computing in Civil Engineering, 345- 359.
Rogers, J. (1994). “ Simulating Structural Analysis with Neural Network.” Journal of Computing inCivil Engineering, 252-265.
Barai, S. V. and Pandey, P.C, (1995). “Vibration Signature Analysis Using Artificial NeuralNetworks.” Journal of Computing in Civil Engineering, 259-265.
Koumousis, V and Georgiou, P, (1994). “ Genetic Algorithms in Discrete Optimization of Steel TrussRoofs.” Journal of Computing in Civil Engineering, 309- 325.
Chen, H.M, Tsai, K.H, Qi, G.Z, Yang, C.S. and Amini, F, (1995). “ Neural Network for StructureControl. “Journal of Computing in Civil Engineering, 168-175
Flood, I and Kartam, N (1994). “Neural Networks in Civil Engineering. I: Principles andUnderstanding.” Journal of Computing in Civil Engineering, 131-147.
Jenkins, W.M (1995). “The Estimation of Partial String Fitnesses in the Genetic Algorithm.”Developments in Neural Networks and Evolutionary Computing For Civil And StructuralEngineering. 137-141.
Leite, J.P.B and Topping B.H.V (1995). “ Improved Genetic Operators for Structural EngineeringOptimization.” Developments in Neural Networks and Evolutionary Computing For Civil AndStructural Engineering. 143-169
Topping, B.H.V. (1995). “Developments in Neural Networks and Evolutionary Computing For CivilAnd Structural Engineering. “ Civil-Comp Press. Edinburgh, EH3 5BR, UK.
Allen, Robert H. (1992) "Expert Systems for Civil Engineers: Knowledge Representation."American Society of Civil Engineers., New York, New York.
Arockiasamy, M. (1993) " EXPERT SYSTEMS Applications for Structural, Transportation, andEnvironmental Engineering." CRC Press, Inc. Boca Raton, Florida.
Finn, Gavin Alexander. (1985) "The Application of Knowledge-based systems to structuralengineering." Massachusetts Institute of Technology, Cambridge, MA.
Maples, Jr, Thomas Ashley. (1985) "A Knowledge based system for plate girder design."Massachusetts Institute of Technology, Cambridge, MA.
26
St. Lawrence, Michael Edmond. (1986) "Knowledge based system techniques applied to the designof bridge plate girders." Massachusetts Institute of Technology, Cambridge, MA.
Kartam, N, Flood, I and Garrett, J. Jr (1997). “Artificial Neural Networks for Civil Engineers:Fundamentals and Applications.” ASCE. New York, New York .
Demuth, H and Beale M (1994). “ Neural Network Toolbook for Use with Matlab.” The MathWorks, Inc. Natick, MA.
Lau, C. (1992) “Neural Networks, Theoretical Foundations and Analysis.” IEEE Press. Piscataway,NJ.
Peetathawatchai, C. (1996). “The Applicability of Neural Network Systems for Structural DamageDiagnosis.” Massachusetts Institute of Technology. Cambridge, MA
Paz, Mario. (1991). “Structural dynamics : theory and computation.“ 3rd ed. Van NostrandReinhold. New York.
Bathe, Klaus J. (1996) “Finite Element Procedures.” Prentice Hall. Englewood Cliffs, New Jersey
Lee, M.A., and Takagi, H. (1993). “Dynamic Control of Genetic Algorithms Using Fuzzy LogicTechniques.” Proc. Of the 5th International Conference on Genetic Algorithm, 76-83, July, USA.
27
APPENDIX:
COMPUTER PROGRAM