Luận án Nghiên cứu tối ưu hóa thiết kế độ lớn và tham số điều khiển nguồn năng lượng hệ động lực xe hybrid

Vấn đề tiết kiệm nhiên liệu hóa thạch và giảm ô nhiễm môi trường do khí

thải của động cơ đốt trong (ICE) đã và đang là áp lực rất lớn đối với các nhà thiết

kế và chế tạo xe cơ giới. Với trình độ công nghệ hiện có và nếu chỉ xét từ góc độ

bảo vệ môi trường thì xe chạy bằng động cơ điện (EM) là giải pháp triệt để nhất

cho tình trạng ô nhiễm bởi khí thải của xe cơ giới hiện nay. Thực tế đã có hàng loạt

mẫu xe cơ giới chạy bằng điện được sinh ra từ các tấm pin mặt trời gắn trực tiếp

trên xe hoặc chạy bằng điện từ ắcqui đã được thiết kế và chế tạo. Tuy nhiên, nếu xét

một cách toàn diện, trong đó có cả khả năng phải huỷ bỏ hàng ngàn dây chuyền chế

tạo và lắp ráp xe cơ giới hiện nay thì xe chạy bằng ICE vẫn là loại phương tiện giao

thông cơ giới có vị trí độc tôn và hàng triệu chiếc xe chạy bằng ICE ở khắp nơi trên

thế giới vẫn sẽ là những hình ảnh quen thuộc cho nhiều thế hệ mai sau.

Phát triển xe hybrid được xem là một trong những giải pháp quá độ nhằm tiết

kiệm nhiên liệu hóa thạch và giảm mức độ gây ô nhiễm môi trường bởi khí thải của

ICE trang bị trên xe cơ giới.

Trong tiếng Anh, từ "hybrid" có nghĩa là "lai/ ghép/ kết hợp", thuật ngữ

"hybrid vehicle" được định nghĩa là phương tiện di động có hệ thống động lực được

cấu thành từ hai hoặc nhiều nguồn động lực khác biệt nhau. Các loại phương tiện di

động như: xe đạp điện chạy bằng cách đạp pedal và bằng EM, ô tô được trang bị cả

động cơ xăng và EM để dẫn động bánh xe chủ động, xe lửa được trang bị cả EM để

chạy bằng điện lưới và động cơ diesel để chạy ở những khu vực không có lưới điện,

máy bay được trang bị động cơ phản lực để bay và EM để di chuyển trên đường

băng, tàu ngầm điện-diesel được trang bị EM để chạy khi tàu lặn và động cơ diesel

để chạy khi tàu nổi trên mặt nước, v.v. đều được xếp vào đối tượng "hybrid

vehicle".

pdf 162 trang dienloan 13500
Bạn đang xem 20 trang mẫu của tài liệu "Luận án Nghiên cứu tối ưu hóa thiết kế độ lớn và tham số điều khiển nguồn năng lượng hệ động lực xe hybrid", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Luận án Nghiên cứu tối ưu hóa thiết kế độ lớn và tham số điều khiển nguồn năng lượng hệ động lực xe hybrid

Luận án Nghiên cứu tối ưu hóa thiết kế độ lớn và tham số điều khiển nguồn năng lượng hệ động lực xe hybrid
BỘ GIÁO DỤC VÀ ĐÀO TẠO 
TRƯỜNG ĐẠI HỌC NHA TRANG 
VŨ THĂNG LONG 
NGHIÊN CỨU TỐI ƯU HÓA THIẾT KẾ ĐỘ 
LỚN VÀ THAM SỐ ĐIỀU KHIỂN NGUỒN 
NĂNG LƯỢNG HỆ ĐỘNG LỰC XE HYBRID 
Ngành đào tạo: Kỹ thuật cơ khí động lực 
 Mã số: 62520116 
LUẬN ÁN TIẾN SĨ KỸ THUẬT 
 NGƯỜI HƯỚNG DẪN KHOA HỌC : PGS. TS. Nguyễn Văn Nhận 
Khánh Hòa, 2015 
1 
MỞ ĐẦU 
1. LÝ DO CHỌN ĐỀ TÀI 
 Vấn đề tiết kiệm nhiên liệu hóa thạch và giảm ô nhiễm môi trường do khí 
thải của động cơ đốt trong (ICE) đã và đang là áp lực rất lớn đối với các nhà thiết 
kế và chế tạo xe cơ giới. Với trình độ công nghệ hiện có và nếu chỉ xét từ góc độ 
bảo vệ môi trường thì xe chạy bằng động cơ điện (EM) là giải pháp triệt để nhất 
cho tình trạng ô nhiễm bởi khí thải của xe cơ giới hiện nay. Thực tế đã có hàng loạt 
mẫu xe cơ giới chạy bằng điện được sinh ra từ các tấm pin mặt trời gắn trực tiếp 
trên xe hoặc chạy bằng điện từ ắcqui đã được thiết kế và chế tạo. Tuy nhiên, nếu xét 
một cách toàn diện, trong đó có cả khả năng phải huỷ bỏ hàng ngàn dây chuyền chế 
tạo và lắp ráp xe cơ giới hiện nay thì xe chạy bằng ICE vẫn là loại phương tiện giao 
thông cơ giới có vị trí độc tôn và hàng triệu chiếc xe chạy bằng ICE ở khắp nơi trên 
thế giới vẫn sẽ là những hình ảnh quen thuộc cho nhiều thế hệ mai sau. 
Phát triển xe hybrid được xem là một trong những giải pháp quá độ nhằm tiết 
kiệm nhiên liệu hóa thạch và giảm mức độ gây ô nhiễm môi trường bởi khí thải của 
ICE trang bị trên xe cơ giới. 
Trong tiếng Anh, từ "hybrid" có nghĩa là "lai/ ghép/ kết hợp", thuật ngữ 
"hybrid vehicle" được định nghĩa là phương tiện di động có hệ thống động lực được 
cấu thành từ hai hoặc nhiều nguồn động lực khác biệt nhau. Các loại phương tiện di 
động như: xe đạp điện chạy bằng cách đạp pedal và bằng EM, ô tô được trang bị cả 
động cơ xăng và EM để dẫn động bánh xe chủ động, xe lửa được trang bị cả EM để 
chạy bằng điện lưới và động cơ diesel để chạy ở những khu vực không có lưới điện, 
máy bay được trang bị động cơ phản lực để bay và EM để di chuyển trên đường 
băng, tàu ngầm điện-diesel được trang bị EM để chạy khi tàu lặn và động cơ diesel 
để chạy khi tàu nổi trên mặt nước, v.v. đều được xếp vào đối tượng "hybrid 
vehicle". 
 Ô tô hybrid có hệ động lực được cấu thành từ động cơ xăng và EM đã được 
