1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ công nghệ thông tin song song hoá bài toán jsp trên một số môi trường tính toán song song và phân tán

115 907 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

Thông tin cơ bản

Định dạng
Số trang 115
Dung lượng 7,05 MB

Nội dung

Cụ thể trong đề tài này tác giả tiến hành nghiên cứu để tạo nên một thuật toán song song áp dụng giải quyết bài toán “Lập lịch trình công việc JSP – Job Shop Problem”.. Với ví dụ điển hì

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC LẠC HỒNG

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS TRẦN VĂN LĂNG

Đồng Nai – Năm 2012

Trang 2

LỜI CAM ĐOAN

Tôi xin cam đoan luận văn thạc sĩ công nghệ thông tin “Song song hóa bài toán JSP trên môi trường tính toán song song và phân tán” là kết quả của quá trình học tập, nghiên cứu khoa học độc lập, nghiêm túc

Các số liệu trong luận văn là trung thực, có nguồn gốc rõ ràng, được trích dẫn

và có tính kế thừa, phát triển từ các số liệu, tạp chí, các công trình nghiên cứu đã được công bố, trên các website

Các phương pháp nêu trong luận văn được rút từ những cơ sở lý luận và quá trình nghiên cứu tìm hiểu

Đồng Nai, tháng 09 năm 2012

Vũ Đình Trung

Trang 4

TÓM TẮT

Lập lịch công việc là bài toán đã ra đời từ rất lâu, nhưng đến nay vẫn chưa có một phương pháp nào giải quyết bài toán lập lịch công việc một cách chính xác với thời gian ngắn Những nghiên cứu gần đây theo xu hướng nhắm vào mục đích làm giảm đến mức thấp nhất thời gian hoàn thành bài toán, ưu điểm lớn của những hướng đi này là kết quả đạt được với thời gian thấp nhưng lịch trình tìm được chỉ đạt mức gần đúng trong khả năng chấp nhận được

Từ mục đích và hạn chế đó tác giả tiến hành nghiên cứu một thuật toán có thể cải thiện được về mặt thời gian mà kết quả lịch trình cho ra vẫn chính xác

Qua nhiều nghiên cứu của những công trình trước, thì nhánh cận được xác định là thuật toán tốt nhất trong các phương pháp tìm kiếm chính xác Nhưng vấn

đề của thuật toán này là thời gian hoàn thành cho ra kết quả chậm Do đó thuật toán nhánh cận là thuật toán được chọn để thực hiện yêu cầu công việc trên Công việc cần đạt được tại thời điểm này là tìm ra giải pháp để cải tiến làm giảm thời gian hoàn thành của thuật toán

Những năm gần đây tính toán song song đang dần trờ thành xu hướng sử dụng để cải thiện tốc độ các thuật toán Vì vậy tác giả đã tiến hành nghiên cứu để tìm ra phướng án cải tiến thuật toán nhánh cận thành thuật toán song song, và có thể triển khai trên các môi trường tính toán song song là mục đích cuối cùng của luận văn

Cấu trúc luận văn như sau, chương thứ nhất giới thiệu tổng quan về bài toán lập lịch công việc, chương thứ hai trình bày các môi trường tính toán song song và các mô hình tính toán song song, chương thứ ba trình bày các nội dung nghiên cứu

và đề xuất các thuật toán song song sẽ sử dụng, chương thứ bốn thử nghiệm các thuật toán trên môi trường tính toán song song và đánh giá kết quả, cuối cùng là kết luận

Trang 5

MỤC LỤC

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

TÓM TẮT iii

MỤC LỤC iv

DANH MỤC CÁC TỪ VIẾT TẮT v

DANH MỤC BẢNG vi

DANH MỤC BIỂU ĐỒ vii

DANH MỤC HÌNH viii

MỞ ĐẦU 1

1 Đặt vấn đề 1

2 Lý do chọn đề tài 2

3 Mục tiêu 4

4 Đối tượng nghiên cứu 4

5 Nội dung nghiên cứu 4

6 Phương pháp nghiên cứu 5

CHƯƠNG 1: TỔNG QUAN VỀ BÀI TOÁN LẬP LỊCH CÔNG VIỆC 6

1.1 Định nghĩa bài toán lập lịch 6

1.1.1 Mô tả bài toán 6

1.1.2 Dữ liệu bài toán 6

1.1.3 Các loại lịch trình 6

1.2 Tình hình nghiên cứu thuật toán tuần tự để giải quyết bài toán lập lịch công việc 9

1.2.1 Tình hình nghiên cứu trên thế giới 9

1.2.1.1 Phương pháp chính xác 11

1.2.1.2 Phương pháp gần đúng 12

1.2.2 Tình hình nghiên cứu trong nước 25

1.2.3 Một số công trình biêu biểu 26

Trang 6

1.3 Tình hình nghiên cứu thuật toán song song để giải quyết bài toán lập lịch công

việc 43

1.3.1 Tình hình nghiên cứu ngoài nước 43

1.3.2 Tình hình nghiên cứu trong nước 43

1.3.3 Một số công trình tiêu biểu 44

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 51

2.1 Tổng quan về tính toán song song 51

2.1.1 Sự cần thiết của tính toán song song và phân tán 51

2.1.2 Mô hình máy tính song song 52

2.1.2.1 Phép phân loại Flynn 52

2.1.2.2 Chia sẻ bộ nhớ cục bộ 55

2.1.3 Mô hình máy tính phân tán 56

2.1.4 Kỹ thuật lập trình song song 56

2.1.4.1 Những mô hình lập trình song song 56

2.1.4.2 Phương pháp xây dựng thuật toán song song 57

2.2 Tổng quan về mô hình lập trình truyền thông điệp – MPI 58

2.2.1 Giới thiệu mô hình truyền thông điệp 58

2.2.2 Lập trình truyền thông điệp – MPI 59

2.2.2.1 Giới thiệu MPI 59

2.2.2.2 Đặc điểm của lập trình với MPI 61

2.2.2.3 Các khái niệm cơ bản 62

2.2.2.4 Cấu trúc chương trình MPI 63

2.3 Tổng quan về GPU 63

2.3.1 Giới thiệu GPU 63

2.3.2 Lịch sử phát triển GPU 64

2.3.3 Kiến trúc GPU 67

2.3.3.1 Đường ống dẫn đồ họa 67

2.3.3.2 Tiến hóa của kiến trúc GPU 69

2.3.3.3 Kiến trúc GPU hiện đại 70

2.3.3.4 Mô hình lập trình trên GPU 72

Trang 7

CHƯƠNG 3: XÂY DỰNG THUẬT TOÁN NHÁNH CẬN SONG SONG ĐỂ

GIẢI QUYẾT BÀI TOÁN LẬP LỊCH 74

3.1 Lý do chọn thuật toán 3.2 Thuật toán nhánh cận tuần tự giải quyết bài toán lập lịch công việc 74

3.2.1 Giới thiệu thuật toán nhánh cận 74

3.2.2 Mô tả thuật toán nhánh cận tuần tự giải quyết bài toán lập lịch công việc… 77

3.2.3 Thuật toán nhánh cận cải tiến 85

3.3 Thuật toán nhánh cận song song giải quyết bài toán lập lịch công việc 89

3.3.1 Phương án song song thứ nhất 90

3.3.2 Phương án song song thứ hai 92

3.3.3 Triển khai thuật toán trên môi trường tính toán song song 93

CHƯƠNG 4: ĐÁNH GIÁ KẾT QUẢ THỰC NGHIỆM 97

4.1 Kết quả thử nghiệm trên thuật toán nhánh cận song song giải quyết bài toán lập lịch trên nhiều máy tính 97

4.2 Kết quả thử nghiệm thuật toán nhánh cận song song giải quyết bài toán lập lịch công việc trên môi trường CPU – GPU 99

KẾT LUẬN 102

TÀI LIỆU THAM KHẢO

Trang 8

DANH MỤC TỪ VIẾT TẮT

GCA Genetic clustering algorithm

MIMD Multiple instruction stream, multiple data stream

MISD Multiple instruction stream, single data stream

Trang 9

DANH MỤC BẢNG

Bảng 1.1: Bảng mô tả công việc và trình tự thực hiện công việc 1 21

Bảng 1.2: Bảng mô tả công việc và trình tự thực hiện công việc 2 24

Bảng 1.3: Bảng mô tả công việc và trình tự thực hiện công việc 3 27

Bảng 1.4: Bảng mô tả công việc và trình tự thực hiện công việc 4 30

Bảng 1.5: Bảng mô tả công việc và trình tự thực hiện công việc 5 33

Bảng 1.6: Bảng mô tả sự thay đổi E qua từng giai đoạn 38

Bảng 4.1: Bảng mô tả kết quả thực hiện công việc 1 97

Bảng 4.2: Bảng mô tả kết quả thực hiện công việc 2 100

Trang 10

DANH MỤC BIỂU ĐỒ

Biểu đồ 1.1: Lịch trình không phải là bán chủ động 7

Biểu đồ 1.2: Lịch trình bán chủ động 7

Biểu đồ 1.3: Biểu đồ biểu diễn công việc khi thay đổi vị trí O32 và O31 8

Biểu đồ 1.4: Lịch trình chủ động sau khi thay đổi trình tự công đoạn 9

Biểu đồ 1.5: Biểu đồ Gantt mô tả trình tự thực hiện công việc 1 22

Biểu đồ 1.6: Biểu đồ Gantt mô tả trình tự thực hiện công việc 2 31

