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

Tối ưu số cho bài toán tối ưu một mục tiêu

85 724 1

Đ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 85
Dung lượng 4,62 MB

Nội dung

Trong đó, các giải thuật tiến hóa áp dụng cho các bài toán tối ưu một mục tiêu hay đa mục tiêu đã chứng tỏ tính hiệu quả của nó một cách rộng rãi trong những năm gần đây thông qua một số

Trang 1

Phần 0

MỞ ĐẦU

Trang 2

Ngày nay, các bài toán tối ưu thường xuất hiện trong kinh tế và kỹ thuật, chúng có nhiều ứng dụng rất rộng rãi và đa dạng.

Trên thế giới có rất nhiều giải thuật để giải các bài toán tối ưu Trong đó, các giải thuật tiến hóa áp dụng cho các bài toán tối ưu một mục tiêu hay đa mục tiêu đã chứng tỏ tính hiệu quả của nó một cách rộng rãi trong những năm gần đây thông qua một số lượng lớn các áp dụng Tuy nhiên, hầu hết các nghiên cứu hiện hành trên các ứng dụng của giải thuật tiến hóa để giải các bài toán tối ưu một hay nhiều mục tiêu đều tập trung trên các chiến lược xử lý các hàm mục tiêu, gán giá trị fitness và chọn lọc nhằm cố gắng đạt được mục đích là hướng dẫn việc tìm kiếm của giải thuật đến một miền thu hẹp có chứa lời giải tối ưu đối với bài toán tối ưu một mục tiêu hay biên tối ưu Pareto đối với bài toán tối ưu đa mục tiêu

Tuy nhiên các lời giải tìm được thường là các lời giải xấp xỉ khá tốt nhưng không phải lời giải tối ưu (một mục tiêu) hay tối ưu Pareto (đa mục tiêu) Mặc dù các toán tử sinh sản như lai ghép và đột biến đã được cải tiến rất nhiều nhưng chúng vẫn sản sinh ra các cá thể con mà hoàn toàn không biết đến các cá thể con đó có khả năng tốt hơn hay xấu hơn cha mẹ của chúng như thế nào Nói cách khác, lý do để các giải thuật tiến hóa thường không đạt được các lời giải tối ưu (một mục tiêu) hay tối ưu Pareto (đa mục tiêu) là các toán tử di truyền như lai ghép và đột biến theo kiểu truyền thống không đủ mạnh để sản sinh ra các cá thể tốt nhất như mong muốn

Để vượt qua khó khăn đó, người ta đề xuất một hướng tiếp cận mới, được

gọi là giải thuật Tìm Kiếm Ngẫu Nhiên Theo Xác Suất (TKNNTXS), để giải các

bài toán tối ưu một hay nhiều mục tiêu Hướng tiếp cận này có những đặc điểm sau

- Không cần thiết kế một hàm phụ trợ như các hàm phạt Việc xử lý các hàm mục tiêu và các ràng buộc được tách biệt nhau Xử lý trực tiếp trên các chữ số của biến quyết định để phát sinh lời giải khả thi tốt hơn và sử dụng chính các hàm mục tiêu làm hàm đo độ tốt của lời giải

- Không sử dụng kỹ thuật di truyền truyền thống như lai ghép và đột biến tại một hay nhiều điểm Việc sản sinh và tìm kiếm lời giải tối ưu là ngẫu nhiên được hướng dẫn bởi xác suất

Trang 3

Phaàn 1

TOÅNG QUAN

Trang 4

I Khái quát:

Phần mềm áp dụng giải thuật Tìm Kiếm Ngẫu Nhiên Theo Xác Suất để tìm

ra các đáp số tối ưu cho bài toán một mục tiêu (Bài toán Min hoặc bài toán Max) Tuy nhiên, phân mềm không đưa ra các đáp số đã tìm được là tối ưu nhất, chỉ là tương đối

Mục đích của phần mềm này là:

Đưa ra đáp số tối ưu cho bài toán một mục tiêu Từ đó, có thể giúp mọi người giải quyết vấn đề của họ

Giúp người học giải các bài toán tối ưu bằng máy tính

2 Phạm vi sử dụng:

Chương trình sẽ được sử dụng trong các trường học để giúp cho người học tìm

ra các đáp án tối ưu cho bài toán tối ưu với độ chính xác cao nhất

Sử dụng trong việc tìm ra phương án tối ưu để giải quyết các vấn đề phức tạp

III Người sử dụng:

Các lập trình viên, người phân tích thiết kế và mọi người

IV.Nhiệm vụ:

Tìm ra các phương án tối ưu cho bài toán một mục tiêu

Ngôn ngữ cài đặt cho chương trình là Visual Basic 6.0

Trang 5

Phần 2

GIỚI THIỆU CÁC PHƯƠNG PHÁP TỐI ƯU CỔ ĐIỂN

Trang 6

A MỞ ĐẦU

Các thuật toán tối ưu có rất nhiều ứng dụng trong kinh tế và trong khoa học kỹ thuật Đối với mỗi thuật toán, cần phải xây dựng cơ sở lý thuyết của thuật toán, chứng minh tính hữu hạn hay hội tụ của nó, thuật toán cần phải lập trình được và chạy có hiệu quả trên máy tính

1. BÀI TOÁN TỐI ƯU TỔNG QUÁT :

Bài toán tối ưu tổng quát được phát biểu như sau Cực đại hóa (cực tiểu hóa) hàm

với các điều kiện

Bài toán (1)-(3) được gọi là một quy hoạch, hàm f(x) được gọi là hàm mục tiêu, các hàm gi(x), i=1, ….,m được gọi là các hàm ràng buộc, mỗi đẳng thức hoặc bất đẳng thức trong hệ (2) được gọi là một ràng buộc Tập hợp

D= x X | g i (x) (,=,) b i , i=1, ….,m (4)

được gọi là miền ràng buộc (hay miền chấp nhận được) Mỗi điểm x=(x1,x2,

….,xn) ∈ D được gọi là một phương án (hay một lời giải chấp nhận được) Một phương án x* ∈ D đạt cực đại (hay cực tiểu) của hàm mục tiêu, cụ thể là:

f(x*) f(x) , x D (đối với bài toán MAX) f(x*) f(x) , x D (đối với bài toán MIN)

được gọi là phương án tối ưu (lời giải tối ưu) Khi đó giá trị f(x*) được gọi là giá trị tối ưu của bài toán

Trang 7

2. PHÂN LOẠI CÁC BÀI TOÁN :

Một trong những phương pháp hiển nhiên nhất để giải bài toán đặt ra là phương pháp duyệt toàn bộ: tìm giá trị hàm mục tiêu f(x) trên tất cả các phương án, sau đó so sánh các giá trị tính được để tìm ra giá trị tối ưu và phương án tối ưu của bài toán Tuy nhiên cách giải quyết này khó có thể thực hiện được, ngay cả khi kích thước của bài toán không lớn (số biến n và số ràng buộc m) là không lớn, bởi vì tập D thông thường gồm một số rất lớn phần tử, trong nhiều trường hợp là không đếm được