chế tạo từ những năm cuối thế kỷ XVIII và đã tạo được ấn tượng mạnh đối với 
2 
khách hàng và giới kỹ nghệ gia ở giai đoạn đầu mới phát triển do đạt được các tính 
năng vượt trội so với ô tô truyền thống (ô tô chỉ được trang bị một loại nguồn động 
lực, hoặc là ICE hoặc là động cơ đốt ngoài hoặc là EM). Tuy nhiên, do vận hành và 
sửa chữa đơn giản hơn, giá thành động cơ xăng và diesel ngày càng giảm do được 
sản xuất hàng loạt, nguồn cung xăng dầu ngày càng dồi dào với giá rẻ, v.v., ô tô 
truyền thống đã chiếm lĩnh gần như toàn bộ thị trường của ô tô hybrid trong giai 
đoạn trước 1990. 
 Dưới áp lực ngày càng tăng của yêu cầu tiết kiệm nhiên liệu hóa thạch và các 
tiêu chuẩn về khí thải ngày càng khắt khe, ô tô hybrid lại được quan tâm trở lại từ 
đầu những năm 1990 và đã phát triển nhảy vọt cho đến nay. Bên cạnh những ưu 
điểm vốn có của phương án hybrid, những tiến bộ vượt bậc của công nghệ chế tạo, 
điện-điện tử, thông tin, v.v. cũng được xem là yếu tố quan trọng góp phần làm nên 
thành công của ô tô hybrid hiện đại. 
 Toyota được xem là hãng chế tạo ô tô tiên phong và thành công nhất trong 
lĩnh vực phát triển ô tô hybrid hiện đại. Dòng ô tô hybrid thương mại hiện đại đầu 
tiên có tên Toyota Prius được bán ở thị trường Nhật Bản vào năm 1997. Đến tháng 
6 năm 2013, khoảng 3 triệu Toyota Prius đã được bán ở 80 quốc gia và khu vực. 
Hiện nay, hầu hết các hãng chế tạo ô tô hàng đầu trên thế giới đều đã cho ra đời các 
các mẫu ô tô hybrid của mình và ô tô hybrid đã được khẳng định là một phần của 
thị trường ô tô hiện nay và trong tương lai. 
 Trong quá trình thiết kế ô tô truyền thống, công suất cực đại của động cơ 
được xác định trên cơ sở một số tính năng kỹ thuật của ô tô, ví dụ: tính năng động 
lực học, tính năng việt dã, v.v. được đặt ra khi thiết kế. Đối với ô tô hybrid, các 
nguồn động lực khác nhau không những phải có độ lớn sao cho tổng công suất do 
chúng đồng thời cung cấp cho bánh xe chủ động phải bằng công suất cực đại của 
động cơ ở ô tô truyền thống có tính năng kỹ thuật tương đương, mà công suất của 
mỗi nguồn động lực còn phải được lựa chọn sao cho cả hệ thống làm việc với các 
chỉ tiêu kinh tế - kỹ thuật - môi trường cao nhất có thể. 
 Trong quá trình khai thác kỹ thuật, giải pháp hybrid hóa ô tô chỉ có thể đạt 
được mục tiêu khi tối ưu hóa được các chế độ làm việc của các nguồn năng lượng, 
3 
ví dụ: thời điểm mà một hoặc một số nguồn năng lượng sẽ ngừng hoạt động hoặc 
hoạt động ở chế độ nào để phát huy ưu điểm và hạn chế nhược điểm của chúng, tỷ 
lệ đóng góp công suất của các nguồn động lực cùng tham gia dẫn động các bánh xe 
chủ động tại một thời điểm, chiến lược tái sử dụng năng lượng mà các nguồn động 
lực đã cung cấp cho bánh xe chủ động, v.v. Các vấn đề kể trên thuộc nội hàm của 
khái niệm tối ưu hóa tham số điều khiển nguồn năng lượng của hệ động lực ô tô 
hybrid. 
 Làm chủ kỹ thuật tối ưu hóa độ lớn và tham số điều khiển nguồn năng lượng 
của hệ động lực ô tô hybrid là điều kiện tiên quyết để có thể thiết kế và khai thác ô 
tô hybrid với những lợi ích mà phương án hybrid có thể mang lại. 
 Qua tìm hiểu tài liệu cho thấy đến thời điểm hiện nay, ở Việt Nam chưa có 
công trình khoa học chuyên sâu nào đã công bố về tối ưu hóa hệ động lực ô tô 
hybrid. Hầu hết ấn phẩm tiếng Việt về ô tô hybrid mới chỉ đề cập đến những khái 
niệm cơ bản hoặc giới thiệu những thành tựu mới của các hãng chế tạo ô tô hybrid 
hoặc thiết kế chế tạo cụm thiết bị, mô hình ô tô hybrid trong phạm vi các đồ án tốt 
nghiệp đại học hoặc luận văn thạc sĩ, ... Kỹ thuật và công nghệ tối ưu hóa hệ động 
lực hybrid được áp dụng cho các mẫu ô tô hybrid hiện đại vẫn còn là bí quyết của 
một số hãng chế tạo ô tô hybrid hàng đầu trên thế giới. 
Với mục đích nghiên cứu lý thuyết và thực tiễn của giải pháp hybrid hóa để 
làm cơ sở cho việc thiết kế và chế tạo xe hybrid, đồng thời cho phép đánh giá mức 
độ phù hợp của các mẫu xe hybrid được khai thác trong điều kiện ở Việt Nam, 
nghiên cứu sinh (NCS) chọn đề tài luận án: “Nghiên cứu tối ưu hóa thiết kế độ lớn 
và tham số điều khiển nguồn năng lượng hệ động lực xe hybrid ". 
2. MỤC TIÊU NGHIÊN CỨU 
Xây dựng mô hình tối ưu hóa và phát triển giải thuật để tối ưu hóa độ lớn của 
các nguồn năng lượng và tối ưu hóa các tham số điều khiển nguồn năng lượng của 
hệ động lực ô tô hybrid, nhằm nâng cao tính kinh tế nhiên liệu, giảm phát thải các 
chất độc hại có trong khí thải của ICE. 
4 
3. ĐỐI TƯỢNG NGHIÊN CỨU 
Ô tô hybrid có hệ thống động lực được cấu thành từ hai loại nguồn động lực là 
ICE và EM. 
4. PHẠM VI NGHIÊN CỨU 
 (1) Các nguồn năng lượng trong cấu trúc tổng thể của hệ động lực của ô tô 
