kết hợp một số phương pháp heuristic giải bài toán tối ưu đa mục tiêu

58 765 0
kết hợp một số phương pháp heuristic giải bài toán tối ưu đa mục tiêu

Đ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

Số hóa bởi trung tâm học liệu http://www.lrc-tnu.edu.vn/ 1 ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG NGUYỄN CHÍ THANH KẾT HỢP MỘT SỐ PHƢƠNG PHÁP HEURISTIC GIẢI BÀI TOÁN TỐI ƢU ĐA MỤC TIÊU LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên, tháng 11 - 2013 Số hóa bởi trung tâm học liệu http://www.lrc-tnu.edu.vn/ 2 ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG NGUYỄN CHÍ THANH KẾT HỢP MỘT SỐ PHƢƠNG PHÁP HEURISTIC GIẢI BÀI TOÁN TỐI ƢU ĐA MỤC TIÊU Chuyên ngành: Khoa học máy tính Mã số: 60 48 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC TS. Vũ Mạnh Xuân Thái Nguyên, tháng 11 -2013 Số hóa bởi trung tâm học liệu http://www.lrc-tnu.edu.vn/ 3 MỞ ĐẦU Nhiều vấn đề cần giải quyết trong đời sống hàng ngày dẫn đến bài toán tối ưu, chẳng hạn như trong sản xuất cần giảm chi phí, tăng giá trị sử dụng, lập lịch sản xuất, Vì vậy, lớp bài toán tối ưu đã được quan tâm nghiên cứu từ lâu và đã đạt được nhiều kết quả. Tuy vậy, các kết quả đạt được chủ yếu là lớp bài toán tối ưu một mục tiêu; đối với lớp bài toán tối ưu đa mục tiêu còn gặp nhiều khó khăn. Các bài toán tối ưu đa mục tiêu là những bài toán có ứng dụng thực tiễn trong rất nhiều lĩnh vực của cuộc sống. Song nhiều khi các mục tiêu cần đạt được có hàm biểu diễn tương tự nhau mà mục tiêu cần đạt lại ngược nhau. Một cách tổng quát có thể nói không có lời giải tối ưu cho những bài toán dạng này, một cách đơn giản vì các lời giải không so sánh được với nhau. Có thể lời giải này tốt ở mục tiêu này lại kém ở mục tiêu kia. Từ đó xuất hiện khái niệm “trội” đối với các lời giải và dẫn đến khái niệm “tối ưu Pareto”. Đề tài này hướng tới việc phát triển những kỹ thuật tính toán, chủ yếu là tính toán tiến hoá và các thuật toán lai trong tối ưu đa mục tiêu và cố gắng gắn nó với các mô hình bài toán cụ thể. Được sự đồng ý của Hội đồng Khoa học trường Đại học Công Nghệ Thông Tin và Truyền Thông – Đại học Thái Nguyên, cùng sự hướng dẫn của TS Vũ Mạnh Xuân, em chọn đề tài khóa luận “Kết hợp một số phương pháp Heuristic giải bài toán tối ưu đa mục tiêu” nhằm nghiên cứu một phương pháp tiếp cận khác để giải bài toán tối ưu đa mục tiêu đó là kết hợp một số phương pháp như giải thuật di truyền kết hợp với chiến lược tiến hoá và giải thuật mô phỏng tôi luyện. Mục đích nghiên cứu: tìm hiểu bài toán, một số phương pháp giải bài toán tối ưu đa mục tiêu, tìm hiểu giải thuật di truyền, chiến lược tiến hoá và Số hóa bởi trung tâm học liệu http://www.lrc-tnu.edu.vn/ 4 giải thuật mô phỏng tôi luyện trên cơ sở đó kết hợp các phương pháp này để giải bài toán tối ưu đa mục tiêu. Nội dung của đề tài: gồm 3 chương 1) Chương 1. Tổng quan về bài toán tối ưu đa mục tiêu 2) Chương 2. Tìm hiểu một số phương pháp Heuristic 3) Chương 3. Kết hợp các phương pháp Heuristic giải bài toán tối ưu đa mục tiêu. Để tiến hành nghiên cứu đề tài này, em đã sử dụng phối hợp một số phương pháp như: phương pháp nghiên cứu tài liệu (nghiên cứu tài liệu về các giải thuật di truyền (GA), chiến lược tiến hoá (ES), giải thuật mô phỏng tôi luyện (SA), bài toán tối ưu đa mục tiêu, ngôn ngữ lập trình matlab 7.0); phương pháp lấy ý kiến chuyên gia (giáo viên hướng dẫn, tham khảo trên mạng). Khi thực hiện đề tài này, bước đầu em đã tìm hiểu được một số phương pháp giải bài toán tối ưu đa mục tiêu, một số vấn đề về giải thuật di truyền, chiến lược tiến hoá, giải thuật mô phỏng tôi luyện. Kết quả là đã nghiên cứu một kỹ thuật kết hợp giữa giải thuật di truyền, chiến lược tiến hoá và giải thuật mô phong tôi luyện để giải bài toán tối ưu đa mục tiêu và đã lập trình thử nghiệm trên một số bài toán cụ thể. Số hóa bởi trung tâm học liệu http://www.lrc-tnu.edu.vn/ 5 CHƢƠNG 1. TỔNG QUAN VỀ BÀI TOÁN TỐI ƢU ĐA MỤC TIÊU Chương này trình bày những nghiên cứu cơ bản về bài toán tối ưu đa mục tiêu; những khái niệm cần thiết và điểm qua một số phương pháp giải đã biết làm cơ sở cho những chương sau. 1.1 . Bài toán tối ƣu đa mục tiêu Trong nhiều ứng dụng thực tế gắn liền với việc thiết kế và kế hoạch hóa trong các ngành kinh tế - kĩ thuật, điều khiển các hoạt động sản xuất, chúng ta thường gặp những bài toán liên quan đến việc phân tích, lựa chọn phương án tốt nhất thoả mãn nhiều mục tiêu khác nhau. Đó là bài toán tối ưu đa mục tiêu. Có thể mô tả mô hình toán học của bài toán đa mục tiêu là: Có k hàm mục tiêu ký hiệu là Y 1 , Y 2 , …, Y k với Y i : D  R là những hàm; mỗi X = (x 1 , …, x n ) D (D R n ) gọi là một phương án; D gọi là tập các phương án chấp nhận được; Vấn đề đặt ra là phải tìm được một X 0 làm tối ưu hoá (cực đại hoặc cực tiểu) đồng thời các giá trị hàm Y 1 , Y 2 , …, Y k . Nếu tìm được X 0 như vậy thì X 0 gọi là phương án tối ưu. Song khả năng tồn tại X 0 như vậy là rất hiếm vì các hàm mục tiêu Y i thường không hoàn toàn độc lập với nhau. Chính vì vậy việc nghiên cứu lớp bài toán tối ưu đa mục tiêu là rất kho khăn mặc dù có ý nghĩa thực tiễn cao. 1.2. Một số khái niệm Có thể phát biểu bài toán tối ưu đa mục tiêu tổng quát như sau: Y( x) min(max) (1.1) n RDx (1.2) Trong đó: k k RxYxYxY ))(), ,(()( 1 gọi là vectơ mục tiêu. x gọi là phương án (vectơ quyết định). D gọi là tập các phương án. k YY , , 1 gọi là các hàm mục tiêu. Các bài toán tối ưu đa mục tiêu thường có nhiều hàm mục tiêu với các ràng buộc khác nhau và các lời giải khác nhau. Các lời giải này thường không so sánh được với nhau. Vì vậy người ta đưa ra tập lời giải tối ưu Pareto. Số hóa bởi trung tâm học liệu http://www.lrc-tnu.edu.vn/ 6 Tập nghiệm tối ưu Pareto Các bài toán tối ưu đa mục tiêu hầu hết đều liên quan đến tập các lời giải tối ưu Pareto, nó xuất phát từ việc bài toán đa mục tiêu có nhiều hàm mục tiêu với các ràng buộc khác nhau, thậm chí các mục tiêu đôi khi đối lập nhau. Nhiều lời giải không thể so sánh được với nhau, vì có lời giải tốt cho mục tiêu này nhưng lại xấu cho mục tiêu khác. Có thể minh hoạ điều này trong bài toán cần cực tiểu tỷ lệ rủi ro và giá trong hình 1.1 sau: Trong hình trên, với các điểm A và B không thể nói điểm nào tốt hơn, A có giá trị nhỏ hơn song lại có tỷ lệ rủi ro cao hơn B. Các điểm như vậy tạo thành tập lời giải tối ưu Pareto. Tuy nhiên cũng có những lời giải mà có thể so sánh và chọn được lời giải tốt hơn, chẳng hạn như điểm B tốt hơn so với C trong hình trên. Như vậy trong tối ưu đa mục tiêu thường tồn tại nhiều lời giải chứ không duy nhất như trường hợp một mục tiêu. Dễ dàng thấy bài toán tìm max có thể chuyển tương ứng về bài toán tìm min. Vì vậy sau đây ta chỉ xét bài toán tìm min. Định nghĩa 1.1 (a) Cho hai phương án quyết định x,y D . Khi đó, phương án x được gọi là trội hơn phương án y ( kí hiệu xyp ), nếu ta có: Y( x ) Y( y ) và Y( x ) Y( y ) , y còn được gọi là bị trội bởi x. Nếu ngược lại, y được gọi là không bị trội bởi x. Hình 1.1. Minh hoạ tập Pareto Số hóa bởi trung tâm học liệu http://www.lrc-tnu.edu.vn/ 7 (b) Một phương án n x R được gọi là nghiệm Pareto tối ưu ( hay điểm Pareto) nếu không có n y R mà y trội hơn x. Tập tất cả các nghiệm Pareto tối ưu gọi là tập Pareto tối ưu. (c) Một phương án n x R là nghiệm Pareto tối ưu yếu nếu không tồn tại n y R mà Y( y ) Y( x ) . Nếu bài toán tối ưu đa mục tiêu có nghiệm được gọi là tối ưu theo một cách định nghĩa nào đó thì không phụ thuộc vào cách định nghĩa đã chọn, nghiệm tối ưu đó phải là một phương án Pareto tối ưu (tức là, nghiệm đó phải thuộc tập Pareto tối ưu). Trên thực tế, việc tìm tập lời giải Pareto của các bài toán tối ưu đa mục tiêu là khó khăn và thường ít thực hiện được. Vì vậy, một số chiến lược tìm kiếm ngẫu nhiên (như thuật toán tiến hóa, phương pháp vùng cấm, mô phỏng luyện kim,…) đã được phát triển. Măc dù các chiến lược này thường không đảm bảo xác định chính xác tập tối ưu Pareto, nhưng đều cố gắng tìm ra một tập xấp xỉ tốt, tức là 1 tập các phương án mà vectơ mục tiêu không quá xa mục tiêu tối ưu Pareto. Định nghĩa 1.2 Cho k k , , R (a) Với n x,y R . x được gọi là trội hơn y ( kí hiệu xyp )nếu (i) i i i Y x Y y i , ,k Và (ii) j j j Y x Y y tại ít nhất một j , ,k . (b) Một tập n F R được gọi là một tập xấp xỉ Pareto nếu mọi điểm n x R đều là bị trội bởi ít nhất một yF , tức là: n x , y F : y xpR . (c) Một tập *n F R được gọi là một tập Pareto nếu * F là một tập xấp xỉ Pareto và mọi điểm thuộc * F đều là điểm Pareto. Số hóa bởi trung tâm học liệu http://www.lrc-tnu.edu.vn/ 8 Nói chung việc giải bài toán tối ưu đa mục tiêu thường hướng đến hai điều sau: 1) Đưa ra được nhiều phương án tối ưu Pareto 2) Các phương án này càng đa dạng và phủ tương đối đều khắc miền D càng tốt. Sau đây ta sẽ trình bày một số phương pháp giải bài toán tối ưu đa mục tiêu đã biết. 1.3. Một số phƣơng pháp giải Có nhiều phương pháp để giải bài toán tối ưu đa mục tiêu như: phương pháp nhượng bộ dần, phương pháp tìm nghiệm có khoảng cách ngắn nhất đến nghiệm lý tưởng, phương pháp giải theo dãy mục tiêu đã được sắp xếp, phương pháp trọng số, , nhưng trong phạm vi nghiên cứu của đề tài chỉ trình bày một số phương pháp giải sau: 1.3.1. Phương pháp nhượng bộ dần Phương pháp này dẫn đến việc tìm một lời giải thỏa hiệp tốt nhất tức là tìm nghiệm x* mà theo ý thích của người nhận lời giải thì x D: x*  x hoặc x* ~ x. Thuật toán giải: Bƣớc 0: Giải k bài toán l mục tiêu riêng rẽ . Sau đó lập bảng thưởng phạt (trong đó x i là phương án tối ưu . 0 i Y là giá trị tối ưu). Số hóa bởi trung tâm học liệu http://www.lrc-tnu.edu.vn/ 9 Bảng 1.1: Bảng thưởng phạt. Hàm mục tiêu Phương án Y 1 Y 2 … Y k X 1 Y 1 0 Y 2 (X 1 ) Y k (X 1 ) X 2 Y 2 0 … X k Y k 0 Bƣớc 1: Căn cứ vào bảng thưởng phạt và Y 1 0 , người nhận lời giải bắt Y 1 phải nhượng bộ một lượng Y 1 và giải bài toán: Max Y 2 (x) x D Y 1 (x) Y 1 0 - Y 1 Giả sử Y 2 * là giá trị tối ưu của bài toán, chuyển sang bước 2. Bƣớc 2: Người nhận lời giải căn cứ vào Y 2 0 và Y 2 * , bắt Y 2 nhượng bộ 1 lượng Y 2 và giải bài toán: Max Y 3 (x) x D Y 1 (x) Y 1 0 - Y 1 Y 2 (x) Y 2 * - Y 2 Giả sử Y 3 * là giá trị tối ưu của bài toán, chuyển sang bước tiếp theo: Bƣớc k: Căn cứ vào Y k-1 0 và Y k-1 * , bắt Y k-1 nhượng bộ 1 lượng Y k-1 và giải: Max Y k (x) x D Y 1 (x) Y 1 0 - Y 1 Y 2 (x) Y 2 * - Y 2 … Y k-1 (x) Y k-1 * - Y k-1 Số hóa bởi trung tâm học liệu http://www.lrc-tnu.edu.vn/ 10 Nghiệm cuối cùng của bài toán này lấy làm nghiệm cho bài toán xuất phát. 1.3.2. Phương pháp tìm nghiệm có khoảng cách ngắn nhất đến nghiệm lý tưởng Ở đây giá trị hàm lợi ích tỉ lệ với khoảng cách từ phương án x D đến cái gọi là nghiệm lý tưởng. Phương án 21 xx  khi và chi khi x 1 gần nghiệm lý tưởng hơn x 2 . Giả sử x 1, x 2 R n . Khoảng cách giữa hai điểm x 1 , x 2 là một số d α xác định bởi d α = n i i ixx 1 21 Với x 1 = (x 1 1,…, x 1 n ); x 2 = (x 2 1,…, x 2 n ) α là tham số (α >=1) Số d α có tính chất: d ∞ d α d 1 Với d ∞ = lim d ∞ = max 12 1i xx , i = 1, , n. Bài toán tối ưu đa mục tiêu max xD Y( x ) x * là nghiệm lý tưởng ta hiểu ở đây là một nghiệm (nói chung không nhất thiết là phương án chấp nhận được), mà tại đó giá trị của mỗi hàm mục tiêu riêng rẽ đều đạt cực đại. Giả sử Y* là các giá trị tối ưu của từng mục riêng rẽ (Y* i = max Y( x )). Khi đó giá trị của hàm mục tiêu Y tại x* là : (Y* 1 ,…,Y* k ) và khoảng cách từ một phương án x đến nghiệm lý tưởng xác định bởi: d = k i ii YXY 1 * )( Bài toán cực tiểu khoảng cách đến nghiệm lý tưởng là: min α k i ii YxY 1 * )( (1.3) x D (1.4) [...]... những vấn đề tổng quan và một số phương pháp giải bài toán tối ưu đa mục tiêu Số hóa bởi trung tâm học liệu 17 http://www.lrc-tnu.edu.vn/ Chƣơng 2: MỘT SỐ PHƢƠNG PHÁP HEURISTIC Chương này giới thiệu những vấn đề khái quát về giải thuật di truyền (GA), chiến lược tiến hoá (ES) và giải thuật mô phỏng tôi luyện (SA) làm cơ sở cho việc ứng dụng giải bài toán tối ưu đa mục tiêu 2.1 Giải thuật di truyền (GA... bài toán một mục tiêu sau: k min x D wi * f i (1.7) i 1 w=(w1, ,wk) còn được gọi là véc tơ trọng số của các hàm mục tiêu tương ứng Thông thường, người ta chọn các trọng số wi thoả mãn k 0 wi 1 và wi 1 i 1 Bài toán (1.7) là một bài toán tối ưu một mục tiêu, phụ thuộc trọng số Đặc biệt nếu mọi fi (i=1, ,k) là các hàm tuyến tính thì ta có một bài toán quy hoạch tuyến tính phụ thuộc tham số ở hàm mục tiêu. .. trị tối ưu của bài toán tìm hướng và giá trị hàm lợi ích Tăng i lên một đơn vị và chuyển về bước 3 Thuật toán kết thúc sau không quá k lần lặp 1.3.5 Thuật toán thích nghi ổn định tối ưu hoá vectơ Bài toán quy hoạch đa mục tiêu được hiểu như là bài toán tối ưu hoá vectơ: x D Rn Y1 ( x), , Yk ( x) Các Y1(x) biểu hiện độ tốt xấu của x theo nghĩa nào đó Ta xét bài toán max Giả thiết x0 D là vectơ tối ưu. .. vọng toán học) Người ta mở rộng bài toán trên và đưa ra một thuật toán giải nó Hàm lợi ích trong trường hợp này không thể hiện một cách tường minh mà người nhận lời giải ngụ ý rằng trên D có một hàm ý thích Còn quan hệ , ~ được rút ra thông qua việc so sánh các hàm mục tiêu 1.3.6 Phương pháp trọng số Xét bài toán (1.1), giả sử các hàm mục tiêu f i có độ quan trọng lần lượt là wi (i=1 k) Khi đó, bài toán. .. phù hợp đánh giá khả năng phù hợp của tập lời giải theo yêu cầu bài toán Hàm này được xây dựng cho từng bài toán với yêu cầu cụ thể Thông thường trong các bài toán tối ưu hàm này chính là hàm mục tiêu của bài toán 2.1.2.4 Các toán tử di truyền a Toán tử chọn lọc Trong quá trình thực hiện của giải thuật di truyền, sau mỗi lần tiến hoá ta chỉ giữ lại các cá thể có độ phù hợp cao còn các cá thể phù hợp. .. Các vấn đề cơ bản của giải thuật di truyền 2.1.2.1 Mã hóa Việc mô tả di truyền cho lời giải cho bài toán gồm hai phần cơ bản: + Xây dựng cấu trúc gen cho mỗi lời giải của bài toán để từ mỗi lời giải ta có thể mã hoá thành một NST (chuỗi các gen) + Giải mã các NST để nhận được lời giải Đây là vấn đề cần giải quyết trước khi giải bài toán với GA Tuỳ thuộc vào nội dung của mỗi bài toán mà ta có cách mã... i 1 i 1 1.3.3 Phương pháp giải theo dãy mục tiêu đã được sắp xếp Theo phương án này hàm lợi ích được thể hiện dưới dạng ẩn Còn việc xác định quan hệ  , ~ dựa trên thứ tự dãy tiêu chuẩn Ở đây thứ tự của dãy thể hiện mức độ quan trọng của dãy tiêu chuẩn, có sự ưu tiên tuyệt đối cho các mục tiêu đứng trước Thuật toán: Bƣớc 0: Sắp xếp thứ tự các mục tiêu Y1,…,Yk Bƣớc 1: Giải bài toán: max Y1(... trường Giải thuật di truyền (GA-Genetic Algorithms) là giải thuật tìm kiếm, chọn lựa các giải pháp tối ưu để giải quyết các bài toán thực tế khác nhau, dựa trên cơ chế chọn lọc của tự nhiên: từ tập lời giải ban đầu, thông qua nhiều bước tiến hoá, hình thành tập lời giải mới phù hợp hơn, và cuối cùng dẫn đến lời giải tối ưu toàn cục Trong tự nhiên, mỗi cá thể muốn tồn tại và phát triển phải thích nghi Số. .. http://www.lrc-tnu.edu.vn/ Trong phần này ta quan tâm tới giải thuật di truyền mã hóa số thực (RCGA) để giải các bài toán tối ưu giá trị thực trong không gian Rn và không có các ràng buộc đặc biệt Một cách tổng quát, bài toán tối ưu số thực có thể xem là một cặp (S,f), trong đó S Rn và f : S x=(x1,x2, , xn) y S phải có f(x) R là một hàm n biến Bài toán đặt ra là tìm véctơ S sao cho f(x) đạt giá trị cực tiểu trên S... Khi đó bài toán đã cho chuyển về bài toán min{0.4 f1+ 0.2f2 + 0.4f3} Số hóa bởi trung tâm học liệu 16 http://www.lrc-tnu.edu.vn/ * Trọng số được chọn một cách ngẫu nhiên (theo xác suất) Các trọng số wi của các hàm mục tiêu tương ứng được chọn một cách ngẫu nhiên Thường các wi cũng là các trọng số không âm và wi 1 (i = 1, ,k) Ở đây quan hệ trội được rút ra thông qua việc so sánh hàm mục tiêu (1.7) Kết . luận Kết hợp một số phương pháp Heuristic giải bài toán tối ưu đa mục tiêu nhằm nghiên cứu một phương pháp tiếp cận khác để giải bài toán tối ưu đa mục tiêu đó là kết hợp một số phương pháp. giải bài toán tối ưu đa mục tiêu. Nội dung của đề tài: gồm 3 chương 1) Chương 1. Tổng quan về bài toán tối ưu đa mục tiêu 2) Chương 2. Tìm hiểu một số phương pháp Heuristic 3) Chương 3. Kết hợp. được một số phương pháp giải bài toán tối ưu đa mục tiêu, một số vấn đề về giải thuật di truyền, chiến lược tiến hoá, giải thuật mô phỏng tôi luyện. Kết quả là đã nghiên cứu một kỹ thuật kết hợp

Ngày đăng: 22/11/2014, 21:34

Từ khóa liên quan

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

Tài liệu liên quan