Vì vậy cần phải có những nghiên cứu trước về mặt lý thuyết để có thể tách ra từ bài toán tổng quát những lớp bài toán dễ giải Các nghiên cứu lý thuyết đó thường là nghiên cứu các tính chất của các thành phần bài toán (hàm mục tiêu, các hàm ràng buộc, các biến số, các hệ số …), các điều kiện tồn tại lời giải chấp nhận được, các điều kiện cần và đủ của cực trị, tính chất của các đối tượng nghiên cứu

Các tính chất của các thành phần của bài toán và đối tượng nghiên cứu giúp

ta phân loại các bài toán Một bài toán tối ưu được gọi là:

 Quy hoạch tuyến tính (QHTT) nếu hàm mục tiêu f(x) và tất cả các hàm ràng buộc gi(x), i=1, ….,m là tuyến tính Tập X là một tập lồi đa diện Một trường hợp riêng quan trọng của quy hoạch tuyến tính là bài toán vận tải

 Quy hoạch tham số nếu các hệ số trong biểu thức của hàm mục tiêu và của các ràng buộc phụ thuộc vào tham số

 Quy hoạch động nếu đối tượng xét là các quá trình có nhiều giai đoạn nói chung, hay các quá trình phát triển theo thời gian nói riêng

 Quy hoạch phi tuyến nếu f(x) hoặc có ít nhất một trong các hàm gi(x) là phi tuyến, hoặc cả hai trường hợp đó cùng xảy ra

 Quy hoạch lồi nếu tìm cực tiểu của hàm lồi f(x) trên tập lồi D

 Quy hoạch lõm nếu tìm cực tiểu hàm lõm f(x) trên tập lồi D

 Quy hoạch rời rạc nếu miền ràng buộc D là tập rời rạc Trong trường hợp riêng khi các biến chỉ nhận giá trị nguyên ta có quy hoạch nguyên Một

Trang 8

trường hợp riêng của quy hoạch nguyên là quy hoạch biến Boole khi các biến số chỉ nhận giá trị 0 hay 1.

 Quy hoạch đa mục tiêu nếu trên cùng một miền ràng buộc ta xét đồng thời các hàm mục tiêu khác nhau

1. XÂY DỰNG MÔ HÌNH TOÁN HỌC CHO MỘT VẤN ĐỀ THỰC TẾ

Việc mô hình hóa toán học cho một vấn đề thục tế có thể chia làm bốn bước

Bước 1: Xây dựng mô hình định tính cho vấn đề thực tế, tức là xác định

các yếu tố có ý nghĩa quan trọng nhất và xác lập các quy luật mà chúng phải tuân theo Nói một cách khác là phát biểu mô hình bằng lời và bằng những biểu đồ, các điều kiện về kinh tế kỹ thuật, tự nhiên, xã hội, các mục tiêu cần đạt được

Bước 2: Xây dựng mô hình cho vấn đề đang xét, tức là diễn tả lại dưới

dạng ngôn ngữ toán học cho mô hình định tính Khi có một hệ thống, ta chọn các biến số đặc trưng cho các trạng thái của hệ thống Mô hình toán học thiết lập mối liên hệ giữa các biến số và các hệ số điều khiển hiện tượng Việc làm rất quan trọng ở bước này là phải xác định hàm mục tiêu, tức là một đặc trưng bằng số mà giá trị càng lớn (càng nhỏ) của nó tương ứng với hiệu quả càng tốt hơn giải quyết vấn đề mà người nhận lời giải mong muốn Tiếp theo, phải diễn tả bằng các phương trình hay bất phương trình các điều kiện kinh tế kỹ thuật …, đó là các ràng buộc toán học mà các biến số phải tuân theo

Bước 3: Sự dụng các công cụ toán học để khảo sát và giải quyết bài toán

hình thành trong Bước 2 Căn cứ vào mô hình đã xây dựng cần phải chọn

hoặc xây dựng phương pháp giải cho phù hợp Tiếp đó, cụ thể hóa phương pháp bằng các thuật toán tối ưu Vì các bài toán thực tế thường có kích thước lớn nên không thể giải bằng tay được mà phải sử dụng máy tính điện tử Vậy cần phải chương trình hóa thuật toán bằng một ngôn ngữ lập trình thích hợp, sau đó đưa lên máy tính để chạy và in ra kết quả

Trang 9

Bước 4: Phân tích và kiểm định lại các kết quả thu được trong Bước 3

Trong bước này cần phải xác định mức độ phù hợp của mô hình và kết quả tính toán với vấn đề thực tế hoặc áp dụng phương pháp phân tích chuyên gia Ở đây có thể xảy ra một trong hai khả năng sau

Khả năng 1: Mô hình và các kết quả tính toán phù hợp với thực tế

Khi đó cần lập một bảng tổng kết ghi rõ cách đặt vần đề, mô hình hóa toán học thuật toán tối ưu, chương trình, cách chuẩn bị số liệu để đưa vào máy tính, nghĩa là toàn bộ các công việc cần thiết cho việc áp dụng mô hình và kết quả để giải quyết vấn đề thực tế đặt ra Trong trường hợp mô hình cần được sử dụng nhiều lần thì phải xây dựng hệ thống phần mềm bảo đảm giao diện thuận tiện giữa người sử dụng và máy tính điện tử, không đòi hỏi người sử dụng phải có trình độ chuyên môn cao về toán

Khả năng 2: Mô hình và các kết quả tính toán không phù hợp với

thực tế Trong trường hợp này cần phải xem xét các nguyên nhân của nó Có thể nêu ra bốn nguyên nhân sau:

Các kết quả tính toán trong Bước 3 chưa đủ độ chính xác cần

thiết Khi đó cần phải xem lại các thuật toán cũng như các chương trình tính toán đã viết và sử dụng

 Các số liệu ban đầu (các hệ số, thông số) không phản ánh đúng thực tế giá cả, hoặc chi phí trên thị trường, hoặc các định mức vật tư, hoặc các số liệu khác về công suất, khả năng máy móc, dự trữ tài nguyên, … Khi đó cần điều chỉnh lại một cách nghiêm túc, chính xác

 Mô hình định tính xây dựng chưa phản ánh được đầy đủ hiện

tượng thực tế Nếu vậy cần rà soát lại Bước 1 xem có yếu tố

hoặc quy luật nào còn bị bỏ sót không?

Việc xây dựng mô hình toán học ở Bước 2 chưa thỏa đáng

Cần phải xây dựng lại cho phù hợp, mức độ tăng dần từ tuyến tính đến phi tuyến, từ tĩnh đến động

2. MỘT SỐ MÔ HÌNH THỰC TẾ :

 Bài toán lập kế hoạch sản xuất

Trang 10

 Bài toán vận tải.

 Bài toán cái túi

ĐIỂN

Quy hoạch tuyến tính (QHTT) là một trong những lớp bài toán tối ưu được nghiên cứu trọn vẹn cả về phương diện lý thuyết lẫn thực hành

