Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 83 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
83
Dung lượng
6,4 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA LÊ ANH KHƠI Tối ưu hóa cơng việc xếp container bãi cảng container Chuyên ngành: KỸ THUẬT CÔNG NGHIỆP Mã số:60.52.01.17 LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng 07 năm 2018 ĐẠI HỌC QUỐC GIA TP HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA LÊ ANH KHƠI Tối ưu hóa cơng việc xếp container bãi cảng container Chuyên ngành : KỸ THUẬT CÔNG NGHIỆP Mã số:1670710 LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng 07 năm 2018 i CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM Cán hướng dẫn khoa học : (Ghi rõ họ, tên, học hàm, học vị chữ ký) Cán chấm nhận xét : (Ghi rõ họ, tên, học hàm, học vị chữ ký) Cán chấm nhận xét : (Ghi rõ họ, tên, học hàm, học vị chữ ký) Luận văn thạc sĩ bảo vệ Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày tháng năm Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: (Ghi rõ họ, tên, học hàm, học vị Hội đồng chấm bảo vệ luận văn thạc sĩ) Xác nhận Chủ tịch Hội đồng đánh giá LV Trưởng Khoa quản lý chuyên ngành sau luận văn sửa chữa (nếu có) CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA………… ii ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: LÊ ANH KHÔI MSHV: 1670710 Ngày, tháng, năm sinh: 07/03/1990 Nơi sinh:TPHCM Chuyên ngành: KỸ THUẬT CÔNG NGHIỆP Mã số : I TÊN ĐỀ TÀI: Tối ưu hóa cơng việc xếp container bãi cảng container II NHIỆM VỤ VÀ NỘI DUNG: Giới thiệu cảng container trạng cảng container Việt Nam Đề xuất phương án để thực việc xếp container bãi nhằm tối ưu hóa hoạt động bãi Thuật tốn reward based đề xuất nhằm tối ưu hóa việc xếp container cảng Tác giả thực việc lập trình cho thuật toán phần mềm Matlab tiến hành kiểm chứng mơ hình khu vực nhỏ bãi chứa container với số đơn hàng nhằm kiểm tra tối ưu thuật toán III NGÀY GIAO NHIỆM VỤ : (Ghi theo QĐ giao đề tài) 26/02/2018 IV NGÀY HOÀN THÀNH NHIỆM VỤ: (Ghi theo QĐ giao đề tài) V CÁN BỘ HƯỚNG DẪN (Ghi rõ học hàm, học vị, họ, tên): Tiến sĩ Phan Thị Mai Hà Tp HCM, ngày tháng năm 20 CÁN BỘ HƯỚNG DẪN (Họ tên chữ ký) CHỦ NHIỆM BỘ MÔN ĐÀO TẠO (Họ tên chữ ký) TRƯỞNG KHOA….……… (Họ tên chữ ký) Ghi chú: Học viên phải đóng tờ nhiệm vụ vào trang tập thuyết minh LV iii Lời cảm ơn Sau hai năm học cao học chuyên ngành kỹ thuật cơng nghiệp khoa khí thuộc trường đại học Bách Khoa thành phố Hồ Chí Minh, tơi tích lũy kiến thức q báu góp phần vào hành trang kiến thức thân Bằng biết ơn kính trọng, tác giả xin chân thành cảm ơn thầy cô thuộc môn kỹ thuật cơng nghiệp nhiệt tình giảng dạy hỗ trợ tác giả trình học tập làm luận văn Đặc biệt, tác giả xin bày tỏ lòng biết ơn lời cảm ơn sâu sắc tới cô Phan Thị Mai Hà người trực tiếp hướng dẫn, giúp đỡ tác giả suốt trình thực đề tài Em xin trân trọng cảm ơn./ TpHCM, ngày……….tháng…… năm…… Lê Anh Khoi iv TÓM TẮT LUẬN VĂN Hiện Việt nam có nhiều cảng container khắp nước tập trung thành phố Hồ Chí Minh (Tp HCM) Những thiết bị nâng chuyển cảng chưa tự động hóa nhiều nên chưa thể sử dụng hệ thống Terminal Operating System (TOS) quản lý vận hành cách tối ưu hóa cảng giới Việc lên kế hoạch triển khai xếp container bãi chứa làm theo kinh nghiệm nên tốn nhiều thời gian công sức Vị trí xếp container vào bãi có ảnh hưởng lớn đến toàn hiệu suất cảng Khi xếp container cách ngẫu nhiên vào bãi dẫn đến việc cần phải đảo container nhiều lần cần bốc dỡ làm ảnh hưởng đến hiệu suất cần cẩu làm tăng thời gian chờ tàu xe tải từ làm tăng chi phí cho việc vận hành cảng Việc áp dụng mơ hình tốn để đưa giải pháp xếp container vào bãi cách hiệu cần thiết Thuật toán reward based đề xuất nghiên cứu nhằm tối ưu hóa vị trí xếp container từ tàu từ vùng nội địa vào bãi nhằm làm tăng hiệu suất thiết bị bãi chứa Thuật tốn lập trình phần mềm Matlab mơt hình nhỏ bãi container Kết thuật toán so sánh với xếp container cách ngẫu nhiên Kết cho thấy việc áp dụng thuật toán reward based cho kết tốt so với việc xếp container cách ngẫu nhiên Dựa vào kết ta tiến hành nghiên cứu việc xếp container để tăng cường lực hành cảng v ABSTRACT Currently in Vietnam there are many container terminals throughout the country and are concentrated in Ho Chi Minh city (HCMC) The lifting equipment at the container terminals have not been automated too much so we cannot use Terminal Operating System (TOS) in managing the operation of an optimized way as the other terminals in the world The planning and implementation of stacking container in the yard is made according to experience should spend more time and effort The location when stacking on the yard had a great influence on the entire performance of the terminal When stacking at random on yard lead to the need to reshuffle the container several times when we want to pick up a container and affect the performance of the crane as well as increase the latency of the vessel and the truck from which increases cost for port operation Applying of mathematical models to provide effective solutions for stacking container in yards is necessary The reward based algorithm proposed in this study aims to optimize the stacking of containers from vessel or inland in order to reduce the number of inbound containers when we need to retrieve a known container for a port in HCMC The algorithm was programed by Matlab A small area of container yard was selected to check the effectiveness After that, we compared the resutl with stacking randomly method The results show that the effect performance of yard is better than we apply the reward based algorithm Based on this result we can more research about arranging container at yard to have a better performance for the yards vi LỜI CAM ĐOAN Tôi cam đoan rằng, luận văn thạc sĩ “Tối ưu hóa cơng việc xếp container bãi cảng container” cơng trình nghiên cứu riêng tơi Những số liệu sử dụng luận văn trung thực rõ nguồn trích dẫn Kết nghiên cứu chưa công bố công trình nghiên cứu từ trước đến TP Hồ Chí Minh, ngày 18 tháng 06 năm 2018 TÁC GIẢ LUẬN VĂN Lê Anh Khôi vii Mục Lục Nội dung Trang Trang bìa i Nhiệm vụ luận văn thạc sĩ iii Lời cảm ơn iv Tóm tắt luận văn v Lời cam đoan vi Mục lục viii Danh sách bảng biểu x Danh sách hình vẽ xi Danh sách từ viết tắt xii Chương 1: Giới thiệu 1.1.Xác định vấn đề 1.2.Mục tiêu 1.3.Phương pháp 1.4.Giới hạn luận văn 1.5.Cấu trức luận văn Chương 2: Vấn đề tối ưu hóa cảng 2.1.Giới thiệu cảng container hoạt động bốc/dỡ bãi 2.1.1 Cảng container 2.1.1.1.Vai trò 2.1.1.2.Chức 2.1.1.3.Hoạt động cảng container 2.1.2 Hoat động bãi 11 2.1.2.1.Bố trí bãi container 12 2.1.2.2.Các thiết bị sử dụng bãi container 12 2.1.2.3.Kế hoạch xếp hàng 13 2.2.Tình trạng định tức thời 14 2.3.Vấn đề xếp dỡ container cho bãi chứa hàng RMG 16 2.4.Mô tả vấn đề 16 viii 2.5.Các nghiên cứu liên quan 18 2.5.1 Wiese cộng (2009) 18 2.5.2 Kim, Park & Ryu (2000) 18 2.5.3 Kim, Park & Ryu (2002) 21 2.5.4 Kim Hong (2004) 22 2.5.5 Ozcan & Elliyi (2017) 23 Chương 3: Phân tích trạng bãi chứa 26 3.1 Phân tích trạng 26 3.2 Phương pháp nghiên cứu 27 3.2.1 Mục tiêu nội dung 27 3.2.2 Phương pháp nghiên cứu 28 3.2.3 Phân tích diễn giải số liệu thu 28 Chương 4: Kết thực 29 4.1 Các bước thực 29 4.1.1 Tình tự thưc thiện luận văn 29 4.1.2 trình tự thực thuật tốn 4.2 Giới thiệu thuật toán reward based 29 4.3 Kết thực 32 4.3.1 Bài tốn ví dụ 32 4.3.2 phân tích mơ hình thử nghiệm 32 4.3.1.1 Crane_distance_score (i,j) 34 4.3.1.2 Crane_work load 34 4.3.1.3 Neighborhood_stack_score 35 4.3.1.4 Stack_heigh_score 35 4.3.3 Kết 37 Chương 5: Kết luận & hướng nghiên cứu 44 5.1 Kết luận 44 5.2 Hướng nghiên cứu 44 Tài liệu tham khảo 45 Phụ lục 46 ix dist_result_A= total_score; dist_result_B= total_score; dist_result_C= total_score; %neighbour score result neighbour_result_A= total_score; neighbour_result_B= total_score; neighbour_result_C= total_score; %neighbour score result stack_heigh_result_A= total_score; stack_heigh_result_B= total_score; stack_heigh_result_C= total_score; %total_score1 = [3:1],Work_load = [3:1];Neeighbour_stackheigh = [3:1]; Stack_heigh_score = [3:1];total_time = [3:1]; for i=1:3 CRANE_WORK_LOAD_A(i) = Number_cont_A(i)*lift_time(i); CRANE_WORK_LOAD_B(i) = Number_cont_B(i)*lift_time(i); CRANE_WORK_LOAD_C(i) = Number_cont_C(i)*lift_time(i); end; CRANE_WORK_LOAD_SCORE_A1=sum(CRANE_WORK_LOAD_A); CRANE_WORK_LOAD_SCORE_B1=sum(CRANE_WORK_LOAD_B); CRANE_WORK_LOAD_SCORE_C1=sum(CRANE_WORK_LOAD_C); for m =1:sum(sum(input)) = input((m),:); %Dist_crane = [0:40:200]; for i =1:5; SCORE_DIST_CRANE_A(i)=2*POS_RTG_A(i)*Dist_crane(i); end; SCORE_DIST_CRANE_B(i)= 2*POS_RTG_B(i)*Dist_crane(i); SCORE_DIST_CRANE_C(i)= 2*POS_RTG_C(i)*Dist_crane(i); SCORE_DIST_CRANE_A = 200- max(SCORE_DIST_CRANE_A); SCORE_DIST_CRANE_B = 200- max(SCORE_DIST_CRANE_B); SCORE_DIST_CRANE_C = 200- max(SCORE_DIST_CRANE_C); % % Crane work load score for i=1:3 CRANE_WORK_LOAD_A(i) = Number_cont_A(i)*lift_time(i); CRANE_WORK_LOAD_B(i) = Number_cont_B(i)*lift_time(i); CRANE_WORK_LOAD_C(i) = Number_cont_C(i)*lift_time(i); 57 end; CRANE_WORK_LOAD_SCORE_A=sum(CRANE_WORK_LOAD_A); CRANE_WORK_LOAD_SCORE_B=sum(CRANE_WORK_LOAD_B); CRANE_WORK_LOAD_SCORE_C=sum(CRANE_WORK_LOAD_C); % % neighbour stack score %neighbour stack A if A(2) >=5 |A(7)>=5 |A(12)>=5; a(1)=1 ; a(6)=1; a(11)=1; else a(1)=0 ; a(6)=0; a(11)=0; end; if A(4)>=5 |A(9)>=5 |A(14)>=5; a(5)=1 ; a(10)=1; a(15)=1; else a(5)=0 ; a(10)=0; a(15)=0; end; if A(1)>=5 |A(6)>=5 |A(11)>=5 |A(3)>=5| A(8)>=5 |A(13)>=5 ; a(2)=1 ; a(7)=1; a(12)=1; else a(2)=0 ; a(7)=0; a(12)=0; end; if A(2)>=5 |A(7)>=5 |A(12)>=5 |A(4)>=5| A(9)>=5 |A(14)>=5 ; a(3)=1 ; a(8)=1; a(13)=1; else a(3)=0 ; a(8)=0; a(13)=0; end; if A(3)>=5 |A(8)>=5 |A(13)>=5 |A(5)>=5| A(10)>=5 |A(15)>=5 ; a(4)=1 ; a(9)=1; a(14)=1; else a(4)=0 ; a(9)=0; a(14)=0; end; %neighbour stack B if B(2) >=5 |B(7)>=5 |B(12)>=5; b(1)=1 ; b(6)=1; b(11)=1; else b(1)=0 ; b(6)=0; b(11)=0; end; if B(4)>=5 |B(9)>=5 |B(14)>=5; b(5)=1 ; b(10)=1; b(15)=1; else b(5)=0 ; b(10)=0; b(15)=0; end; if B(1)>=5 |B(6)>=5 |B(11)>=5 |B(3)>=5| B(8)>=5 |B(13)>=5 ; b(2)=1 ; b(7)=1; b(12)=1; 58 else b(2)=0 ; b(7)=0; b(12)=0; end; if B(2)>=5 |B(7)>=5 |B(12)>=5 |B(4)>=5| B(9)>=5 |B(14)>=5 ; b(3)=1 ; b(8)=1; b(13)=1; else b(3)=0 ; b(8)=0; b(13)=0; end; if B(3)>=5 |B(8)>=5 |B(13)>=5 |B(5)>=5| B(10)>=5 |B(15)>=5 ; b(4)=1 ; b(9)=1; b(14)=1; else b(4)=0 ; b(9)=0; end; %neighcour stack C if C(2) >=5 |C(7)>=5 |C(12)>=5; c(1)=1 ; c(6)=1; c(11)=1; else c(1)=0 ; c(6)=0; c(11)=0; end; if C(4)>=5 |C(9)>=5 |C(14)>=5; c(5)=1 ; c(10)=1; c(15)=1; else c(5)=0 ; c(10)=0; c(15)=0; end; if C(1)>=5 |C(6)>=5 |C(11)>=5 |C(3)>=5| C(8)>=5 |C(13)>=5 ; c(2)=1 ; c(7)=1; c(12)=1; else c(2)=0 ; c(7)=0; c(12)=0; end; if C(2)>=5 |C(7)>=5 |C(12)>=5 |C(4)>=5| C(9)>=5 |C(14)>=5 ; c(3)=1 ; c(8)=1; c(13)=1; else c(3)=0 ; c(8)=0; c(13)=0; end; if C(3)>=5 |C(8)>=5 |C(13)>=5 |C(5)>=5| C(10)>=5 |C(15)>=5 ; c(4)=1 ; c(9)=1; c(14)=1; else c(4)=0 ; c(9)=0; c(14)=0; end; %neighbour bay %neighbour bay A if A(6)>=5 |A(7)>=5 |A(8)>=5 |A(9)>=5| A(10)>=5 ; a1 (1)=1;a1(2)=1; a1(3)=1; a1(4)=1;;a1(5)=1;a1 (11)=1;a1(12)=1; a1(13)=1; a1(14)=1;a1(15)=1; 59 else a1 (1)=0;a1(2)=0; a1(3)=0; a1(4)=0;;a1(5)=0;a1 (11)=0;a1(12)=0; a1(13)=0; a1(14)=0;a1(15)=0; end; if A (1)>=5|A(2)>=5| A(3)>=5| A(4)>=5||A(5)>=5|A (11)>=5|A(12)>=5| A(13)>=5| A(14)>=5|A(15)>=5; a1(6)=1; a1(7)=1; a1(8)=1; a1(9)=1; a1(10)=1; else a1(6)=0; a1(7)=0; a1(8)=1; a1(9)=0; a1(10)=0; end; %neighbour bay B if B(6)>=5 |B(7)>=5 |B(8)>=5 |B(9)>=5| B(10)>=5 ; b1 (1)=1;b1(2)=1; b1(3)=1; b1(4)=1;;b1(5)=1;b1 (11)=1;b1(12)=1; b1(13)=1; b1(14)=1;b1(15)=1; else b1 (1)=0;b1(2)=0; b1(3)=0; b1(4)=0;;b1(5)=0;b1 (11)=0;b1(12)=0; b1(13)=0; b1(14)=0;b1(15)=0; end; if B (1)>=5|B(2)>=5| B(3)>=5| B(4)>=5||B(5)>=5|B (11)>=5|B(12)>=5| B(13)>=5| B(14)>=5|B(15)>=5; b1(6)=1; b1(7)=1; b1(8)=1; b1(9)=1; b1(10)=1; else b1(6)=0; b1(7)=0; b1(8)=1; b1(9)=0; b1(10)=0; end; %neighbour bay C if C(6)>=5 |C(7)>=5 |C(8)>=5 |C(9)>=5| C(10)>=5 ; c1 (1)=1;c1(2)=1; c1(3)=1; c1(4)=1;;c1(5)=1;c1 (11)=1;c1(12)=1; c1(13)=1; c1(14)=1;c1(15)=1; else c1 (1)=0;c1(2)=0; c1(3)=0; c1(4)=0;;c1(5)=0;c1 (11)=0;c1(12)=0; c1(13)=0; c1(14)=0;c1(15)=0; end; if C (1)>=5|C(2)>=5| C(3)>=5| C(4)>=5||C(5)>=5|C (11)>=5|C(12)>=5| C(13)>=5| C(14)>=5|C(15)>=5; c1(6)=1; c1(7)=1; c1(8)=1; c1(9)=1; c1(10)=1; else c1(6)=0; c1(7)=0; c1(8)=1; c1(9)=0; c1(10)=0; end; for i =1:15 if a(i)+a1(i)=max_score_j; Score_Cj(i) =1; Score_C (i)=Score_C(i); else; Score_Cj(i)=0; Score_C (i)=0; end; end; max_score=[ max(max(Score_A)), max(max(Score_B)), max(max(Score_C))]; for i=1:15; if Score_A(i)>=max_score Score_Aj(i) =1; %a(i)= a(i);Stack_heigh_score_A(i)=Stack_heigh_score_A(i); else Score_Aj(i) =0; % a(i)=0;Stack_heigh_score_A(i)=0; end; if Score_B(i)>=max_score Score_Bj(i) =1; % b(i)= b(i);Stack_heigh_score_B(i)=Stack_heigh_score_B(i); else Score_Bj(i) =0;%b(i)=0;Stack_heigh_score_B(i)=0; end; if Score_C(i)>=max_score Score_Cj(i) =1; %c(i)= c(i);Stack_heigh_score_C(i)= Stack_heigh_score_C(i); else Score_Cj(i) =0;%c(i)=0;Stack_heigh_score_C(i)=0; end; end %disp('cau hinh moi cua container la') for i=1:15; A(i)=A(i)+ Score_Aj(i); B(i)=B(i)+ Score_Bj(i); C(i)=C(i)+ Score_Cj(i); end; tong_diem = sum (sum ([Score_Aj,Score_Bj,Score_Cj])); so_cont=sum(sum([A,B,C])); % [x y]=max(Score_Aj) 63 %tinh v? trí m?i chon container if sum(sum (Score_Aj))