Biểu đồ 1.7: Biểu đồ Gantt mô tả trình tự thực hiện công việc 3 34

Biểu đồ 1.8: Biểu đồ Gantt mô tả trình tự thực hiện công việc 4 35

Biều đồ 1.9: Biểu đồ Gantt mô tả trình tự thực hiện công việc 5 36

Biều đồ 1.10: Biểu đồ Gantt mô tả trình tự thực hiện công việc 6 37

Biều đồ 1.11: Biểu đồ Gantt mô tả trình tự thực hiện công việc 7 38

Trang 11

DANH MỤC HÌNH

Hình 2.1: Mô hình máy tính SISD 52

Hình 2.2: Mô hình máy tính SIMD 53

Hình 2.3: Mô hình máy MIMD 54

Hình 2.4: Máy tính chia sẻ bộ nhớ 55

Hình 2.5: Máy tính bộ nhớ phân tán 56

Hình 2.6: Mô hình máy tính phân tán 56

Hình 2.7: Mô hình phân chia chức năng 58

Hình 3.1: Nhánh mở rộng từ nút (2, 2) 87

Hình 3.2: Mở rộng nhánh từ (3, 1), LB>minLB 88

Hình 3.3: Mở rộng nhánh từ (3,1), LB <minLB 89

Hình 4.1: Đồ thị biểu diễn thời gian xử lý các thuật toán 1 98

Hình 4.2: Đồ thị biểu diễn thời gian xử lý các thuật toán 2 100

Trang 12

MỞ ĐẦU

1 Đặt vấn đề

Cùng với sự phát triển của kinh tế xã hội, khối lượng công việc ngày một nhiều và phức tạp, vì vậy việc xử lý tất cả các công việc đòi hỏi phải có hiệu quả, chính xác và trên hết là thời gian xử lý các công việc phải kịp thời để đáp ứng được nhu cầu của người dùng Việc áp dụng công nghệ thông tin vào tất cả các lĩnh vực

đã trở thành một nhu cầu tất yếu của cuộc sống Với phương hướng này thì máy tính đã trở thành một nhân tố quan trọng quyết định ảnh hưởng đến kết quả đạt được Một chiếc máy tính có thể giúp con người xử lý một lượng lớn công việc với thời gian và hiệu quả tối ưu Nhưng có cung thì phải có cầu, chiếc máy tính cung cấp khả năng làm việc là thế, nhưng nhu cầu của con người thì vẫn tiếp tục tăng và tăng không ngừng đến khi vượt quá khả năng cung cấp của máy tính, đến lúc này thì chiếc máy tính đã và đang chưa đáp ứng được yêu cầu thực tế Những hạn chế

đó là gì? Có thể trả lời đó là những hạn chế của tốc độ xử lý của CPU, khả năng lưu trữ của ổ cứng, tốc độ truy xuất của bộ nhớ,… hay nói đúng hơn các yếu điểm đó chính là những giới hạn của phần cứng máy tính Xuất phát từ yêu cầu đó thì nhiều biện pháp đã được đề xuất để giải quyết bài toán về cấu hình phần cứng của máy tính, và một lịch trình đã được đề xuất áp dụng “Lịch trình của những chiếc máy tính cùng nhau xử lý một công việc”

Ngày nay, các máy tính gần như đã được gắn kết với nhau thông qua internet Đây là điều kiện thuận lợi để tận dụng nguồn tài nguyên phần cứng lớn lao

đó Một khi phần cứng đã được đáp ứng đầy đủ thì tất yếu phần mềm cũng phải phát triển lên phù hợp với yêu cầu phần cứng Một nền tảng các máy tính sẵn sàng cùng nhau thực hiện công việc nhưng nếu chỉ áp dụng phần mềm được thiết kế để

xử lý công việc tuần tự trên một máy tính đơn lẻ ban đầu thì không đem lại hiệu quả

gì Do đó cần phải có phần mềm phù hợp và được xử lý đồng thời trên các máy để tận dụng hiệu suất của các máy tính tiến tới mục đích là hoàn thành công việc nhanh chóng Từ đó các phần mềm lần lượt ra đời bằng cách chuyển đổi bản chất của mình, được tạo nên từ cách viết chương trình tuần tự sang cách viết chương trình song song Các thuật toán tuần tự cũng được chuyển biến thành thuật toán song song Khi phần cứng và phần mềm đã tương thích với nhau thì hiệu suất thực hiện

Trang 13

công việc sẽ tăng lên đáng kể và nhu cầu khối lượng công việc cần xử lý cũng như thời gian hoàn thành công việc sẽ được đáp ứng

Với phương hướng trên, thì việc xây dựng hoặc cải tiến các thuật toán để tạo nên thuật toán song song là cần thiết Cụ thể trong đề tài này tác giả tiến hành nghiên cứu để tạo nên một thuật toán song song áp dụng giải quyết bài toán “Lập lịch trình công việc (JSP – Job Shop Problem)” Việc lập lịch được hình thành từ khi con người bắt đầu có sự phân công công việc trong xã hội và vẫn tiếp tục tồn tại, phát triển cùng sự tiến bộ của khoa học kỹ thuật Một lịch trình tốt sẽ giúp cho thời gian hoàn thành công việc ngắn lại góp phần tiết kiệm thời gian Vì thế trải qua nhiều thập kỷ người ta không ngừng tìm hiểu và phát triển các phương pháp lập lịch để có được một lời giải tốt nhất

Vấn đề lập lịch trình công việc có thể áp dụng cho các mục đích khác nhau

Ví dụ về lập lịch công tác của nhân viên trong một bộ phận của công ty Với yêu cầu này ta có thể mô tả sơ bộ như sau: bộ phận của công ty bao gồm một tập hợp các nhân viên và một tập hợp các công việc phải thực hiện vào những thời gian xác định Mỗi nhân viên có khả năng thực hiện một số công việc và có đặc điểm sở thích riêng của mình về công việc cũng như thời gian làm việc Lập lịch là gán việc cho các nhân viên sao cho đảm bảo các công việc phải được hoàn thành đúng kế hoạch Với ví dụ điển hình như trên thì ta có thể áp dụng để lập lịch với các kiểu bài toán tương tự như: lập thời khóa biểu học cho sinh viên, phân ca trực cho y tá trong bệnh viện, phân giờ dạy cho giáo viên trong các trung tâm đào tạo, phân công ca lái

xe cho các nhân viên công ty vận tải, …

Với nhiều ứng dụng như vậy, bởi lẽ đó thì việc nghiên cứu để đưa ra một thuật toán song song có thể thống kê một lịch trình để thực hiện các công việc hoàn thành trong thời gian tối ưu nhất là cần thiết

2 Lý do chọn đề tài

Năm 1955, bài toán lập lịch bắt đầu được triển khai nghiên cứu và áp dụng thực hiện trên máy tính Cho đến nay, bài toán đã được nghiên cứu và giải quyết bằng nhiều thuật toán khác nhau để tìm ra lời giải tốt Nhưng có hai vấn đề tranh cãi xung quanh bài toán lập lịch đó là lịch trình công việc tìm ra đã tối ưu chưa và tốc

độ thực hiện thuật toán nhanh hay chậm Xuất phát từ những tranh cãi đó, thì có hai

Trang 14

phương pháp tiếp cận chính để giải quyết bài toán lập lịch là phương pháp chính xác và phương pháp gần đúng

Phương pháp thứ nhất là phương pháp chính xác Với phương pháp chính xác thì ưu điểm lớn nhất là sẽ tiến hành tìm kiếm trên toàn bộ không gian bài toán

và sẽ luôn cho ra được một lịch trình thực hiện các công việc tối ưu nhất Phương pháp chính xác nhìn nhận sâu vào vấn đề bài toán, đưa ra được những quyết định với các thông tin quan trọng về cấu trúc của vấn đề hoặc phân tích chính xác các lịch trình Tuy nhiên do bản chất là vét cạn nên có nhiều hạn chế khả năng áp dụng phương pháp này, như tốn nhiều chi phí thực hiện, mất nhiều thời gian xử lý để tìm

ra lời giải…Một số thuật toán giải quyết bài toán theo phương pháp tiếp cận này bao gồm: “Integer Linear Programming”, “Branch and Bound”, “Lagrangian Relaxation”, … Trong các thuật toán trên thì thuật toán nhánh cận (Branch and Bound) được đánh giá là thuật toán tốt nhất trong các thuật toán nghiên cứu theo phương pháp chính xác

Phương pháp thứ hai là phương pháp gần đúng Phương pháp gần đúng sử dụng các hàm ước lượng heuristic đánh giá để tìm lịch trình công việc, việc sử dụng các hàm ước lượng này có nhược điểm lớn là lời giải của phương pháp tìm ra không được chắc chắn là lời giải tối ưu nhất Trong thực tế, nhiều trường hợp chất lượng của lời giải tìm ra có thể là không chấp nhận được Kết quả của bài toán bị ảnh hưởng nhiều bởi các thông số (kích thước của tập hợp, điểm khởi đầu bài toán, các lân cận…) Và cách thức để giải quyết bài toán đôi khi được xem như kỹ xảo để xử

lý hơn là khoa học Tuy nhiên phương pháp này lại có lợi thế hơn so với phương pháp chính xác là chi phí thời gian tìm kiếm để đưa ra lời giải thấp Một số thuật toán mạnh mẽ gần đây tiếp cận bằng phương pháp gần đúng bao gồm: “Taboo Search”, “Genetic Algorithms”, “Simulated Annearling”, …