QHTT bắt nguồn từ những nghiên cứu của nhà toán học Nga nổi tiếng, Viện sỹ Kantorovich L.V, trong một loạt các công trình về bài toán kế hoạch hóa sản xuất, công bố năm 1938 Năm 1947, nhà toán học Mỹ Dantzig đã nghiên cứu và đề xuất phương pháp đơn hình (Simplex method) để giải bài toán QHTT Năm 1952 phương pháp đơn hình đã được chạy trên máy tính điện tử ở Mỹ

QHTT có một vị trí quan trọng trong tối ưu hóa vì 2 lý do Lý do thứ nhất là mô hình tuyến tính đơn giản trong việc áp dụng Lý do thứ hai là nhiều bài toán quy hoạch nguyên và quy hoạch phi tuyến có thể xấp xỉ với độ chính xác cao bởi một dãy các bài toán QHTT

1. BÀI TOÁN QUY HOẠCH TUYẾN TÍNH

a) Bài toán tổng quát :

Để nhất quán lập luận ta xét bài toán tím cực đại, sau đó ta sẽ xét cách chuyển bài toán tìm cực tiểu sang tìm cực đại Bài toán tổng quát của QHTT có dạng:

Trang 11

Nếu gặp bài toán Min, tức là:

b) Dạng chuẩn và dạng chính tắc :

Người ta thường xét bài toán QHTT dưới hai dạng sau:

(1) Dạng chuẩn:

j 1 n= c j x j max

j 1 n= a ii x j b i , i=1, ….,m

x j 0, j=1,…,n (2) Dạng chính tắc:

j 1 n= c j x j max

j 1 n= a ii x j = b i , i=1, ….,m

x j 0, j=1,…,n

Trang 12

2. MỘT SỐ TÍNH CHẤT CHUNG :

 Tập hợp tất cả các phương án của một bài toán QHTT là tập lồi

 Hàm mục tiêu của bài toán QHTT sẽ đạt MAX tại điểm cực biên của tập D Nếu hàm mục tiêu không chỉ nhận MAX tại một điểm cực biên của tập lồi

D mà tại nhiều điểm cực biên thì nó sẽ đạt giá trị cực đại tại những điểm là tổ hợp lồi của các điểm đó

 Nếu các vectơ A1,A2,….,Ak là độc lập tuyến tính và thỏa mãn

x 1 A 1 + x 2 A 1 + … + x k A k = b

trong đó xj> 0, j=1,……,k thì điểm

x=( x 1 ,x 2 , ,x k , 0,…,0)

là điểm cực biên của tậo lồi đa diện D

 Để x=( x1 ,x2 , ,xn) là phương án cực biên của QHTT dưới dạng chính tắc thì cần và đủ là các véctơ cột Aj của ma trận A ứng với các thành phần xj> 0 là độc lập tuyến tính

3. PHƯƠNG PHÁP ĐƠN HÌNH GIẢI QHTT

Cơ sở của phương pháp này được Dantzig công bố năm 1947 có tên gọi là phương pháp đơn hình Sở dĩ có tên gọi như vậy là vì những bài toán đầu tiên được giải bằng phương pháp đó có các ràng buộc dạng:

Trang 13

Phương pháp đơn hình dựa trên hai nhận xét sau : nếu bài toán QHTT có phương án tối ưu thì có ít nhất một đỉnh của D là phương án tối ưu, đa diện lồi D có một số hữu hạn đỉnh Như vậy phải tồn tại thuật toán hữu hạn Thuật toán gồm hai giai đoạn:

Giai đoạn 1: tìm một phương án cực biên (một đỉnh)

Giai đoạn 2: kiểm tra điều kiện tối ưu đối với phương án tìm được ở

giai đoạn 1 Nếu điều kiện tối ưu được thỏa mãn thì phương án đó là tối

ưu Nếu không, ta chuyển sang phương án cực biên mới sao cho cải tiến giá trị hàm mục tiêu Tiếp theo lại kiểm tra điều kiện tối ưu đối với phương án mới

Người ta thực hiện một dãy các thủ tục như vậy cho đến khi nhận được phương án tối ưu, hoặc đến tình huống bài toán không có phương án tối ưu

b) Thuật toán đơn hình :

Giả sử ta đã đưa QHTT về dạng chính tắc:

Ax = b

Bước 1 : xây dựng bảng đơn hình xuất phát Tìm một phương án cực biên

xuất phát x và cơ sở của nó Aj, j ∈ J

 Xác định các số zjk bởi hệ phương trình:

Trang 14

Z 0 =

J

j c j x j

Bước 2 : kiểm tra tối ưu

Nếu ∆k ≥ 0, ∀k ∉ J thì x là phương án tối ưu, dừng thuật toán Trái lại, chuyển sang bước 3

Bước 3 : tìm véctơ đưa vào cơ sở Có 2 khả năng xảy ra:

 Tồn tại k ∉ J sao cho ∆k < 0 và zjk ≤ 0, ∀ j ∈ J thì bài toán QHTT không có lời giải tối ưu (Z không bị chặn trên) Dừng thuật toán

 Đối với mỗi k ∉ J sao cho ∆k < 0 đều tồn tại j ∈ J: zjk > 0 Khi đó chọn chỉ số s theo tiêu chuẩn:

s = min ∆k | k < 0

đưa véctơ AS vào cơ sở

Bước 4 : tìm véctơ loại khỏi cơ sở Xác định:

S = min x j / z rs | z js > 0 = x r / z rs

và đưa véctơ Ar ra khỏi cơ sở

Bước 5 : chuyển sang phương án cực biên mới và cơ sở mới Cở sở mới là

Aj | j ∈ J’ với J’=J \ {r} U {s} Phương án cực biên mới x’ được tính theo công thức khác, khai triển các véctơ AK theo các véctơ cơ sở mới được tính theo công thức :

Sau đó quay lên bước 2

Chú ý: Đối với bài toán min{<c,x> | Ax = b, x ≥ 0} thì tiêu chuẩn tối ưu là ∆k≤ 0 (∀k) và véctơ AS được chọn đưa vào cơ sở theo công thức:

z jk – (z rk / z rs ) z js , nếu j r

z rk / z rs nếu j = r z’ jk =

Trang 15

s = max ∆k | k > 0, k J

4. THUẬT TOÁN ĐƠN HÌNH CẢI BIÊN :

Quá trình tính toán của phương pháp đơn hình cải biên được bố trí trong 2 bảng sau

Bảng này gọi là bảng đơn hình cải biên Cột c J ghi hệ số hàm mục tiêu ứng

với các biến cơ sở Cột A J ghi các véctơ cơ sở, do đó ta cũng nhận được chỉ số

các biến cơ sở Cột q 0 : m phần tử đầu là phương án cực biên đang xét, phần tử cuối là trị số hàm mục tiêu Ma trận nghịch đảo cơ sở AJ-1 : m dòng đầu của các cột q1, ,qm Dòng cuối cùng của các cột q1, , qm : phương án của bài toán đối ngẫu, nó được tính theo công thức:

(q m+1,1 , , q m+1,m ) = c J A J -1

Trang 16