hybrid kiểu song song và kiểu hỗn hợp, bao gồm: ICE, EM, máy phát điện (EG) và 
ắcqui điện (AQ). 
(2) Tối ưu hóa thiết kế độ lớn của các nguồn năng lượng thuộc hệ động lực 
của ô tô hybrid kiểu song song và kiểu hỗn hợp. 
Độ lớn của ICE, EM và EG trong luận án này được hiểu là công suất có ích 
lớn nhất. Độ lớn của AQ được hiểu là dung lượng tổng cộng của các AQ. Tối ưu 
hóa thiết kế độ lớn các nguồn năng lượng trong luận án này được hiểu là việc xác 
định công suất có ích lớn nhất của ICE, EM, EG và dung lượng AQ nhằm thỏa mãn 
các mục tiêu đặt ra. 
 (3) Tối ưu hóa tham số điều khiển nguồn năng lượng của hệ động lực ô tô 
hybrid kiểu song song và kiểu hỗn hợp. 
 Tối ưu hóa tham số điều khiển được hiểu là việc xác định và kiểm soát chế 
độ làm việc của các nguồn năng lượng sao cho đạt được các mục tiêu mà phương án 
hybrid có thể mang lại. Ô tô truyền thống không có yêu cầu tối ưu hóa tham số điều 
khiển nguồn năng lượng của hệ động lực. Ở loại ô tô này, người lái quyết định vận 
tốc tức thời của ô tô và công suất tức thời của động cơ thông qua việc tác động lên 
cần gạt hộp số, bàn đạp ga hoặc bàn đạp phanh. Đối với một số loại ô tô được trang 
bị động cơ phun nhiên liệu điều khiển điện tử và hộp số tự động, mong muốn của 
người lái được hiện thực hóa bằng chiến lược điều khiển cấp thành tố (component-
level control strategies), ví dụ: bộ điều khiển trung tâm của động cơ quyết định 
lượng nhiên liệu phun vào xylanh tương ứng với vị trí của bàn đạp ga và bộ điều 
khiển hộp số quyết định chuyển số, phù hợp với vận tốc của ô tô. Trong trường hợp 
ô tô hybrid, cần có thêm các quyết định khác nữa, ví dụ: mỗi nguồn năng lượng phải 
cung cấp bao nhiêu năng lượng để có tổng năng lượng cần thiết cung cấp cho bánh 
5 
xe chủ động, mỗi nguồn năng lượng phải hoạt động ở chế độ nào để cả hệ thống 
làm việc với các chỉ tiêu kinh tế - kỹ thuật - môi trường tối ưu, v.v. 
5. PHƯƠNG PHÁP NGHIÊN CỨU 
Nghiên cứu lý thuyết và thực nghiệm với mô hình đối tượng trên máy tính là 
hai phương pháp nghiên cứu chủ yếu được sử dụng trong luận án. 
Nội dung nghiên cứu lý thuyết bao gồm: 
 Tìm hiểu các công trình khoa học ở trong và ngoài nước về đề tài ô tô 
hybrid nói chung và tối ưu hóa hệ động lực hybrid nói riêng. Trên cơ sở đó xác định 
một số vấn đề cần tiếp tục nghiên cứu theo định hướng đã đặt ra, bao gồm: tối ưu 
hóa đồng thời độ lớn và các tham số điều khiển các nguồn năng lượng của hệ động 
lực nhằm nâng cao tính kinh tế nhiên liệu và giảm mức độ phát thải các chất độc hại 
của ICE nằm trong cấu trúc tổng thể của hệ động lực ô tô hybrid; 
 Xây dựng và phát triển mô hình tối ưu hóa hệ động lực của ô tô hybrid, 
trong đó có tính đến các điều kiện thực tế ở Việt Nam; 
 Nghiên cứu cải tiến giải thuật đàn ong (Bees Algorithm) và ứng dụng nó 
trong bài toán tối ưu hóa hệ động lực ô tô hybrid. 
 Bài toán tối ưu hóa đồng thời độ lớn của các nguồn năng lượng và tham số 
điều khiển hệ động lực ô tô hybrid được giải và đánh giá kết quả bằng mô phỏng 
thực nghiệm trên máy tính. 
6. NỘI DUNG VÀ BỐ CỤC CỦA LUẬN ÁN 
Nội dung luận án được bố cục thành 4 chương, không kể phần Mở đầu và Phụ 
lục, bao gồm : 
Chương 1 : Tổng quan về ô tô hybrid và nghiên cứu tối ưu hóa hệ động lực 
của ô tô hybrid 
Chương 2 : Tối ưu hóa thiết kế độ lớn và tham số điều khiển nguồn năng 
lượng hệ động lực ô tô hybrid bằng giải thuật đàn ong 
Chương 3 : Mô phỏng thực nghiệm tối ưu hóa độ lớn và tham số 
 điều khiển nguồn năng lượng hệ động lực ô tô hybrid 
