Tải bản đầy đủ (.docx) (66 trang)

Phương pháp tối ưu đàn kiến giải bài toán lập lịch sản xuất

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.22 MB, 66 trang )

MỤC LỤC.........................................................................................................
DANH SÁCH CÁC HÌNH VẼ.........................................................................
DANH SÁCH CÁC BẢNG..............................................................................
BẢNG TỪ VIẾT TẮT
TỪ KHÓA.........................................................................................................
MỞ ĐẦU...........................................................................................................
CHƢƠNG 1 : TỐI ƢU HÓA ĐÀN KIẾN VÀ ỨNG DỤNG ..........................

1.1.2
1.2 Phƣơ

1.3
1.3.1
1.3.2

1.3.5 S
CHƢƠNG 2 : BÀI TOÁN LẬP LỊCH SẢN XUẤT VÀ CÁC PHƢƠNG
PHÁP GIẢI CHÍNH..............................................................................................
2.1 Giới thiệu bài toán lập lịch sản xuất (Job shop scheduling - JSS) ........
2.2 Các cách tiếp cận truyền thống ..............................................................
2.2.1 Bài toán JSS trong trƣờng hợp hai máy ..........................................
2.2.2 Bài toán JSS với số máy lớn hơn 2 .................................................


CHƢƠNG 3 :
...............................................................................................................................
3.1 Bài toán lập lịch sản xuất (Job shop scheduling - JSS) .........................
3
3
3
3


3
3.2.5
3.2.6 Độ phức tạp các thuật toán MMAS, SMMAS, MLAS ...................
CHƢƠNG 4 :
4.1
4.2
4.2.1 Kết quả thực nghiệm của MMAS ...................................................
4.2.2 Kết quả thực nghiệm của MMAS, SMMAS và MLAS ..................
N.....................................................................................................
TÀI LIỆU THAM KHẢO...............................................................................

2


sản xuất

DANH SÁCH CÁC HÌNH VẼ
Hình 1 : Lƣợc đồ thuật toán ACO..................................................................18
Hình 2: Lƣơc đồ của thuật toán nhánh cận....................................................35
Hình 3: Lƣợc đồ thuật toán di truyền.............................................................37
Hình 4: Ma trận thể hiện trình tự và thời gian xử lý.......................................41
Hình 5: Đồ thị cấu trúc cho bài toán lập lịch sản xuất 2 công việc thực hiện
trên 3 máy............................................................................................................. 41
Hình 6: Một hành trình của kiến trên đồ thị cấu trúc..................................... 42
Hình 7: Lƣợc đồ thuật toán ACO giải bài toán lập lịch sản xuất...................47

3


sản xuất


DANH SÁCH CÁC BẢNG
Bảng 1: Bài toán lập lịch sản xuất 3 công việc thực hiện trên 3 máy.............31
Bảng 2: Bài toán lập lịch sản xuất 10 công việc thực hiện trên 10 máy.........31
Bảng 3: Bài toán gia công trên 2 máy............................................................ 32
Bảng 4: Bài toán lập lịch sản xuất gồm 2 công việc thực hiện trên 3 máy....41
Bảng 5: Độ phức tạp của các thuật toán MMAS, SMMAS, MLAS..............48
Bảng 6: Các tham số sử dụng cho các thuật toán ACO..................................50
Bảng 7: Kết quả thực nghiệm MMAS với 4 bộ dữ liệu Orb1 đến Orb4........50
Bảng 8: Kết quả thực nghiệm MMAS cho các bộ dữ liệu chuẩn...................51
Bảng 9: So sánh kết quả tốt nhất sau 10 lần chạy của MMAS, SMMAS và
MLAS................................................................................................................... 52
Bảng 10: So sánh kết quả trung bình sau 10 lần chạy của MMAS, SMMAS
và MLAS.............................................................................................................. 53

4


sản xuất

BẢNG TỪ VIẾT TẮT
STT
1

2

3

4


5

6

7
8
9

10
11
12


5


sản xuất

TỪ KHÓA
Ant colony optimization algorithm, ACO convergence, Job shop scheduling
problem, Ant System, Max Min Ant System, Ant Colony System

6


sản xuất

MỞ ĐẦU
Trƣớc đây, công việc lập kế hoạch sản xuất thƣờng phụ thuộc vào kinh
nghiệm của ngƣời phụ trách lập lịch và vấn đề này mất rất nhiều thời gian tính

