HarishKantSoni1
2,208 views
19 slides
Nov 16, 2016
Slide 1 of 19
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
About This Presentation
Pratt truss optimization using
Size: 935.26 KB
Language: en
Added: Nov 16, 2016
Slides: 19 pages
Slide Content
Pratt Truss Optimization Using Genetic Algorithm By :- Harish Kant Soni Roll No:- 12CE31004
Use of Pratt truss Fig :- Gatton Railway Bridge, Queensland, Australia Image Source :- https://commons.wikimedia.org/wiki/File:Gatton_Railway_Bridge.JPG
Forces in P ratt truss Image source :-http://www.slideshare.net/sheikhjunaidyawar/trusses-28955458 F
18 m 7 m
Loading Train’s engine has highest weight as compared to other coaches Indian locomotive class WAP-5 Length = 18.16 m Weight = 79251.7 kg Source :- https://en.wikipedia.org/wiki/Indian_locomotive_class_WAP-5
18 m 7 m
18 m 7 m Dead Load = 150 kN / meter/ side Total dead load = 150 x 18 = 2700 KN Live load = 800 KN 550 KN 550 KN 550 KN 550 KN 550 KN 1 2 3 4 5 6 7 12 11 10 9 8
Objective Function :- min. total Area = min A(1 )+A(2)+A(3)+A(4)+A(5)+A(6)+A(7)+A(8 ) + A(9)+A(10)+A(11 )+A(12 )+A(13 )+A(14 )+A(15)+ +A(16 )+A(17)+A(18)+A(19)+A(20)+A(21)+A(22 ) Constraints :- min. Area = 0.0010 m^2 = 10 cm^2 disp at any node < 50 mm
F_obj = sum(C,2); % return sum of rows in a column matrix of 22 X 1 %% selection Fitness = zeros(22,1); for a = 1:22 Fitness(a) = (1/(1+F_obj(a))) ; end S = sum(Fitness); Prob_of_cromosome = Fitness/S; roullet = zeros(22,1); roullet (1) = Prob_of_cromosome (1); for a = 2:22; roullet (a) = roullet (a-1) + Prob_of_cromosome (a ); %CDF end
%% new set of cromosome for a = 1 : 22 r = rand; if (r <= roullet (1)) new_cromosome_id = 1; else for b = 1 : 21 if (r > roullet (b) & r <= roullet (b+1)) new_cromosome_id = b+1; end end end C(a,:) = C ( new_cromosome_id ,:); end
%% Cross Over C_new = C; for a= 1:22 r_crossover = rand(); if( r_crossover < 0.7) r_location = 10*round(rand(),1); % generates random number between 0 to 10. It selects location for crossover for b = r_location+1 : 22 if (a==22) C_new ( a,b )= C(1,b); C_new (1,b) = C(22,b); else C_new ( a,b )= C(a+1,b); C_new (a+1,b) = C( a,b ); end end end end
%% Mutation Probability 0.1 for a=1:22 for b=1:22 if(rand < 0.1) C_new ( a,b )= round(((0.02-0.001)*rand+0.001),3); end end end