Chương 4 : Kết luận và khuyến nghị 
6 
7. NHỮNG ĐÓNG GÓP CỦA LUẬN ÁN 
(1) Phát triển mô hình tối ưu hóa đồng thời độ lớn của các nguồn năng lượng 
và các tham số điều khiển nguồn năng lượng hệ động lực của ô tô hybrid được cấu 
thành từ ICE và EM, trong đó cho phép xét đến các điều kiện khai thác kỹ thuật 
thực tế ở Việt Nam; 
(2) Cải tiến giải thuật đàn ong và ứng dụng nó trong bài toán tối ưu hóa hệ 
động lực ô tô hybrid; 
(3) Phát triển mô đun giải thuật đàn ong và tích hợp nó với phần mềm 
ADVISOR do NREL (National Renewable Energy Laboratory - Hoa Kỳ) xây dựng 
phục vụ mô phỏng thực nghiệm tối ưu hóa độ lớn và các tham số điều khiển nguồn 
năng lượng hệ động lực ô tô hybrid. 
8. HẠN CHẾ CỦA LUẬN ÁN 
Luận án mới chỉ đề cập vấn đề tối ưu hóa độ lớn của các nguồn năng lượng 
và tham số điều khiển nguồn năng lượng thuộc hệ động lực của ô tô hybrid với mục 
tiêu là giảm tiêu hao nhiên liệu và mức độ phát thải của ICE trong điều kiện vẫn 
đảm bảo các yêu cầu về tính năng động lực học. Phương pháp tối ưu hóa thiết kế độ 
lớn và tham số điều khiển nguồn năng lượng của hệ động lực ô tô hybrid bằng giải 
thuật đàn ong chưa được khảo nghiệm trên các mẫu ô tô hybrid thực trong phòng thí 
nghiệm hoặc vận hành trong điều kiện thực tế. 
7 
Chương 1 
TỔNG QUAN VỀ Ô TÔ HYBRID 
VÀ NGHIÊN CỨU TỐI ƯU HÓA 
HỆ ĐỘNG LỰC CỦA Ô TÔ HYBRID 
Phần Tổng quan về ô tô hybrid đề cập đặc điểm cấu tạo của các loại ô tô 
hybrid đã và đang được sử dụng phổ biến, so sánh giữa các loại ô tô hybrid với 
nhau cũng như giữa chúng và ô tô truyền thống về phương diện cấu trúc, tính kinh 
tế nhiên liệu, mức độ phát thải gây ô nhiễm môi trường, v.v. 
Phần Tổng quan về nghiên cứu tối ưu hóa hệ động lực hybrid giới thiệu một 
số công trình nghiên cứu ở trong nước và trên thế giới về đề tài ô tô hybrid nói 
chung và tối ưu hóa hệ động lực ô tô hybrid nói riêng, trên cơ sở đó xác định vấn đề 
cần nghiên cứu là phát triển, hoàn thiện mô hình tổng quát và sử dụng giải thuật 
mới có ưu điểm hơn để giải bài toán tối ưu hóa đồng thời độ lớn của các nguồn 
năng lượng và các tham số điều khiển nguồn năng lượng hệ động lực của ô tô 
hybrid. 
8 
1.1. TỔNG QUAN VỀ Ô TÔ HYBRID 
1.1.1. ĐẶC ĐIỂM CẤU TẠO CỦA Ô TÔ HYBRID 
 Về phương diện cấu tạo, ô tô truyền thống và ô tô hybrid chỉ khác nhau cơ 
bản ở hệ thống động lực. Hệ thống động lực của ô tô hybrid (sau đây gọi tắt là hệ 
động lực hybrid) phổ biến hiện nay được cấu thành từ một ICE và một hoặc nhiều 
EM. Trong các ấn phẩm chuyên ngành bằng tiếng Anh, các thuật ngữ: "hybrid car", 
"hybrid vehicle", "hybrid road vehicle" và "hybrid electric vehicle" thường được sử 
dụng để chỉ loại ô tô hybrid có hệ thống động lực như vậy. Trong luận án này, thuật 
ngữ "xe hybrid" và "ô tô hybrid" được hiểu là có nội hàm tương đương. 
 Căn cứ vào cách thức liên kết giữa ICE và EM, tỷ lệ công suất của ICE và 
của EM được sử dụng để dẫn động bánh xe chủ động, sự phân công về thời gian 
làm việc của ICE và của EM trong quá trình vận hành; ô tô hybrid hiện đại được 
phân thành 3 nhóm: ô tô hybrid kiểu nối tiếp, ô tô hybrid kiểu song song và ô tô 
hybrid kiểu hỗn hợp. 
1.1.1.1. Ô TÔ HYBRID KIỂU NỐI TIẾP 
 Ô tô hybrid kiểu nối tiếp, trong tiếng Anh được gọi là Series Hybrid Electric 
Vehicle, sau đây viết tắt là S-HEV. 
 Các thành tố cơ bản của hệ động lực của S-HEV bao gồm: một ICE, một 
hoặc một số EM, một EG, bộ AQ, bộ chuyển đổi điện và cặp bánh răng giảm tốc 
(xem Hình 1-1). Về cơ bản, hệ động lực của S-HEV chỉ khác hệ động lực của ô tô 
điện ở chỗ có thêm một ICE và EG. 
 Ở S-HEV, ICE chỉ có chức năng lai EG để cung cấp điện cho EM hoặc nạp 
điện cho AQ, EM đảm bảo 100% công suất yêu cầu để dẫn động các bánh xe chủ 
động thông qua một cặp bánh răng giảm tốc. EM chạy bằng điện từ AQ hoặc trực 
tiếp từ EG. Trong hệ truyền động của S-HEV chỉ cần một cặp bánh răng giảm tốc 
bố trí giữa EM và vi sai, thay cho hộp số nhiều cấp ở ô tô truyền thống. Trong 
trường hợp EM được bố trí trực tiếp trong các moayơ của bánh xe chủ động, S-
HEV thực tế không có hệ truyền động cơ khí, thay vào đó là hệ truyền động điện 
gọn nhẹ hơn và tiêu hao ít năng lượng hơn. 
9 
Hình 1-1. Sơ đồ hệ thống động lực của ô tô hybrid kiểu nối tiếp 
 EM trên S-HEV nói riêng và trên các loại ô tô hybrid khác nói chung, thường 