toán trong khi kết quả lại có ảnh hƣởng lớn đến toàn bộ quá trình sản xuất. Ngày
nay, quy mô sản xuất ngày càng lớn, số lƣợng ngày càng nhiều, vừa mang tính
cạnh tranh cao về chất lƣợng sản phẩm vừa phải đáp ứng đƣợc yêu cầu về thời
gian, đồng nghĩa với việc đòi hỏi phải có một lịch sản xuất hợp lý, tối ƣu trên
nhiều phƣơng diện.
quả kinh tế đã

nhằm làm giảm thời gian sản xuất, mang lại hiệu

cộng đồng. Do b

kim,
algorithms)
này.

sản xuất thuộc lớp
nên u trong thời gian đa thức. Vì
vậy
tối ƣu

(Ant Colony Optimization
quả

(Ant Colony Optimization - ACO

,

.T
hơn
khi ứng


20
dụng giải

,...
Luận văn đi sâu nghiên cứu các phƣơng pháp cập nhật mùi trong các thuật
toán ACO

sản xuất.

văn
phân tích toán học các đặc tính hội tụ của vết mùi, chúng tôi đã

quả

hai mức để từ đó
các
. Ƣu điểm của phƣơng pháp đề xuất
kiểm
trên các bộ dữ liệu chuẩn (benchmark data) của
7

, dựa trên

kết


sản xuất

sản xuất. Các kết quả nghiên cứu đƣợc công bố trong hai báo cáo khoa học ở hội

nghị quốc tế IEEE RIVF 2006 và PRIMA 2008 (xem [17], [4]).
Ngoài phần kết luận, luận văn đƣợc trình bày nhƣ sau :
Chƣơng 1 :
Giới thiệu
: lịch sử phát triển,
ACO, và
.
Chƣơng 2 : B
sản xuất và các phƣơng pháp giải chính
Trong chƣơng này, chúng tôi
sản xuất
chính gi
.
Chƣơng 3 :
sản xuất
T
chung để
lập lịch
sản xuất. (Đồng thời trong chƣơng này chúng tôi trình bày các cải tiến cụ thể
trong áp dụng tối ƣu hóa đàn kiến với bài toán lập lịch)
Chƣơng 4
lập lịch sản xuất

8

nghiệm và đánh giá.


sản xuất


CHƢƠNG 1
TỐI ƢU HÓA ĐÀN KIẾN VÀ ỨNG DỤNG
Tối ƣu hóa đàn kiến (Ant Colony Optimization - ACO) là cách tiếp cận metaheuristic tƣơng đối mới (xem [5], [6], [9], [10]) đƣợc đề xuất bởi Dorigo vào
năm 1991 mô phỏng hành vi tìm đƣờng
-khó.
Trên đƣờng đi của mình các con kiến thực để lại một vết hóa chất đƣợc gọi
là vết mùi (pheromone trail), đặc điểm sinh hóa học củ

chọn để đi,
nhờ cách giao tiếp mang tính gián tiếp và cộng đồng (xem [5]
.
Theo ý tƣởng này, các thuật toán ACO sử dụng thông tin heuristic kết hợp
thông tin học tăng cƣờng (xem [6]) qua các vết mùi của các con kiến nhân tạo
(artificial ant) để giải các bài toán tối ƣu tổ hợp khó bằng cách đƣa về bài toán
tìm đƣờng đi tối ƣu trên đồ thị cấu trúc tƣơng ứng đƣợc xây dựng từ đặc điểm
của t (xem [7]
TSP (xem [9]

(Ant System - AS) (Travelling Salesman Problem -

.

,
(Marie Curie Excellence Award) trao hai năm

9


sản xuất


6

(ANT’ 98, ANT’ 2000, ANTS 2002, ANTS 2004,

ANTS 2006, ANTS 2008)
(xem />
1.1
(xem [5],
[6], [7], [9]
luận văn
[8], [23]).
1.1.1
1.1.1.1

i, j V

(n 1)!

d

i, j

với đồ thị đối xứng. Với n lớn thì ta không thể tìm hết các đƣờng đi và chỉ

2

có thể tìm đƣợc một lời giải đủ tốt bằng các phƣơng pháp tìm kiếm địa phƣơng,
tìm kiếm heuristic, tính toán tiến hóa h

.

10


sản xuất

1.1.1.2

(Ant System)
Ant-Cycle, Ant-

Ant-Cycle

Ant-Quantity (xem [6], [7]

Density

.

(xem [7]

ij
0

.
Xây dựng lời giải

k

Pij (t)


,
ij

1

ij

0
), Ni

k

.

11


sản xuất

Cập nhật mùi

(0,1)

ij

(t 1) (1
k 1

k


(t)

ij

k

( L (t)

).
án

-

O(Nc * n3 )

[7].
:

.
(reinforcement learning

12

Nc


sản xuất

.
Nhƣ


.
1.1.2
[10]

.
1.1.2.1

(Ant Colony System)
(xem [14], [12], [8]
.
:

s
sau :

q0

s

13

(1.4)


sản xuất
[0

0


1.

[0
:
:

ij

(1

)

(1.5)
ij

0

:

*

(1.6)
ij

Lgl (t)

(xem
[8]).

.

1.1.2.2

(Max-Min Ant System)

. MMAS (xem [22]
g

i

(stagnation
14

-


sản xuất

(

max

(

min

-MIN).
min

max


0

max

).

-

hay
.

Trong hệ này, thủ tục xây dựng lời giải thực hiện nhƣ trong AS (đƣợc thực
nghiệm với tham số
:
ij

ij

max{

15


sản xuất

min

min
.


1.2
(ACO metaheuristic
.

(ACO Algorithms

:
Xét bài toán cực tiểu hóa (S, f ,
là hàm mục tiêu xác định trên S còn

) trong đó S là tập hợp hữu hạn trạng thái, f

là các ràng buộc để xác định S qua các

thành phần của tập hữu hạn C và các liên kết của tập này. Các tập S, C, và

các đặc tính sau :
C = {c1, c2, …, cn} là tập hữu hạn gồm n thành phần. Ta ký hiệu X là tập các
dãy trong C có độ dài không quá h :

X={Tồn tại tập con X* của X và ánh xạ

S và là tập x

với mọi s
Từ C0 mở rộng đƣợc thành X* theo thủ tục tuần tự :
x0

là mở rộn


u0

Nếu xk

u1 ,..., uk

J(xk) của C sao cho với mọi uk+1 J(xk) thì

x

X*

khi J(x ) là rỗng.
k

k

*

Với mọi u0 C0 , thủ tục mở rộng nêu trên xây dựng đƣợc mọi phần tử của X .
Không giảm tổng quả ta giả thiết rằng có tƣơng ứng giữa các phần tử trong X *
đi đƣợc mở rộng từ mỗi u0 trong C0 .

16


sản xuất

,

C0

.

.

Với bài toán tổng quát trên, về lý thuyết ta có thể áp dụng thủ tục mở rộng để
xây dựng X* và chọn lời giải tốt nhất bằng phƣơng pháp vét cạn nhƣng trên thực
tế, do sự bùng nổ tổ hợp thì với số phần tử n của C lớn thì không thực hiện đƣợc
và bài toán đƣợc xét thuộc dạng NP-khó. Thông thƣờng ta sẽ có các phƣơng
pháp heuristic để tìm lời giải đủ tốt cho bài toán. Các thuật toán ACO kết hợp
thông tin heuristic này với phƣơng pháp học tăng cƣờng nhờ mô phỏng hành vi
của đàn kiến để tìm lời giải tốt hơn.
Giả sử với mỗi cạnh (i, j) C có trọng số heuristic h i,j để định hƣớng chọn
thành phần mở rộng là j khi thành phần cuối cùng của x k là i theo thủ tục nêu trên
(hi,j>0 (i,j)). Đàn kiến m con sẽ xây dựng lời giải trên đồ thị đầy đủ có trọng số G
= (V, E, H, ) trong đó V là tập đỉnh tƣơng ứng với tập thành phần C ở trên, E là
tập các cạnh, H là vector các trọng số heuristic của cạnh tƣơng ứng còn là
vector vết mùi tích lũy đƣợc ban đầu với khởi tạo bằng 0 . Đồ thị G đƣợc gọi là
đồ thị cấu trúc của bài toán.
Với điều kiện dừng đã chọn (giả sử nhƣ là với số lần lặp Nc xác định trƣớc)
các thuật toán đƣợc mô tả hình thức nhƣ sau :

17


sản xuất

Procedure
Begin

) do

while
begin

)
end;
End;
Hình 1 : Lƣợc đồ thuật toán ACO

Sau khi khởi tạo các tham số và cƣờng độ mùi ban đầu, các con kiến thực
hiện thủ tục xây dựng lời giải. Trong mỗi lần lặp t, mỗi con kiến chọn ngẫu nhiên
một đỉnh xuất phát trong C0 và kết hợp thông tin heuristic với thông tin mùi để
xây dựng lời giải ngẫu nhiên theo thủ tục mở rộng tuần tự nêu ở phần trƣớc với
xác suất chọn đỉnh tiếp theo nhƣ sau :
Quy tắc chuyển trạng thái :
Giả sử con kiến s đã xây dựng xk
để xk 1u0 ,..., u, y

P( y | , xk )

Quá trình này tiếp tục cho tới khi mỗi con kiến l đều tìm đƣợc lời giải chấp
nhận đƣợc x(l) X* và do đó s(l) (x(l)) S . Để tiện trình bày, về sau ta sẽ xem x(l)
và s(l) nhƣ nhau đều là thể hiện của lời giải chấp nhận đƣợc và không phân biệt
X* với S. Ký hiệu w(t) là trạng thái tốt nhất các con kiến tìm đƣợc cho tới lúc
18



sản xuất


này và wi(t) là lời giải tốt nhất trong bƣớc lặp, ta sẽ quy ƣớc chọn w(t) = w(t-1)
trong trƣờng hợp wi(t)=w(t-1)và quan tâm đến lời giải gần đúng w(t) này. Trong
lý thuyết để tiện cho việc chứng minh, các tác giả đã chọn w(t) còn trong thực
nghiệm wi(t) lại tỏ ra hiệu quả hơn do việc này tăng cƣờng tính khám phá của
thuật toán. Do giả thiết (3.iii) của bài toán và để tiện cho trình bày, về sau ta
không phân biệt mỗi x X * với trạng thái s S tƣơng ứng.

Giả sử g là một hàm giá trị thực xác định trên S sao cho 0 g(s)
g(s')

, s S và g(s)

nếu f (s) f (s') , khi đó ở mỗi bƣớc lặp cƣờng độ vết mùi sẽ thay đổi theo một

trong hai quy tắc thƣờng dùng sau đây, đƣợc gọi là các quy tắc cập nhật mùi hai
mức.
Quy tắc ACS : Quy tắc này phỏng theo quy tắc cập nhật mùi của thuật toán
hệ đàn kiến ACS bao gồm cả cập nhật địa phƣơng và cập nhật toàn cục.
Cập nhật mùi địa phương : nếu con kiến l thăm cạnh (i, j), tức là (i, j)
cạnh này sẽ thay đổi mùi theo công thức :
(1

i
j

)

(1.10.1)


1

i
j

s(l) thì

Cập nhật mùi toàn cục : Cập nhật mùi toàn cục chỉ áp dụng cho các cạnh
thuộc w(t) nhƣ sau :
(1

ij

)

g (w(t))

ij

(i, j)

w(t)

(1.10.2)

Quy tắc MMAS : Quy tắc này thực hiện theo cách cập nhật mùi của thuật
toán MMAS, sau khi mỗi con kiến đề xây dựng xong lời giải ở mỗi bƣớc lặp, vết
mùi đƣợc thay đổi theo công thức sau :
ij


(1

) ij

ij

19

(1.11)


ij

max{ min
, trong [15
.

Quy tắc ba mức (xem [15]) : Quy tắc cập nhật mùi mới đƣợc đề xuất là lai
giữa hai quy tắc nói trên, theo quy tắc này vết mùi tại cạnh (i, j) đƣợc cập nhật
toàn cục theo công thức (1.11) trong đó :

(1.12.2)

i, j

(i,
(1.13.1)

-


-

:

ij

ij

(1

)

(1.13.2)

2

20


sản xuất

0

Trong [11], [13]

[15

.

:

1.2.3.1 ([15
.
.
S*

:

g * (g* f (s) : s S*)

m ax

g *.

m in

:
Định lý 1.2.3.1 ([15]) :
Nếu cƣờng độ các vệt mùi nằm trong khoảng [

m in

,

m ax

] thì với xác suất 1 lời

giải tốt nhất w(t) luôn hội tụ đến lời giải tối ƣu.
Các thuật toán ACO hiện nay (hay theo hai cách cập nhật mùi nói trên) đều
thỏa mãn tính chất này. Nhƣng về mặt thực tế, các bài toán tối ƣu không thể tìm

ra đƣợc lời giải tối ƣu nên định lý không có ý nghĩa thực tế.

g(w(t))

g(w(t 1))

w(t)

w(t

1)

21


sản xuất
t0

w(t),

t

t0

.
i, j

Định lý 1.2.3.2 (xem [15])
Giả sử cạnh (i, j) thuộc vào lời giải chấp nhận đƣợc s nào đó và tồn tại T sao
cho (i, j) w(t), t T thì các khẳng định sau đây là đúng :

i,j

(t) hội

i,j

(t)

tụ theo xác suất tới 1 nếu dùng quy tắc cập nhật mùi ACS.

T

lim
t

2

ln
ln(1)
} nếu dùng quy tắc cập nhật mùi ba mức. Và nếu cạnh (i,j)


không thuộc lời giải của con kiến nào từ thời gian T thì lim
t

[15].

.

0


m in

1

,
0

.

22

1


×