4 .1Những đại lƣợng chính dùng trong chƣơng trình
4.3 Chƣơng trình mô phỏng
Trong chƣơng trình mô phỏng thì các đại lƣợng đƣợc sinh ra ngẫu nhiên [11] để đánh giá Biểu đồ xấp xỉ. Các kỹ thuật mô phỏng đƣợc sử dụng để tạo ra các giá trị ngẫu nhiên.
Tập nhiệm vụ trong trƣờng hợp kỳ hạn ràng buộc với các thông số đƣợc sinh ra hoàn toàn ngẫu nhiên. Giá trị U đƣợc sử dụng để sinh ra các ui rồi từ các ui sinh ra Ci khi đã biết chu kỳ Ti. Giá trị U biến thiên trong khoảng từ 0.1 tới 1 và bƣớc nhảy là 0.1. Tức là U sẽ nhận các giá trị là 0.1, 0.2. . . 1. Chu kỳ đƣợc sinh ngẫu nhiên trong khoảng từ 0 tới MaxT. Kì hạn của nhiệm vụ đƣợc sinh ngẫu nhiên và đảm bảo rằng kì hạn ≤ chu kỳ.
Trong chƣơng trình thì hệ số k cũng biến thiên trong khoảng từ 1 đến MaxK với bƣớc nhảy là 1. Giá trị MaxK này có thể thay đổi để đánh giá Biểu đồ xấp xỉ.
Với các thông số đầu vào đƣợc sinh ngẫu nhiên, chƣơng trình sẽ chạy lặp đi lặp lại 200 lần để cho ta kết quả khách quan.
Các thành phần của chƣơng trình mô phỏng
Đầu vào: Các giá trị U, n, k
Đầu ra:
- Sinh hệ với các nhiệm vụ có kỳ hạn ràng buộc và in ra file Thongso.txt
các tham số đầu vào gồm : He, task, n, U, k, i , u_i, C_i, D_i, T_i
- Tính toán thông tin lập lịch của hệ và in ra file Ketqua.txt với các thông số:
He, task, n, U, k, i, R_i, R_imu, f, fmu, r_i.
- In ra file Loi.txt các nhiệm vụ mà có thời gian phản ứng R_i = 0 với các
thông số: He, task, n, U, i , R_i, f.
- In ra file Gopnhom.txt kết quả gộp nhóm theo các thông số đầu vào. Thông số trong Gopnhom.txt gồm: n (U), Saiso,Tiso. Tùy thuộc vào yêu cầu mà ta có thể nhóm theo n, hoặc theo U.
- In ra file cantren.txt kết quả gộp nhóm theo các thông số đầu vào bao gồm
n (U), Saiso, Tiso. Tùy thuộc vào yêu cầu mà ta có thể nhóm theo n hoặc theo U.
Trong đó:
- He: Cho ta chỉ số của hệ ví dụ nhƣ he 1, he 2. . . - task: Cho ta chỉ số của các nhiệm vụ trong hệ. - u_i, C_i, D_i, T_i:Là các thông số của nhiệm vụ.
- R_i, R_imu: Là thời gian phản ứng chính xác và thời gian phản ứng xấp xỉ.
- f, fmu : Cho biết khả năng lập lịch của nhiệm vụ theo phƣơng pháp chính xác và Biểu đồ xấp xỉ.
- r_i: Sai số tƣơng đối về thời gian phản ứng của từng nhiệm vụ. Các hàm sử dụng trong chƣơng trình
Trong chƣơng trình thì một số hàm chính sau đƣợc xây dựng:
Hàm RBF (Các thông số): Hàm này chính là hàm RBF đã trình bày trong luận văn.
Hàm RBF_mu(Các thông số): Hàm này chính là hàm xấp xỉ đƣợc xây dựng theo hệ số k từ hàm RBF. Trong chƣơng trình thì hàm đƣợc xây dựng theo [7].
Hàm W(Các thông số): Trong hàm W thì có nhận một đối số là con trỏ hàm. Tùy vào hàm nhập vào mà sẽ cho ta giá trị tƣơng ứng là hàm W (trong PDA) hoặc hàm W (trong Biểu đồ xấp xỉ).
Hàm RT(Các thông số): Trả về thời gian phản ứng lớn nhất của nhiệm vụ.
Hàm RT_mu(Các thông số): Trả về cận trên xấp xỉ của thời gian phản ứng của nhiệm vụ theo Biểu đồ xấp xỉ.
Hàm SinhS_mu(Các thông số): Trả về tập các điểm lập lịch theo Biểu đồ xấp xỉ. Trong luận văn thì tập các điểm lập lịch này đƣợc tính theo[7].
Hàm Ufitting(Các thông số ): Hàm này sử dụng để sinh ngẫu nhiên hệ số ui
cho từng nhiệm vụ khi đã biết U.
Hàm SinhC, SinhD, SinhT: Tạo ra các giá trị C, D, T ngẫu nhiên cho nhiệm vụ.
Ngoài ra trong chƣơng trình còn sử dụng các hàm phục vụ cho việc tính
toán và hiệu chỉnh nhƣ các hàm sắp xếp, các hàm tạo số ngẫu nhiên, hàm loại bỏ các phần tử dƣ thừa trong tập S_imu.
Tiến trình thực hiện chƣơng trình
Với các tham số đầu vào n,U, k đƣợc nhập vào thông qua các vòng lặp thì các thông số của nhiệm vụ đƣợc sinh ra hoàn toàn ngẫu nhiên thông qua việc gọi tới các hàm trong chƣơng trình:
- Hàm Ufitting( ). - Hàm SinhT( ). - Hàm SinhC( ). - Hàm SinhD ( ). - Sắp xếp lại các thông số. - Gọi các hàm tính toán.
Các thông số tính toán đƣợc sẽ đƣợc in vào vào file Thongso.txt. Kết quả thu đƣợc đƣợc ghi vào file Ketqua.txt. Việc gộp nhóm kết quả đƣợc ghi vào file Gopnhom.txt. Trong chƣơng trình về phƣơng pháp kiểm định của Bini and Baruah thì việc gộp nhóm kết quả đƣợc ghi vào file cantren.txt