được thiết kế để có thể hoạt động như một máy phát điện (sau đây gọi là môtơ-máy 
phát điện liên hợp, viết tắt là MG) để có thể tận dụng động năng của ô tô trong quá 
trình phanh hoặc xuống dốc. M ... mass1 
 global gc_mass1 
 global ex_mass1 
 global total_vehicle_mass 
 clc; close all; clear all; 
 input.init.saved_veh_file='PRIUS_JPN_defaults_in'; 
 [a,b]=adv_no_gui('initialize',input); 
 i1_min=0.388; %Giá trị nhỏ nhất của'fc_trq_scale' 
 i1_max=0.699; %Giá trị lớn nhất của'fc_trq_scale' 
 i2_min=0.107; %Giá trị nhỏ nhất của'mc_trq_scale' 
 i2_max=0.535; %Giá trị lớn nhất của'mc_trq_scale' 
 i3_min=0.59; %Giá trị nhỏ nhất của'ess_cap_scale' 
 i3_max=2.95; %Giá trị lớn nhất của'ess_cap_scale' 
 i4_min=0.221; %Giá trị nhỏ nhất của'gc_trq_scale' 
 i4_max=1.106; %Giá trị lớn nhất của'gc_trq_scale' 
 i5_min=5; %Giá trị nhỏ nhất của'cs_electric_launch_spd' 
 i5_max=20;% Giá trị lớn nhất của'cs_electric_launch_spd' 
 i6_min=4000; %Giá trị nhỏ nhất của'cs_min_pwr' 
 i6_max=8000; % Giá trị lớn nhất của'cs_min_pwr' 
 i7_min=0.41; %Giá trị nhỏ nhất của'cs_eng_on_soc' 
 i7_max=0.60;% Giá trị lớn nhất của'cs_eng_on_soc' 
 i8_min=100; %Giá trị nhỏ nhất của'cs_eng_min_spd' 
 i8_max=150; %Giá trị lớn nhất của'cs_eng_min_spd' 
 i9_min=0.15; %Giá trị nhỏ nhất của'cs_lo_soc' 
 i9_max=0.40;% Giá trị lớn nhất của'cs_lo_soc' 
 i10_min=0.61; %Giá trị nhỏ nhất của'cs_hi_soc' 
 i10_max=0.95;% Giá trị lớn nhất của'cs_hi_soc' 
155 
 n= 22; % Số lượng ong trinh sát 
 itr=50; % Số vòng lặp 
 e=7; % Số lượng vùng được chọn 
 m=5; % Số ong trung bình tìm kiếm ở vùng được chọn 
 rho = 0.01; % Tốc độ suy giảm Pheromone 
 alfa=0.5; % Mũ 
 beta=1; % Mũ 
 ngh1=(i1_max-i1_min)/40; % Bán kính vùng tìm kiếm cục bộ 
 ngh2=(i2_max-i2_min)/40; 
 ngh3=(i3_max-i3_min)/40; 
 ngh4=(i4_max-i4_min)/40; 
 ngh5=(i5_max-i5_min)/40; 
 ngh6=(i6_max-i6_min)/40; 
 ngh7=(i7_max-i7_min)/40; 
 ngh8=(i8_max-i8_min)/40; 
 ngh9=(i9_max-i9_min)/40; 
 ngh10=(i10_max-i10_min)/40; 
 load count; 
 disp(count) 
 if count==0 % Kiểm tra xem có phải lần đầu chạy chương trình hay không 
 disp(' '); 
 disp('This is THE FIRST time to run the optimization program'); 
 disp(' '); 
 ph = ones(120,e) % Khởi tạo pheromone 
 fitscore = zeros(120,e) % Khởi tạo fitscore 
 selpatch=zeros(120,e); % Khởi tạo selpatch 
 for i=1:e 
 selpatch(1,i)=m; 
 end 
 selpatch(1,i)=m 
 element=0;% Khởi tạo số ong bắt đầu 
 U=X_random(n,i1_max, i2_max,i3_max, i4_max, i5_max, i6_max,i7_max, 
i8_max,i9_max,i10_max, i1_min, i2_min,i3_min, i4_min, i5_min,i6_min, 
i7_min,i8_min,i9_min,i10_min) 
 for i=1:n 
 Par_Q(i,1)=U(i,1); 
 Par_Q(i,2)=U(i,2); 
 Par_Q(i,3)=U(i,3); 
 Par_Q(i,4)=U(i,4); 
 Par_Q(i,5)=U(i,5); 
 Par_Q(i,6)=U(i,6); 
 Par_Q(i,7)=U(i,7); 
 Par_Q(i,8)=U(i,8); 
 Par_Q(i,9)=U(i,9); 
 Par_Q(i,10)=U(i,10); 
temp=fn(U(i,1),U(i,2),U(i,3),U(i,4),U(i,5),U(i,6),U(i,7),U(i,8),U(i,9),U(i,10)); 
 while temp==-1 % Nếu không tính được fn 
U(i,:)=X_random(1,i1_max,i2_max,i3_max,i4_max,i5_max,i6_max,i7_max,i8_max,i9_max,
i10_max,i1_min,i2_min,i3_min,i4_min,i5_min,i6_min,i7_min,i8_min,i9_min,i10_min) 
 Par_Q(i,1)=U(i,1); 
 Par_Q(i,2)=U(i,2); 
 Par_Q(i,3)=U(i,3); 
 Par_Q(i,4)=U(i,4); 
 Par_Q(i,5)=U(i,5); 
 Par_Q(i,6)=U(i,6); 
 Par_Q(i,7)=U(i,7); 
 Par_Q(i,8)=U(i,8); 
 Par_Q(i,9)=U(i,9); 
 Par_Q(i,10)=U(i,10); 
temp=fn(U(i,1),U(i,2),U(i,3),U(i,4),U(i,5),U(i,6),U(i,7),U(i,8),U(i,9),U(i,10)); 
 end 
156 
 Par_Q(i,11)=temp; 
 Par_Q(i,12)=FC; 
 Par_Q(i,13)=HC; 
 Par_Q(i,14)=CO; 
 Par_Q(i,15)=NOx; 
 Par_Q(i,16)=PM; 
 Par_Q(i,17)=accel1; 
 Par_Q(i,18)=accel2; 
 Par_Q(i,19)=accel3; 
 Par_Q(i,20)=dist; 
 Par_Q(i,21)=maxAcc; 
 Par_Q(i,22)=maxSpeed; 
 Par_Q(i,23)=gra; 
 Par_Q(i,24)=time; 
 element=element+1; 