Cột AS : m phần tử đầu của cột là khai triển của véctơ đưa vào cơ sở AS theo

cơ sở, phần tử cuối chính là ∆S

Thuật toán đơn hình cải biên gồm các bước:

Bước 0 : xây dựng bảng đơn hình xuất phát Giả sử ta có cơ sở Aj , j ∈ J và phương án cực biên x Tính ma trận nghịch đảo Aj-1(điền vào m dòng đầu của các cột q1, , qm) Tính m phần tử đầu của cột q0 theo :

Bước 1 : Tìm cột quay và kiểm tra tối ưu.

Tính ước lượng các cột theo công thức :

K = c JZk – c k = c J A J -1 - c k

với ∆K là tích vô hướng của dòng m+1 thuộc bảng 2 với cột j của bảng 1 Nếu ∆j ≥ 0 với mọi j thì phương án cực biên đang xét là tối ưu Trái lại, ta xác định véctơ AS đưa vào cơ sở theo công thức :

S = min ∆j | j < 0, j J

Bước 2 : tìm dòng quay.

Trước tiên tính cột quay, tức cột AS của bảng 2 theo công thức: lấy cột AS

của bảng 1 nhân vô hướng với từng dòng của ma trận AJ-1 ta sẽ được từng phần tử của cột AS thuộc bảng 2 Phần tử cuối của cột AS bảng 2 lấy là ∆S

Nếu zjs ≤ 0 với mọi j ∈ J thì hàm mục tiêu bài toán quy hoạch tuyến tính không bị chặn trên Nếu trái lại ta xác định véctơ Ar loại khỏi cơ sở theo công thức:

θS = q r0 / z rs = min j ∈J q j0 / z js | z js > 0

Trang 17

cột θ trong bảng 2 để lưu qj0 / zjs với j ∈ J

Bước 3 : Biến đổi ma trận nghịch đảo mở rộng Đưa AS vào cơ sở thay cho Ar

và biến đổi toàn bộ các cột q0, , qm theo công thức :

phần tử chính của phép biến đổi là zrs Quay lên bước 1

Khái niệm đối ngẫu là một trong các khái niệm cơ bản của QHTT Trong rất nhiều trường hợp để có được những kết luận chấp nhận được cho một trong các bài toán trên thì việc nghiên cứu bài toán đối ngẫu của nó lại tỏ ra thậun tiện hơn Hơn nữa khi phân tích song song một cặp bài toán đối ngẫu ta có thể nhận được những kết luận hay, cả về toán học và cả về ý nghĩa kinh tế

1. QHTT DƯỚI DẠNG CHUẨN, CẶP BÀI TOÁN TUYẾN TÍNH ĐỐI NGẪU ĐỐI XỨNG:

Cho QHTT dưới dạng chuẩn:

y 0

ở đây A’ là ma trận chuyển vị của A, y là véctơ cột có m phần tử

2. QHTT DƯỚI DẠNG CHÍNH TẮC, CẶP BÀI TOÁN TUYẾN TÍNH ĐỐI NGẪU KHÔNG ĐỐI XỨNG

Xét bài toán

q jk – (q rk / z rs ) z js , nếu j r

q rk / z rs nếu j = r q’ jk =

Trang 18

3. CẶP BÀI TOÁN ĐỐI NGẪU TỔNG QUÁT

Xét bài toán gốc:

Trang 19

4. Ý NGHĨA CẶP BÀI TOÁN ĐỐI NGẪU

a) Ý nghĩa toán học

Khi có cj ≥ 0, ∀j thì biết ngay được một phương án cực biên của bài toán đối ngẫu

Nếu y là phương án cực biên của bài toán đối ngẫu thì khi bài toán gốc thêm một ràng buộc ta có (y,0) vẫn là phương án cực biên của bài toán đối ngẫu

Đôi khi dùng cặp bài toán đối ngẫu để giải gần đúng theo ý nghĩa sau: giải cả hai bài toán và nếu hiệu giữa các giá trị tương ứng của các hàm mục tiêu đủ nhỏ thì dừng lại và phương án cực biên thu được lấy làm nghiệm gần đúng

b) Ý nghĩa kinh te á

Giả sử bài toán (P) mang nội dung kinh tế sau Có n phương pháp khác nhau để sản xuất m loại sản phẩm Khi sử dụng một đơn vị thời gian cho phương pháp j sẽ thu được đồng thời aij đơn vị sản phẩm i (i=1, , m) và mất một chi phí là cj Nhu cầu xã hội về sản phẩm là bi (i=1, , m) Hãy xác định các khoảng thời gian xj sử dụng mỗi phương pháp j (j=1, , m) sao cho tổng chi phí sản xuất là nhỏ nhất với điều kiện tổng số đơn vị sản xuất là nhỏ nhất với điều kiện tổng số đơn vị sản phẩm i mỗi loại sản xuất

ra không ít hơn bi (i=1, , m)

Hình thức hóa bài toán:

Trang 20

[khoảng thời gian sử dụng phương pháp j] ≥ 0, j = 1, ,n

Nội dung bài toán đối ngẫu (P’) sẽ là:

Trong những điều kiện như trên hãy tìm một hệ thống giá trị yi (i=1, ,m) sao cho tổng giá trị toàn bộ sản phẩm theo yêu cầu xã hội đạt giá trị cực đại với điều kiện tổng các giá trị các sản phẩm sản xuất theo từng phương pháp j trong một đơn vị thời gian không vượt quá chi phí sản xuất cj

Hình thức hóa bài toán:

[giá trị đơn vị sản phẩm i] ≥ 0, i = 1, ,m

Để thích hợp ta sẽ gọi phương án x của bài toán (P) là phương án sản xuất, phương án của bài toán (P’) là phương án đánh giá Từ định lý về độ lệch bù ta suy ra:

(i) Nếu một phương án sản xuất được sử dụng (xj > 0) thì tổng giá trị các sản phẩm sản xuất thep phương pháp ấy phải đúng bằng chi phí

(ii)Nếu một phương án có giá trị (yi ≥ 0) thì tổng số đơn vị sản phẩm ấy sản xuất ra phải đúng bằng nhu cầu

Trang 21

Các vấn đề nêu trên hoàn toàn phù hợp với lý luận kinh tế, đồng thời có thể dùng làm căn cứ để xác định hệ thống giá cả sản phẩm, có tác dụng thúc đẩy sản xuất.

5. THUẬT TOÁN ĐƠN HÌNH ĐỐI NGẪU :

Nội dung của thuật toán là ta áp dụng thuật toán đơn hình để giải bài toán đối ngẫu nhưng ta lại diễn tả quá trính trong ngôn ngữ của bài toán gốc, và bằng cách đó ta tìm được nghiệm của bài toán gốc

Giả sử ta đã biết một phương án cực biên y0 của bài toán đối ngẫu (P’), tức là ta biết một cơ sở đối ngẫu { Aj≤ 0 , j ∈ J} sao cho

j = 0 (j J) và j 0 (j J)

Bước 1 : Xây dựng bảng đơn hình ban đầu cho giả phương án x với cơ sở đã

