Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 151 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
151
Dung lượng
633,5 KB
Nội dung
Đại Học Quốc Gia Tp Hồ Chí Minh TRƯỜNG ĐẠI HỌC BÁCH KHOA LÊ TRUNG KIÊN TỐI ƯU HỆ DÀN PHẲNG SỬ DỤNG THUẬT GIẢI DI TRUYỀN Chuyên ngành : Xây Dựng Dân Dụng & Công Nghiệp Mã số ngành : 23.04.10 LUẬN VĂN THẠC SỸ TP HỒ CHÍ MINH, Tháng Năm 2003 CÔNG TRÌNH ĐƯC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH Cán Bộ Hướng Dẫn Khoa Học : Cán Bộ Chấm Nhận Xét : Cán Bộ Chấm Nhận Xét : Luận văn thạc sỹ bảo vệ : HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SỸ TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày …………tháng…… năm 2003 Đại Học Quốc Gia Tp.Hồ Chí Minh TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc Lập – Tự Do – Hạnh Phúc NHIỆM VỤ LUẬN VĂN THẠC SỸ Họ tên học viên : Lê trung Kiên Phái : Nam Ngày, tháng, năm sinh : 01/09/1975 Nơi sinh : Thanh hóa Chuyên ngành : Xây dựng dân dụng công nghiệp Mã số : 23.04.10 I TÊN ĐỀ TÀI : TỐI ƯU HỆ DÀN PHẲNG SỬ DỤNG THUẬT GIẢI DI TRUYỀN II NHIỆM VỤ VÀ NỘI DUNG : III NGÀY GIAO NHIỆM VỤ: IV NGAØY HOAØN THÀNH NHIỆM VỤ : V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN : TS BÙI CÔNG THÀNH CÁN BỘ HƯỚNG DẪN CHỦ NHIỆM NGÀNH TS BÙI CÔNG THÀNH TS CHU QUỐC THẮNG BỘ MÔN QUẢN LÝ NGÀNH Nội dung đề cương luận văn thạc sỹ Hội Đồng Chuyên Ngành thông qua Ngày .tháng năm 2002 PHÒNG ĐÀO TẠO SĐH KHOA QUẢN LÝ NGÀNH Tối ưu hệ dàn phẳng sử dụng GA LỜI CẢM ƠN Em xin chân thành cảm ơn thầy hướng dẫn TS BÙI CÔNG THÀNH, người thầy cho em ý tưởng luâän văn, tận tình hướng dẫn bảo em suốt qúa trình thực luận văn Em xin chân thành cảm ơn quý thầy cô trường Đại Học Bách Khoa TP Hồ Chí Minh, đặc biệt quý thầy cô Khoa kỹ thuật xây dựng, Phòng đào tạo sau đại học truyền đạt cho em kiến thức phương pháp nghiên cứu bổ ích giúp em hoàn thành luâän văn Em xin chân thành cảm ơn Ban giám hiệu, thầy cô Trường Cao Đẳng Xây Dựng Số tạo điều kiện thuận lợi công việc giảng dạy giúp em hoàn thành luận văn tốt nghiệp Xin chân thành cảm ơn gia đình, bạn bè động viên, giúp đỡ suốt qúa trình thực luận văn Chân thành cảm ơn ! Tối ưu hệ dàn phẳng sử dụng GA TÓM TẮT NỘI DUNG LUẬN VĂN Luận văn trình bày phương pháp tính toán tối ưu hệ dàn phẳng (tối ưu tiết diện ) sử dụng thuật giải di truyền Để thực ý tưởng , luận văn nghiên cứu vấn đề sau : - Tổng quan phương pháp tính tối ưu hệ dàn từ trước đến - Tổng quan thuật giải di truyền toán tối ưu : hình thành, phát triển ứng dụng lónh vực - Tổng quan thuật giải di truyền tối ưu hệ dàn phẳng - Nghiên cứu thuật giải di truyền, nguyên lý hoạt động thuật giải di truyền - Phân tích hệ dàn phẳng phương pháp phần tử hữu hạn - Sử dụng thuật giải di truyền vào toán tối ưu dàn phẳng - Lập chương trình tính toán ngôn ngữ DEL PHI - Khảo sát kết tìm chương trình: + Sự hội tụ lời giải + Kết lời giải thay đổi hằøng số về: kích thước quần thể, xác suất lai ghép, xác suất đột biến, phương pháp lai, số hệ, + So sánh lời giải chương trình với phương pháp khác - Kết luận kết qủa nghiên cứu - Kiến nghị chung Tối ưu hệ dàn phẳng sử dụng GA MỤC LỤC LỜI CẢM ƠN TÓM TẮT NỘI DUNG LUẬN VĂN MỤC LỤC CHƯƠNG I : TỔNG QUAN VỀ THUẬT GIẢI DI TRUYỀN VÀ CÁC PHƯƠNG PHÁP TỐI ƯU HỆ DÀN - 1.1 Khái niệm tối ưu - 1.2 Hệ dàn phẳng - 1.3 Thieát keá tối ưu hệ dàn phẳng - 1.4 Thuật giải di truyền tính toán tối ưu 1.5 Thuật giải di truyền tính toán tối ưu hệ dàn 1.6 Đặt vấn đề 11 1.7 Nội dung nghiên cứu 11 1.8 Phạm vi nghiên cứu -11 1.9 Phương pháp nghiên cứu -12 CHƯƠNG II : THUẬT GIẢI DI TRUYỀN 13 2.1 Các khái niệm 13 2.2 Các nguyên lý GA 15 2.3 Nguyên lý hoạt động cuûa GA 23 CHƯƠNG III : PHÂN TÍCH HỆ DÀN BẰNG PHƯƠNG PHÁP PHẦN TỬ HỮU HẠN (PP PTHH) -34 3.1 Nội dung phương pháp phần tử hữu hạn 34 3.2 Áp dụng PP PTHH phân tích hệ dàn phẳng 40 3.2.1 Rời rạc hóa kết cấu 40 Tối ưu hệ dàn phẳng sử dụng GA 3.2.2 Ma trận độ cứng phần tử 41 3.2.3 Ma trận độ cứng tổng thể -41 3.2.4 Ma trận tải tổng thể 42 3.2.5 Ma trận tính nội lực 42 3.2.6 Tính ứng suất -42 CHƯƠNG IV : TỐI ƯU HỆ DÀN PHẲNG SỬ DỤNG THUẬT GIẢI DI TRUYEÀN -43 4.1 Phát biểu toán 43 4.2 Các bước giải toán tối ưu 45 4.3 Áp dụng thuật giải di truyền -45 4.3.1.Caùc khái niệm 45 4.3.2 Sơ đồ khối -47 4.3.3 Cấu trúc chương trình 49 4.4.4 Vài nét ngôn ngữ Delphi 50 4.4 Các ví dụ -51 4.4.1 Các toán tónh định -51 4.4.1.1 Bài toán dàn thanh, trường hợp tải trọng -51 4.4.1.2 Bài toán dàn thanh, trường hợp tải trọng 52 4.4.1.3 Bài toán dàn thanh, tiết diện tròn -53 4.4.1.4 Bài toán dàn thanh, tiết diện I định hình -54 4.4.1.5 Bài toán dàn 21 thanh, tiết diện tròn -54 4.4.1.6 Bài toán dàn 21 thanh, tiết diện I định hình -56 4.4.2 Các siêu tónh -57 4.4.2.1 Bài toán dàn thanh, trường hợp tải trọng 57 4.4.2.2 Bài toán dàn thanh, trường hợp tải trọng 57 4.4.2.3 Bài toán dàn 10 thanh, trường hợp tải trọng -58 4.4.2.4 Bài toán dàn 10 thanh, trường hợp tải trọng -61 Tối ưu hệ dàn phẳng sử dụng GA 4.5 Khảo sát kết qủa chương trình Truss - GA theo tham số -63 4.5.1 Bài toán thanh, trường hợp tải trọng 63 4.5.2 Bài toán thanh, trường hợp tải trọng 65 4.5.3.Bài toán 10 thanh, trường hợp tải trọng 67 4.5.4 Bài toán dàn thanh, trường hợp tải trọng -69 4.5.5 Bài toán dàn thanh, tiết diện troøn 71 Nhận xét 72 Ảnh hưởng số hệ -72 AÛnh hưởng xác suất lai -72 Ảnh hưởng xác suất đột bieán 73 Ảnh hưởng kích thước quần thể -73 Ảnh hưởng phép lai đột biến 74 4.6 Ảnh hưởng yếu tố khác đến kết qủa chương trình -75 Ảnh hưởng cận biến thiết kế 75 Ảnh hưởng trị số ngẫu nhiên 75 CHƯƠNG V: KẾT LUẬN VÀ KIẾN NGHỊ CHUNG -76 5.1 Kết luận kết nghiên cứu 76 5.2 Các vấn đề tồn 77 5.3 Kết luận _ kiến nghị 77 TÀI LIỆU THAM KHẢO -78 PHUÏ LUÏC -81 Chương I : Tổng quan CHƯƠNG I : TỔNG QUAN VỀ THUẬT GIẢI DI TRUYỀN VÀ CÁC PHƯƠNG PHÁP TỐI ƯU HỆ DÀN 1.1 Khái Niệm Tối Ưu Tối ưu khái niệm phổ biến sống hàng ngày Thiết kế tối ưu tìm kết qủa tốt thỏa mãn yêu cầu đặt Tối ưu mục đích hướng tới vấn đề Ví dụ: toán tìm đường ngắn từ thành phố A đến thành phố B, toán bố trí lịch công tác cho hợp lý nhất, toán bố trí sơ đồ phòng hợp lý nhất, toán tìm giải pháp để giá trị lợi nhuận lớn nhất, toán tối ưu Việc giải toán thiết thực, mang lại hiệu qủa kinh tế cao, tiết kiệm chi phí không hợp lý Trong thiết kế kết cấu vậy, đặt vấn đề kết cấu phải an toàn phải tiết kiệm Đây thực toán tối ưu, việc nghiên cứu vấn đề cần thiết Tuy nhiên, toán tối ưu khó tìm lời giải xác nên mục đích tìm lời giải gần với lời giải xác tốt Từ trước tới có nhiều phương pháp để tối ưu kết cấu không cóù phương pháp để giải toán tối ưu cách xác [16] Phương pháp qui hoạch toán học phương pháp tổng quát tìm lời giải tối ưu gần 1.2 Hệ dàn phẳng 1.2.1 Định nghóa 1.2.1.1 Hệ dàn Là hệ gồm nối với khớp đầu [17] 1.2.1.2 Hệ dàn phẳng Là hệ dàn mà trục nằm mặt phẳng Chương I : Tổng quan 1.2.2 Các giả thuyết tính toán dàn - Mắt dàn khớp lý tưởng, trục đồng qui mắt dàn - Tải trọng tác dụng mắt dàn - Bỏ qua lượng thân dàn Dựa vào giả thuyết ta thấy dàn chịu kéo nén tâm, nội lực dàn có lực dọc [17] 1.3 Thiết Kế Tối Ưu Hệ Dàn Phẳng 1.3.1 Khái niệm Thiết kế tối ưu dàn phẳng tìm lời giải (có thể tiết diện dàn, vị trí mắt dàn, ) thỏa mãn tất điều kiện ràng buộc đặt (ví dụ điều kiện ràng buộc ứng suất, chuyển vị nút dàn, ổn định dàn, ) cho tiết kiệm (trọng lượng dàn nhỏ nhất, giá thành thấp nhất, ) Các toán thiết kế tối ưu hệ dàn phẳng nhiều tác giả nghiên cứu Đặc biệt toán dàn sau giải nhiều phương pháp Bài toán dàn : Tìm X1, X2 để trọng lượng dàn nhỏ cho ứng suất nằm khoảng [-15, 20] P1=20 ; P2 = 100 100 (1) X1 (3) X2 X1 P1 P2 1.3.2 Các phương pháp tối ưu hệ dàn phẳng 100 (2) Phụ lục : Source Truss - GA if nhoH=2 then XIT[nhoC]:=nhoD; formNhapThep.Close; end; procedure TFormNhapThep.CBDSThepChange(Sender: TObject); begin nhoD:=CBDSThep.ItemIndex; nhoThep:=CBDSThep.Items.ValueFromIndex[nhoD]; end; procedure TFormNhapThep.Cancel_ChonThepClick(Sender: TObject); begin FormNhapThep.Close; end; end unit Unit4; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids; type TFormNhapUS = class(TForm) StringGrid1: TStringGrid; OK_NhapUS: TButton; Cancel_NhapUS: TButton; procedure OK_NhapUSClick(Sender: TObject); procedure Cancel_NhapUSClick(Sender: TObject); procedure StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean); private { Private declarations } public { Public declarations } end; var FormNhapUS: TFormNhapUS; implementation uses Unit_a; {$R *.dfm} procedure TFormNhapUS.OK_NhapUSClick(Sender: TObject); var i:integer; begin for i:=1 to sopt begin USD[i-1]:=strtofloat(StringGrid1.cells[i,1]); UST[i-1]:=strtofloat(StringGrid1.cells[i,2]); formNhapUS.Close; end; end; procedure TFormNhapUS.Cancel_NhapUSClick(Sender: TObject); begin 49 Phuï luïc : Source Truss - GA formNhapUS.Close; end; procedure TFormNhapUS.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean); begin StringGrid1.Cells[Acol,Arow]:=inputbox('Nhap du lieu','Gia tri can:',''); end; end unit Unit5; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids; type TFormNhapCV = class(TForm) StringGrid1: TStringGrid; OK_NhapCV: TButton; Cancel_NhapCV: TButton; procedure StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean); procedure OK_NhapCVClick(Sender: TObject); procedure Cancel_NhapCVClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var FormNhapCV: TFormNhapCV; implementation uses Unit_a; {$R *.dfm} procedure TFormNhapCV.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean); begin StringGrid1.Cells[Acol,Arow]:=inputbox('Nhap du lieu','Gia tri can:',''); end; procedure TFormNhapCV.OK_NhapCVClick(Sender: TObject); var i:integer; begin for i:=1 to sonut begin CVXD[i-1]:=strtofloat(StringGrid1.cells[2*i-1,1]); CVYD[i-1]:=strtofloat(StringGrid1.cells[2*i,1]); CVXT[i-1]:=strtofloat(StringGrid1.cells[2*i-1,2]); CVYT[i-1]:=strtofloat(StringGrid1.cells[2*i,2]); formNhapCV.Close; end; end; 50 Phuï luïc : Source Truss - GA procedure TFormNhapCV.Cancel_NhapCVClick(Sender: TObject); begin formNhapCV.Close; end; end unit Unit6; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids; type TFormOnDinh = class(TForm) StringGrid1: TStringGrid; OK_OD: TButton; Cancel_OD: TButton; procedure OK_ODClick(Sender: TObject); procedure Cancel_ODClick(Sender: TObject); procedure StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean); private { Private declarations } public { Public declarations } end; var FormOnDinh: TFormOnDinh; implementation uses Unit_a; {$R *.dfm} procedure TFormOnDinh.OK_ODClick(Sender: TObject); var i:integer; begin for i:=1 to sopt begin KOD[i-1]:=strtofloat(StringGrid1.cells[i,1]); formOnDinh.Close; end; end; procedure TFormOnDinh.Cancel_ODClick(Sender: TObject); begin formOnDinh.Close; end; procedure TFormOnDinh.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean); begin StringGrid1.Cells[Acol,Arow]:=inputbox('Nhap du lieu','He so on dinh:','1'); end; end 51 Phuï luïc : Source Truss - GA unit Unit7; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, StdCtrls; type TFormKQ1 = class(TForm) StringGrid1: TStringGrid; InFormKQ1: TButton; DongFormKQ1: TButton; procedure InFormKQ1Click(Sender: TObject); procedure DongFormKQ1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var FormKQ1: TFormKQ1; implementation {$R *.dfm} procedure TFormKQ1.InFormKQ1Click(Sender: TObject); begin formKQ1.Print; end; procedure TFormKQ1.DongFormKQ1Click(Sender: TObject); begin formKQ1.Close; end; end unit Unit8; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, StdCtrls; type TFormKQ2 = class(TForm) StringGrid1: TStringGrid; InFormKQ2: TButton; DongFormKQ2: TButton; procedure InFormKQ2Click(Sender: TObject); procedure DongFormKQ2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; 52 Phuï luïc : Source Truss - GA var FormKQ2: TFormKQ2; implementation {$R *.dfm} procedure TFormKQ2.InFormKQ2Click(Sender: TObject); begin FormKQ2.Print; end; procedure TFormKQ2.DongFormKQ2Click(Sender: TObject); begin FormKQ2.Close; end; end unit Unit9; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TFormSodo = class(TForm) InFormSodo: TButton; DongFormSodo: TButton; procedure FormPaint(Sender: TObject); procedure FormResize(Sender: TObject); procedure InFormSodoClick(Sender: TObject); procedure DongFormSodoClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var FormSodo: TFormSodo; implementation uses Unit_a; {$R *.dfm} { Xac dinh chi so nut mang nut } Function chisonut(ten:integer):integer; var i:integer; begin for i:=1 to sonut if mangnut[i-1].stt=ten then begin chisonut:=i-1; break; end; end; { Xac dinh chi so pt mang pt } 53 Phuï luïc : Source Truss - GA Function chisopt(ten:integer):integer; var i:integer; begin for i:=1 to sopt if mangpt[i-1].stt=ten then begin chisopt:=i-1; break; end; end; {Ve dan} Procedure VeThanh(ten,x1,y1,x2,y2:integer); var xc,yc,npt:integer; tam: string; begin if x1=x2 then begin xc:=x1+2; yc:=((y2+y1) div 2)-4; end; if y1=y2 then begin xc:=(x1+x2)div 2-2; yc:=y1-14; end; if (x2-x1)*(y2-y1)>0 then begin xc:=((x2+x1) div 2)+4; yc:=((y2+y1) div 2)+2; end; if (x2-x1)*(y2-y1)