Từ hai phương pháp tiếp cận trên, để có thể tìm được một lời giải tối ưu nhất

và thời gian thực hiện nhanh nhất thì tác giả đã chọn thuật toán nhánh cận để tiến hành giải quyết bài toán lập lịch trình công việc Với thuật toán nhánh cận thì một đáp án tối ưu nhất luôn được tìm ra, nhưng vấn đề vấp phải là chi phí tìm kiếm lớn Trong điều kiện áp dụng triển khai thuật toán trên môi trường tính toán song song thì sẽ góp phần giải quyết được nhược điểm về chi phí tìm kiếm của thuật toán Do

Trang 15

đó việc cải tiến thuật toán nhánh cận từ môi trường máy đơn thành thuật toán có thể

xử lý song song trên môi trường tính toán song song là phù hợp với yêu cầu đặt ra

3 Mục tiêu

Nghiên cứu thuật toán song song để giải quyết bài toán lập kế hoạch thông qua việc giải quyết bài toán JSP Từ đó có được sự đánh giá và so sánh với thuật toán tuần tự

Bên cạnh đó, cũng đề ra mục tiêu hiện thực thuật toán trên môi trường mạng các máy tính song song (Networked Parallel Computer) và môi trường khai thác đồng thời CPU lẫn GPU

4 Đối tượng nghiên cứu

Với việc áp dụng thuật toán nhánh cận để giải quyết bài toán lập lịch thì một lời giải tối ưu sẽ được tìm ra Nhưng chi phí để tìm ra lời giải là quá lớn, các xử lý

và bộ nhớ dùng để lưu trữ đều tập trung tại một máy dẫn đến tình trạng tràn bộ nhớ,

do đó vấn đề cần phải nghiên cứu ở đây là cách thức hoạt động của thuật toán nhánh cận, từ đó tiến hành xây dựng, phân chia các xử lý về các máy con đồng thời tận dụng bộ nhớ của các máy con đó, nhằm tiến tới mục đích cuối cùng là tạo ra một thuật toán song song cho vấn đề lập lịch trình công việc

5 Nội dung nghiên cứu

▪ Nghiên cứu các loại lịch trình

▪ Nghiên cứu các thuật toán áp dụng giải bài toán lập lịch: thuật toán nhánh cận, thuật toán di truyền, …

▪ Nghiên cứu thuật toán nhánh cận để giải bài toán lập lịch công việc

▪ Nghiên cứu các thuật toán tìm đường đi ngắn nhất trong một đồ thị có hướng phi chu trình: Djisktra, Bellman – ford, Floyd Washall

▪ Nghiên cứu áp dụng các thuật toán Djisktra, Bell man – ford, Floy Washall tìm đường đi dài nhất trong đồ thị có hướng phi chu trình

▪ Nghiên cứu cách thức phân nhánh và tính toán cận trong thuật toán nhánh cận

Trang 16

▪ Nghiên cứu các mô hình song song, lựa chọn mô hình tính toán song song phù hợp để áp dụng thuật toán

▪ Cải tiến thuật toán bằng cách song song hóa thuật toán để giải bài toán JSP

▪ Đánh giá so sánh kết quả của thuật toán tìm kiếm tối ưu ban đầu với thuật toán tìm kiếm tối ưu sau khi song song hóa

6 Phương pháp nghiên cứu

▪ Đọc các bài báo liên quan đến vấn đề lập lịch JSP để hiểu được cách thức áp

dụng các thuật toán tìm kiếm tối ưu vào bài toán lập lịch

▪ Nhận xét các ưu và nhược điểm của các thuật toán áp dụng trong các bài báo

▪ Từ các nhận xét rút ra thuật toán sẽ sử dụng để giải quyết bài toán lập lịch

▪ Phân tích thuật toán sử dụng để rút ra các đặc điểm phục vụ cho mục đích

song song hóa thuật toán

▪ Thử nghiệm một số dữ liệu đã chạy thử từ thuật toán tối ưu ban đầu để đánh

giá hiệu quả của thuật toán song song

Trang 17

CHƯƠNG 1: TỔNG QUAN VỀ BÀI TOÁN LẬP LỊCH CÔNG VIỆC 1.1 Định nghĩa bài toán lập lịch

1.1.1 Mô tả bài toán

Giả sử có tập m máy Mj (j=1,…,m) và tập n công việc Ji (i=1,…,n) Lịch biểu cho mỗi công việc là sự phân công xử lý công việc đó trên một hay nhiều máy Bài toán lập lịch có một số ràng buộc sau:

▪ Một máy chỉ có thể thực hiện một công việc tại một thời điểm

▪ Một công việc có nhiều nhất là m công đoạn thực hiện

▪ Một công việc khi đã bắt đầu xử lý thì nó không được gián đoạn

▪ Mỗi công việc được xử lý trên các máy theo một trình tự nhất định

▪ Trình tự công đoạn trên các máy chưa được xác định và cần phải xác định trình tự này để có được thời gian hoàn thành là nhỏ nhất

1.1.2 Dữ liệu bài toán

Công việc Ji phải trải qua ni công đoạn Oi1, Oi2, Oi3, …, Oin,, tương ứng với mỗi công đoạn Oij là một thời gian xử lý pij Nếu công việc Ji chỉ gồm có một công đoạn (ni=1) thì chúng ta đồng nhất Ji với Oij và thời gian thực hiện là pi

Thời điểm mà kể từ đó công đoạn đầu tiên của công việc Ji sẵn sàng để được

xử lý gọi là thời điểm sẵn sàng (release date) của công việc Ji và được ký hiệu là ri

Thời điểm quy định một công việc phải hoàn tất gọi là thời điểm đến hạn của một công việc (due date) ký hiệu là di

1.1.3 Các loại lịch trình

Lịch trình bán chủ động (semi-active): một lịch trình gọi là bán chủ động nếu

không có công đoạn nào có thể được xử lý sớm hơn mà không làm thay đổi trật tự

xử lý hoặc vi phạm những ràng buộc [9]

Ví dụ: một lịch trình không phải bán chủ động trong trường hợp biểu diễn trên biểu

đồ Gantt như biểu đồ 1.1:

Trang 18

Biểu đồ 1.1: Lịch trình không phải là bán chủ động

Từ biểu đồ Gantt trên, có thể xác định đây không phải là lịch trình bán chủ động Vì có thể thực hiện công đoạn O12 và O13 sớm hơn mà trình tự thực hiện vẫn không đổi Tiến hành thực hiện công công đoạn O12 và O13 sớm hơn để được một lịch trình bán chủ động Khi đó biểu đồ gantt thu được như biểu đồ 1.2:

Biểu đồ 1.2: Lịch trình bán chủ động

Lịch trình chủ động (active): một lịch trình được gọi là chủ động nếu không

thể xếp lại lịch cho các công việc thực hiện sớm hơn mà không vi phạm các ràng buộc Biểu đồ 1.2 trên là lịch trình bán chủ động, khi đó sẽ không thể thực một bất

cứ một công đoạn nào khác sớm hơn mà không làm thay đổi trình tự thực hiện của các công đoạn Tuy nhiên, từ lịch trình bán chủ động nếu thay đổi trình tự thực hiện các công đoạn tại một máy bất kỳ thì có thể được một lịch trình chủ động Như vậy

Trang 19

có thể kết luận, lịch trình bán chủ động không phải là một lịch trình tối ưu Lịch trình tối ưu là lịch trình mà có thời gian hoàn thành tất cả các công việc là nhỏ nhất

và không vi phạm ràng buộc, vấn đề là cần phải thay đổi trình tự các công đoạn thực hiện từ lịch trình bán chủ động để được một lịch trình chủ động với thời gian hoàn thành công việc nhỏ hơn, khi đó sẽ được một lịch trình tối ưu đó chính là lịch trình chủ động Có hai cách để chỉnh sửa lịch trình khả thi thành lịch trình chủ động Cách thứ nhất: là dịch chuyển 1 công đoạn sang trái để thời điểm bắt đầu thực hiện của công đoạn sớm hơn (a left shift)

Cách thứ hai: cho công đoạn nhảy vào vị trí rỗi để công đoạn bắt đầu thực hiện sớm hơn (a left jump)

 Một lịch trình khả thi trở thành lịch trình chủ động khi không thể dịch trái hoặc nhảy sang trái bất cứ một công đoạn nào khác [9]

Ví dụ: Từ lịch trình bán chủ động biểu đồ 1.2, thay đổi trình tự thực hiện công việc

1 và công việc 2 trên máy 3

Biểu đồ 1.3: Biểu đồ biểu diễn công việc khi thay đổi vị trí O32 và O31

Cho công đoạn O23 nhảy sang vị trí rỗi bên trái, sau đó dời các công đoạn O22, O33, O13 sang trái Khi đó biểu đồ Gantt như biểu đồ 1.4:

Trang 20

Biểu đồ 1.4: Lịch trình chủ động sau khi thay đổi trình tự công đoạn

1.2 Tình hình nghiên cứu thuật toán tìm kiếm lịch trình tối ưu triển khai trên một máy tính đơn

1.2.1 Tình hình nghiên cứu trên thế giới

Bài toán lập lịch JSP được hình thành từ năm 1955, ý tưởng về bài toán này

có thể được tìm thấy trong công trình nghiên cứu của Akers và Friedman Tiếp sau

đó là công trình nghiên cứu của Bowman (1959) và Wagner (1959), khi đó thì các công việc chỉ có thể được xử lý trên 3 máy tính hoặc ít hơn Năm 1963 là năm đánh dấu cột mốc lịch sử quan trọng về bài toán lập lịch JSP, khi đó Fisher và Thompson

