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

Nghiên cứu vấn đề cấp phát mảnh trên các vị trí trong cơ sở dữ liệu phân tán

66 479 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 66
Dung lượng 3,09 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC LẠC HỒNG LÊ THỊ NGỌC HIẾU NGHIÊN CỨU VẤN ĐỀ CẤP PHÁT MẢNH TRÊN CÁC VỊ TRÍ TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Mã s

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC LẠC HỒNG

LÊ THỊ NGỌC HIẾU

NGHIÊN CỨU VẤN ĐỀ CẤP PHÁT MẢNH TRÊN CÁC VỊ TRÍ TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN

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

ĐỒNG NAI, 2013

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC LẠC HỒNG

LÊ THỊ NGỌC HIẾU

NGHIÊN CỨU VẤN ĐỀ CẤP PHÁT MẢNH TRÊN CÁC VỊ TRÍ TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN

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

Mã số: 60.48.02.01

Người hướng dẫn khoa học: PGS.TS Đỗ Phúc

Đồng Nai, 2013

Trang 3

MỞ ĐẦU

1 Đặt vấn đề

Trong những năm gần đây, đã có những tiến bộ đáng kể trong sự phát triển của các hệ thống mạng máy tính Cùng với xu thế toàn cầu hóa trong mọi lĩnh vực, đặc biệt là về thương mại, cơ sở dữ liệu (CSDL) phân tán đã trở thành một lĩnh vực thu hút nhiều sự quan tâm của các nhà nghiên cứu lý thuyết lẫn các nhà sản xuất phần mềm

Công nghệ về các hệ CSDL phân tán là sự hợp nhất của hai hướng tiếp cận đối với quá trình xử lý dữ liệu: công nghệ CSDL và công nghệ mạng máy tính Chúng

ta có thể hiểu một hệ CSDL phân tán là một CSDL có thể được lưu trữ trong nhiều máy tính đặt tại các vị trí vật lý khác nhau, hoặc có thể được phân tán qua một mạng lưới các máy tính kết nối với nhau

Như vậy, một hệ CSDL phân tán không phải là một hệ thống mà trong đó CSDL lại chỉ nằm ở một nút của mạng Trong một số tình huống, người ta cho rằng CSDL cần được nhân bản để lưu trữ tại các nút khác trong mạng sẽ tốt hơn là phải tải khối lượng dữ liệu đó từ vị trí trung tâm đến các vị trí khác Tuy nhiên nếu cần thiết phải cập nhật dữ liệu thì khi nhân bản quá nhiều đòi hỏi phải cài đặt các nghi thức điều khiển đồng thời và ủy thác hợp lý Vì thế vấn đề khó khăn trong việc thiết

kế CSDL phân tán là giải bài toán cấp phát dữ liệu (fragment allocation) trên các vị trí (site) sao cho hợp lý

Bài toán này thuộc loại NP-hard, vì vậy các giải pháp được đề xuất trước đây đều dựa trên các thuật giải heuristic Trong [8], March và Rho đưa ra phương pháp tiếp cận theo thuật giải di truyền Park và Baik đề xuất phương pháp dựa trên xác suất và kết hợp với thuật giải di truyền (xem [9]) Theo Yin-Fu Huang and Jyh-Her

Chen trong [12]: “Mặc dù một số lượng lớn các nhà nghiên cứu đã đề xuất các mô

hình và thuật toán phân bổ các mảnh trong một cơ sở dữ liệu phân tán, hầu hết các

Trang 4

mô hình của họ là rất phức tạp và chưa được hiểu rõ Vì vậy, rất khó khăn để sử dụng chúng trong thực tế” Năm 2008, Hassan I Abdalla trình bày thuật toán bố trí mảnh dựa trên thuật toán tham lam (xem [1]) Năm 2009 trong [5] Karimi Adl R and Rouhani Rankoohi SMT đưa ra thuật toán bố trí mảnh dựa trên thuật toán đàn kiến Năm 2012, Hassan I Abdalla đã viết trong bài báo [2]

“Phương pháp xác suất và phương pháp heuristic là một trong số các tiếp cận khác nhau mà các nhà nghiên cứu đã áp dụng để giải quyết vấn đề bố trí mảnh Phương pháp xác suất cho nhiều kịch bản có thể tìm thấy một giải pháp tối ưu, nhưng nó rất

là tốn kém Trong khi các tiếp cận theo phương pháp heuristic dẫn đến giải pháp gần tối ưu và hiếm khi gặp một giải pháp tối ưu.” Trong bài báo này

Hassan I Abdalla đề xuất mô hình kết hợp cả hai phương pháp heuristic và phương pháp xác suất

2 Mục tiêu của luận văn

Mục tiêu của luận văn là nghiên cứu các phương pháp giải bài toán cấp phát

dữ liệu trong CSDL phân tán, cài đặt chương trình, thực nghiệm các ví dụ minh họa, tìm giải pháp tối ưu

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

Luận văn nghiên cứu giải bài toán tối ưu theo 2 phương pháp:

- Phương pháp giải bài toán tối ưu theo thuật giải di truyền: thuật giải di truyền là thuật giải heuristic nên kết quả tìm được là tốt nhưng chưa thể là tốt nhất

- Phương pháp giải bài toán tối ưu theo mô hình qui hoạch tuyến tính: thuật giải của phương pháp này rất đơn giản nhưng kết quả tìm được lại tối ưu nhất

4 Các chương mục của luận văn

Bố cục của phần nghiên cứu trong luận văn này được trình bày như sau :

Mở đầu

Chương 1: Đề cập đến lý thuyết về CSDL phân tán Trình bày rõ 2 khía cạnh

quan trọng khi thiết kế CSDL phân tán là phân mảnh và cấp phát

Trang 5

Chương 2: Giới thiệu nội dung, phương pháp giải bài toán tối ưu theo thuật giải

di truyền và theo mô hình qui hoạch tuyến tính

Chương 3: Nêu bài toán cấp phát tổng quát, đề xuất, cài đặt chương trình để giải

bài toán theo 2 phương pháp trên

Chương 4: Thực nghiệm, so sánh kết quả trên 2 bài toán cụ thể, đưa ra nhận xét,

tìm giải pháp tối ưu

Chương 5: Kết luận

Trang 6

CHƯƠNG 1

HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN

1.1 HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN

Hệ CSDL phân tán là một CSDL, trong đó các phần của CSDL được lưu trữ trên nhiều máy tính trong một mạng Người sử dụng có thể truy cập vào các phần của CSDL có liên quan đến nhiệm vụ của mình, tại vị trí (site) của họ, mà không cần sự can thiệp của những người khác

Hệ quản trị CSDL phân tán là một hệ thống phần mềm cho phép quản lý CSDL phân tán như thể tất cả dữ liệu được lưu trữ trên cùng một máy tính Hệ quản trị CSDL phải đồng bộ tất cả các dữ liệu trong trường hợp mà nhiều người sử dụng truy cập vào cùng một dữ liệu Đảm bảo khi người sử dụng thực hiện cập nhật và xóa trên các dữ liệu tại một địa điểm sẽ tự động được phản ánh trong các dữ liệu được lưu trữ ở những nơi khác