all_bees(element,:)=[element,U(i,1),U(i,2),U(i,3),U(i,4),U(i,5),U(i,6),U(i,7),U(i
,8),U(i,9),U(i,10),temp,FC,HC,CO,NOx,PM,accel1,accel2,accel3,dist,maxAcc,maxSpeed
,gra,time]; 
 disp(' '); 
 disp(sprintf('The number of evaluated fitness functions: 
%02.0f',element)); 
 disp(' '); 
 end 
 Par_Q=sortrows(Par_Q,11) 
 all_inter_val(1,:)=[0,Par_Q(1,:)]; 
 first=Par_Q; 
 last=first; 
 save all_bees all_bees; % Lưu vào bộ nhớ 
 save first first; 
 save element element; 
 save all_inter_val all_inter_val; 
 save ph ph; 
 save fitscore fitscore; 
 save selpatch selpatch; 
 U 
 clear U; 
 clear i; h=0; 
 else %% Đây không phải lần đầu chạy chương trình hay không 
 disp(' '); 
 disp('This is NOT the first time to run the optimization program'); 
 disp(' '); 
 load all_bees; % Load dữ liệu từ bộ nhớ 
 load last; 
 Par_Q=last 
 load all_inter_val 
 load ph 
 load fitscore 
 load selpatch 
 load element; 
 end 
 Par_Q1=Par_Q(:,11)' 
 for k=count+1:count+itr % Bắt đầu vòng lặp 
 disp(' '); 
 disp(sprintf('Interation Number: %02.0f',k)); 
 disp(' '); 
 if k> 1 
 for h=1:e 
 fitscore(k,h)=(Par_Q1(1,h) - Par_Q1(1,e+1)) / (sum(Par_Q1(1,1:e) 
- Par_Q1(1,e+1))); % Tính Fitness score 
 selpatch(k,h)=round(((ph(k-
1,h))^alfa*((fitscore(k,h))^beta))/(sum((ph(k-
1,1:e).^alfa.*(fitscore(k,h).^beta))))*m*e); % Tính số ong tìm kiếm cục bộ 
157 
 if selpatch(k,h) > 0 
 ph(k,h) = ph(k-1,h)* rho + (fitscore(k,h)*selpatch(k,h)); 
% Cập nhật Pheromone 
 else 
 ph(k,h) = ph(k-1,h)* rho; 
 end 
 end 
 end 
 for j=1:e % Số lượng vùng được chọn 
 for i=1:selpatch(k,j) % Số lượng ong tìm kiếm vùng được chọn 
 U=bee_dance(ngh1,ngh2,ngh3,ngh4,ngh5,ngh6,ngh7,ngh8,ngh9,ngh10, 
Par_Q(j,1), Par_Q(j,2),Par_Q(j,3),Par_Q(j,4),Par_Q(j,5), 
Par_Q(j,6),Par_Q(j,7),Par_Q(j,8),Par_Q(j,9),Par_Q(j,10),i1_min,i2_min,i3_min,i4_m
in,i5_min,i6_min,i7_min,i8_min,i9_min,i10_min,i1_max,i2_max,i3_max,i4_max,i5_max,
i6_max,i7_max,i8_max,i9_max,i10_max); 
 temp=fn(U(1),U(2),U(3),U(4),U(5),U(6),U(7),U(8),U(9),U(10)); 
 while temp==-1 
U=bee_dance(ngh1,ngh2,ngh3,ngh4,ngh5,ngh6,ngh7,ngh8,ngh9,ngh10, Par_Q(j,1), 
Par_Q(j,2),Par_Q(j,3),Par_Q(j,4),Par_Q(j,5), 
Par_Q(j,6),Par_Q(j,7),Par_Q(j,8),Par_Q(j,9),Par_Q(j,10),i1_min,i2_min,i3_min,i4_m
in,i5_min,i6_min,i7_min,i8_min,i9_min,i10_min,i1_max,i2_max,i3_max,i4_max,i5_max,
i6_max,i7_max,i8_max,i9_max,i10_max); 
 temp=fn(U(1),U(2),U(3),U(4),U(5),U(6),U(7),U(8),U(9),U(10)); 
 end 
 if temp< Par_Q(j,11) 
Par_Q(j,:)=[U(1),U(2),U(3),U(4),U(5),U(6),U(7),U(8),U(9),U(10),temp,FC,HC,CO,NOx,
PM,accel1,accel2,accel3,dist,maxAcc,maxSpeed,gra,time]; 
 end 
 element=element+1; 
all_bees(element,:)=[element,U(1),U(2),U(3),U(4),U(5),U(6),U(7),U(8),U(9),U(10),t
emp,FC,HC,CO,NOx,PM,accel1,accel2,accel3,dist,maxAcc,maxSpeed,gra,time]; 
 disp(' '); 
 disp(sprintf('The number of evaluated fitness functions: 
%02.0f',element)); 
 disp(' '); 
 end 
 end 
 % ____________________________________________________________________ 
 for i=e+1:n 
 U=X_random(1,i1_max, i2_max,i3_max, i4_max, i5_max, i6_max,i7_max, 
i8_max,i9_max,i10_max, i1_min, i2_min,i3_min, i4_min, i5_min,i6_min, 
i7_min,i8_min,i9_min,i10_min); 
 temp=fn(U(1),U(2),U(3),U(4),U(5),U(6),U(7),U(8),U(9),U(10)); 
 while temp==-1 
 U=X_random(1,i1_max, i2_max,i3_max, i4_max, i5_max, 
i6_max,i7_max, i8_max,i9_max,i10_max, i1_min, i2_min,i3_min, i4_min, 
i5_min,i6_min, i7_min,i8_min,i9_min,i10_min); 
 temp=fn(U(1),U(2),U(3),U(4),U(5),U(6),U(7),U(8),U(9),U(10)); 
 end 
 Par_Q(i,:)=[U(1), U(2),U(3),U(4),U(5), 
U(6),U(7),U(8),U(9),U(10),temp,FC,HC,CO,NOx,PM,accel1,accel2,accel3,dist,maxAcc,m
axSpeed,gra,time]; 
 element=element+1; 
all_bees(element,:)=[element,U(1),U(2),U(3),U(4),U(5),U(6),U(7),U(8),U(9),U(10),t
emp,FC,HC,CO,NOx,PM,accel1,accel2,accel3,dist,maxAcc,maxSpeed,gra,time]; 
 disp(' '); 
 disp(sprintf('The number of evaluated fitness functions: 
%02.0f',element)); 
 disp(' '); 
158 
 end 
 Par_Q=sortrows(Par_Q,11) 
 Par_Q1=Par_Q(:,11)' 
 all_inter_val(k+1,:)=[k,Par_Q(1,:)]; 
 xlswrite('R_all_inter_val',all_inter_val) 
 xlswrite('R_all_bees',all_bees) 
 end % Kết thúc vòng lặp 
 count=count+itr; 
 first=last 
 last=Par_Q; 
 xlswrite('R_last',last) 
 a=['fc_trq_scale' 'mc_trq_scale' 'ess_module_num' 'gc_trq_scale' 
'cs_electric_launch_spd' 'cs_min_pwr' 'cs_eng_on_soc' 'cs_eng_min_spd' 
'cs_lo_soc' 'cs_hi_soc']; 
 disp(' '); 
 disp(a); 
 last 
 a=['order ' 'fc_trq_scale' 'mc_trq_scale' 'ess_module_num' 'gc_trq_scale' 
'cs_electric_launch_spd' 'cs_min_pwr' 'cs_eng_on_soc' 'cs_eng_min_spd' 
'cs_lo_soc' 'cs_hi_soc' 'FC']; 
 disp(' '); 
 disp(a); 
 all_inter_val 
 save count count; 
 save last last; 
 save all_inter_val all_inter_val; 
 save ph ph; 
 save fitscore fitscore; 
 save selpatch selpatch; 
 save element element; 
 save all_bees all_bees; 
 plot(all_inter_val(:,1),all_inter_val(:,12)); 
 grid on; 
 function 
U=bee_dance(ngh1,ngh2,ngh3,ngh4,ngh5,ngh6,ngh7,ngh8,ngh9,ngh10,x1,x2,x3,x4,x5,x6,
x7,x8,x9,x10,x1_min,x2_min,x3_min,x4_min,x5_min,x6_min,x7_min,x8_min,x9_min,x10_m
in,x1_max,x2_max,x3_max,x4_max,x5_max,x6_max,x7_max,x8_max,x9_max,x10_max) 
 U(:,1)=(x1-ngh1)+(2*ngh1.*rand(size(x1,1),1)); 
 U(:,2)=(x2-ngh2)+(2*ngh2.*rand(size(x2,1),1)); 
 U(:,3)=(x3-ngh3)+(2*ngh3.*rand(size(x3,1),1)); 
 U(:,4)=(x4-ngh4)+(2*ngh4.*rand(size(x4,1),1)); 
 U(:,5)=(x5-ngh5)+(2*ngh5.*rand(size(x5,1),1)); 
 U(:,6)=(x6-ngh6)+(2*ngh6.*rand(size(x6,1),1)); 
 U(:,7)=(x7-ngh7)+(2*ngh7.*rand(size(x7,1),1)); 
 U(:,8)=(x8-ngh8)+(2*ngh8.*rand(size(x8,1),1)); 
 U(:,9)=(x9-ngh9)+(2*ngh9.*rand(size(x9,1),1)); 
 U(:,10)=(x10-ngh10)+(2*ngh10.*rand(size(x10,1),1)); 
 if U(:,1)<x1_min 
 U(:,1)=x1_min; 
 end 
 if U(:,1)>x1_max 
 U(:,1)=x1_max; 
 end 
 if U(:,2)<x2_min 
 U(:,2)=x2_min; 
 end 
 if U(:,2)>x2_max 
 U(:,2)=x2_max; 
 end 
 if U(:,3)<x3_min 
 U(:,3)=x3_min; 
 end 
 if U(:,3)>x3_max 
 U(:,3)=x3_max; 
159 
 end 
 if U(:,4)<x4_min 
 U(:,4)=x4_min; 
 end 
 if U(:,4)>x4_max 
 U(:,4)=x4_max; 
 end 
 if U(:,5)<x5_min 
 U(:,5)=x5_min; 
 end 
 if U(:,5)>x5_max 
 U(:,5)=x5_max; 
 end 
 if U(:,6)<x6_min 
 U(:,6)=x6_min; 
 end 
 if U(:,6)>x6_max 
 U(:,6)=x6_max; 
 end 
 if U(:,7)<x7_min 
 U(:,7)=x7_min; 
 end 
 if U(:,7)>x7_max 
 U(:,7)=x7_max; 
 end 
 if U(:,8)<x8_min 
 U(:,8)=x8_min; 
 end 
 if U(:,8)>x8_max 
 U(:,8)=x8_max; 
 end 
 if U(:,9)<x9_min 
 U(:,9)=x9_min; 
 end 
 if U(:,9)>x9_max 
 U(:,9)=x9_max; 
 end 
 if U(:,10)<x10_min 
 U(:,10)=x10_min; 
 end 
 if U(:,10)>x10_max 
 U(:,10)=x10_max; 
 end 
 end 
 function X=X_random(n, i1_max, i2_max,i3_max, i4_max, i5_max, i6_max,i7_max, 
i8_max,i9_max,i10_max, i1_min, i2_min,i3_min, i4_min, i5_min,i6_min, 
i7_min,i8_min,i9_min,i10_min) 
 X=[i1_min+((rand(n,1)).*(i1_max-i1_min)), i2_min+((rand(n,1)).*(i2_max-
i2_min)),i3_min+((rand(n,1)).*(i3_max-i3_min)),i4_min+((rand(n,1)).*(i4_max-
i4_min)),i5_min+((rand(n,1)).*(i5_max-i5_min)), i6_min+((rand(n,1)).*(i6_max-
i6_min)),i7_min+((rand(n,1)).*(i7_max-i7_min)),i8_min+((rand(n,1)).*(i8_max-
i8_min)),i9_min+((rand(n,1)).*(i9_max-i9_min)),i10_min+((rand(n,1)).*(i10_max-
i10_min))]; 
 end 
 function 
result=fn(i1_val,i2_val,i3_val,i4_val,i5_val,i6_val,i7_val,i8_val,i9_val,i10_val) 
 input.modify.param={'fc_trq_scale','ess_cap_scale'}; 
 input.modify.value={i1_val,i3_val}; 
 [a,b]=adv_no_gui('modify',input); 
160 
 % Tính khối lượng các bộ phận 
fc_mass1=round(evalin('base','fc_mass_scale_fun(fc_mass_scale_coef,fc_spd_scale,f
c_trq_scale,fc_base_mass,fc_acc_mass,fc_fuel_mass)')); 
 mc_mass1=round(i2_val*56.75); 
ess_mass1=evalin('base','round(ess_mass_scale_fun(ess_mass_scale_coef,ess_
module_num,ess_cap_scale,ess_module_mass))'); 
 gc_mass1=round(i4_val*32.7); 
ex_mass1=round(evalin('base','ex_mass_scale_fun(ex_mass_scale_coef,fc_pwr_
scale,ex_mass)')); 
total_vehicle_mass=round(fc_mass1+mc_mass1+ess_mass1+gc_mass1+918+ex_mass1
+136); 
input.modify.param={'fc_trq_scale','mc_trq_scale','ess_cap_scale','gc_trq_
scale','cs_electric_launch_spd','cs_min_pwr','cs_eng_on_soc','cs_eng_min_spd','cs
_lo_soc','cs_hi_soc','veh_mass','wh_1st_rrc'}; 
input.modify.value={i1_val,i2_val,i3_val,i4_val,i5_val,i6_val,i7_val,i8_va
l,i9_val,i10_val,total_vehicle_mass,0.015}; 
 [a,b]=adv_no_gui('modify',input); 
 input.cycle.param={'test.name'} ; 
 input.cycle.value={'CYC_CECDC'}; 
 [a,b]=adv_no_gui('drive_cycle',input); % (1) 
 if a==0 
 FC=(100*3.78541178)/(b.cycle.mpgge*1.609344); % liter/100km 
 HC=b.cycle.hc_gpm/1.609344; %g/km 
 CO=b.cycle.co_gpm/1.609344; %g/km 
 NOx=b.cycle.nox_gpm/1.609344; %g/km 
 PM=b.cycle.pm_gpm/1.609344; %g/km 
 fail=0; 
 else 
 result=-1; 
 fail=-1; 
 end 
input.accel.param={'spds','dist_in_time', ' time _in_ dist 
','max_rate_bool','max_speed_bool'}; 
 input.accel.value={[0 60; 40 60;0 85],5,0.2/1.609344,1,1}; 
 [a,b]=adv_no_gui('accel_test',input); 
 if a==0 
 if fail==0 % Nếu không có lỗi xuất hiện 
 accel1=b.accel.times(1); 
 accel2=b.accel.times(2); 
 accel3=b.accel.times(3); 
 if accel1==-1 % Nếu không tính được accel1 
 accel1=15; % Nhằm tăng fitness function 
 a1=-1; 
 else 
 a1=0; 
 end 
 if accel2==-1 
 accel2=8; 
 a2=-1; 
 else 
 a2=0; 
 end 
 if accel3==-1 
 accel3=26; 
 a3=-1; 
 else 
 a3=0; 
 end 
 dist=b.accel.dist*0.3048; % Quãng đường 5s 
 dist=b.accel.time; % Thời gian tăng tốc 
 maxAcc=b.accel.max_rate*0.3048; % Gia tốc cực đại 
161 
 maxSpeed=b.accel.max_speed*1.60934; % Tốc độ cực đại 
 input.grade.param={'speed','duration','add_mass '}; 
 input.grade.value={12.427,1200,0}; 
 [a,b]=adv_no_gui('grade_test',input); 
 gr=b.grade.grade; 
 c=length(gr); 
 if c==0 
 gra=0; 
 else 
 gra=gr 
 end 
re=0.85*FC/6.8829+0.05*HC/1.0039+0.05*CO/1.1315+0.05*NOx/0.21099+3.5*max(0,120-
maxSpeed)/120+3.5*max(0,11-gra)/11+3.5*max(0,time-20.5)/20.5; % Giá trị hàm mục 
tiêu 
 result=re; 
 disp(' '); 
 disp(['FC (liter/100km) is: ', num2str(FC)]); 
 disp(['HC (g/km) is: ', num2str(HC)]); 
 disp(['CO (g/km) is: ', num2str(CO)]); 
 disp(['NOx (g/km) is: ', num2str(NOx)]); 
 disp(['PM (g/km) is: ', num2str(PM)]); 
 if a1~=-1 
 disp(['The time to accelerate from (0 - 97)km/h is (Standard 
<=12s): ', num2str(accel1)]); 
 else 
 disp('The car CAN NOT get the speed range from (0-97)km/h'); 
 end 
 if a2~=-1 
 disp(['The time to accelerate from (64 - 97)km/h is (Standard 
<=5.3s): ', num2str(accel2)]); 
 else 
 disp('The car CAN NOT get the speed range from (64-97)km/h'); 
 end 
 if a3~=-1 
 disp(['The time to accelerate from (0 - 137)km/h is (Standard 
<=23.4s): ', num2str(accel3)]); 
 else 
 disp('The car can not get the speed range from (0-137)km/h'); 
 end 
 clear a1; 
 clear a2; 
 clear a3; 
 disp(['The distance when running in 5s is (Standard >=42.7m) : ', 
num2str(dist)]); 
 disp(['The max acceleration is (Standard >=5m/s^2 ): ', 
num2str(maxAcc)]); 
 disp(['The max speed is (Standard >=100km/h ): ', 
num2str(maxSpeed)]); 
 if c==0 
 disp('ADVISOR CAN NOT calculate the grade: '); 
 else 
 disp(['The max grade is (Standard >=12%): ', num2str(gra)]); 
 end 
 disp(['The value of fitness function is: ', num2str(result)]); 
 disp(' '); 
 clear gr; 
 clear re; 
 end 
 else 
 result=-1; 
 end 
 end 
end 

File đính kèm:

  • pdfluan_an_nghien_cuu_toi_uu_hoa_thiet_ke_do_lon_va_tham_so_die.pdf