cho Bảng đơn hình vẫn bố trí như củ Cột phương án tính theo công thức:

xJ=AJ-1b Hàm mục tiêu: f = < cJ, xJ > Khai triển của véctơ Ak theo các véctơ cơ sở: ZK = AJ-1 Ak Dòng ước lượng tính theo công thức : ∆k=<cJ,ZK>

- ck

Bước 2 : kiểm tra tiêu chuẩn tối ưu cho giả phương án x Nếu xj ≥ 0, ∀j ∈ J, khi đó x là phương án tối ưu của bài toán (P), dừng tính toán Trái lại, nếu tồn tại xj < 0, j ∈ J thì chuyển sang Bước 3

Bước 3 : xác định dòng quay Có thể xảy ra một trong các trường hợp sau:

 Tồn tại xj < 0 và zjk ≥ 0, ∀k ∉ J Khi đó hàm mục tiêu của bài toán đối ngẫu không bị chặn trên, do đó bài toán (P) không có phương án chấp nhận được, dừng tính toán

 Đối với mỗi xj > 0, j ∈ J đều tồn tại k ∉ J sao cho zjk < 0 Khi đó chọn dòng quay theo công thức:

x r = min j ∈J { x j | x j < 0}

Véctơ Ar bị đưa ra khỏi cơ sở J

Bước 4 : xác định cột quay Xác định bước dịch chuyển theo công thức:

θS = s / z rs = min  ∆k / z rk | z rk < 0, k J

Trang 22

Véctơ AS bị đưa ra khỏi cơ sở.

Bước 5 : biến đổi bảng đơn hình Cơ sở đối ngẫu mới  Aj , j ∈ J’ trong đó J’ = J\ {r} U {s} Biến đổi bảng đơn hình theo công thức

với zrs là phần tử chính Kết quả ta nhận được giả phương án mới x’ Quay lại Bước 2

1. PHƯƠNG PHÁP PHÂN RÃ QUY HOẠCH TUYẾN TÍNH

Phương pháp phân ra trong quy hoạch tuyến tính do G.B Dantzig và P.Wolfe đề xuất năm 1960 Xét bài toán quy hoạch tuyến tính mà các ràng buộc phân thành hai khối:

Trong đó C, X ∈ Rn ,A(0) là ma trận m hàng n cột, A(1) là ma trận m1 hàng n cột, B(0)

∈ Rm , B(1) ∈ Rm1 Giả sử tập hợp G xáx định bởi (3)-(4) là bị chặn và nó có các đỉnh là X1,X2, ,XN Theo định lý biểu diễn tập hợp lồi, với mọi điểm X ∈ G ta có:

Trang 23

2. PHƯƠNG PHÁP KARMARKAR

Thuật toán Karmarkar có nhiều điểm chung với thuật toán đơn hình Trước hết đó là: cả hai đều là các thuật toán lặp và đều xuất phát từ một phương án chấp nhận được của bài toán cần giải Thứ hai là, ở mỗi bước lặp cả hai thuật toán đều di chuyển từ một phương án hiện có tới một phương án tốt hơn Cuối cùng, quá trình này đều được lặp đi lặp lại cho đến khi đạt tới phương án tối ưu

Sự khác nhau cơ bản giữa hai thuật toán là ở bản chất của các phương án cần kiểm tra Trong phương pháp đơn hình, các phương án kiểm tra là những phương án cực biên và việc di chuyển dọc theo cạnh trên biên của miền ràng buộc Còn trong thuật toán Karmarkar, phương án kiểm tra là các điểm trong không nằm trên biên của miền ràng buộc Vì thế, thuật toán Karmarkar và các biến thể của nó có tên gọi là các thuật toán điểm trong hay đường trong

Trang 24

Hơn nữa, trong thuật toán Karmarkar sự di chuyển đi theo hướng làm cải tiến giá trị mục tiêu với tốc độ nhanh nhất có thể, đồng thời sau mỗi bước lặp tiến hành biến đổi miền ràng buộc để đưa phương án hiện có vào gần tâm của miền, nhờ đó tạo khả năng thực hiện tốt nhất việc di chuyển tiếp theo Việc làm này được gọi là thay đổi thước đo (rescaling) trong quá trình giải bài toán.

Để áp dụng được phương pháp Karmarkar, trước hết ta cần đưa bài toán về dạng chính tắc

min f = c T x : Ax = b, x 0

Giả sử là x0 một phương án của bài toán này Phương pháp Karmarkar đòi hỏi x0

phải thuộc phần trong của miền ràng buộc, nghĩa là x0 không được chọn nằm trên một cạnh hay siêu phẳng tựa của miền đó Trong phương pháp đơn hình, phương án cực biên có ít nhất n – m thành phần bằng 0, còn ở đây mọi thành phần của x0

đòi hỏi phải khác không Ta phải tìm phương án mới x1 sao cho gần hơn với phương án tối ưu của bài toán Giả sử x1 = x0 + d Ta sẽ tìm cách chọn d theo yêu cầu này, muốn thế không những phải chọn d theo yêu cầu này, muốn thế không những phải chọn hướng của véctơ mà cả độ dài của nó sao cho đảm bảo x1 vẫn còn thuộc phần trong của miền ràng buộc Để ý rằng hàm mục tiêu tại x1 bằng:

c T x 1 = c T x 0 + c T d

Vì đây là bài toán tìm cực tiểu nên đại lượng cTd phải âm và về giá trị tuyệt đối càng lớn càng tốt, có như thế hàm mục tiêu sẽ giảm một lượng nhiều nhất có thể Hơn nữa

Trang 25

x 1 = x 0 - 0,98 * s * | Pc Pc|,trong đó s là khoảng cách từ x0 tới biên (có thể tính dựa theo bất đẳng thức d ≥ - x0) và -| Pc Pc| là véctơ có độ dài bằng 1 theo hướng của véctơ –Pc.

1. CỰC TIỂU HÀM LỒI MỘT BIẾN THEO PHƯƠNG PHÁP LÁT CẮT VÀNG

a) Phát biểu bài toán

Tìm cực tiểu hàm lồi một biến f(x) trên đoạn [u,v] thuộc đường thẳng số thực R1 Hàm một biến f(x) gọi là lồi trên đoạn [u,v] nếu thỏa mãn:

f(λx+(1 - λ)y) ≤ λf(x) + (1 - λ)f(y)

x,y [u,v], λ ∈ (0,1).

b) Thuật toán giải

Thuật toán lát cắt vàng sử dụng hai hằng số (gọi là các hằng số si):

Trang 26

Bước 3 : Lấy đoạn [u’,v’] mới với u’ = u, v’ = ω2.

Nếu |v’ – u’| ≤ε thì điểm cực tiểu là x* = ω1 và f(x*) = z1, dừng tính toán

Nếu |v’ – u’| > ε thì chia đoạn [u’,v’] thành ba đoạn bởi hai điểm chia ω1’, ω2’:

 Điểm ω2’ lấy chính là điểm ω1 cũ, như vậy

z2’=f(ω2’) = z1

 Điểm được ω1’ tính theo công thức:

ω1 ’ = u’ + F 1 * (v’ – u’),

sau đó tính z1’ = f(ω1’)

Chuyển tới Bước 2 với sự thay đổi vai trò z1, z2 bởi z1’, z2’

Bước 4 : Lấy đoạn [u’,v’] mới với u’ = ω1, v’ = v

Nếu |v’ – u’| ≤ε thì điểm cực tiểu là x* = ω2 và f(x*) = z2, dừng tính toán

Nếu |v’ – u’| > ε thì chia đoạn [u’,v’] thành ba đoạn bởi hai điểm chia ω1’, ω2’:

Trang 27

 Điểm ω1’ lấy chính là điểm ω2 cũ, như vậy

z1’=f(ω1’) = z2

 Điểm được ω2’ tính theo công thức:

ω2 ’ = u’ + F 2 * (v’ – u’),

sau đó tính z2’ = f(ω2’)

Chuyển tới Bước 2 với sự thay đổi vai trò z1, z2 bởi z1’, z2’

Ưu điểm cơ bản của phương pháp lát cắt vàng: đoạn [u’,v’] của một bước được chia làm ba đoạn bởi các điểm chia ω1’, ω2’ nhưng chỉ cần tính giá trị của hàm tại một điểm mới, điều đó giảm được đáng kể thời gian tính toán

so với các phương pháp khác Ưu điểm này có được chính là do tính chất đặc biệt của các số Phi-bô-nát-si

Thuật toán trên cũng dùng để tìm cực đại một hàm lõm h(x) Khi đó Max h(x)=-Min f(x) với f(x) = - h(x) và f(x) lỗi

2. QUY HOẠCH TOÀN PHƯƠNG

a) Các dạng bài toán cơ bản

Quy hoạch toàn phương là bài toán tìm cực tiểu của hàm lồi bậc hai với các ràng buộc tuyến tính Có ba dạng bài toán cơ bản:

Dạng chính tắc:

f(x) = p 0 + 2 < p,x > + < x,Cx > min

Ax = b, x 0,

Trang 28

trong đó:

x = (x 1 , x 2 , , x n ) T là véctơ biến cần tìm;

C – ma trận vuông đối xứng cấp n nửa xác định

dương (nghĩa là < x, Cx >≥ 0 với mọi x);

A – ma trận cấp m,n;

p – véctơ n thành phần;

b – véctơ m thành phần;

p 0 – hằng số (thông thường p0 =0)

Giả thiết mọi thành phần của b không âm (nếu cần thì đổi dấu cả hai vế của phương trình ràng buộc)

Dạng hỗn hợp: Hàm mục tiêu hoàn toàn như trong hai bài toán trên Chỉ

khác là trong số các ràng buộc có cả dấu =, ≤ và ≥ Sở dĩ phải xét dạng bài toán này là vì không phải bao giờ ta cũng có thể đưa bài toán với ràng buộc bất đẳng thức về dạng chuẩn có vế phải (véctơ b) không âm

Có nhiều phương pháp giải quy hoạch toàn phương Đáng chú ý là hai phương pháp giải sau đây: phương pháp đơn hình Beale và phương pháp Hildreth-D’Esopo khá đơn giản

b) Phương pháp Hildreth-D’Esopo

Phương pháp này rất đơn giản và thuận tiện cho việc lập chương trình trên máy tính Điều kiện áp dụng phương pháp này:

a Hàm mục tiêu lồi chặt

b Ràng buộc có dạng bất đẳng thức và miền ràng buộc có điểm trong

Cụ thể, ta xét bài toán:

Trang 29

min < p,x > + < x,Cx > : Ax b

với C là ma trận vuông đối xứng xác định dương (nghĩa là < x,Cx > > 0 với mọi x ≠ 0) và có tồn tại x0 để A x0 < b (Để ý rằng ở đây không đòi hỏi b ≥

0 và trong số các ràng buộc có thể có các ràng buộc về dấu x ≥ 0)

Với các giả thiết đã nêu trên, bài toán sẽ có nghiệm tối ưu duy nhất Để tìm nghiệm này, ta chuyển qua xét bài toán đối ngẫu, nhờ dựa vào tiêu chuẩn tối ưu sau:

Trang 30

Bài toán này cũng là bài toán quy hoạch toàn phương nhưng ràng buộc có dạng đơn giản Giải bài toán này ta sẽ suy ra được lời giải của bài toán ban đầu, theo công thức (1).

Cách tìm u như sau: xuất phát từ một xấp xỉ ban đầu, tùy ý u0 ≥ 0, thông thường ta có thể chọn u0 = 0 Các thành phần của xấp xỉ tiếp theo u1 được tìm bằng cách làm cực tiểu ϕ(u) lần lượt theo từng tọa độ Tương tự, từ u1 ta nhận được u2, v.v Nói chung, uk+1 với k = 0,1,2, được tính theo công thức:

1

+

k i

u = max(0, k+ 1

i

ω )

c) Phương pháp đơn hình Beale

Aùp dụng cho bài toán quy hoạch toàn phương ở một trong ba dạng: chính tắc, chuẩn hoặc hỗn hợp

Phương pháp Beale gồm 2 pha: pha 1 dùng để tìm một cơ sở xuất phát và tìm biểu diễn hàm mục tiêu, cũng như tìm biểu diễn các biến theo các biến phi cơ sở Pha 2 dùng để tìm lời giải của bài toán bằng các quy tắc biến đổi bảng, giống như các qui tắc đơn hình (vì thế phương pháp này có tên gọi phương pháp đơn hình Beale, mang tên người đề xuất ra nó)

Việc tìm cơ sở xuất phát giống như trong phương pháp đơn hình hai pha giải qui hoạch tuyến tính

3. PHƯƠNG PHÁP GRADIENT CỰC TIỂU KHÔNG RÀNG BUỘC

a) Phương pháp Gradient

Xét bài toán cực tiểu không ràng buộc

min f(x) | x R n.

Trang 31

Ta sẽ dùng phương pháp lặp xây dựng dãy xk hội tụ tới điểm tối ưu (hay điểm dừng) x* Giả sử ta đang ở điểm xk thuộc lân cận của x*, khi đó để làm cho hàm mục tiêu giảm ta nên chuyển động theo hướng p làm với f’(xk) một góc tù, tức là xác định.

x k+1 = x k - αk f’(x k ), αk > 0, k = 0,1, (1)

tức là chọn pk = f’(xk) Đây là phương pháp thông dụng nhất để tìm cực tiểu, nó rất đơn giản và áp dụng được cho những lớp hàm rất rộng

Thuật toán xác định αk tại mỗi bước lặp:

(i) Chọn giá trị tùy ý α (và cố định, ví dụ α = 1) và xác định điểm x=xk - αf'

Trang 32

(iv) Nếu (2) thỏa mãn thì ta chọn giá trị α làm giá trị phải tìm:

αk=α Nếu (2) không thỏa mãn thì ta chia α (bằng cách nhân α với số λ < 1) cho đến khi bất đẳng thức (2) được thỏa mãn