Hình 1.1 Mô hình CSDL phân tán (Nguồn http://vietan-enviro.com/home/wp-content/uploads/2012/01/G1.jpg)

Trang 7

1.2 CÁC ĐẶC ĐIỂM CHÍNH CỦA CƠ SỞ DỮ LIỆU PHÂN TÁN

1.2.1 Chia sẻ tài nguyên

Việc chia sẻ tài nguyên của hệ CSDL phân tán được thực hiện thông qua mạng truyền thông Để chia sẻ tài nguyên một cách có hiệu quả thì mỗi tài nguyên cần được quản lý bởi một chương trình có giao diện truyền thông, các tài nguyên có thể được truy cập, cập nhật một cách tin cậy và nhất quán Quản lý tài nguyên ở đây

là lập kế hoạch dự phòng, đặt tên cho các lớp tài nguyên, cho phép tài nguyên được truy cập từ nơi này đến nơi khác, ánh xạ lên tài nguyên vào địa chỉ

truyền thông,

1.2.2 Tính mở

Tính mở của hệ thống máy tính là dễ dàng mở rộng phần cứng (thêm các thiết

bị ngoại vi, bộ nhớ, các giao diện truyền thông ) và các phần mềm (các mô hình hệ điều hành, các giao thức truyền tin, các dịch vụ chung tài nguyên ) Một hệ CSDL phân tán có tính mở là hệ có thể được tạo từ nhiều loại phần cứng và phần mềm của nhiều nhà cung cấp khác nhau với điều kiện là các thành phần này phải theo một tiêu chuẩn chung

Tính mở của hệ CSDL phân tán được xem như là mức độ bổ sung các dịch vụ dùng chung tài nguyên mà không phá hỏng hay nhân đôi các dịch vụ đang tồn tại Tính mở được hoàn thiện bằng cách xác định hay phân định rõ các giao diện chính của một hệ và làm cho nó tương thích với các nhà phát triển phần mềm

1.2.3 Khả năng song song

Hệ CSDL phân tán hoạt động trên một mạng truyền thông có nhiều máy tính, mỗi máy có thể có một hay nhiều CPU Trong cùng một thời điểm nếu có N tiến trình cùng tồn tại, ta nói chúng thực hiện đồng thời Việc thực hiện tiến trình theo cơ chế phân chia thời gian (một CPU) hay song song (nhiều CPU) Khả năng làm việc song song trong hệ CSDL phân tán được thực hiện do hai tình huống sau:

- Nhiều người sử dụng đồng thời ra các lệnh hay các tương tác với các chương trình ứng dụng

Trang 8

- Nhiều tiến trình Server chạy đồng thời, mỗi tiến trình đáp ứng các yêu cầu từ các tiến trình Client khác

1.2.4 Khả năng khứ lỗi

Việc thiết kế khả năng khứ lỗi của các hệ thống máy tính dựa trên hai giải pháp cơ bản sau:

- Dùng khả năng thay thế để đảm bảo sự hoạt động liên tục và hiệu quả

- Dùng các chương trình hồi phục khi xảy ra sự cố

Xây dựng một hệ thống có thể khắc phục sự cố theo cách thứ nhất thì người ta nối hai máy tính với nhau để thực hiện cùng một chương trình, một trong hai máy chạy ở chế độ Standby (không tải hay chờ) Giải pháp này tốn kém vì phải nhân đôi phần cứng của hệ thống Một giải pháp để giảm phí tổn là các Server riêng lẻ được cung cấp các ứng dụng quan trọng để có thể thay thế nhau khi có sự cố xuất hiện Khi không có các sự cố các Server hoạt động bình thường, khi có sự cố trên một Server nào đó, các ứng dụng Clien tự chuyển hướng sang các Server còn lại

Cách hai thì các phần mềm hồi phục được thiết kế sao cho trạng thái dữ liệu hiện thời (trạng thái trước khi xảy ra sự cố) có thể được khôi phục khi lỗi được phát hiện

Các hệ CSDL phân tán cung cấp khả năng sẵn sàng cao để đối phó với các sai hỏng phần cứng

1.2.5 Tính trong suốt

Tính trong suốt của một hệ CSDL phân tán được hiểu như là việc che khuất

đi các thành phần riêng biệt của hệ đối với người sử dụng và những người lập trình ứng dụng

1.2.5.1 Tính trong suốt về vị trí

Người sử dụng không cần biết vị trí vật lý của dữ liệu Người sử dụng có quyền truy cập tới đến CSDL nằm bất kỳ tại vị trí nào Các thao tác lấy, cập nhật dữ liệu tại một điểm dữ liệu ở xa được tự động thực hiện bởi hệ thống tại điểm đưa ra yêu cầu, người sử dụng không cần biết đến sự phân tán của CSDL trên mạng

Trang 9

1.2.5.2 Tính trong suốt trong việc sử dụng

Việc chuyển đổi của một phần hay toàn bộ CSDL do thay đổi về tổ chức hay quản lý, không ảnh hưởng tới thao tác người sử dụng

1.2.5.3 Tính trong suốt của việc phân chia

Nếu dữ liệu được phân chia do tăng tải, nó không được ảnh hưởng tới người

sử dụng

1.2.5.4 Tính trong suốt của sự trùng lập

Nếu dữ liệu trùng lặp để giảm chi phí truyền thông với CSDL hoặc nâng cao

độ tin cậy, người sử dụng không cần biết đến điều đó

1.2.6 Đảm bảo tin cậy và nhất quán

Hệ thống yêu cầu độ tin cậy cao, sự bí mật của dữ liệu phải được bảo vệ, các chức năng khôi phục hư hỏng phải được đảm bảo Ngoài ra yêu cầu của hệ thống về tính nhất quán cũng rất quan trọng trong thể hiện, không được có mâu thuẫn trong nội dung dữ liệu Khi các thuộc tính dữ liệu là khác nhau thì các thao tác vẫn phải nhất quán

1.3 MỤC ĐÍCH CỦA VIỆC SỬ DỤNG CSDL PHÂN TÁN

- Xuất phát từ yêu cầu thực tế về tổ chức và kinh tế: Trong thực tế nhiều tổ chức là không tập trung, dữ liệu ngày càng lớn và phục vụ cho đa người dùng nằm phân tán, vì vậy CSDL phân tán là con đường thích hợp với cấu trúc tự nhiên của các tổ chức đó Đây là một trong những yếu tố quan trọng thức đẩy việc phát triển CSDL phân tán

- Sự liên kết các CSDL địa phương đang tồn tại: CSDL phân tán là giải pháp

tự nhiên khi có các CSDL đang tồn tại và sự cần thiết xây dựng một ứng dụng toàn cục Trong trường hợp này CSDL phân tán được tạo từ dưới lên dựa trên nền tảng CSDL đang tồn tại Tiến trình này đòi hỏi cấu trúc lại các CSDL cục bộ ở một mức nhất định Dù sao, những sửa đổi này vẫn là nhỏ hơn rất nhiều so với việc tạo lập một CSDL tập trung hoàn toàn mới

Trang 10

- Làm giảm tổng chi phí tìm kiếm: Việc phân tán dữ liệu cho phép các nhóm làm việc cục bộ có thể kiểm soát được toàn bộ dữ liệu của họ Tuy vậy, tại cùng thời điểm người sử dụng có thể truy cập đến dữ liệu ở xa nếu cần thiết Tại cácvị trí cục

bộ, thiết bị phần cứng có thể chọn sao cho phù hợp với công việc xử lý dữ liệu cục

bộ tại điểm đó

- Sự phát triển mở rộng: Các tổ chức có thể phát triển mở rộng bằng cách thêm các đơn vị mới, vừa có tính tự trị, vừa có quan hệ tương đối với các đơn vị tổ chức khác Khi đó giải pháp cơ sở dữ liệu phân tán hỗ trợ một sự mở rộng uyển chuyển với một mức độ ảnh hưởng tối thiểu tới các đơn vị đang tồn tại

- Trả lời truy vấn nhanh: Hầu hết các yêu cầu truy vấn dữ liệu từ người sử dụng tại bất kỳ vị trí cục bộ nào đều thoả mãn dữ liệu ngay tại thời điểm đó

- Độ tin cậy và khả năng sử dụng nâng cao: nếu có một thành phần nào đó của hệ thống bị hỏng, hệ thống vẫn có thể duy trì hoạt động

- Khả năng phục hồi nhanh chóng: Việc truy nhập dữ liệu không phụ thuộc vào một máy hay một đường nối trên mạng Nếu có bất kỳ một lỗi nào hệ thống có thể tự động chọn đường lại qua các đường nối khác

1.4 CÁC VẤN ĐỀ KHI THIẾT KẾ CSDL PHÂN TÁN

Câu hỏi đang được tập trung giải quyết là làm thế nào để CSDL và các ứng dụng chạy trên nó có thể được đặt ở nhiều vị trí Hai khía cạnh quan trọng cần phải chú ý đến khi thiết kế hệ thống CSDL phân tán là phân mảnh (fragmentation), nghĩa

là tách CSDL thành nhiều phần, được gọi là các mảnh (fragment), và phân bố

(distribution) là việc cấp phát (allocation) các mảnh sao cho tối ưu (xem hình 1.2)

- Phân mảnh: Mỗi quan hệ có thể được chia thành một số các mảnh nhỏ, các mảnh đó sẽ nằm rãi rác tại các vị trí khác nhau

- Nhân bản và cấp phát: Các mảnh sẽ được nhân bản thành các bản sao giống hệt nhau và được cấp phát đến các vị trí trên mạng sao cho sự cấp phát này là tối

ưu

Trang 11

Hình 1.2 Phân mảnh và lưu trữ trên các vị trí Khi thiết kế CSDL phân tán, cần quan tâm đến các vấn đề liên quan với nhau sau đây :

- CSDL được phân mảnh như thế nào ?

- Có bao nhiêu bản sao của các mảnh cần được nhân rộng ?

- Các mảnh được cấp phát vào các vị trí nào trên mạng ?

- Những thông tin nào sẽ cần thiết cho việc phân mảnh và cấp phát ?

1.5 PHÂN MẢNH

1.5.1 Các lý do phân mảnh

Người ta phân mảnh và lưu trữ CSDL phân tán vì các lý do sau:

Thứ nhất là làm giảm không gian lưu trữ Khung nhìn của các ứng dụng thường chỉ là một tập con của quan hệ Vì thế đơn vị truy xuất chỉ là các tập con của quan hệ không phải là toàn bộ quan hệ Do đó tập con của quan hệ sẽ là đơn vị phân tán thích hợp nhất

Thứ hai, làm tăng lưu lượng hoạt động của hệ thống Việc phân rã một quan

hệ thành nhiều mảnh, mỗi mảnh được xử lý như một đơn vị, sẽ cho phép thực hiện nhiều giao dịch đồng thời Ngoài ra việc phân mảnh các quan hệ sẽ cho phép thực hiện song song một câu vấn tin bằng cách chia nó ra thành một tập các câu vấn tin

Trang 12

con hoạt tác trên các mảnh Vì thế việc phân mảnh sẽ làm tăng mức độ hoạt động đồng thời

1.5.2 Các kiểu phân mảnh

Có 3 phương pháp phân mảnh (xem hình 1.3):

- Phân mảnh ngang: mảnh là một phần của các bộ (tuples) trong quan hệ

- Phân mảnh dọc: mảnh là một phần của các thuộc tính (atributes) trong quan

Phân mảnh ngang

Phân mảnh dọc

Phân mảnh hỗn hợp

Trang 13

E1 J Doe Elec Eng

E2 M Smith Syst Anal

E3 A Lee Mech Eng

E4 J Miller Programmer

E5 B Casey Syst Anal

E6 L Chu Elect Eng

E7 R David Mech Eng

E8 J Jones Syst Anal

PROJ

P1 Instrumentation 150000 Montreal P2 Database Develop 135000 New York

P4 Maintenance 310000 Paris

PAY

Elec Eng 40000 Syst Anal 34000 Mech Eng 27000 Programmer 24000

Trang 14

Ví dụ : Phân mảnh ngang

Quan hệ PROG được phân thành 2 mảnh ngang :

- PROJ1: chứa thông tin về các dự án có ngân sách (BUGGET) < 200000

- PROJ2: chứa thông tin về các dự án có ngân sách (BUGGET)  200000

Ví dụ : Phân mảnh dọc

Quan hệ PROG được phân thành 2 mảnh dọc :

- PROJ3: chứa thông tin về ngân sách (BUGGET) các dự án

- PROJ4: chứa thông tin về tên (PNAME) và vị trí (LOC) các dự án

PROJ1

P1 Instrumentation 150000 Montreal P2 Database Develop 135000 New York PROJ2

P4 Maintenance Paris

Trang 15

Ví dụ : Phân mảnh hỗn hợp

Quan hệ PROJ4 được phân thành 3 mảnh ngang:

- PROJ4-1: chứa thông tin về mã, tên của các dự án ở (LOC) “Montreal”

- PROJ4-2: chứa thông tin về mã, tên của các dự án ở (LOC) “New York”

- PROJ4-3: chứa thông tin về mã, tên của các dự án ở (LOC) “Paris”

PROJ = PROJ3  ( PROJ4-1  PROJ4-2  PROJ4-3)

* Phân mảnh ngang được định nghĩa như là phép chọn F(R) trong đại số quan

hệ

PROJ1= BUDGET<200000(PROJ) PROJ2= BUDGET200000(PROJ)

* Phân mảnh dọc được định nghĩa như là phép chiếu A(R) trong đại số quan hệ

PROJ3= PNO, BUDGET(PROJ) PROJ4= PNO, PNAME, LOC(PROJ)

* Phân mảnh hỗn hợp được định nghĩa gồm phép chiếu và phép chọn trong đại

số quan hệ F(A1, , An(R)) hoặc A1, , An(F(R))

PROJ4-1= LOC=”Montreal”( PNO, PNAME, LOC (PROJ) PROJ4-2= LOC=”New York” ( PNO, PNAME, LOC (PROJ) PROJ4-3= LOC=”Paris” ( PNO, PNAME, LOC (PROJ)

Trang 16

1.5.3 Các qui tắc phân mảnh đúng đắn

Chúng ta sẽ tuân thủ ba quy tắc trong khi phân mảnh để bảo đảm rằng CSDL

sẽ không có thay đổi nào về ngữ nghĩa khi phân mảnh

1.5.3.1 Tính đầy đủ (Completeness)

Nếu một thể hiện quan hệ R được phân rã thành các mảnh R1, R2,…,Rn, thì mỗi mục dữ liệu có thể gặp trong R cũng có thể gặp trong một hoặc nhiều mảnh R i

1.5.3.2 Tính tái thiết được (Reconstruction)

Nếu một thể hiện quan hệ R được phân rã thành các mảnh R1, R2,…,Rn, thì cần phải định nghĩa một toán tử quan hệ  sao cho có thể thiết lập lại quan hệ R từ các mảnh R i R= R1  R2  Rn

1.5.3.3 Tính tách biệt (Disjointness)

Nếu quan hệ R được phân rã ngang thành các mảnh R1, R2,…,Rn, và mục dữ liệu d i nằm trong mảnh Rj, thì nó sẽ không nằm trong mảnh R k khác ( k j) Tiêu chuẩn này đảm bảo các mảnh ngang sẽ tách biệt (rời nhau)

Nếu quan hệ được phân rã dọc, các thuộc tính khoá chính phải được lặp lại trong mỗi mảnh Vì thế trong trường hợp phân mảnh dọc, tính tách biệt chỉ được

định nghĩa trên các trường không phải là khoá chính của một quan hệ (xem hình 1.4)

K A B A01

Hình 1.4: Phân mảnh ngang và phân mảnh dọc

Trang 17

1.6 BỐ TRÍ CÁC MẢNH TẠI CÁC VỊ TRÍ

Sau khi các quan hệ đã được phân mảnh, để một hệ thống CSDL phân tán hoạt động hiệu quả, các mảnh của CSDL cần phải được đặt như thế nào ở các vị trí khác nhau trên mạng Như vậy, việc xác định số lượng nhân bản của từng mảnh và sau đó tìm kiếm một bố trí tối ưu cho tất cả các mảnh và cả luôn những nhân bản

của nó trong một mạng máy tính sao cho tổng số các chi phí giao tác được giảm thiểu là quan trọng

Ở đây, có thể hiểu giao tác được bao gồm :

- Yêu cầu đọc: đơn giản như load một mảnh tại vị trí nào đó

- Yêu cầu cập nhật: phức tạp hơn vì khi cập nhật thì phải bảo đảm thống nhất ở tất cả các nhân bản của mảnh đó đang nằm ở vị trí bất kỳ trên mạng

1.6.1 Bài toán cấp phát

Giả sử rằng có một tập các mảnh F={F1, F2, … , Fn} và một mạng bao gồm các site S={S1, S2, … , Sm} trên đó có một tập các ứng dụng Q={Q1, Q2, …, Qq} Bài toán cấp phát là tìm một phân phối tối ưu của F cho S

* Tính tối ưu có thể được định nghĩa tương ứng với 2 điều kiện :

- Chi phí nhỏ nhất : Bao gồm chi phí lưu mỗi mảnh F i tại vị trí S j , chi phí vấn tin F i tại vị trí S j , chi phí cập nhật F i tại tất cả vị trí có chứa nó, và chi phí truyền dữ liệu

Vì thế bài toán cấp phát mảnh cố gắng tìm một lược đồ bố trí với hàm chi phí thấp nhất

- Hiệu năng : Hai chiến lược đã biết là giảm thời gian đáp ứng và tăng tối đa lưu lượng hệ thống tại mỗi vị trí

* Ma trận FAM (nxm) thể hiện cách cấp phát các mảnh vào site :

nếu mảnh F i được cấp phát tại site S j

trong trường hợp ngược lại

10

Trang 18

Ví dụ:

FAM:

1 2 3 4 1

2 3 4 5

F F F F

Ma trận FAM cho biết mảnh F1 được cấp phát tại site S2 và S3

1.6.2 Yêu cầu về thông tin

1.4.1.1 Thông tin về CSDL

Kích thước của mỗi mảnh (tính theo byte)

Ký hiệu SIZE(F i ) kích thước của mảnh F i 1.4.1.2 Thông tin về giao tác

Có 2 ma trận thể hiện số lần truy vấn như sau :

* Ma trận RM (qxn) (dòng là các truy vấn, cột là các mảnh) thể hiện số lần truy vấn chỉ đọc Phần tử r ij trong ma trận RM thể hiện số lần câu truy vấn q i thực

hiện chỉ đọc tại mảnh F j

* Ma trận UM (qxn) (dòng là các truy vấn, cột là các mảnh) thể hiện số lần truy vấn cập nhật Phần tử u ij trong ma trận UM thể hiện số lần câu truy vấn q i thực

Trang 19

Ma trận RM cho biết truy vấn q3 thực hiện chỉ đọc 3 lần ở mảnh F3

Ma trận UM cho biết truy vấn q3 thực hiện cập nhật 2 lần ở mảnh F1, 1 lần ở mảnh F2 và 1 lần ở mảnh F4

Ngoài ra, cũng cần phải có ma trận FREQ (qxm) (dòng là các truy vấn, cột là các site) thể hiện tần số chạy truy vấn tại mỗi site Phần tử FREQ ij thể hiện số lần

câu truy vấn q i thực hiện tại site S j

Ví dụ :

FREQ :

1 2 3 4

Ma trận FREQ cho biết truy vấn q3 được chạy 2 lần ở site S1, 1 lần ở site S3 1.4.1.3 Thông tin về mạng

Ma trận CTR(mxm) thể hiện chi phí truyền dữ liệu Phần tử CTR ij là chi phí

truyền 1 đơn vị dữ liệu từ S i đến S j

0 0.32 0.48 0.160.32 0 0.64 0.320.48 0.64 0 0.640.16 0.32 0.64 0

S S S S

Ma trận CTR cho biết chi phí truyền 1 đơn vị dữ liệu từ S1 đến S3 là 0.48

1.4.2 Hàm đánh giá

Để đánh giá xem một phương án cấp phát mảnh vào các site có tổng chi phí

là bao nhiêu, có thể dựa vào hàm đánh giá chi phí:

Cost = CC load +CC proc

Trang 20

Trong đó CC load là chi phí nạp dữ liệu vào mạng CC proc là chi phí truyền tin

để xử lý truy vấn

Ngày nay, với sự phát triển của công nghệ thông tin và truyền thông thì chi phí load dữ liệu không còn quan trọng nữa Vì thế chỉ cần quan tâm đến chi phí truyền tin để xử lý truy vấn Như vậy hàm đánh giá chi phí có thể xem như sau:

1.4.3 Bài toán tối ưu

Như trên đã đề cập, bài toán tối ưu là tìm một phương án cấp phát các mảnh

Fi vào các site Sj sao cho chi phí là nhỏ nhất hay hàm Cost đạt giá trị cực tiểu Sự

cấp phát đó phải thỏa điều kiện:

- Mỗi site phải được cấp ít nhất một mảnh

- Mỗi mảnh phải được cấp phát cho ít nhất một site

Đây là bài toán tối ưu tổ hợp có tất cả (2m-1)n trường hợp, không thể giải quyết bằng phương pháp xét tất cả, vì sẽ có sự bùng nổ về tổ hợp, máy tính không thể thực hiện được

Nghiên cứu về lĩnh vực này phần lớn là bài toán qui hoạch toán học nhằm hạ tối đa chi phí lưu trữ dữ liệu, xử lý các giao dịch và truyền thông Bài toán này thuộc loại NP-hard, vì vậy các giải pháp được đề xuất đều dựa trên các thuật giải heuristic [6 tr.22]

Trang 21

CHƯƠNG 2 MỘT SỐ THUẬT TOÁN TỐI ƯU

2.1 GIẢI BÀI TOÁN TỐI ƯU THEO THUẬT GIẢI DI TRUYỀN

(Genetic Algorithms – GA)

Thuật giải di truyền là một kỹ thuật của khoa học máy tính nhằm tìm kiếm

giải pháp thích hợp cho các bài toán tối ưu tổ hợp (combinatorial optimization)

Thuật giải di truyền cho phép chúng ta tạo ra những chương trình máy tính giúp giải quyết những vấn đề bằng cách mô phỏng sự tiến hóa của con người hay của sinh vật nói chung (dựa trên thuyết tiến hóa muôn loài của Darwin) trong điều kiện quy định sẵn của môi trường

Ý tưởng của thuật giải di truyền để giải một bài toán tối ưu là tìm một tập hợp của những giải pháp, sau đó cho "tiến triển" theo hướng chọn lọc để tìm những giải pháp tốt dần hơn Mục tiêu của thuật giải di truyền là đưa ra lời giải “tốt” có thể

là tối ưu hay xấp xỉ tối ưu

2.1.1 Nội dung thuật giải di truyền

Thuật giải di truyền cũng như các thuật toán tiến hóa nói chung, hình thành dựa trên quan niệm cho rằng quá trình tiến hóa tự nhiên là quá trình hoàn hảo nhất, hợp lý nhất và tự nó đã mang tính tối ưu Quá trình tiến hóa tối ưu ở chỗ, thế hệ sau bao giờ cũng tốt hơn (phát triển hơn, hoàn thiện hơn) thế hệ trước Tiến hóa tự nhiên được duy trì nhờ hai quá trình cơ bản: sinh sản và chọn lọc tự nhiên Xuyên suốt quá trình tiến hóa tự nhiên, các thế hệ mới luôn được sinh ra để bổ sung thay thế thế hệ cũ Cá thể nào phát triển hơn, thích ứng hơn với môi trường sẽ tồn tại Cá thể nào không thích ứng được với môi trường sẽ bị đào thải Sự thay đổi môi trường

là động lực thúc đẩy quá trình tiến hóa Ngược lại, tiến hóa cũng tác động trở lại góp phần làm thay đổi môi trường

Các cá thể mới sinh ra trong quá trình tiến hóa nhờ sự lai ghép ở thế hệ cha

mẹ Một cá thể mới có thể mang những tính trạng của cha mẹ (di truyền), cũng có

Trang 22

thể mang những tính trạng hoàn toàn mới (đột biến) Di truyền và đột biến là hai cơ chế có vai trò quan trọng như nhau trong tiến trình tiến hóa, dù rằng đột biến xảy ra với xác suất nhỏ hơn nhiều so với hiện tượng di truyền Các thuật toán tiến hóa tuy

có những điểm khác biệt nhưng đều mô phỏng bốn quá trình cơ bản: lai ghép, đột biến, sinh sản và chọn lọc tự nhiên

2.1.2 Thuật giải di truyền

2.1.2.1 Định nghĩa thuật giải di truyền

Về mặt hình thức, thuật giải di truyền được định nghĩa là một bộ 7

GA=(I,  , , s, t, , )

Trong đó

(a) I = B I ; không gian quần thể

(b)  : I  R + ; ký hiệu hàm thích nghi (fitness) (độ thích nghi của một cá

thể)

(c)  ; tập các phép toán di truyền (lai, đột biến, tái sinh)

(d) s :I  +   I  ; ký hiệu phép chọn, giữ lại  cá thể từ + cá thể ban đầu (e) t : I   {true, false} ; là tiêu chuẩn dừng

(f)  ; số cá thể trong thế hệ cha mẹ

(g)  ; số cá thể trong thế hệ con cái

2.1.2.2 Các phương thức tiến hóa của thuật giải di truyền

(a) Phương thức lai ghép (phép lai)

Phép lai là quá trình hình thành nhiễm sắc thể mới trên cơ sở các nhiễm sắc thể cha mẹ, bằng cách ghép một hay nhiều đoạn gen của hai (hay nhiều) nhiễm sắc

thể cha mẹ với nhau Phép lai xảy ra với xác suất p c, có thể mô phỏng như sau:

- Chọn ngẫu nhiên hai (hay nhiều) cá thể bất kỳ trong quần thể Giả sử các

nhiễm sắc thể của cha mẹ đều có m gen

- Tạo một số ngẫu nhiên trong khoảng từ 1 đến m-1 (ta gọi là điểm lai) Điểm lai chia các chuỗi cha mẹ dài m thành hai nhóm chuỗi con dài m 1 và m 2 Hai

chuỗi nhiễm sắc thể con mới sẽ là m 11 +m 22 và m 21 +m 12

Trang 23

- Đưa hai cá thể mới này vào quần thể để tham gia các quá trình tiến hóa tiếp theo

(b) Phương thức đột biến (phép đột biến)

Đột biến là hiện tượng các thể con mang một số tính trạng không có trong mã

di truyền của cha mẹ Phép đột biến xảy ra với xác suất p m, nhỏ hơn rất nhiều so với

xác suất lai p c Phép đột biến có thể mô phỏng như sau:

- Chọn ngẫu nhiên một cá thể bất kỳ cha mẹ trong quần thể

- Tạo một số ngẫu nhiên k trong khoảng từ 1 đến m, 1  k  m

- Thay đổi gen thứ k và trả cá thể này về quần thể để tham gia quá trình tiến

hóa tiếp theo

(c) Phương thức sinh sản (phép tái sinh)

Phép tái sinh là quá trình trong đó các cá thể được sao chép trên cơ sở thích nghi của nó Độ thích nghi là một hàm gán một giá trị thực cho các cá thể trong quần thể Quá trình này có thể được mô phỏng như sau:

- Tính độ thích nghi của từng cá thể trong quần thể hiện hành, lập bảng cộng dồn các giá trị thích nghi (theo số thứ tự gán cho từng cá thể) Giả sử quần

thể có n cá thể Gọi độ thích nghi của cá thể thứ i là F i , tổng dồn thứ i là F ti ,

tổng độ thích nghi của toàn quần thể là F m

- Tạo một số ngẫu nhiên F trong đoạn từ 0 đến F m

- Chọn cá thể thứ k đầu tiên thỏa F  F tk đưa vào quần thể của thế hệ mới

(d) Phương thức chọn lọc (phép chọn)

Phép chọn là quá trình loại bỏ các cá thể xấu trong quần thể để chỉ giữ lại trong quần thể các cá thể tốt Phép chọn có thể được mô phỏng như sau:

- Sắp xếp quần thể theo thứ tự độ thích nghi giảm dần

- Loại bỏ các cá thể cuối dãy để chỉ giữ lại n cá thể tốt nhất Ở đây, ta giả sử quần thể có kích thước cố định n

Trang 24

2.1.2.3 Thuật giải di truyền tổng quát

Begin

t:=0;

Khởi tạo quần thể P(0):={a1(0), a2(0), , a  (0)}I 

Tính độ thích nghi của các cá thể (a1(0)), (a2(0)), , (a(0))

Tính độ thích nghi của các cá thể trong quần thể P(t):

(a1(t)), (a2(t)), , (a(t), , (a+(t) )

Sắp xếp P(t) theo thứ tự  (ai(t)) giảm dần;

Loại  cá thể cuối cùng (giữ lại  cá thể tốt nhất);

End;

End;

2.1.3 Cơ chế thực hiện của thuật giải di truyền

Bước đầu tiên của quá trình tìm lời giải cho vấn đề là khởi tạo quần thể, nghĩa là phát sinh ra một số lượng lớn, hữu hạn các cá thể Sau đó, dựa trên một hàm số nào đó gọi là hàm thích nghi để xác định giá trị độ thích nghi, giá trị này có thể hiểu là “độ tốt” của cá thể Vì được phát sinh một cách ngẫu nhiên nên độ tốt của một lời giải hay tính thích nghi của một cá thể trong một quần thể là không xác định

Chúng ta hãy tưởng tượng một máy tính giải quyết bài toán theo kiểu leo đồi, trong không gian tìm kiếm của bài toán là một vùng đất gập ghềnh, có nhiều ngọn đồi cao thấp khác nhau Một người leo núi với tư tưởng càng leo càng cao (càng gần với độ tốt), nhưng có khả năng người leo núi sẽ bị kẹt ở một đỉnh đồi thấp Như

Trang 25

vậy, nếu có nhiều người cùng leo đồi ở nhiều địa điểm khác nhau thì có khả năng có một trong số các người này leo đến đỉnh đồi cao nhất sẽ cao hơn

Đến đây chúng ta có thể sẽ nảy sinh ý tưởng: sử dụng nhiều thế hệ các người leo đồi Nghĩa là toàn bộ những người leo đầu tiên (chẳng hạn 100 người) đều chưa gặp đỉnh đồi cao nhất thì sẽ cho 100 người khác tiếp tục leo Nhưng có khả năng trong nhóm những người leo đồi mới, không ai trong số họ leo được những ngọn đồi cao hơn nhóm người trước Hay nói một cách tổng quát: phải làm cách nào để giữ lại những người leo cao nhất cho thế hệ sau Tiến trình cứ tiếp tục cho đến khi

có một thế hệ nào đó, có một người leo đến đỉnh đồi cao nhất hoặc hết thời gian cho phép Trong trường hợp hết thời gian thì trong toàn bộ các thế hệ, người nào leo cao nhất sẽ được chọn

Như vậy, để cải thiện tính thích nghi của quần thể, người ta tìm cách tạo ra quần thể mới Có hai thao tác thực hiện trên thế hệ hiện tại để tạo ra một thế hệ khác

có độ thích nghi tốt hơn

 Thao tác 1: sao chép nguyên mẫu một nhóm các cá thể tốt từ thế hệ trước rồi đưa sang thế hệ sau bằng phép tái sinh và chọn lọc Thao tác này đảm bảo độ thích nghi của thế hệ sau luôn luôn tốt hơn hoặc bằng thế hệ trước

 Thao tác 2: là tạo ra các cá thể mới bằng phép lai ghép và đột biến Trong phép lai ghép, gen của hai cá thể tốt được chọn trong thế hệ trước sẽ được phối hợp với nhau (theo một qui tắc nào đó) để tạo ra hai cá thể mới Phép đột biến là biến đổi ngẫu nhiên một hoặc nhiều thành phần gen của một cá thể ở thế hệ trước để tạo ra một cá thể hoàn toàn mới ở thế hệ sau Phép đột biến có thể làm xáo trộn và làm mất đi tính thích nghi cao của cá thể được chọn

2.1.4 Giải bài toán tối ưu bằng thuật giải di truyền

Để giải quyết một bài toán theo thuật giải di truyền chúng ta cần thực hiện các công việc sau:

Trang 26

(a) Xem đối tượng cần tìm của bài toán như là 1 cá thể Mô tả lớp đối tượng cần tìm theo một cấu trúc dữ liệu, biểu diễn không gian tìm kiếm của bài toán (b) Xây dựng phương pháp khởi tạo quần thể ban đầu

(c) Định nghĩa hàm thích nghi, xác định độ thích nghi của các cá thể trong quần thể

(d) Xác định các phương thức tiến hóa của thuật giải di truyền như lai ghép, đột biến, tái sinh và chọn lọc

(e) Xác định các tham số cần thiết cho thuật giải như kích thước quần thể, xác suất lai, xác suất đột biến, số thế hệ tiến hóa,

(f) Xây dựng thuật giải

Bước 1: Khởi tạo quần thể ban đầu

Bước 2: Xác định độ thích nghi của các cá thể

Bước 3: Thực hiện các phương thức lai ghép, đột biến, tái sinh và chọn lọc để

sinh ra quần thể mới

Bước 4: Tính độ thích nghi của các cá thể mới, loại bỏ đi các cá thể kém

nhất, giữ lại một số nhất định các cá thể tốt

Bước 5: Nếu chưa tìm được cá thể tốt (lời giải tối ưu) hay chưa hết số thế hệ

tiến hoá (thời gian ấn định), quay lại bước 3

Bước 6: Tìm được lời giải tối ưu hay thời gian cho phép đã hết thì kết thúc

thuật giải và báo cáo kết quả tìm được

2.2 GIẢI BÀI TOÁN TỐI ƯU THEO MÔ HÌNH QUI HOẠCH TUYẾN TÍNH (Linear Programming Model – LP Model)

2.2.1 Bài toán qui hoạch tuyến tính

Bài toán tìm quyết định tối ưu với mô hình toán học đã được xây dựng gọi là bài toán qui hoạch toán học hay bài toán tối ưu Sự liên quan giữa các đối tượng đã được khảo sát trong quá trình xây dựng mô hình toán học thường được thể hiện dưới dạng một hệ phương trình và bất phương trình, coi đó như là những điều kiện

Trang 27

(hay ràng buộc) không thể bỏ qua Nếu tất cả các hàm có mặt trong bài toán ấy là

các hàm tuyến tính thì ta có bài toán quy hoạch tuyến tính

2.2.1.1 Định nghĩa qui hoạch tuyến tính

Qui hoạch tuyến tính (Linear Programming) hoặc Tối ưu hóa tuyến tính (Linear Optimization) là một phương pháp toán học dùng để tối ưu hóa một hàm

mục tiêu tuyến tính trong một mô hình toán học với một số ràng buộc được biểu diễn như là các mối quan hệ tuyến tính

Mô hình toán học là mô hình có dạng :

Maximize c T x

Trong đó x là vector của các biến quyết định cần tìm; c, b là vectơ hệ số và A

là ma trận các hệ số cho trước (cT là ký hiệu ma trận chuyển vị của ma trận c)

Các biểu diễn maximize c T x hoặc minimize c T x được gọi là hàm mục tiêu

Các biểu diễn subject to Ax  b được gọi là các ràng buộc

Những bài toán qui hoạch tuyến tính mà biến quyết định nhận giá trị nguyên gọi là qui hoạch tuyến tính nguyên (Integer Linear Programming, ILP)

2.2.1.2 Các phương pháp giải bài toán qui hoạch tuyến tính

Để giải bài toán qui hoạch tuyến tính, người ta có thể sử dụng các phương pháp sau:

(a) Phương pháp đồ thị

- Biểu diễn các ràng buộc lên đồ thị Oxy

- Xác định phần giới hạn bởi các ràng buộc là tập các phương án

- Xác định các điểm cực biên của tập các phương án thỏa mãn các ràng buộc

- Xác định giá trị của f(x) tại các điểm cực biên

- Suy ra phương án tối ưu

Trang 28

(b) Phương pháp đơn hình

Phương pháp đơn hình được Dantzig đưa ra năm 1947 cùng lúc với việc ông khai sinh ra qui hoạch tuyến tính Đây là một phương pháp thực sự có hiệu quả để giải những bài toán qui hoạch tuyến tính cở lớn trong thực tế Với cách nhìn hiện đại ý tưởng của phương pháp đơn hình rất đơn giản

Xuất phát từ một phương án cực biên x 0 Kiểm tra xem x 0 có là phương án tối

ưu hay chưa Nếu x 0 chưa phải là phương án tối ưu thì tìm cách cải tiến nó để được phương pháp khác là x 1 tốt hơn x 0 , tức là f(x 1 ) < f(x 0 ) Quá trình này lặp lại nhiều lần Vì số phương án cực biên là hữu hạn nên sau một số hữu hạn lần lặp ta sẽ tìm thấy phương án cực biên tối ưu

Phương pháp đơn hình được cài đặt thành công và có ứng dụng rộng rãi trên nhiều bài toán qui hoạch tuyến tính lớn với hàng nghìn biến và ràng buộc

Ngày nay, đã có nhiều công cụ phần mềm hỗ trợ giải các bài toán qui hoạch tuyến tính như Excel, Spreadsheet, WinQSB, Gurubi, COIN, ILOG,

2.2.2 Mô hình qui hoạch tuyến tính

Mô hình qui hoạch tuyến tính được sử dụng để tìm giải pháp tối ưu trong việc phân bổ nguồn lực hạn chế (năng lượng, máy móc, vật liệu, tiền bạc, nhân viên, không gian, thời gian, ) để đạt được tối đa lợi nhuận hoặc tối thiểu chi phí Tuy nhiên, nó chỉ áp dụng khi tất cả các mối quan hệ là tuyến tính, và chỉ có thể chứa một số hữu hạng các ràng buộc

Một mô hình qui hoạch tuyến tính bao gồm 3 thành phần:

- Một tập hợp các biến quyết định

- Một hàm mục tiêu mà giá trị của nó có thể đạt cực đại hoặc cực tiểu

- Một tập hợp những ràng buộc mô tả những hạn chế của điều kiện phải đáp ứng

Ngày nay, nhiều lĩnh vực đã sử dụng mô hình qui hoạch tuyến tính để giải quyết bài toán tối ưu như trong sản xuất, tiếp thị, đầu tư, vận tải, quảng cáo, điều hành khách sạn,

Trang 29

2.2.3 Mô hình qui hoạch tuyến tính có biến nhị phân

- Cả dự án A và B phải được chọn

- Hoặc dự án C hoặc dự án D được chọn

Gọi x i là các biến quyết định, với:

1 0

(a) Nếu có dự án A thì phải có dự án B (x A  x B)

x A  x B

(b) Nếu có dự án A thì không có dự án B và ngược lại (x A =  x B)

x A = 1- x B (c) Nếu dự án C là giao của dự án A và dự án B (x C = x A  x B)

x C  x A

x C  x B

x C  x A + x B – 1

nếu dự án A được chọn nếu dự án A không được chọn

Trang 30

(d) Nếu dự án C là hợp của dự án A và dự án B (x C = x A  x B)

x C  x A

x C  x B

x C  x A + x B – 1

2.2.4 Các bước để giải bài toán tối ưu theo mô hình qui hoạch tuyến tính

Bước 1: Định nghĩa bài toán (Problem Definition)

Quan sát các hoạt động để quyết định những gì đang thực sự muốn tìm với những ràng buộc nào

Bước 2: Mô hình hóa toán học (Mathematical Modeling)

Xác định biến quyết định, định lượng các đối tượng và những ràng buộc, đưa ra mô hình toán học

Bước 3: Giải bài toán trên mô hình (Solution of the Model)

Lựa chọn một công nghệ giải bài toán thích hợp để giải trên mô hình tổng quát Kiểm tra, xác nhận kết quả Nếu kết quả không chấp nhận được, quay về bước 2 xây dựng lại mô hình toán học

Bước 4: Kiểm chứng/Thực hiện kết quả

(Communication/Implementation of Results) Chuẩn bị bản báo cáo, theo dõi tiến độ thực hiện

Trang 31

CHƯƠNG 3

ÁP DỤNG CÁC THUẬT TOÁN TỐI ƯU ĐỂ GIẢI BÀI

TOÁN CẤP PHÁT

3.1 PHÁT BIỂU BÀI TOÁN CẤP PHÁT TỔNG QUÁT

3.1.1 Dữ liệu vào (Input)

e e e

e e e FREQ e

e e e

Trang 32

- Matrận CTR (mxm) : ma trận chi phí truyền dữ liệu

c c c

c c c CTR c

c c c

- Dãy SIZE(n): kích thước của các mảnh

1 2

n

s s SIZE

op ij

x x x

x x x FAM x

x x x

- Phương án cấp phát tối ưu là phương án cấp phát sao cho hàm đánh

giá chi phí f đạt giá trị cực tiểu

- Với ràng buộc tổng các giá trị trên dòng bất kỳ của ma trận phải lớn hơn 1 và tổng các giá trị trên cột bất kỳ phải lớn hơn 1

Trang 33

3.1 TIẾP CẬN THEO THUẬT GIẢI DI TRUYỀN

Để giải bài toán cấp phát theo thuật giải di truyền, chúng ta cần phải mô tả lớp đối tượng cần tìm theo một cấu trúc tiến hóa, tương tự như trong tự nhiên:

- Cá thể là gì ?

- Cách khởi tạo quần thể ban đầu như thế nào ?

- Định nghĩa độ đo thích nghi cho các cá thể

- Xác định các phép tác động quần thể như: phép lai, phép đột biến, phép tái sinh, phép chọn

Kết quả mong muốn là sau quá trình tiến hóa sẽ tìm được phương án cấp phát tối ưu hoặc xấp xỉ tối ưu

3.2.1 Các bước thực hiện giải bài toán

(a) Xem đối tượng cần tìm của bài toán như là 1 cá thể Mô tả lớp đối tượng cần tìm theo một cấu trúc dữ liệu, biểu diễn không gian tìm kiếm của bài toán

- Cá thể : là một phương án cấp phát

- Cấu trúc biểu diễn cá thể : ma trận FAM=[x ij]i=1 m, j=1 n

(b) Xây dựng phương pháp khởi tạo quần thể ban đầu

- Khởi tạo quần thể : tạo 100 cá thể, mỗi cá thể được xây dựng bằng cách

tạo ma trận FAM có các phần tử x ij được chọn ngẫu nhiên trong tập {0,1},

Ngày đăng: 15/12/2015, 15:21

HÌNH ẢNH LIÊN QUAN

Hình 1.1  Mô hình CSDL phân tán  (Nguồn  http://vietan-enviro.com/home/wp-content/uploads/2012/01/G1.jpg) - Nghiên cứu vấn đề cấp phát mảnh trên các vị trí trong cơ sở dữ liệu phân tán
Hình 1.1 Mô hình CSDL phân tán (Nguồn http://vietan-enviro.com/home/wp-content/uploads/2012/01/G1.jpg) (Trang 6)
Hình 1.2 Phân mảnh và lưu trữ trên các vị trí - Nghiên cứu vấn đề cấp phát mảnh trên các vị trí trong cơ sở dữ liệu phân tán
Hình 1.2 Phân mảnh và lưu trữ trên các vị trí (Trang 11)
Hình 1.4: Phân mảnh ngang và phân mảnh dọc - Nghiên cứu vấn đề cấp phát mảnh trên các vị trí trong cơ sở dữ liệu phân tán
Hình 1.4 Phân mảnh ngang và phân mảnh dọc (Trang 16)
Hình 3.2. Giao diện chương trình cấp phát mảnh vào các vị trí - Nghiên cứu vấn đề cấp phát mảnh trên các vị trí trong cơ sở dữ liệu phân tán
Hình 3.2. Giao diện chương trình cấp phát mảnh vào các vị trí (Trang 36)
Hình 3.3. Màn hình hướng dẫn cách khởi tạo quần thể - Nghiên cứu vấn đề cấp phát mảnh trên các vị trí trong cơ sở dữ liệu phân tán
Hình 3.3. Màn hình hướng dẫn cách khởi tạo quần thể (Trang 37)
Hình 3.4   Màn hình hướng dẫn cách tái sinh - Nghiên cứu vấn đề cấp phát mảnh trên các vị trí trong cơ sở dữ liệu phân tán
Hình 3.4 Màn hình hướng dẫn cách tái sinh (Trang 38)
Hình 3.5. Màn hình hướng dẫn cách đột biến - Nghiên cứu vấn đề cấp phát mảnh trên các vị trí trong cơ sở dữ liệu phân tán
Hình 3.5. Màn hình hướng dẫn cách đột biến (Trang 39)
Hình 3.6  Giao diện chương trình tính Ajl - Nghiên cứu vấn đề cấp phát mảnh trên các vị trí trong cơ sở dữ liệu phân tán
Hình 3.6 Giao diện chương trình tính Ajl (Trang 43)
Hình 4.1 Màn hình kết quả tính Ajl của bài toán 1. - Nghiên cứu vấn đề cấp phát mảnh trên các vị trí trong cơ sở dữ liệu phân tán
Hình 4.1 Màn hình kết quả tính Ajl của bài toán 1 (Trang 50)
Hình 4.2 Khai báo tham số bài toán 1 trong WinQSB - Nghiên cứu vấn đề cấp phát mảnh trên các vị trí trong cơ sở dữ liệu phân tán
Hình 4.2 Khai báo tham số bài toán 1 trong WinQSB (Trang 52)
Hình 4.4 Màn hình kết quả tính Ajl của bài toán 2. - Nghiên cứu vấn đề cấp phát mảnh trên các vị trí trong cơ sở dữ liệu phân tán
Hình 4.4 Màn hình kết quả tính Ajl của bài toán 2 (Trang 53)
Hình 4.5a  Khai báo tham số bài toán 2 trong WinQSB - Nghiên cứu vấn đề cấp phát mảnh trên các vị trí trong cơ sở dữ liệu phân tán
Hình 4.5a Khai báo tham số bài toán 2 trong WinQSB (Trang 55)
Hình 4.5b  Khai báo tham số bài toán 2 trong WinQSB - Nghiên cứu vấn đề cấp phát mảnh trên các vị trí trong cơ sở dữ liệu phân tán
Hình 4.5b Khai báo tham số bài toán 2 trong WinQSB (Trang 55)
Hình 4.6 Kết quả kiểm chứng FAM op  của bài toán 1 trong chương trình cấp phát - Nghiên cứu vấn đề cấp phát mảnh trên các vị trí trong cơ sở dữ liệu phân tán
Hình 4.6 Kết quả kiểm chứng FAM op của bài toán 1 trong chương trình cấp phát (Trang 60)
Hình 4.7 Kết quả kiểm chứng FAM op  của bài toán 2 trong chương trình cấp phát - Nghiên cứu vấn đề cấp phát mảnh trên các vị trí trong cơ sở dữ liệu phân tán
Hình 4.7 Kết quả kiểm chứng FAM op của bài toán 2 trong chương trình cấp phát (Trang 61)

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

🧩 Sản phẩm bạn có thể quan tâm

w