đã giới thiệu công trình nghiên cứu xử lý 10 công việc trên 10 máy tính khác nhau

Từ đó các nỗ lực thách thức về bài toán lập lịch JSP được tạo ra, thực hiện bởi Brooks và White (1965), Greenberg (1968) dùng phương pháp quy hoạch số nguyên (integer programming) Sau đó là phương pháp nhân tử Lagrange của Balas (1969), Charlton và Death (1970), Florian (1971), Ashour và Hiremath (1973), và

Trang 21

toán mạnh mẽ được nghiên cứu với các phương pháp tiếp cận tối ưu, năm 1985 Barker và McMahon công bố công trình nghiên với phương pháp giải quyết bài toán lập lịch bằng cách sử dụng cấu trúc lân cận dựa vào thuật toán tìm kiếm địa phương (local search)

Năm 1982, bài toán lập lịch JSP xuất hiện tại Pháp và được xem là dạng bài toán đặc biệt khó về vấn đề tối ưu tổ hợp Từ các ứng dụng thực tế thì vấn đề này đã được nghiên cứu bởi nhiều tác giả với những lịch trình khác nhau [11]

Sau đây là các phương pháp áp dụng để giải bài toán lập lịch JSP:

Hình 1.1: Các phương pháp giải bài toán lập lịch công việc

Trang 22

1.2.1.1 Phương pháp chính xác

 Thuật toán nhánh cận (Branch anh Bound)

Thuật toán nhánh cận là phương pháp hiệu quả nhất trong số các phương pháp chính xác để giải bài toán lập lịch JSP Nhánh cận là kỹ thuật được phát triển

để giải quyết các vấn đề rời rạc và tổ hợp Mô hình được sử dụng để tìm kiếm là mô hình cây phân cấp Tư tưởng cơ bản của phương pháp là trong quá trình tìm kiếm lời giải, sẽ phân hoạch tập các phương án của bài toán thành hai hay nhiều tập con biểu diễn như một nút của cây tìm kiếm và cố gắng bằng phép đánh giá cận các nút, tìm cách loại bỏ các nhánh cây (những tập con các phương án của bài toán) mà ta biết chắc chắn không phải là phương án tối ưu Mặc dù trong trường hợp xấu nhất thuật toán sẽ duyệt toàn bộ, nhưng những trường hợp cụ thể nó rút ngắn đáng kể thời gian tìm kiếm

Hiệu quả của thuật toán nhánh cận phụ thuộc cách thức phân nhánh và đánh giá cận Việc phân nhánh sai sẽ không làm giảm việc bỏ bớt các phương án không tốt hoặc thậm chí cũng không thể thu gọn các miền khả thi xuống Đánh giá cận sai

sẽ tạo ra các nhánh không chính xác làm ảnh hưởng đến số lượng các phương án hoặc các tập con có thể lược bỏ được Như vậy thì một chiến lược nhánh cận không tốt sẽ làm giảm việc xác định các phương án khả thi và lúc này thuật toán sẽ liệt kê toàn bộ các cấu hình có thể cho dù bài toán không thực sự lớn Chính vì thế những quy tắc khác nhau được áp dụng với mục đích làm sao để phân nhánh và đánh giá cận đúng là vấn đề quan trọng trong việc xây dựng thuật toán

Với bài toán lập lịch, thì lịch trình các công việc được mô tả bằng một đồ thị nối rời (disjunctive graph) Tất cả các công đoạn cùng một công việc được nối thành một chuỗi các cung nối liền và các cung nối rời giữ các công đoạn thực hiện trên cùng một máy Việc lập lịch sẽ trở thành việc sắp thứ tự các công việc trên từng máy, nghĩa là làm cố định mối liên hệ trước sau giữa các công đoạn trên cùng một máy bằng cách thay đổi hướng các cung nối rời theo một hướng cố định ta sẽ có một lời giải khả thi, mỗi lời giải khả thi này ta tính được hàm mục tiêu Cmax là chiều dài lớn nhất đi từ nút nguồn đến nút đích

Hiệu quả của lời giải khi sử dụng thuật toán nhánh cận để giải quyết vẫn phụ thuộc vào hai yếu tố là phân nhánh và đánh giá cận chính xác hay không Do đó

Trang 23

nhiều loại thủ tục khác nhau được đưa ra phát triển để đáp ứng yêu cầu trên: xác định cận dựa vào phương pháp lagrange nới lỏng (lagrange relaxation), phương pháp đối ngẫu thay thế (surrogate duality) và các lịch trình tối ưu của một vấn đề con bao gồm hai hoặc ba công việc trên nhiều máy tính.

Thủ tục nổi bật nhất để xác định cận được đề xuất bởi Carlier (1982) và Pots (1980) Thủ tục được hình thành bắt nguồn từ một lịch trình chính xác để lập lịch trên máy đơn dựa vào thời điểm bắt đầu và thời điểm kết thúc để lập một kế hoạch tối ưu cho vấn đề lập lịch công việc Về sau thủ tục này được cải tiến bởi Balas, Lenstra và Vazacopoulous (1995) bằng cách giảm thiểu sự chậm trễ giữa các cặp công đoạn với nhau Sau đó nhiều cách thức suy luận khác nhau được bổ sung vào với cùng mục đích để giới hạn lại không gian tìm kiếm Florian (1971) đề xuất một thuật toán nhánh cận trong đó việc xác định tập ứng cử viên có thể phân nhánh như sau: tại một thời điểm nhất định tập các công đoạn sẵn sàng mà có các công đoạn trước nó chưa được lên lịch thì đều được xem là ứng viên có thể phân nhánh, và nhiều phương pháp khác được đưa ra của các tả giả barker và McMaHon (1985), Brucker (1992, 1994), Carlier và Pinson (1989, 1990, 1994) thuật toán dựa trên các cặp cung rời xác định nối với nhau hay không trên hai cây con Năm 1996, Martin

đã đề xuất phương pháp tiếp cận hướng thời gian với một kỹ thuật mạnh mẽ được gọi là shaving Trong các phương pháp được đề xuất trước đó thì phương pháp của Martin được đánh giá là tốt nhất nhưng vấn đề gặp phải ở phương pháp này là thời gian tính toán quá lớn [11]

1.2.1.2 Phương pháp gần đúng

 Tìm kiếm địa phương (local search)

Ý tưởng chung của phương pháp tìm kiếm địa phương là đối với một tập các lời giải hữu hạn S và một hàm số c: S  R cho trước, tiến hành tìm một lời giải s*∈ S thỏa c(s*) ≤ c(s), ∀s ∈ S

Tìm kiếm địa phương là một thủ tục lặp, di chuyển từ một lời giải này trong tập S đến một lời giải khác trong tập S khi cần Để tìm kiếm một cách có hệ thống trong tập S những sự di chuyển có thể từ một lời giải s đến một lời giải kế tiếp nên

bị giới hạn trong một số điều kiện Các giới hạn này được mô tả dựa vào cấu trúc

Trang 24

lân cận (neighborhood structure) N: S2s trong S N(s) mô tả tập con của S mà có thể di chuyển đến từ lời giải s Tập N(s) được gọi là lân cận của lời giải s

Cấu trúc lân cận được biểu diễn bằng một đồ thị có hướng G=(V, A) Trong

đó V=S và (s, t) ∈ A nếu và chỉ nếu t ∈ N(s) G được gọi là đồ thị lân cận của cấu trúc lân cận

Từ các định nghĩa trên phương pháp tìm kiếm địa phương có thể được mô tả như sau: trong mỗi vòng lặp, bắt đầu thuật toán bằng một lời giải s ∈ S, sau đó lựa chọn một lời giải s’ trong lân cận N(s) Dựa vào các giá trị c(s) và c(s’), lựa chọn một lời giải bắt đầu cho vòng lặp kế tiếp Với những tiêu chí khác nhau được dùng

để lựa chọng lời giải bắt đầu cho vòng lặp kế sẽ hình thành nên các thuật toán tìm kiếm địa phương khác nhau

 Thuật toán mô phỏng luyện kim (simulated annealing)

Dựa trên cơ sở phương pháp tìm kiếm địa phương, thuật toán mô phỏng luyện kim là phương pháp tìm kiếm tránh rơi vào cực tiểu địa phương Mô phỏng luyện kim là phương pháp ngẫu nhiên vì:

▪ s’ được lựa chọn ngẫu nhiên từ tập N(s)

▪ Tại bước lặp thứ i, lời giải s’ được chấp nhận với xác suất:

min{1, exp(-

( )

)}

Trang 25

Xác suất này được hiểu như sau : c(s’) ≤ c(s) thì lời giải s được thay thế bởi lời giải s’ với xác suất bằng 1 Ngược lại c(s’) > c(s) thì lời giải được thay thế bằng lời giải s’ với một xác suất Xác suất này sẽ giảm dần khi i tăng Như vậy thuật toán

sẽ thoát khỏi cực tiểu địa phương nhưng xác suất để thực hiện việc này sẽ giảm dần sau một số lớn bước lặp Trong thuật toán, ký hiệu random[0 1] tượng trưng cho một hàm số tạo một giá trị ngẫu nhiên trong khoảng 0 đến 1 Ngoài ra, dãy {ci} được tạo ra bởi hàm số g, nghĩa là ci+1 =g(ci), ∀i Điều kiện dừng thuật toán là sau một khoảng thời gian tính toán sẽ dừng, và thời gian này được cho trước

