Luận văn thạc sĩ lập trình ràng buộc với bài toán về hỗ trợ phân luồng giao thông

77 2 0
Luận văn thạc sĩ lập trình ràng buộc với bài toán về hỗ trợ phân luồng giao thông

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC QUY NHƠN PHẠM THANH TRÀ LẬP TRÌNH RÀNG BUỘC VỚI BÀI TỐN VỀ HỖ TRỢ PHÂN LUỒNG GIAO THƠNG Chun ngành : KHOA HỌC MÁY TÍNH Mã số : 8480101 Người hướng dẫn: TS Hồ Văn Lâm e LỜI CAM ĐOAN Tơi xin cam đoan Luận văn “Lập trình ràng buộc với tốn hỗ trợ phân luồng giao thơng” Tôi thực hướng dẫn TS Hồ Văn Lâm -Giảng viên Khoa Công nghệ thông tin -Trường Đại học Quy Nhơn Tất nội dung trình bày nguồn tài liệu sử dụng, tham khảo luận văn có trích dẫn rõ ràng, trung thực Tơi xin hồn tồn chịu trách nhiệm trước pháp luật nội dung nghiên cứu, trình bày luận văn Quy Nhơn, ngày 30 tháng năm 2019 Người cam đoan Phạm Thanh Trà e LỜI CẢM ƠN Để hoàn thành luận văn này, lời Tôi xin chân thành cảm ơn quý thầy cô giảng viên Khoa Công nghệ thông tin - Trường Đại học Quy Nhơn quý thầy cô giảng dạy, hướng dẫn truyền đạt cho Tôi kiến thức chuyên môn suốt thời gian học tập nghiên cứu Trường Tôi xin bày tỏ cảm ơn đặc biệt tới giảng viên TS Hồ Văn Lâm định hướng cho Tôi việc lựa chọn đề tài, kịp thời đưa nhận xét, phương pháp tiếp cận trực tiếp dìu dắt, hướng dẫn Tơi suốt q trình nghiên cứu để hồn thành Luận văn Tơi xin chân trọng cảm ơn gia đình, tới anh em, bạn bè đồng nghiệp cổ vũ, động viên, hưởng ứng, giúp đỡ nhiệt tình Tơi suốt q trình học tập nghiên cứu Xin chân thành cảm ơn! Quy Nhơn, ngày 30 tháng năm 2019 Người thực Phạm Thanh Trà e MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN DANH MỤC KÝ HIỆU VÀ Ý NGHĨA CÁC CHỮ VIẾT TẮT DANH MỤC CÁC BẢNG BIỂU DANH MỤC CÁC HÌNH VẼ MỞ ĐẦU Chương TỔNG QUAN 1.1 Giới thiệu 1.2 Ứng dụng CSP 1.3 Định hướng nghiên cứu CLP tương lai: Chương BÀI TOÁN THỎA MÃN RÀNG BUỘC VÀ CÁCH GIẢI 11 2.1 Những khái niệm 11 2.1.1 Định nghĩa miền nhãn 11 2.1.2 Định nghĩa ràng buộc 12 2.1.3 Định nghĩa thỏa mãn 13 2.1.4 Bài toán thõa mãn ràng buộc 14 2.2 Giải toán CSP 14 2.2.1 Một số định nghĩa 15 2.2.2 Việc rút gọn toán 16 2.3 Một số phương pháp giải CSPs 18 2.3.1 Thuật toán quay lui đơn giản 18 2.3.2 Kết hợp tìm kiếm rút gọn tốn 19 2.3.3 Tìm kiếm Backtrack - Tree 23 2.3.4 Giải pháp điểm biên 25 2.3.5 Giải pháp điểm biên cho ràng buộc liên tục 26 2.4 Ví dụ ứng dụng giải tốn ràng buộc thực tế 30 e Chương ỨNG DỤNG LẬP TRÌNH RÀNG BUỘC CHO BÀI TỐN HỖ TRỢ PHÂN LUỒNG GIAO THƠNG 34 3.1 Giới thiệu toán 34 3.1.1 Mơ tả tốn thực tế phân luồng giao thơng 34 3.1.2 Xây dựng ràng buộc từ yêu cầu toán 36 3.2 Giải pháp giải toán ràng buộc phân luồng giao thông 49 3.3 Cài đặt thuật tốn giải tốn phân luồng giao thơng 53 KẾT LUẬN VÀ KIẾN NGHỊ 67 DANH MỤC TÀI LIỆU THAM KHẢO 68 QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN (bản sao) e DANH MỤC CÁC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT Viết tắt CSP, CSPs CLP Ý nghĩa Bài tốn thỏa mãn ràng buộc Lập trình Logic ràng buộc CP Lập trình ràng buộc BT Quay lui FC Forward Checking BJ Backing Jumping P Z X Chỉ toán thỏa mãn ràng buộc Chỉ tập biến CSP D Chỉ miền cho toàn biến CSP |S| Số phần tử tập S e DANH MỤC CÁC BẢNG BIỂU Bảng 2.1: Kết thực nghiệm 29 Bảng 3.1: Hệ thống đường giao thông quốc lộ, tỉnh lộ Bình Định 38 Bảng 3.2: Hệ thống cầu tuyến quốc lộ, tỉnh lộ Bình Định 43 e DANH MỤC CÁC HÌNH VẼ Hình 2.1 Khơng gian tìm kiếm thuật tốn BT CSP(Z,D,C) biến không thứ tự 20 Hình 2.2 Khơng gian tìm kiếm thuật tốn BT CSP(Z, D, C) biến thứ tự {x, y, z} 21 Hình 2.3 Khơng gian tìm kiếm thuật tốn BT CSP(Z, D, C) biến thứ tự {z , y, x} 21 Hình 2.4 Thuật tốn tìm nghiệm cục cho tập ràng buộc 26 Hình 2.5 Mơ tả nghiệm toàn cục biến 27 Hình 2.6 Thuật tốn tìm nghiệm tồn cục cho CSP 28 Hình 2.7 So sánh hai thuật toán 28 Hình 3.1 Thuật tốn tìm nghiệm cục cho tập ràng buộc 49 Hình 3.2 Thuật tốn tìm nghiệm cục cho tập ràng buộc 50 e MỞ ĐẦU Lập trình ràng buộc (Constraint Programming -CP) phát triển mạnh ngôn ngữ lập trình thập kỷ gần Nó xây dựng sở lý thuyết toán học vững chắc, phát triển đặc biệt thu hút quan tâm mạnh mẽ việc áp dụng vào nhiều lĩnh vực kinh tế xã hội Hiện nay, lập trình ràng buộc trở thành phương pháp mơ hình hố cho nhiều toán tối ưu, cụ thể ràng buộc có hỗn tạp tốn tìm kiếm có tính tổ hợp Lập trình ràng buộc khắc phục khó khăn ngơn ngữ trước, hỗ trợ ràng buộc tích hợp triệt để vào ngơn ngữ lập trình, cho phép người lập trình làm việc với tốn mức độ cao hơn, kỹ thuật thực thi mức sử dụng kỹ thuật tích hợp cho ràng buộc Việc đời ngơn ngữ lập trình ràng buộc hệ có khả đáp ứng yêu cầu số lượng lớn ứng dụng nhằm giải toán thực tế đặt đời sống xã hội Trong điều kiện hạ tầng giao thông nước nay, cố ùn ứ, ách tắc giao thông xảy hàng ngày vùng đô thị lớn tuyến đường giao thông huyết mạch Các cố gây nhiều tổn thất nặng nề cho phát triển kinh tế, ảnh hưởng nhiều hoạt động kinh tế xã hội, làm mỹ quan đô thị, ảnh hưởng xấu môi trường… Chính thế, việc nghiên cứu ứng dụng tiến khoa học công nghệ để phục vụ cho việc nhận biết, đánh giá mức độ cố giao thơng để có biện pháp xử lý phịng tránh điều cần thiết cấp bách thực Vấn đề đặt làm cách để nhận biết trước nguy dẫn đến cố giao thơng? Nếu có cố giao thông xảy ra, việc xử lý phân luồng, điều tiết giao thông để đem lại hiệu tốt cho e nhà quản lý cho người tham gia giao thơng? Vì vậy, việc nghiên cứu sở lý thuyết toán học cách mô tả điều kiện ràng buộc giải hệ phương trình ràng buộc đó, kết hợp ứng dụng qua thuật tốn, kỹ thuật lập trình tiên tiến hướng khả quan để giải vấn đề mà xã hội đặt Trên tảng kiến thức truyền đạt từ Nhà trường, từ giáo viên Khoa Công nghệ thông tin, kết hợp hướng dẫn, tạo điều kiện thuận lợi Giáo viên hướng dẫn, Tôi xác định chọn cho lĩnh vực nghiên cứu với đề tài: “Lập trình ràng buộc với tốn hỗ trợ phân luồng giao thông” Hy vọng rằng, đề tài nghiên cứu đóng góp thêm giải pháp để quan quản lý, doanh nghiệp lựa chọn sử dụng đáp ứng yêu cầu thực tế xã hội Đối tượng nghiên cứu sở lý thuyết lập trình ràng buộc, thuật tốn giải toán thõa mãn ràng buộc, toán đặt hệ thống hạ tầng giao thông đường nay; đối tượng, phương tiện tham gia giao thông đường bộ; quy tắc, điều kiện ràng buộc liên quan đến hoạt động giao thông vận tải đường Phạm vi nghiên cứu: ứng dụng lý thuyết lập trình ràng buộc, thuật tốn giải tốn thỏa mãn ràng buộc; thu thập thơng tin, liệu chuyên môn liên quan đến lĩnh vực giao thơng vận tải đường địa bàn tỉnh Bình Định; phân tích, xử lý đưa kết xử lý đạt hiệu tối ưu e 55 'x+0.2',1 }; DomainRange=[0 100000000 100000000 100000000 ]; lb=[DomainRange(1,1), DomainRange(2,1), DomainRange(3,1)]; ub=[DomainRange(1,2), DomainRange(2,2), DomainRange(3,2)]; NumberOfVar=3; case var_name={'x','y'}; fx={ 'y-0.25*(x-1)*(x-1)-1',-1 'y-0.25*(x-5)*(x-5)-1',-1 'y-5+0.25*(x-1)*(x-1)',-1 'y-5+0.25*(x-5)*(x-5)',-1 }; DomainRange=[0 50 50 ]; lb=[DomainRange(1,1), DomainRange(2,1)]; ub=[DomainRange(1,2), DomainRange(2,2)]; NumberOfVar=2; case var_name={'x','y','z','u','v','w','r','s','t'}; varDiscrete_name={'a','b','c','d','e'}; fx={ 'z-y-100-80000',1 't-(z*1.06)*1.1*0.000434*30-(z+16000)*0.0014715',1 }; fxhybrid={ e 56 'z-y-100*a-80000',1 't-(z*1.06)*1.1*0.000434*30-(z+16000)*0.0014715',1 'b-t/x',1 'b-t/x-1',-1 'b-2*a',-1 'b-a',1 }; DomainRange=[100 400 300 500 80000 500000 100000 ]; lb=[DomainRange(1,1), DomainRange(2,1), DomainRange(3,1) DomainRange(4,1)]; ub=[DomainRange(1,2), DomainRange(2,2), DomainRange(3,2) DomainRange(4,2)]; NumberOfVar=6; NumberOfVarofDiscrete=2; DomainDiscrete=[3 6 8]; End //Thuật toán tìm max biến ràng buộc [funitem_no,funitem_width] = size(fx); fields = {'Functionitem', 'Relation'}; Fun_S = cell2struct(fx, fields, funitem_width); minvar=[]; maxvar=[]; for i=1:NumberOfVar maxvar(i)=ub(i); minvar(i)=lb(i); e 57 ubi(i)=ub(i); lbi(i)=lb(i); minvarnew(i)=lb(i); maxvarnew(i)=ub(i); end for i=1:NumberOfVar fprintf('%s = [%.2f, %.2f]\n',var_name{i},minvar(i),maxvar(i)); end for var_no=1:NumberOfVar Intersect2BoundP(var_no).Value=[]; Bound(var_no).Value=DomainRange(var_no,:); old_Bound(var_no).Value=[]; RecordP(var_no).Value=Bound(var_no).Value; end Qcheck=[]; Rcheck=[]; RunningTotal_Intime=clock; for item_no1=1:funitem_no Q = push(Q,Fun_S(item_no1).Functionitem); Qcheck=push(Qcheck,Fun_S(item_no1).Functionitem); R = push(R,Fun_S(item_no1).Relation); Rcheck=push(Rcheck,Fun_S(item_no1).Relation); end aeq=[]; beq=[]; fprintf(‘Hàng đợi chứa ràng buộc\n'); for i=1:length(Q) fprintf('%s\n',Q{i}); fprintf('%d\n',R{i}); end e 58 fprintf(' \n'); var_no=1; while (var_no=5) v=value(5); end if(ConsType==0) ceq=eval(fun); else if(ConsType==1) [funitem_height, funitem_no] = size(fun); for item_no=1:funitem_no ceq(item_no)=eval(fun); end end end return; end switch test e 65 case cin=[]; ceq=[x(1)+32-x(3); x(2)*1.8-x(1); x(3)-32-x(1)]; ase cin=[0.25*(x(1)-1)^2-x(2)+1; 0.25*(x(1)-5)^2-x(2)+1; 0.25*(x(1)-1)^2+x(2)-5; 0.25*(x(1)-5)^2+x(2)-5]; ceq=[]; case cin=[]; ceq=[x(1)^2-2*x(1)+x(2)^2+4*x(2)+1; -x(1)+1.5*x(2)+3; -x(1)-2.5*x(2)-7]; end Một số kết đạt áp dụng thuật toán: e 66 Kết hệ ràng buộc [19] sau áp dụng thuật toán [19] Variables Local Consistency DoB {2;3;4;5;6} FuelType {0;1;2} Duration {0;1;10;50} PofMCR [0,100] energyUse [ 0.0000,1000.0000] SpecFuelUse {100; 500} CorrNOx [0.60, 0.60] efHC [0.000001,15.467280] efCO [0.000001,70.992000] efNOx [0.000001,7.745200] efPM [0.000001,4.112164] D [ 0.0010, 0.6320] Rho [ 0.7001, 2.0000] J [ 0.0001, 0.9493] n [ 0.0001, 50.0000] VA [ 0.0001, 30.0000] T [ 0.0001,10000.0000] Q [ 0.0001,10000.0000] n0 [ 0.0001, 1.0000] Kt [ 0.0063, 1.0000] Kq [ 0.0010, 1.0000] e 67 KẾT LUẬN VÀ KIẾN NGHỊ Dựa vào sở khoa học ràng buộc thõa mãn ràng buộc, kết hợp với thuật giải thể qua ngơn ngữ lập trình tiên tiến, hồn tồn sử dụng cơng cụ máy tính để giải đáp nhiều vấn đề ràng buộc sống thực tế Trong giới hạn Luận văn này, toán hỗ trợ phân luồng giao thơng vừa trình bày thể thêm cách nhìn, cách giải vấn đề thực tế dựa số yếu tố ràng buộc chủ yếu mà thân tìm hiểu Trong thực tế, cịn nhiều yếu tố ràng buộc khác toán Tuy nhiên, với hướng tiếp cận xử lý này, nghiên cứu sâu hơn, sở hỗ trợ cho tổ chức, doanh nghiệp xây dựng ứng dụng có khả cung cấp nhiều thơng tin cho người dùng Chẵn hạn, ứng dụng cung cấp cho người điều khiển phương tiện tham gia giao thông nhiều lựa chọn khả thi tính tốn, đề xuất cho họ phương án tối ưu để hoàn thành chuyến hành trình an tồn, đạt hiệu quả; cung cấp thông tin cho quan quản lý hạ tầng giao thông, quan theo dõi điều tiết giao thơng có khả nhận biết cố giao thơng, dự đốn tình giao thơng để kịp thời đưa giải pháp phòng tránh, xử lý sớm Tuy nhiên, thời gian làm việc với luận văn tốt nghiệp giải toán Phân luồng giao thông dựa ràng buộc chưa xây dựng hết ràng buộc có hệ thống, chưa có đánh giá phương pháp giải toán ràng buộc điểm cực trị với phương pháp khác để chứng minh tính khả thi, tính đắn đặc biệt cần tính tối ưu sử dụng phương pháp giải toán ràng buộc phân luồng giao thông Trong tương lai, chúng tơi phát triển tiếp hạn chế có để việc ứng dụng lý thuyết lập trình ràng buộc, luận văn nghiên cứu, có nhiều hội sử dụng, ứng dụng rộng rãi nhiều lĩnh vực đời sống xã hội nghiên cứu khoa học e 68 DANH MỤC TÀI LIỆU THAM KHẢO [1] Nguyễn Thanh Thủy (1996), “Trí tuệ nhân tạo: Các phương pháp giải vấn đề”, NXB Giáo dục Việt Nam [2] Trương Công Tuấn Trần Thị Ngọc Trang (2009), Ngữ nghĩa thủ tục chương trình ràng buộc, Tạp chí khoa học Số 53, Đại học Huế [3] Quốc hội (2008) Luật số: 23/2008/QH12 - Luật Giao thông đường [4] Bộ Giao thông vận tải (2015), Thông tư 46/2015/TT-BGTVT quy định tải trọng, khổ giới hạn đường bộ; lưu hành xe tải trọng, khổ giới hạn, xe bánh xích đường bộ; vận chuyển hàng siêu trường, siêu trọng; giới hạn xếp hàng hóa phương tiện giao thơng đường tham gia giao thông đường [5] Bộ Giao thông vận tải (2015), Thông tư 91/2015/TT-BGTVT, quy định tốc độ khoảng cách an toàn xe giới, xe máy chuyên dùng tham gia giao thơng đường [6] Ủy ban nhân dân tỉnh Bình Định (2008), Quyết định 359/QĐ-UBND ngày 10/6/2008 việc phê duyệt xếp loại đường 2008 địa bàn tỉnh Bình Định [7] Sở Giao thơng vận tải Bình Định (2016), Quyết định 509/QĐ-SGTVT ngày 24/12/2016 việc công bố tải trọng cầu, khổ giới hạn đường hệ thống đường tỉnh địa bàn tỉnh Bình Định [8] Sở Giao thơng vận tải Bình Định (2017), Bảng kê tuyến quốc lộ, tỉnh lộ Bình Định ranh giới địa phương [9] Sở Giao thông vận tải (2018), Bảng kê chi tiết tuyến đường huyện Bình Định [10] Sở Giao thơng vận tải Bình Định (2017), Bảng kê chi tiết hệ thống cầu tuyến quốc lộ qua tỉnh Bình Định [11] Sở Giao thơng vận tải Bình Định (2017), Bảng kê chi tiết hệ thống cầu tuyến tỉnh lộ Bình Định e 69 [12] Chia-Yu Hsua, Bo-Ruei Kao, Van Lam Ho, Lin Li, K Robert Lai, “An agent-based fuzzy constraint-directed negotiation model for solving supply chain planning and scheduling problems”, Applied Soft Computing 48, 703-715, 2016 [13] Chia-Yu Hsu, Bo-Ruei Kao, Van Lam Ho, K Robert Lai, “Agentbased fuzzy constraint-directed negotiation mechanism for distributed job shop scheduling”, Engineering Applications of Artificial Intelligence 53, 140-154, 2016 [14] Van Lam Ho, Thanh Tran Thien, Doan Thi Thu Cuc, “LandmarkBased Approximate Inference Algorithms for Hybrid Constraint Satisfaction Problems” National Symposium of Selected ICT Problems 2017, [15] Van Lam Ho, Tran Thien Thanh, Tran Hoang Viet, Truong Thanh Son, “Combination Landmark-Based and Self-Stabilizing Algorithm for Solving Constraint Satisfaction Problems” National Symposium of Selected ICT Problems 2018, [16] Van Lam Ho, K Robert Lai, “A Fast Filtering Algorithm for Continuous Constraint Satisfaction Problems”, RIVF 2019 IEEE Xplore, March 2019 [17] P.Van Beek and T.Walsh, 2006, “Handbook of Constraint Programming” Edited by F.Rossi, Elsevier B.V.All rights resered [18] Edward Tsang, 1996, Foundation of Constraint Satissfaction, Department of Computer Science University of Essex, Colchester Essex, UK [19] Larroudé, V., et al., 2013 Constraint Based Approach for The Steady- state Simulation of Complex Systems: Application to Ship Control Engineering Applications of Artificial Intelligence, 26(1): p 499-514 e ... tế phân luồng giao thông 34 3.1.2 Xây dựng ràng buộc từ yêu cầu toán 36 3.2 Giải pháp giải toán ràng buộc phân luồng giao thông 49 3.3 Cài đặt thuật toán giải toán phân luồng giao thông. .. đổi thông tin e 34 Chương ỨNG DỤNG LẬP TRÌNH RÀNG BUỘC CHO BÀI TỐN HỖ TRỢ PHÂN LUỒNG GIAO THƠNG 3.1 Giới thiệu tốn 3.1.1 Mơ tả tốn thực tế phân luồng giao thông Trong thời gian gần đây, với q trình. .. người lập trình thực việc định nghĩa ràng buộc họ từ ràng buộc cở sở trang bị Vì lý này, việc hiểu CP công việc liên quan đến ngôn ngữ lập trình ràng buộc e Đặc tính bật lập trình ràng buộc ràng buộc

Ngày đăng: 27/03/2023, 06:39

Tài liệu cùng người dùng

Tài liệu liên quan