1. Trang chủ
  2. » Tất cả

0926 sử dụng giải thuật tối ưu hóa rừng cây rời rạc cho bài toán lập lịch các công việc độc lập trong lưới tính toán với tìm kiếm cục bộ

12 4 0

Đ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Ử DỤNG GIẢI THUẬT TỐI ƯU HÓA RỪNG CÂY RỜI RẠC CHO BÀI TOÁN LẬP LỊCH CÁC CÔNG VIỆC ĐỘC LẬP TRONG LƯỚI TÍNH TOÁN VỚI TÌM KIẾM CỤC BỘ ĐỖ VĨNH TRÚC* TÓM TẮT Lưới tính toán (Computational Grid CG) là bài[.]

Đỗ Vĩnh Trúc TẠP CHÍ KHOA HỌC ĐHSP TPHCM _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ SỬ DỤNG GIẢI THUẬT TỐI ƯU HÓA RỪNG CÂY RỜI RẠC CHO BÀI TỐN LẬP LỊCH CÁC CƠNG VIỆC ĐỘC LẬP TRONG LƯỚI TÍNH TỐN VỚI TÌM KIẾM CỤC BỘ ĐỖ VĨNH TRÚC* TĨM TẮT Lưới tính tốn (Computational Grid-CG) tốn xuất gần Việc lập lịch (scheduling) với công việc độc lập (independent jobs) CG với mục tiêu cực tiểu makespan tốn khó hấp dẫn Đề tài giới thiệu thuật toán tối ưu hóa rừng (Forest Optimization Algorithm – FOA) [5] có hiệu chỉnh áp dụng để giải tốn lập lịch cơng việc độc lập lưới tính tốn với mục tiêu cực tiểu hóa makespan (thời gian bắt đầu kết thúc công việc) Kết cho thấy FOA áp dụng tốt cho việc giải tốn tối ưu hóa Từ khóa: giải thuật tối ưu hóa rừng cây, lưới tính tốn, cơng việc độc lập, lập lịch, makespan ABSTRACT Using discrete forest optimization algorithm for independent jobs scheduling on computational grids with local search Computational Grid (CG) is a new problem that has appeared recently Independent jobs scheduling on CG with the goal of minimizing makespan is a very difficult but fascinating problem This topic introduces hybrid FOA (Forest Optimization Algorithm) [5] to solve the independent jobs scheduling on CG with the goal of minimizing makespan The results show that FOA is also a good algorithm for solving the optimization problem Keywords: FOA, Computational grid, Independent job, Scheduling, Makespan Giới thiệu Một CG hệ tính tốn phân tán theo địa lí bao gồm tập hợp tài nguyên máy tính đa dạng, quy mô rộng lớn độc lập [8], [15], [4], [2], chúng nối kết với mạng băng thông cao [3] Việc chia sẻ cơng việc tính tốn ứng dụng tính tốn lưới Trong CG, nguồn tài ngun động, đa dạng thêm vào rút lúc CG coi tiếp cận hiệu để giải ứng dụng giới thực phân tán, quy mô lớn [12] Lập điều độ mơi trường CG, có nghĩa phân bổ công việc cho tài nguyên * ThS, Đại học Quốc tế, ĐHQG TPHCM; Email: dvtruc@gmail.com tính tốn lưới, cơng việc quan trọng nhiệm vụ tính tốn khó khăn chí cơng việc độc lập [15] yêu cầu thực tế Xét toán lập lịch tính tốn lưới cho cơng việc độc lập [12], [9] Với số lượng n công việc (job) m máy móc (machine) cho trước, mục tiêu tìm giải pháp tối ưu để phân bổ cơng việc cho máy nhằm cực tiểu hóa makespan Cmax=max{Ci}, với Ci thời gian hoàn thành máy i=1,…m Trong tốn này, cơng việc xử lí máy máy xử lí cơng việc thời điểm Các giả định cơng việc độc lập khơng có ưu tiên Braun cộng [13], so sánh 11 heuristics cho lập lịch tính tốn lưới (Grid Computating Scheduling- GCS) với công việc độc lập Một tập liệu lớn [13] phát triển dựa ma trận thời gian kì vọng cho tính tốn (Expected Time to Compute-ETC) nhằm đánh giá hiệu suất heuristics đề xuất Từ thực nghiệm dựa GA, [13] cung cấp hiệu suất tốt hầu hết trường hợp, mà heuristic Min-Min phương pháp tốt để nhanh chóng tạo giải pháp với makespan ngắn hợp lí Hai tác giả Page Naughton [10] đề xuất phương pháp GA khác cho GCS có sử dụng danh sách heuristic lập lịch để khởi tạo tổng thể ngẫu nhiên ban đầu tốt Các toán tử đột biến đề xuất chuyên biệt hóa nhằm cải thiện hiệu suất GA Ritchie Levine [11] phát triển giải thuật tối ưu hóa đàn kiến lai (Hybrid ACO) để lập lịch tính tốn lưới Tìm kiếm Tabu [6] dùng để hoàn thiện giải pháp đạt ACO Các ACO lai tạo đánh giá tốt phương pháp GA heuristics khác Thuật toán cellular memetic (Cellular Memetic Algorithm-CMA) Xhafa cộng [14] giảm thiểu makespan flowtime Heuristics cục khác kiểm tra báo [14] Kết cho thấy CMA cách tiếp cận hiệu cho GCS Xhafa cộng [15] phát triển phương pháp tìm kiếm Tabu cho GCS Chiến lược đa dạng hóa chuyên biệt khác xem xét phương pháp tìm kiếm Tabu nhằm nâng cao hiệu Phương pháp khơng nhanh so với giải thuật Tabu Search [6], ACO lai [11], CMA [14] mà cung cấp lời giải tốt Các heuristics khác đề xuất cho GCS giải thuật luyện kim (Simulated Annealing-SA) [13], GA đấu tranh (Struggle GA-SGA) [14], sufferage, GA lai Gần đây, số phương pháp PSO [8], [7]đã đề xuất để giải tốn GCS với cơng việc độc lập Liu cộng [8] đề xuất phương pháp PSO liên tục (Continuous PSO-CPSO) cho GCS Trong phương pháp này, vị trí tốc độ cá thể biểu diễn ma trận số thực (n×m) Để xây dựng lịch trình vị trí, ma trận phải chuyển đổi thành lịch trình cách gán cho công việc vào máy mà có giá trị chuẩn hóa cao cột tương ứng cơng việc ma trận vị trí Ma trận vị trí phương pháp coi ma trận mờ yếu tố đại diện cho mức độ thành viên công việc máy tương ứng Các thực nghiệm cho thấy CPSO tốt so với SA GA Izakian cộng [7] đưa cách tiếp cận PSO rời rạc (Discrete PSO-DPSO) để lập lịch lưới Trong phương pháp [7], cá thể đại diện ma trận vận tốc số thực cho công việc máy Giá trị vị trí cơng việc/máy cho trước ma trận xác định công việc có liên quan đến máy khác Vị trí cá thể mảng số ngun, vị trí danh sách công việc số nguyên vị trí máy mà cơng việc phân công đến Trong giai đoạn cập nhật cho cá thể này, vận tốc cá thể thay đổi hướng phía vận tốc cá thể tốt toàn cục tốc độ cá thể tốt dựa thành phần xã hội công nhận tự nhận, tương ứng Khi vận tốc cập nhật, vị trí cá thể thiết lập để cơng việc giao cho máy có giá trị cao cột cơng việc ma trận vận tốc Thí nghiệm [7] cho thấy DPSO tốt so với chẩn đoán khác Min-Min, GA, ACO lai [11] Giải thuật tối ưu hóa rừng [5] 2.1 Giới thiệu Giải thuật FOA bao gồm ba giai đoạn chính: 1- Gieo mầm cục 2- Giới hạn quần thể 3- Gieo mầm toàn cục Sơ đồ thuật toán sau FOA bắt đầu với quần thể ban đầu Mỗi đại diện cho giải pháp toán Một gồm có giá trị biến độ tuổi (Age) Ban đầu Age gán Sau khởi tạo, nẩy mầm từ có tuổi chúng thêm vào rừng Sau đó, tất cũ tăng thêm tuổi 2.1.1 Khởi tạo Tạo có Age=0 Hình cho thấy có Nvar chiều, giá trị biến Age độ tuổi Hình Lưu đồ FOA Hình Biểu diễn lời giải FOA Một coi mảng 1x(nvar+1), với nvar số chiều toán Age đại diện cho tuổi cây.Tree=[Age,v1,v2,v3…,vnvar] Tuổi tối đa cho phép một tham số xác định trước đặt tên tuổi thọ (life time) Tuổi thọ xác định vào lúc bắt đầu thuật toán Khi Age đạt đến “tuổi thọ”, bị loại khỏi rừng thêm vào danh sách ứng viên Nếu tham số lớn, lần lặp thuật toán làm tăng độ tuổi rừng chứa nhiều già nua mà không tham gia vào giai đoạn gieo mầm cục Nếu tham số nhỏ già sớm chúng bị bỏ qua giai đoạn đầu khởi tạo Vì vậy, tham số cung cấp hội tốt cho tìm kiếm cục 2.1.2 Gieo mầm cục Gieo mầm cục cố gắng mơ q trình tạo thiên nhiên Chỉ có với Age= cho nảy sinh non thành láng giềng tạo thành rừng Hai lần tạo non minh họa hình Sau lần vậy, có Age= thành có Age=0, già thêm tuổi Hình Ví dụ gieo mầm cục cho lần lặp, với LSC=3 Các vượt “tuổi thọ” xem xét Nếu đầy tiềm năng, Age gán 0, đưa thành láng giềng tốt vào rừng Ngược lại, không hứa hẹn chết Số non tạo từ tham số “Sự thay đổi gieo mầm cục bộ” (Local Seeding Changes-LSC) định Giá trị tham số LSC trong hình Kết quả, thực gieo mầm cục với Age nảy mầm non Tham số nên xác định tùy theo kích thước tốn Gieo mầm cục mơ tìm kiếm cục cho thuật tốn Hình minh họa ví dụ cơng đoạn gieo mầm cục cho tốn thực khơng gian liên tục chiều giá trị “LSC” coi Nếu (a+r) hay (c+r’) nằm giới hạn biến liên quan điều chỉnh để để thuộc giới hạn cho phép Hình Một ví dụ gieo mầm cục cho không gian liên tục, r r’ thuộc [-Δx, Δx] 2.1.3 Giới hạn quần thể Số rừng phải giới hạn để ngăn chặn mở rộng vô hạn rừng tham số “giới hạn diện tích” (“area limit”) Xếp hạng từ tốt đến xấu, số lượng lớn “giới hạn diện tích”, tốt lại, xấu bị loại khỏi rừng thêm vào nhóm ứng viên Các khởi tạo ban đầu với “giới hạn diện tích” Sau hạn chế số rừng, giai đoạn gieo mầm toàn cục thực tỉ lệ phần trăm nhóm ứng viên mơ tả sau 2.1.4 Gieo mầm toàn cục Động vật, chim rừng ăn hạt trái làm hạt giống phát tán toàn khu rừng kết môi trường sống trở nên rộng Đó giai đoạn gieo mầm toàn cục Giai đoạn thực tỉ lệ phần trăm xác định qua tham số có tên “tỉ lệ lan truyền” (tranfer rate) Đầu tiên, từ nhóm ứng viên lựa chọn theo “tỉ lệ lan truyền” Sau đó, số biến lựa chọn ngẫu nhiên Giá trị biến lựa chọn thay giá trị ngẫu nhiên Bằng cách này, khơng gian tìm kiếm tồn cục xem xét khơng bị hạn chế Kết có tuổi thêm vào rừng Số lượng biến có giá trị bị thay đổi tham số thuật toán đặt tên “Thay đổi gieo mầm toàn cục” (Global Seeding Changes-GSC ) Hình ví dụ thực cơng đoạn gieo hạt tồn cầu cho khơng gian liên tục Trong hình 6, GSC= 2, biến lựa chọn ngẫu nhiên giá trị chúng thay giá trị tạo ngẫu nhiên khác r r' Hình Ví dụ gieo mầm tồn cục Ví dụ hình cho thấy giá trị tham số GSC=2 phạm vi [-5,5] Kết là, giá trị biến lựa chọn ngẫu nhiên thay giá trị khác phạm vi [5, 5] -0.7 1.5 Hình Ví dụ số gieo mầm tồn cục với GCS=2 2.1.5 Cập nhật giá trị tối ưu Sau phân loại theo giá trị phù hợp chúng, có giá trị phù hợp cao chọn làm tốt nhất, Age tốt thiết lập Như tốt đạt tối ưu hóa cục giai đoạn gieo mầm cục 2.1.6 Điều kiện dừng Ba điều kiện dừng áp dụng: 1) số bước lặp xác định trước; 2) khơng có thay đổi giá trị tối ưu sau số lần lặp; 3) đạt đến cấp độ định xác Các giai đoạn FOA hiển thị mã giả phần sau 2.2 Giải thuật FOA Giải thuật FOA(“life time”, LSC, GSC, “tranfer rate”, “area limit”) Nhập: giá trị tối ưu gần tối ưu hàm mục tiêu f(x) Xuất: trả giá trị gần tối ưu hay tối ưu f(x) 1.Khởi tạo rừng với tạo ngẫu nhiên Mỗi vec tơ x có (n+1) chiều, ứng với tốn n chiều, x=(age,x1,x2, …,xn) Age=0 lúc khởi tạo Trong điều kiện dùng chưa thỏa 2.1 Thực gieo mầm cục với có Age=0 For i=1:LSC Chọn ngẫu nhiên biến xét Thêm giá trị dx thuộc [-Δx, Δx] vào biến ngẫu nhiên Tăng tuổi lên tuổi ngoại trừ mọc 2.2 Giới hạn quần thể Loại bỏ có tuổi vượt “Life time” đưa chúng vào nhóm ứng viên Sắp xếp theo độ phù hợp fitness Loại bỏ nằm ngồi “area limit” có độ phù hợp thấp đưa chúng vào nhóm ứng viên 2.3 Gieo mầm tồn cục Chọn tỉ lệ “tranfer rate” từ nhóm ứng viên Với ứng viên Chọn ngẫu nhiên “GCS” biến Thay giá trị biến với giá trị ngẫu nhiên miền giới hạn tạo với Age=0, sau đưa vào rừng 2.4 Cập nhật giá trị tối ưu Sắp xếp theo fitness Gán trị Age=0 cho tốt Trả giá trị tốt Giải thuật đề nghị 3.1 Mơ tả tốn Trong giải thuật đề nghị này, x=(Age,x1,…,xn) mảng số nguyên Mỗi phần tử xj đại diện cho công việc j gán cho máy cụ thể Bất kì cơng việc j xử lí máy Vì cơng việc độc lập mục tiêu toán cực tiểu hóa makespan nên lời giải tốn công việc không bị ràng buộc theo thứ tự Giả sử có 13 cơng việc j1,j2, … j13 với thời gian cần hồn thành cơng việc tương ứng p 1,p2,…,p13 máy có cơng suất đơn vị Chúng bố trí thực máy m1, m2, m3 với công suất tương ứng máy e1, e2, e3 Công việc j1 với p1 thực máy m1, m2 hay m3 tốn thời gian tương ứng p11=p1/e1, p12=p1/e2 p13=p1/e3 Giải thuật tìm cách bố trí cơng việc máy cho tổng thời gian làm việc máy nhỏ Xét ví dụ kết hình sau, x 1=2, x2=3 có nghĩa cơng việc 1, xử lí máy 2, với thời gian xử lí p12 p23 biểu diễn sơ đồ hình Hình Biểu diễn lời giải FOA đề xuất 3.2 Mơ hình Expected Time to Compute-ETC Để việc gán cơng việc cho máy phù hợp cho tốn lập lịch, mơ hình ma trận ETC [1] sử dụng cho mục đích Xét tập cơng việc độc lập để phân bổ nguồn lực, ETC[j][m] thời gian ước lượng để hồn thành cơng việc j máy m Mỗi hàng ma trận lưu trữ thời gian ước lượng để hoàn thành công việc máy Mỗi cột cho biết thời gian dự tính hồn thành cơng việc máy Giá trị ETC[j][m] khối lượng công việc công việc j cho khả làm việc máy m Giả định khối lượng công việc cho trước dựa thông số kĩ thuật cung cấp từ người dùng, từ liệu khứ, dự đoán Hình Mơ hình ma trận ETC Hình ví dụ ma trận ETC (njob x nmachine), với ETC[j][m] giá trị thời gian dự kiến để tính tốn cơng việc j máy m Workload cho biết khối lượng công việc công việc Computing Capacity cho biết công suất làm việc máy Ready time thời gian để máy bắt đầu làm việc 3.3 Giải thuật Min-Max Trong Max-min heuristic, xét tập hợp U chứa tất nhiệm vụ chưa gán cho máy Sau tìm tập hợp thời gian hoàn thành lâu công việc thuộc U Tiếp theo, công việc với thời gian hoàn thành lâu từ M chọn gán cho máy tương ứng (do có tên Min-Max) Cuối cùng, lấy công việc gán cho máy khỏi U, lặp lại tất công việc gán ( U rỗng) 3.4 Tìm kiếm cục GCS thường liên quan đến nhiều công việc loại máy khác nhau, khơng tìm thấy giải pháp tốt từ lời giải ngẫu nhiên ban đầu Vì vậy, tìm kiếm giải pháp gần tối ưu thơng qua FOA khó khăn Rất hữu ích áp dụng tìm kiếm cục thật hiệu để nhanh chóng tìm giải pháp hứa hẹn Một tìm kiếm cục đề xuất báo để giúp tinh chỉnh giải pháp GCS tìm thấy FOA mà không làm tăng đáng kể thời gian tính tốn Tìm máy có thời gian hồn thành chậm (max of Completion time)-Machinemax Tìm máy có thời gian hoàn thành nhanh (min of Completion time)-Machinemin Chuyển processing time nhỏ Machine max cho Machinemin xử lí Q trình lập lại makespan khơng cịn cải tiến Mã giả heuristic tìm kiếm cục trình bày giải thuật sau Cho x=(Age,x1,x2,…,xn) với hàm makespan f(x) Trong toán chưa cải thiện xtemp=x max=f(xtemp) l=machine_max(xtemp) s=machine_min(xtemp) j=job_min(xtemp,L) xj=l if f(xtemp)

Ngày đăng: 05/01/2023, 22:33

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w