b) Các dạng khác của phương pháp Gradient

 Phương pháp gradient với bước dịch chuyển cố định

 Phương pháp gradient với việc cực tiểu hàm theo hương chuyển động

4. PHƯƠNG PHÁP MONTE-CARLO

a) Phát biểu bài toán

Trong kinh tế cũng như trong kỹ thuật, chúng ta thường gặp bài toán tối ưu mà hàm mục tiêu không phải là tuyến tính, không lồi, không lõm, còn miền ràng buộc cũng không lồi Nhiều khi hàm mục tiêu không viết được dưới dạng hiển mà chỉ có một quy trình tính toán phức tạp để được một giá trị Xét bài toán

Để giải những bài toán như vậy, chúng ta chỉ còn hy vọng vào phương pháp Monte-Carlo để tìm lời giải tối ưu toàn cục Phương pháp này chỉ áp dụng được cho bài toán (1)-(3) với số biến không nhiều (n ≤ 30)

b) Nội dung phương pháp

Trang 33

Biến it được dùng để đếm số điểm tạo ngẫu nhiên trong siêu hợp S=x:aj≤

xj ≤ bj, j = 1, , n  ⊂ Rn, sf để đếm số phương án chấp nhận được tìm

được Tại mỗi bước lặp gọi x là phương án tốt nhất hiện biết với trị hàm mục tiêu α=f(x) Phương pháp Monte-Carlo gồm các bước sau:

Bước 1 : Đặt it = 0, sf = 0, α = M (M là số dương đủ lớn, chẳng hạn 1030)

Bước 2 : Mở đầu bước lặp với việc tăng số điểm tạo ngẫu nhiên lên một:

it = it +1 Với mỗi j ta tạo một số ngẫu nhiên phân bố đều trên đoạn [aj,

bj] theo công thức

trong đó ξ là một số ngẫu nhiên phân bố đều trên đoạn [0,1] Lưu ý rằng với mỗi số j số ξ trong (4) là khác nhau Như vậy sau n lần tạo số ngẫu nhiên ta được một bộ giá trị x’=(x’j, , x’n)

Bước 3 : Kiểm tra xem x’ có thuộc D hay không Nếu x’ ∉ D thì chuyển lên bước 2 Nếu x’ ∈ D thì số phương án tìm được tăng lên một đơn vị sf=sf + 1 và sang bước 4

Bước 4 : Tính giá trị hàm mục tiêu f(x’)

 Nếu f(x’) > α thì chuyển tới bước 2

 Nếu f(x’) < α (x’ là phương án của bài toán (1)-(3) tốt hơn phương án x cũ) thì lấy x’ thay cho x và lấy α = f(x’) Chuyển lên bước 2

Người ta có thể chứng minh được rằng nếu bài toán (1)-(3) có phương án

tối ưu thì khi it đủ lớn ta có thể tìm được lời giải của bài toán với xác suất

bằng 1

c) Cách dừng thuật toán:

Trong quá trình giải, sau một số lần tạo điểm x’ theo (4) ta lại in lên màn hình số điểm chấp nhận được đã tìm được, giá trị hàm mục tiêu cùng phương án tốt nhất cho tới lúc này: sf, α và x Nếu số điểm chấp nhận được đủ nhiều, phương án x và f(x) phù hợp với thực tiễn thì dừng tính toán

Trang 34

Nếu số bước lặp it đã quá lớn hoặc thời gian tính toán đã quá lâu mà giá trị

hàm mục tiêu không cải tiến thêm thì dừng tính toán Khi dừng tính toán theo cách này mà số phương án sf = 0 thì ta nghi ngờ bài toán (1)-(3) không có phương án, cần xét lại cách đặt các ràng buộc sao cho hợp lý

C KẾT LUẬN

Qua các phương pháp nêu trên, ta thấy có rất nhiều phương pháp để giải bài toán tối ưu hóa Các phương pháp đều đưa ra được các lời giải tối ưu, nhưng chưa đạt được độ chính xác cao và đối với các bài toán lớn với hơn hàng trăm ràng buộc thì phải tốn nhiều thời gian để thực hiện các bước trong phương pháp Để khắc

phục các nhược điểm đó, người ta đã đưa ra một thuật giải mới : Thuật Giải Di

Truyền.

Phần 3

GIỚI THIỆU VỀ GIẢI THUẬT DI TRUYỀN

Trang 35

A TỔNG QUAN VỀ THUẬT GIẢI DI TRUYỀN (GENETIC ALGORITHMS - GA)

(1)ĐẠI CƯƠNG

Trong sinh hoạt hằng ngày, chúng ta thường gặp những vấn đề từ đơn giản đến phức tạp như chọn trường cho con em, tìm đường đi ngắn nhất để đi làm, hoạch định chương trình chạy máy để tận dụng khả năng các dụng cụ …

Để giải quyết vấn đề thường dựa vào các phương thức sau:

b)Dựa trên các công thức toán học hay những định luật khoa học (tiếp cận chính xác)

c) Dựa theo ý kiến của các chuyên gia lĩnh vực (tiếp cận kinh nghiệm)

d)Dựa theo sự tiến hóa, bắt chước lối cải thiện thích nghi mà con người hay sinh vật nói chung, đã dùng để tồn tại và phát triển (tiếp cận thử và sai)

Trang 36

Phương thức dựa trên các công thức toán học hay những định luật khoa học thường cho những đáp số rất chính xác Nhưng ta phải tìm ra công thức hay giả tưởng những điều kiện hoạt động cho giống với thực tế, điều này không thể thực hiện một cách dễ dàng.

Trong những năm 70, mạng Nơron nhân tạo, logic mờ cùng với thuật giải

di truyền được nghiện cứu và áp dụng trong việc giải quyết các trường hợp phức tạp

Nhìn chung, con người và sinh vật đều phải “tiến hóa để thích nghi với hoàn cảnh”

“Tiến hóa cho thích nghi” không có nghĩa là luôn tìm ra giải pháp tuyệt đối cho vấn đề, nhưng có thể chỉ là tương đối trong điều kiện cho phép

TRÊN MÁY VI TÍNH

GA bắt nguồn từ ý niệm tiến hóa để tồn tại và phát triển trong tự nhiên

GA là phương thức giải quyết vấn đề bắt chước lối hành xử của con người để sinh tồn và phát triển

GA giải quyết được vấn đề trên máy vi tính nhờ vào chương trình tin học để thể hiện những ý tưởng cơ bản như tìm ra giải pháp tối ưu hay tốt nhất trong điều kiện thời gian và không gian cho phép

Không giống các phương pháp khác, GA xét đến toàn bộ các giải pháp, bằng cách xét trước nhất một số giải pháp, sau đó loại bỏ những thành phần không thích hợp và chọn những thành phần thích nghi hơn để tạo sinh và biến hóa nhằm mục đích tạo ra nhiều giải pháp mới có hệ số thích nghi ngày càng cao Do đó khi giải quyết vấn đề bằng GA, chúng ta phải thông qua các giai đoạn sau:

e) Chọn mô hình (model) để tượng trưng cho các giải pháp Các mô hình có thể là dãy (String) những số nhị phân : 1 và 0, thập phân và có thể là chữ hay hỗn hợp của chữ và số

Trang 37

f) Aùp dụng lý luận và cách biến hóa trên mô hình này, thay vì trên các giải pháp.

g) Chọn hàm số thích nghi để dùng làm tiêu chuan đánh giá các giải pháp

h) Tiếp tục các hình thức biến hóa cho đến khi đạt được giải pháp tốt nhất hoặc đến khi thời gian cho phép chấm dứt

Như vậy, GA là một hình thức tìm kiếm có tính ngẫu nhiên nhưng được hướng dẫn bởi hàm số thích nghi GA không thể luôn tìm ra giải pháp tối ưu, nhưng chắc chắn sẽ cung cấp những giải pháp tương đối trên nền tảng vững chắc và trong thời gian nhanh nhất

(1)TỔNG KẾT

Tuy chỉ mới được hình thành cách đây chưa đầy 25 năm, GA đã có được

cơ sở toán học vững chắc về lý thuyết và số lượng những áp dụng ngày càng gia tăng bao gồm nhiều lĩnh vực khác nhau

GA đã kết hợp với các kỹ thuật thuộc lĩnh vực trí tuệ nhân tạo như Expert

Systems (Hệ Chuyên Gia), Artificial Neural Network (mạng Nơron nhân tạo)

và Fuzzy Logic (Logic mờ) nhằm tìm giải pháp tối ưu cho những vấn đề phức

tạp mà các phương thức cổ điển đã không giải quyết thỏa đáng

GA được ứng dụng trong nhiều lĩnh vực khác nhau Nhìn chung, những ứng dụng này có thể chia làm 3 nhóm chính:

i) Tìm mô hình tối ưu cho vấn đề Tìm kiếmvà tối ưu hóa giải pháp là đề tài thích hợp nhất của GA

j) Hoạch định quy trình sản xuất, lộ trình chuyển vận, cách bố trí các bộ phận trong môi trường

k) Chọn lựa các nhóm hay thành phần trong một tổ chúc

Chúng ta cũng có thể sắp xếp các ứng dụng theo lĩnh vực như: quản trị, kinh tế-tài chính, kỹ thuật, nghiên cứu và phát triển

TRUYỀN

Trang 38

(1)ĐẠI CƯƠNG

GA không chú trọng đến giải pháp duy nhất và chính xác như phương pháp cổ điển, trái lại GA xét đến toàn bộ các giải pháp và chọn lấy giải pháp tương đối tốt nhất nếu không nói là tối ưu GA tuy dựa trên tính ngẫu nhiên nhưng có hướng dẫn bởi hàm số thích nghi, do đó không có nghĩa là “đoán mò” như nhiều người hiểu lầm, trái lại GA có một nền tảng toán học vững chắc

TRUYỀN

GA lập luận mang tính chất ngẫu nhiên (stochastic), thay vì xác định

(deterministic) như toán học giải tích

 GA duyệt xét toàn bộ các giải pháp, sau đó chọn lấy giải pháp tương đối tốt nhất dựa trên hệ số thích nghi

 GA không để ý đến chi tiết vấn đề, trái lại chỉ chú ý đến giải pháp, đặc biệt là dãy số tượng trưng cho giải pháp

 GA rất thích hợp cho việc tìm kiếm giải đáp cho vấn đề, hay tìm điều kiện tối ưu cho việc điều khiển, và phân nhóm những giải pháp có được

THUẬT GIẢI DI TRUYỀN

Có 7 bước:

b)Bước 1 : Chọn mô hình cho giải pháp của vấn đề: chọn một số tượng

trưng cho toàn bộ các giải pháp có thể cho vấn đề

c) Bước 2 : chỉ định cho mỗi giải pháp một ký hiệu Ký hiệu có thể là

dãy của những số 1 và 0 thuộc hệ nhị phân, hay dãy số thập phân, dãy của chữ hay hỗn hợp của số và chữ

d)Bước 3 : tìm hàm số thích nghi cho vấn đề và tính hệ số th1ch nghi

cho từng giải pháp

Trang 39

e)Bước 4 : dựa trên hệ số thích nghi của các giải pháp để thực hiện sự

tạo sinh(reproduction) và biến hóa các giải pháp Các phương thức biến

hóa gồm: lai ghép (crossover), đột biến (mutation).

f) Bước 5 : tính các hệ số thích nghi cho các giải pháp mới và loại bỏ

những giải pháp kém nhất để chỉ còn giữ lại một số nhất định các giải pháp

g)Bước 6 : nếu chưa tìm được giải pháp tối ưu hay tương đối khá nhất,

hay chưa hết hạn kỳ ấn định, trở lại bước 4 để tìm giải pháp mới

h)Bước 7 : tìm ra được giải pháp tối ưu hoặc nếu thời gian cho phép đã

chấm dứt thì báo cáo kết quả tính được

(1)VÍ DỤ MINH HỌA

Ví dụ: X2 = 64

Bước 1 : qui định số lượng các đáp số và ấn định ký hiệu cho từng đáp số

Giả sử ta chưa biết đáp số, nên sẽ chọn 4 số trong những đáp số có thể có của bài toán Đồng thời ta dùng hệ thống nhị phân để ký hiệu các đáp số

Bước 2 : chỉ định đáp số và ký hiệu các đáp số cho bài toán

Sau đây 4 số có thể là đáp số cho bài toán:

1234

00100101010101011000

4211024

Bước 3 : ấn định hàm số thích nghi (fitness Function) và tính hệ số thích nghi

(fitness) cho từng đáp số Chúng ta có thể chọn bất cứ hệ thức hay hàm số nào để biểu diễn sự thích nghi của các đáp số của bài toán Ta chọn hàm số

Trang 40

thích nghi : 1000-(X2-64) và quy định đáp số nào có hệ số thích nghi bằng

1000 hay gần 1000 nhất sẽ là đáp số của bài toán

1234

00100101010101011000

4211024

-4837736512

952623964488

Bước 4 : biến hóa các đáp số để tìm các đáp số có hệ số thích nghi tối ưu

Nguyên tắc của GA đã trình bày là số nào có hệ số thi71ch nghi cao nhất sẽ có cơ hội tạo sinh và biến hóa hơn các hệ số thích nghi thấp

Chúng ta sẽ loại bỏ số 21 và 24, lai ghép hai số 4 và 10 tại điểm giữa hàng thứ hai và thứ ba:

001|00 (4) 010|00 (hay 8)010|10 (10) 001|10 (hay 6)

Bước 5 : tính hệ số thích ghi cho các đáp số vừa có được.

1

34

00100010100100000110

41086

-4836028

9529641000968

Bước 6 : kiểm tra sự thích nghi, nhưng ta thấy đáp số ở hàng thứ ba là số 8

với hệ số thích nghi bằng 1000, là số có hệ số thích nghi cao nhất Nên không quay lại bước 4 và 5, chúng ta có kết quả là 8

Bước 7 : kết quả là X=8

Ngày đăng: 19/07/2014, 12:11

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