o Tạo một lời giải ngẫu nhiên s’ ∈ N(s);

Nếu random[0, 1] < min{1, exp(-

▪ Lặp đến khi thỏa tiêu chí dừng

Thuật toán mô phỏng luyện kim có thuận lợi là có thể thoát khỏi được cực tiểu đại phương Tuy nhiên bất lợi nhất của phương pháp là khả năng quay lại lời giải đã xét Do đó việc lặp lại công việc tại một cực tiểu địa phương là hoàn toàn có thể xảy ra và điều này dẫn đến mất nhiều thời gian tính toán trên một phần nhỏ của không gian lời giải [7]

Trang 26

 Thuật toán Tabu Search

Từ nhược điểm của hai phương pháp tìm kiếm địa phương và phương pháp

mô phỏng luyện kim, thuật toán muốn tránh khỏi tình trạng công việc lặp lại trong một cực tiểu địa phương và quay lui lại lời giải đã xét, thì các lời giải này phải được lưu trữ trong một danh sách mà danh sách này gọi là danh sách tabu và chỉ chấp nhận những lời giải không có mặt trong danh sách này Tuy nhiên việc kiểm tra xem một lời giải ứng viên có nằm trong danh sách tabu hay không lại tốn nhiều thời gian và không gian bộ nhớ Do đó thay vì lưu trữ tất cả các lời giải chỉ cần lưu trữ các thuộc tính đặc trưng cho lời giải đó Tất cả mọi di chuyển từ một lời giải nào đó đến một lời giải có thuộc tính nằm trong danh sách tabu đều bị cấm Bên cạnh danh sách tabu, một tiêu chí tham vọng cũng được liên kết với từng thuộc tính Nếu sự di chuyển từ lời giải hiện hành s đến một lời giải s’ mà lời giải s’ có thuộc tính nằm trong danh sách tabu thì sự di chuyển này có thể được chấp nhận nếu lời giải s’ thỏa tiêu chí tham vọng liên kết với thuộc tính của lời giải s’ Ví dụ có thể liên kết với từng thuộc tính một ngưỡng k cho hàm mục tiêu và cho phép chấp nhận phép di chuyển m đến lời giải s’ nếu c(s’) ≤ k bất luận m nằm trong danh sách tabu Các tiêu chí dừng và thủ tục cập nhật danh sách tabu khác nhau có thể được phát triển Chúng ta có quyền tự do trong việc lựa chọn phương pháp tạo ra một lời giải ∈ ( ) [7]

Một chiến lược đơn giản là chọn lời giải theo hàm số c:

Trang 27

o Cand(s) = {s’ ∈ N(s) | phép di chuyển từ s đến s’ không nằm trong danh sách tabu hoặc s’ thỏa tiêu chí tham vọng};

o Tạo lời giải s ∈ Cand(s);

▪ Lặp cho đến khi thỏa tiêu chí dừng

 Thuật toán di truyền (Genetic Algorithms) [6][11]

Trước tiên, ý niệm về giải thuật di truyền đã được một số nhà sinh vật học đưa ra từ những năm 50-60, thế kỉ XX A.S Fraser là người tiên phong nêu lên sự tương đồng giữa sự tiến hóa của sinh vật và chương trình tin học giả tưởng về Genetic Algorithms(GA)

Tuy nhiên, chính John Henry Holland mới là người triển khai ý tưởng và phương pháp giải quyết vấn đề dựa theo sự tiến hóa Từ những bài giảng, bài báo của mình, ông đã đúc kết các ý tưởng vào trong cuốn sách đầu tay “Adaptation in Natural and Artificial Systems”, xuất bản năm 1975 Dựa trên lý thuyết cơ bản về

GA của Holand, Keneth De Jong đã triển khai và chứng minh những thành quả do ông thực hiện đã góp phần quan trọng trong việc tạo ra nền tảng toán học cho lý thuyết GA

Lần đầu tiên Holand nghiên cứu các giải thuật này, chúng hoàn toàn không

có tên Do nguồn gốc của phương pháp này là từ các gen di truyền, Holand đã đặt tên cho nó là thuật giải di truyền

Giải thuật di truyền mô phỏng sự chọn lọc tự nhiên và di truyền Trong tự nhiên, các cá thể khỏe, có khả năng thích nghi với môi trường tốt sẽ được tồn tại và phát triển ở các thế hệ sau Mỗi cá thể có cấu trúc gen đặc trưng cho tính chất của cá thể đó Trong quá trình sinh sản, các cá thể con có thể thừa hưởng các phẩm chất của cha mẹ, cấu trúc gen của nó mang một phần cấu trúc gen của cha mẹ Ngoài ra, trong quá trình tiến hóa, có thể xảy ra hiện tượng đột biến, cấu trúc gen của cá thể con có thể chứa các gen mà cả cha mẹ đều không có Trong giải thuật di truyền, mỗi

Trang 28

cá thể được mã hóa bởi một cấu trúc dữ liệu mô tả cấu trúc gen của cá thể đó, ta gọi

nó là nhiễm sắc thể Mỗi nhiễm sắc thể được tạo thành từ các đơn vị được gọi là gen Giải thuật di truyền sẽ làm việc trên các quần thể gồm nhiều cá thể Một quần thể ứng với một giai đoạn phát triển gọi là một thế hệ Từ một thế hệ được tạo ra, giải thuật di truyền bắt chước sự chọn lọc tự nhiên và di truyền để biến đổi các thế

hệ

Ý tưởng của thuật giải di truyền từ các nghiên cứu của Holand (1975), có thể phân biệt với các phương pháp tiến hóa khác bởi những cá thể đại diện và các hoạt động tiến hóa Ba bước quan trọng trong thuật giải này là: chọn lọc, lai ghép và đột biến với nhau để tạo nên các hoạt động di truyền

Chọn lọc: Chọn lọc là quá trình lựa chọn cá thể sẽ thông qua kết quả, hay

mục đích của vấn đề Các cá thể tốt được chọn lọc để đưa vào thế hệ sau Sự lựa chọn này được thực hiện dựa vào độ thích nghi với môi trường của mỗi cá thể Có nhiều phương pháp để chọn các nhiễm sắc thể tốt nhất, ví dụ: chọn lọc roulette wheel, chọn lọc xếp hàng, chọn lọc cạnh tranh, v.v…

- Phương pháp Roulette wheel:

Trong các phương pháp chọn phương pháp cơ bản và phổ biến nhất là phương pháp Roulette wheel Với phương pháp này thì các cá thể cha mẹ được chọn theo độ thích nghi của chúng Nhiễm sắc thể tốt hơn có cơ hội cao hơn để tham dự vào thế hệ tiếp theo Thuật giải chọn lọc Roulette wheel (Davis, [1991,8]) như sau:

 Tính tổng giá trị thích nghi của tất cả thành viên quần thể và gọi nó là tổng thích nghi (total fitness)

 Phát sinh một số n là số ngẫu nhiên trong khoảng từ 0 đến tổng thích nghi

 Trả lại thành viên quần thể đầu tiên mà độ thích nghi của nó cộng với

độ thích nghi của các thành viên quần thể trước đó lớn hơn hay bằng n…

Xác suất Pi từ quần thể có n cá thể với độ thích nghi f1, f2, …, fn của phương pháp Roulette wheel được tính bằng công thức sau:

Trang 29

Pi =

- Phương pháp Rank Selection

Ngoài ra phương pháp chọn lọc Roulette wheel còn có một phương pháp chọn lọc khác là Rank Selection Phương pháp Roulette wheel là một lựa chọn tốt trong trường hợp có sự khác biệt lớn về mức độ thích nghi của các cá thể Phương pháp này sẽ sắp hạng cá thể dựa trên độ thích nghi của chúng Cá thể xấu nhất sẽ có giá trị 1, kế tiếp là 2, v.v…và cá thể tốt nhất sẽ có độ thích nghi N (N là số nhiễm sắc thể trong quần thể)

Xác suất lựa chọn Pi và cá thể được xếp hạng tại vị trí i trong số n ứng cử viên của quần thể được tính bằng công thức sau:

Pi =

- Chọn lọc cạnh tranh (Tournament Selection)

 Chọn lọc cạnh tranh 2 (2-tournament selection)

Hai nhiễm sắc thể khác nhau được chọn ngẫu nhiên và được so sánh với nhiễm sắc thể tồn tại Nếu nhiễm sắc thể I1 không tốt hơn nhiễm sắc thể I2 nghĩa là: f(I1) ≤ f(I2), thì nhiễm sắc thể I1 chết đi và bị loại ra khỏi quần thể Quá trình này lặp lại đến hết N nhiễm sắc thể còn lại

 Chọn lọc cạnh tranh 3 (3-tournament selection)

Giống như trên, ba nhiễm sắc thể khác nhau được chọn ngẫu nhiên và được

so sánh Nếu chúng ta có f(I1) ≤ f(I2) và f(I1) ≤ f(I3), thì nhiễm sắc thể I1 chết đi và

bị loại ra khỏi quần thể Quá trình này lặp lại đến hết N nhiễm sắc thể còn lại

Lai ghép: toán tử lai ghép có trật tự bao gồm các bước sau:

- Chọn ngẫu nhiên một chuỗi con từ một cá thể cha mẹ (parent)

- Đưa ra một proto-child bằng cách sao chép chuỗi con vào những vị trí tương ứng như trong cá thể cha mẹ

- Xoá tất cả các ký hiệu từ cá thể cha mẹ thứ hai, lúc này đã có trong chuỗi con Chuỗi còn lại chứa các ký hiệu mà proto-child cần

Trang 30

- Đặt các ký hiệu vào những vị trí không cố định của proto-child từ trái sang phải theo trật tự của chuỗi để tạo ra cá thể con

Ví dụ:

Cá thể cha: 9 3 | 8 5 7 1 | 6 4 2

Cá thể con: 3 5 | 2 6 1 4 | 8 7 9 Đầu tiên, phân đoạn giữa để cắt các điểm được sao chép vào cá thể con Proto-child 1: x x | 8 5 7 1| x x x

Proto-child 1: x x | 2 6 1 4| x x x Chuỗi bắt đầu từ điểm cắt thứ hai của cá thể cha mẹ thứ hai là:

8-7-9-3-5-2-6-1-4 Chuỗi sau khi loại bỏ các phần tử 8, 5, 7 và 1, cũng ở trong cá thể con đầu tiên là: 9-3-2-6-4

Cuối cùng, chuỗi này được đặt vào proto-child 1 đầu tiên để tạo ra cá thể con (bắt đầu từ điểm cắt thứ hai)

Cá thể con thứ nhất: 6 4 | 8 5 7 1 | 9 3 2 Tương tự, chúng ta được cá thể con khác:

- Đột biến chèn (Insertion Mutation) : Chọn ngẫu nhiên một gen và sau đó chèn nó vào vị trí ngẫu nhiên

Ví dụ:

Nhiễm sắc thể : 9 3 8 5 7 1 6 4 2 Sau đột biến: 9 3 5 7 8 1 6 4 2

Trang 31

- Đột biến thay thế (Displacement Mutation): chọn ngẫu nhiên một chuỗi con

và chèn nó vào một vị trí ngẫu nhiên Đột biến chèn có thể được xem như trường hợp đặc biệt của đột biến thay, trong đó, chuỗi con chỉ chứa một gen

Ví dụ:

Nhiễm sắc thể: 9 3 8 5 7 1 6 4 2 Sau đột biến: 9 3 6 8 5 7 1 4 2

- Đột biến tương hỗ (Reciprocal Exchange Mutation): Chọn ngẫu nhiên hai vị trí và sau đó hoán vị gen trên những vị trí này

Ví dụ:

Nhiễm sắc thể: 9 3 8 5 7 1 6 4 2 Sau đột biến: 9 3 1 5 7 8 6 4 2

- Đột biến chuyển dịch (Shift Mutation): trước tiên, chọn ngẫu nhiên một gen, sau đó, dịch chuyển nó đến một vị trí ngẫu nhiên bên phải hoặc bên trái vị trí của gen

Ví dụ:

Nhiễm sắc thể: 9 3 8 5 7 1 6 4 2 Sau đột biến (trái): 9 8 3 5 7 1 6 4 2 Sau đột biến (phải): 9 3 5 8 7 1 6 4 2 Đối với bài toán lập lịch JSP, thì công đoạn được biểu diễn trên một lịch trình được mã hóa như là một chuỗi các công đoạn mà trong đó mỗi gen biểu thị như là một công đoạn Phương pháp cơ bản nhất là gán cho mỗi công đoạn một số

tự nhiên liên tiếp và đại diện cho lịch trình như một hoán vị Tuy nhiên do các ràng buộc ưu tiên mà phương pháp di truyền đã tạo ra số lượng tương đối lớn các phương án không khả thi Một phương pháp khác đề xuất ra lịch trình mã hóa vấn

đề mxn là sử dụng chuỗi trong đó có chính xác mxn gen và mỗi công đoạn của một công việc được ký hiệu theo cùng một cách như là một gen Lịch trình được giải

mã theo trình tự trong chuỗi Cách biễu diễn trình tự công đoạn của các công việc

để áp dụng thuật giải di truyền chỉ dùng cho lịch trình chủ động (active schedules)

Ví dụ: ta có bảng biểu diễn các công việc trên các máy như sau:

Trang 32

Bảng 1.1: Bảng mô tả công việc và trình tự thực hiện công việc 1

Giả sử ta có chuỗi được mã hóa là:

Trang 33

1 3 2 3 3 1 1 2

 công đoạn thứ 3 của công việc 1 được lên lịch

 công đoạn thứ 2 của công việc 2 được lên lịch

Vậy các công đoạn được thiết lập với trình tự: 1, 6, 4, 7, 8, 2, 3, 5

Biểu đồ Gantt tương ứng với các công đoạn được biểu diễn như biểu đồ 1.5:

Biểu đồ 1.5: Biểu đồ Gantt mô tả thời điểm thực hiện công việc 1

 Protity Dispatching Rules

Quy tắc ưu tiên là phương pháp đơn giản nhất để thực hiện Trong mỗi bước thực hiện, phương pháp đơn giản là chỉ phân công lại các công đoạn từ các tập công đoạn bị xung đột theo một số quy tắc ưu tiên Phiên bản cơ bản nhất của phương pháp này được giới thiệu bởi Giffler và Thompson (1960), là phương pháp cơ sở cho tất cả các phương pháp ưu tiên dựa vào heuristic, thuật toán của Giffler và Thompson đơn giản chỉ gán các công đoạn sẵn sàng cho các máy tính cũng đã sẵn sàng Trong trường hợp xảy ra xung đột giữa các công đoạn cùng phải giải quyết trên một máy thì thuật toán sẽ chọn ngẫu nhiên một công đoạn để thực hiện trước

Phương pháp quy tắc ưu tiên có khả năng tạo ra tất cả các lịch trình chủ động Tuy nhiên không thể đảm bảo được là lịch trình tạo ra này là tối ưu, và chất lượng của lịch trình tạo ra có xu hướng thất thường Quy tắc ưu tiên là kỹ thuật cho phép giải quyết công việc với hơn 100 công đoạn Có nhiều tác giả đã nghiên cứu

về phương pháp quy tắc ưu tiên để xử lý bài toán lập lịch như: Jeremiah (1964), Panwalkar và Iskander (1977), Haupt (1989), Bhaskaran và Pinedo (1991) Đến năm 1996, công trình nghiên cứu được đưa ra bởi Chang chỉ ra rằng các quy tắc dựa trên tiêu chí thời gian xử lý ngắn sẽ cho kết quả tốt và các quy tắc mà có thời gian

xử lý dài một cách liên tục thì sẽ cho kết quả xấu [11]

Trang 34

 Phương pháp dịch chuyển điểm nghẽn (Shifting Bottleneck)

Kỹ thuật dịch chuyển điểm nghẽn được xem là phương pháp phổ biến và thành công nhất trong số các phương pháp giải quyết bài toán lập lịch JSP mà áp dụng heuristic Phương pháp này lần đầu tiên xuất hiện được công bởi Adam năm

1988 Nhưng các phiên bản mạnh mẽ nhất là từ Balas (1995), Balas và Vazacopoulos (1998) Trong bài báo đầu tiên được công bố của Adam và cộng sự, thì tác giả đã báo cáo rằng công trình của ông có thể giải quyết được vấn đề nổi tiếng 10 công việc trên 10 máy của Fisher và Thomson một cách tối ưu (không có chứng minh tối ưu) trong vòng hơn năm phút, đây là kết quả quá xuất sắc so với thời gian tìm kiếm mất 5 giờ bằng phương pháp nhánh cận của Carlier và Pinson (1989) Và tại thời điểm đó thì phương pháp dịch chuyển điểm nghẽn được xem là phương pháp tốt nhất để giải quyết bài toán lập lịch JSP

Ý tưởng của phương pháp dịch chuyển điểm nghẽn cần phải xác định một máy nghẽn trong mỗi lần lặp Việc xác định máy nghẽn dựa vào một thuật toán và việc tối ưu hóa trình tự thực hiện của các máy đã được lên lịch trước đó bằng cách giải quyết vấn đề máy đơn với tất cả các lịch trình đã được cố định Máy nghẽn là các máy đơn nhàn rỗi được chọn từ tập các máy đơn chưa được lên lịch ban đầu mà

có makespan là lớn nhất Với mỗi công đoạn chưa được lên lịch thì thuật toán sẽ tìm thời gian bắt đầu sớm nhất có thể để thực hiện công đoạn, nhằm giảm thiểu sự chậm trễ giữa thời điểm kết thúc của công đoạn này với thời điểm hoàn thành của lịch trình mà được xác định là lịch trình cố định bởi những máy được lên lịch trước đó Theo cách thức làm như trên áp dụng cho các máy chưa được lên lịch thì một lịch trình được tạo ra và sẽ thu được một makespan Phương pháp này tạo ra một lịch trình với chất lượng phụ thuộc rất nhiều vào trật tự mà các máy đơn được xem xét

Ý tưởng trên là cơ sở cho các phiên bản cải tiến sau này Phương pháp cải tiến áp dụng tìm kiếm trên một cây, cây tìm kiếm tương ứng với trình tự của các máy được thực hiện, mỗi nút của cây là một công đoạn Riêng nút gốc của cây là nút khởi đầu không chứa bất kỳ một công đoạn nào Nhánh được biểu diễn bởi tập các công đoạn được sắp xếp theo trình tự thực hiện của các máy Quá trình lặp để tìm kiếm thì tương tự với phương pháp đầu tiên được đưa ra bởi Adam và cộng sự (1988) Vấn đề lựa chọn các nút để liệt kê được giải quyết bằng tìm kiếm theo chiều

Trang 35

rộng và tìm kiếm theo chiều sâu Công việc đầu tiên của thủ tục là liệt kê tất cả các nhánh sâu nhất để tìm giá trị độ sâu l Tiếp theo thủ tục sẽ chọn các công đoạn vượt quá độ sâu l theo tiêu chí một điểm nghẽn được mở rộng Thuật toán của Applegate

và Cook (1991) cũng phát triển dựa vào thuật toán của Adams và cộng sự (1988) Năm 1998, Balas và Vazacopoulos áp dụng kỹ thuật tìm kiếm hướng dẫn địa phương và với kỹ thuật này thì phương pháp giải quyết bài toán lập lịch của Balas

và Vazacopoulos trở thành phương pháp giải quyết bài toán lập lịch tốt nhất lúc bấy giờ [11]

Các công đoạn của công việc trên các máy trong thuật toán dịch chuyển điểm nghẽn biểu diễn trên một đồ thị có hướng: [13]

Ví dụ: với 3 công việc cần xử lý trên 4 máy được mô tả như bảng 1.2:

Bảng 1.2: Bảng mô tả công việc và trình tự thực hiện công việc 2

Công việc thứ tự các máy thực hiện Thời gian xử lý

G = đồ thị với tất cả cung liền nét

Cmax (M0) = chiều dài tuyến đường dài nhất trong G

Trang 36

- Bước 2: phân tích các máy chưa được lên lịch

FOR ALL(i) ∈ M \ M0 DO FOR ALL operation (i; j) DO

rij = tuyến đường dài nhất từ nút 0 tới nút (i, j) trong G;

qij = tuyến đường dài nhất từ nút (i, j) tới nút * trong G;

Giải quyết vấn đề máy đơn với head – body – tail, tìm f(i)

- Bước 3: chọn máy nghẽn

Xác định máy k mà có f(k) = max(f(i)) với i∈ \M0

Lập lịch cho máy k dựa vào lịch trình tối ưu ở bước 2;

Thêm cung nét rời tương ứng vào đồ thị G;

M0 = M0 ∪ {k};

- Bước 4: trình tự các máy

FOR ALL(i) ∈M0\{k} DO Xóa các cung nét rời từ máy k khỏi đồ thị G FOR ALL công đoạn (i, j) DO

rij=chiều dài tuyến đường dài nhất từ nút 0 tới nút (i, j) trong G;

qij= chiều dài tuyến đường dài nhất từ nút (i, j) tới nút * trong G;

Giải quyết vấn đề máy đơn với head – body – tail, tìm f(i) Thêm các cung nét rời tương ứng vào đồ thị G;

- Bước 5: điều kiện dừng

if M0=M then Ngừng thuật toán else

Quay lại thực hiện bước 2 1.2.2 Tình hình nghiên cứu trong nước

Ở nước ta hiện nay thì vấn đề lập lịch công việc vẫn đang được quan tâm và nghiên cứu phát triển, các công trình nghiên cứu về vấn đề này chủ yếu theo hướng nghiên cứu các thuật toán đã được nghiên cứu áp dụng ở ngoài nước để giải quyết

Trang 37

bài toán, từ đó tìm ra các phương án để cải tiến làm cho thuật toán tốt hơn, do đó bài toán lập lịch vẫn là vấn đề được chọn để nghiên cứu làm đề tài luận văn thạc sĩ hoặc tiến sĩ Ngoài ra, bài toán lập lịch ở nước ta còn được áp dụng nhiều vào mục đích lập lịch thi, hoặc lập thời khóa biểu tại các trường đại học, lập kế hoạch sản xuất kinh doanh trong các doanh nghiệp

1.2.3 Một số công trình tiêu biểu

 “A Branch and Bound and Simulated Annealing Approach for Job Shop

Scheduling”, công trình của tác giả Tan Hui Woon và Sutinah Salim công bố

vào năm 2004 Trong công trình này, thì nhóm tác giả đã nghiên cứu hai phương pháp giải quyết bài toán lập lịch bằng thuật toán nhánh cận và thuật toán mô phỏng luyện kim [12]

Thuật toán nhánh cận (Branch and Bound)

Một số khái niệm cơ bản mà Tan Hui Woon và Sutinah Salim sử dụng trong thuật toán được quy định như sau:

- Một tập n={J1,J2,…, Jn) được xử lý thông qua m={M1, M2,…, Mm) máy tính Tập các công việc xử lý trên một tập các máy tính thì được biểu diễn trên một đồ thị G mô tả như sau:

▪ Đồ thị G là một đồ thị có hướng, có N nút, và tập các cung A và B, G=(N, A, B)

▪ Một nút tương ứng với một công đoạn O(i, j)

▪ Cung liền nét trên tập A biểu thị cho tuyến đường của công việc

Arc (i,j) (k,j) thể hiện công việc j thực hiện trước sau đó mới thực hiện trên máy k (định nghĩa cho hai công đoạn của cùng một công việc)

▪ Cung nét rời trên tập B đại diện cho chuỗi công việc thực hiện trên một máy Luôn tồn tại hai hướng của cung nhưng sẽ chỉ có 1 hướng được chọn trong một lịch trình khả thi Lịch trình khả thi là lịch trình

mà không chứa một chu trình có hướng bên trong

Arc (i,j) (i,k) biểu thị O(i,j) thực hiện trước O(i,k) Arc (i,j) (i,k) biểu thị O(i,k) thực hiện trước O(i,j)

Trang 38

▪ Trọng số của cung là thời gian xử lý (Pij)

▪ Hai nút U và V là nút nguồn và nút đích Chiều dài của cung từ nút U đến nút đầu tiên có giá trị là 0

Ví dụ: ta có 3 công việc cần xử lý trên 4 máy, thứ tự và thời gian thực hiện của mỗi công việc trên máy được mô tả như bảng 1.3:

Bảng 1.3: Bảng mô tả công việc và trình tự thực hiện công việc 3

Công việc thứ tự các máy thực hiện Thời gian xử lý

2 2,1,4,3 p22=8, p12=3, p42=5, p32=6

Việc biểu diễn đồ thị có hướng G cho ví dụ trên như sau:

Đầu tiên ta có các nút là các O(i, j), thêm các cung liền nét trong tập A có hướng theo thứ tự thực hiện các máy như trong bảng 1.3 được đồ thị như hình 1.3:

Hình 1.3: Đồ thị G biểu diễn trình tự công việc thực hiện 2 sau đó thêm các cung nét rời trong tập B ta sẽ có được hình 1.3, độ dài các cung từ nút U đến nút đầu tiên có giá trị là 0

Hình 1.4: Đồ thị biểu diễn trình tự công việc thực hiện 3

Trang 39

- Pij: là thời gian xử lý của công việc j trên máy i

- Due date (ký hiệu: dij): thời điểm quy định một công đoạn phải hoàn tất gọi

là thời điểm đến hạn của một công việc

- Release time (ký hiệu: rij): thời điểm sẵn sàng để thực hiện công đoạn j trên máy i

- xijk: là một biến để ghi nhận có giá trị bằng 1 nếu công việc i thực hiện trước công việc j trên máy k, ngược lại thì có giá trị bằng 0

- Minimize Cmax: được gọi là makespan, đây là thời gian hoàn thành của tất cả công việc

▪ Thuật toán OFA

Thuật toán OFA giúp tạo ra lịch trình chủ động, thuật toán như sau:

Bước 1: (Khởi tạo bài toán)

Tập Ω = {các công đoạn đầu tiên thực hiện của mỗi công việc}

rij = 0 for all (i,j) ∈ Ω (rij là thời gian bắt đầu sớm nhất của công đoạn O(i, j) trên tập Ω) Bước 2: (Chọn máy)

Tính t(Ω) = min(i,j)∈ Ω { rij + pij} Chọn máy i* là máy có rij + pij nhỏ nhất để tiếp tục thực hiệnBước 3: (phân nhánh)

Tập Ω’ = { (i∗, j)|ri∗j <t(Ω) } + Trên tất cả (i∗, j) ∈ Ω’, mở rộng một phần lịch bằng cách lên lịch (i*,j) trên máy i*

+ Với mỗi (i*, j) được chọn thì ta tiến hành xóa (i*, j) khỏi tập Ω + Thêm một công đoạn kế tiếp sau (i*, j) vào Ω

Thuật toán thực hiện cho đến khi Ω rỗng, nếu Ω chưa rỗng thì quay lại bước 2 để thực hiện

Điều kiện quan trọng dựa vào để tìm được lịch trình chủ động là bất đẳng thức:

ri*j < t(Ω)

Không thể có bất kỳ công đoạn nào có thể hoàn thành trước t(Ω)

Trang 40

▪ Tìm đường đi giới hạn trong lịch trình khả thi

Với một lịch trình khả thi được biểu diễn bởi một đồ thị để tìm ra đường đi giới hạn này tương đương với tìm ra đường đi có chiều dài dài nhất từ U đến V trong đồ thị có hướng không có chu trình

Một số khái niệm:

o Đặt rij là nhãn của nút (i, j) tương ứng với công đoạn O(i, j)

o Đặt IPij là tập các công đoạn kế cận trước của O(i, j), IPij chứa các nút

có cung với điểm bắt đầu từ chính các nút đó đến điểm kết thúc là công đoạn O(i, j)

- Với mỗi nút trong IPij tính: {nhãn của nút + chiều dài của cung

từ nút này tới nút (i, j)} và đặt rij có giá trị lớn nhất trong các nút đã tính

until (nhãn của nút V được tính) Khi đó ta tìm được chiều dài dài nhất từ U đến V bằng rv , ta có nhãn rij được tính dựa vào chiều dài dài nhất của đoạn từ nút U đến nút (i, j) và thời gian bắt đầu sớm nhất có thể của công đoạn O(i, j)

▪ Tính lower bound (LB)

Thuật toán:

Xét máy i:

o Tính rij cho tất cả các công đoạn O(i, j) của máy i

o Với tất cả (i, j) trên máy i tìm chiều dài dài nhất từ (i, j) đến nút V sau

đó đặt lij có giá trị chiều dài vừa tìm được

o Tính due date cho (i, j): dij = LB1 - lij + pij

o Giải quyết vấn đề trên máy đơn như sau:

Ngày đăng: 06/10/2014, 16:31

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nguyễn Thị Thùy Linh (2009), “Tính toán hiệu năng cao với bộ xử lý đồ họa GPU và ứng dụng”, luận văn thạc sĩ, trường Đại học Công nghệ Hà Nội Sách, tạp chí
Tiêu đề: Tính toán hiệu năng cao với bộ xử lý đồ họa GPU và ứng dụng
Tác giả: Nguyễn Thị Thùy Linh
Năm: 2009
[2] Nguyễn Thị Bích Nhật và cộng sự (2008), “Thuật toán nhánh cận trên môi trường song song”, báo cáo khoa học, trường Đại học Sư phạm Hà Nội Sách, tạp chí
Tiêu đề: Thuật toán nhánh cận trên môi trường song song
Tác giả: Nguyễn Thị Bích Nhật và cộng sự
Năm: 2008
[3] Lê Minh Hoàng (2002), “Giải thuật &amp; Lập trình”, Bài giảng chuyên đề, Đại học Sư phạm Hà Nội Sách, tạp chí
Tiêu đề: Giải thuật & Lập trình
Tác giả: Lê Minh Hoàng
Năm: 2002
[4] Từ Minh Phương, Trịnh Hữu Kiên, Nguyễn Nam Phong (2002), “Thuật toán lập lịch trong môi trường phân tán theo tiếp cận agent” Sách, tạp chí
Tiêu đề: “Thuật toán lập lịch trong môi trường phân tán theo tiếp cận agent
Tác giả: Từ Minh Phương, Trịnh Hữu Kiên, Nguyễn Nam Phong
Năm: 2002
[5] Nguyễn Giang Sơn (2000), “Môi trường tính toán song song trên mạng phân tán không đồng nhất”, luận án thạc sĩ khoa học, trường Đại học Khoa học Tự nhiên Thành phố Hồ Chí Minh Sách, tạp chí
Tiêu đề: Môi trường tính toán song song trên mạng phân tán không đồng nhất
Tác giả: Nguyễn Giang Sơn
Năm: 2000
[6] Nguyễn Đức Thành, “Áp dụng giải thuật di truyền và tìm kiếm cục bộ để giải quyết bài toán sắp Thời Khóa Biểu cho khoa Công Nghệ Thông Tin” Sách, tạp chí
Tiêu đề: Áp dụng giải thuật di truyền và tìm kiếm cục bộ để giải quyết bài toán sắp Thời Khóa Biểu cho khoa Công Nghệ Thông Tin
[7] Bùi Minh Giao Tiên (2002), “Áp dụng mô hình job shop linh động trong hệ hỗ trợ lập lịch sản xuất”, luận văn thạc sĩ tin học, trường Đại học Khoa học Tự nhiên Thành phố Hồ Chí Minh Sách, tạp chí
Tiêu đề: Áp dụng mô hình job shop linh động trong hệ hỗ trợ lập lịch sản xuất”
Tác giả: Bùi Minh Giao Tiên
Năm: 2002
[9] Brian Patrick Ivers (2006), “Job shop optmization through multiple independent particle swarms”, luận văn thạc sĩ, trường Đại học Oklahoma Sách, tạp chí
Tiêu đề: Job shop optmization through multiple independent particle swarms
Tác giả: Brian Patrick Ivers
Năm: 2006
[10] D. Janaki Ram, T. H. Sreenivas, K. Ganapathy Subramaniam (1996), “Parallel Simulated Annealing Algorithms”, viện Công nghệ Ấn Độ Sách, tạp chí
Tiêu đề: Parallel Simulated Annealing Algorithms
Tác giả: D. Janaki Ram, T. H. Sreenivas, K. Ganapathy Subramaniam
Năm: 1996
[11] Pawel Piotr Lukaszewicz (2005), “Metaheuristics for job shop scheduling problem, comparison of effective methods”. Luận văn thạc sĩ Sách, tạp chí
Tiêu đề: Metaheuristics for job shop scheduling problem, comparison of effective methods
Tác giả: Pawel Piotr Lukaszewicz
Năm: 2005
[12] Tan Hui Woon &amp; Sutinah Salim (2004), “A Branch and Bound and Simulated Annealing Approach for Job Shop Scheduling”, trường Đại học Teknologi Malaysia Sách, tạp chí
Tiêu đề: A Branch and Bound and Simulated Annealing Approach for Job Shop Scheduling
Tác giả: Tan Hui Woon &amp; Sutinah Salim
Năm: 2004

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Các phương pháp giải bài toán lập lịch công việc - Luận văn thạc sĩ công nghệ thông tin  song song hoá bài toán jsp trên một số môi trường tính toán song song và phân tán
Hình 1.1 Các phương pháp giải bài toán lập lịch công việc (Trang 21)
Bảng 1.1: Bảng mô tả công việc và trình tự thực hiện công việc 1 - Luận văn thạc sĩ công nghệ thông tin  song song hoá bài toán jsp trên một số môi trường tính toán song song và phân tán
Bảng 1.1 Bảng mô tả công việc và trình tự thực hiện công việc 1 (Trang 32)
Bảng 1.2: Bảng mô tả công việc và trình tự thực hiện công việc 2  Công việc  thứ tự các máy thực hiện  Thời gian xử lý - Luận văn thạc sĩ công nghệ thông tin  song song hoá bài toán jsp trên một số môi trường tính toán song song và phân tán
Bảng 1.2 Bảng mô tả công việc và trình tự thực hiện công việc 2 Công việc thứ tự các máy thực hiện Thời gian xử lý (Trang 35)
Hình 1.3: Đồ thị G biểu diễn trình tự công việc thực hiện 2 - Luận văn thạc sĩ công nghệ thông tin  song song hoá bài toán jsp trên một số môi trường tính toán song song và phân tán
Hình 1.3 Đồ thị G biểu diễn trình tự công việc thực hiện 2 (Trang 38)
Hình 1.4: Đồ thị biểu diễn trình tự công việc thực hiện 3 - Luận văn thạc sĩ công nghệ thông tin  song song hoá bài toán jsp trên một số môi trường tính toán song song và phân tán
Hình 1.4 Đồ thị biểu diễn trình tự công việc thực hiện 3 (Trang 38)
Bảng 1.3: Bảng mô tả công việc và trình tự thực hiện công việc 3  Công việc  thứ tự các máy thực hiện  Thời gian xử lý - Luận văn thạc sĩ công nghệ thông tin  song song hoá bài toán jsp trên một số môi trường tính toán song song và phân tán
Bảng 1.3 Bảng mô tả công việc và trình tự thực hiện công việc 3 Công việc thứ tự các máy thực hiện Thời gian xử lý (Trang 38)
Bảng 1.4: Bảng mô tả công việc và trình tự thực hiện công việc 4  Công việc - Luận văn thạc sĩ công nghệ thông tin  song song hoá bài toán jsp trên một số môi trường tính toán song song và phân tán
Bảng 1.4 Bảng mô tả công việc và trình tự thực hiện công việc 4 Công việc (Trang 41)
Hình 1.5: Cây phân nhánh liệt kê trình tự thực hiện các công việc - Luận văn thạc sĩ công nghệ thông tin  song song hoá bài toán jsp trên một số môi trường tính toán song song và phân tán
Hình 1.5 Cây phân nhánh liệt kê trình tự thực hiện các công việc (Trang 42)
Hình 1.6: Đồ thị biểu diễn trình tự công việc thực hiện 4 - Luận văn thạc sĩ công nghệ thông tin  song song hoá bài toán jsp trên một số môi trường tính toán song song và phân tán
Hình 1.6 Đồ thị biểu diễn trình tự công việc thực hiện 4 (Trang 45)
Đồ thị trong hình 1.6 biểu diễn trình tự công việc như bảng 1.5 như sau : - Luận văn thạc sĩ công nghệ thông tin  song song hoá bài toán jsp trên một số môi trường tính toán song song và phân tán
th ị trong hình 1.6 biểu diễn trình tự công việc như bảng 1.5 như sau : (Trang 45)
Hình 1.7: Đồ thị biểu diễn trình tự công việc thực hiện 5  Đặt các giá trị T = 100, α =0.95 và  ε =0.98 - Luận văn thạc sĩ công nghệ thông tin  song song hoá bài toán jsp trên một số môi trường tính toán song song và phân tán
Hình 1.7 Đồ thị biểu diễn trình tự công việc thực hiện 5 Đặt các giá trị T = 100, α =0.95 và ε =0.98 (Trang 45)
Hình 1.8: Đồ thị biểu diễn trình tự công việc thực hiện 6  -  T = αT = 100*0.95 = 95 - Luận văn thạc sĩ công nghệ thông tin  song song hoá bài toán jsp trên một số môi trường tính toán song song và phân tán
Hình 1.8 Đồ thị biểu diễn trình tự công việc thực hiện 6 - T = αT = 100*0.95 = 95 (Trang 46)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w