Tải bản đầy đủ (.pdf) (57 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 (8.12 MB, 57 trang )

sản xuất

1

MỤC LỤC
MỤC LỤC 1
DANH SÁCH CÁC HÌNH VẼ 3
DANH SÁCH CÁC BẢNG 4
BẢNG TỪ VIẾT TẮT 5
TỪ KHÓA 6
MỞ ĐẦU 7
CHƢƠNG 1 : TỐI ƢU HÓA ĐÀN KIẾN VÀ ỨNG DỤNG 9
10
n TSP 10
1.1.2 13
1.2 Phƣơ ƣ 16
16
17
21
22
1.3 ƣ 24
1.3.1 ng 24
1.3.2 25
ƣơng 26
a s 26
1.3.5 S ng c viên 28
29
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 30
2.1 Giới thiệu bài toán lập lịch sản xuất (Job shop scheduling - JSS) 30
2.2 Các cách tiếp cận truyền thống 32


2.2.1 Bài toán JSS trong trƣờng hợp hai máy 32
2.2.2 Bài toán JSS với số máy lớn hơn 2 33
sản xuất

2

CHƢƠNG 3 : Ƣ
40
3.1 Bài toán lập lịch sản xuất (Job shop scheduling - JSS) 40
3 lịch sản xuất 41
3 41
3 43
3 43
3 44
3.2.5 ACO giải bài toán lập lịch sản xuất. 46
3.2.6 Độ phức tạp các thuật toán MMAS, SMMAS, MLAS 47
CHƢƠNG 4 : 49
4.1 49
4.2 49
4.2.1 Kết quả thực nghiệm của MMAS 50
4.2.2 Kết quả thực nghiệm của MMAS, SMMAS và MLAS 52
N 54
TÀI LIỆU THAM KHẢO 55





sản xuất


3

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
sản xuất

4

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
sản xuất


5

BẢNG TỪ VIẾT TẮT

STT
Từ viết tắt
Từ hoặc cụm từ
1
ACO
Ant Colony Optimization
(Tối ƣu hóa đàn kiến)
2
AS
Ant System
(Hệ kiến AS)
3
ACS
Ant Colony System
(Hệ kiến ACS)
4
MMAS
Max-Min Ant System
(Hệ kiến MMAS)
5
SMMAS
Smooth-Max Min Ant System
(Hệ kiến MMAS trơn)
6
MLAS
Multi-level Ant System

(Hệ kiến đa mức MLAS)
7
Opt
Optimization
8
Avg
Average
9
TSP
Travelling Salesman Problem
(Bài toán ngƣời chào hàng)
10
JSS
Job shop scheduling
(Bài toán lập lịch sản xuất)
11
g-best
global-best
12
i-best
iteration-best

sản xuất

6

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


sản xuất

7

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. nhằm làm
giảm thời gian sản xuất, mang lại hiệu quả kinh tế đã
cộng đồng. Do b sản xuất thuộc lớp - nên
u trong thời gian đa thức. Vì vậy
kim, tối ƣu (Ant Colony Optimization
algorithms) quả
này.
(Ant Colony Optimization - ACO
,
. T
hơn
20 khi ứng
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 , dựa trê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 đã
hai mức để từ đó các

. Ƣu điểm của phƣơng pháp đề xuất kiểm kết
quả trên các bộ dữ liệu chuẩn (benchmark data) của
sản xuất

8

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 nghiệm và đánh giá.


sản xuất

9

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 meta-

heuristic 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] (Ant
System - AS) (Travelling Salesman Problem -
TSP (xem [9]
.
,
(Marie Curie Excellence Award) trao hai năm
sản xuất

10

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

)
),( EVG
V
E
),( ji
Vji,
ji
d
,
(
ji
d
,
ijji
dd
,,
).
Nhƣ vậy, với đồ thị không đối xứng sẽ có
)!1(n
đƣờng đi chấp nhận đƣợc và
2
)!1(n
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ỉ
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
.

sản xuất

11

1.1.1.2 (Ant System)
Ant-Cycle, Ant-
Density Ant-Quantity (xem [6], [7] Ant-Cycle
(xem [7] .
ij
0
.
Xây dựng lời giải



0

][)]([
][)]([
)(
k
i
Nl
ilil
ijij
k
ij
t
t
tP

(1.1)

,
ij
ij
ij
d
1
0
0
),
k
i
N
.

k
i
Nj


sản xuất

12

Cập nhật mùi
)1,0(
:



m
k
k
ijijij
ttt
1
)()()1()1(
(1.2)

0
)(
1
)(
tL
t
k
k
ij
(1.3)

(
)(tL
k
)
).

án -
)*(
3
nNcO

Nc
[7].

:
.
(reinforcement learning


sản xuất

13

.
Nhƣ
.
1.1.2
[10]
.
1.1.2.1 (Ant Colony System)
(xem [14], [12], [8]
.
:

s
sau :

j
t
s
ijij

Nj
k
i
})({maxarg
(1.4)
q
0




sản xuất

14

[0
0
[0
1
.

:
:

0
)1(
ijij
(1.5)



*
:

)()1(
1
tL
gl
ijij
(1.6)

)(tL
gl
*
(t).
(xem
[8]).
.
1.1.2.2 (Max-Min Ant System)
. MMAS (xem [22]
g -
i -
(stagnation
sản xuất

15

(
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ố
:


ijijij
)1(
(1.7)

}0,)1(max{
))((
min
1
ij
ij
twL
(1.8)


(i,j) w(t)
sản xuất


16

min
min
.
1.2
(ACO metaheuristic
(ACO Algorithms .

:
Xét bài toán cực tiểu hóa
),,( fS
trong đó S là tập hợp hữu hạn trạng thái, f
là hàm mục tiêu xác định trên S còn 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 đặc tính sau :
C = {c
1
, c
2
, …, c
n
} 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={<u
0
, …, u
k
> | u

k
C
hki
}
Tồn tại tập con X
*
của X và ánh xạ từ X
*
lên S sao cho
)(
1
s
không rỗng
với mọi
Ss
và là tập xây dựng đƣợc từ tập con C
0
của C và theo đặc tính 3.
Từ C
0
mở rộng đƣợc thành X
*
theo thủ tục tuần tự :
00
ux
là mở rộng đƣợc với
01
Cu
.
Nếu

kk
uux , ,
1
là mở rộng đƣợc thì tồn tại từ xác định đƣợc tập con
J(x
k
) của C sao cho với mọi u
k+1
J(x
k
) thì
1101
, ,,
kk
uuux
là mở rộng đƣợc

*
Xx
k
khi J(x
k
) là rỗng.
Với mọi
00
Cu
, 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 u
0
trong
0
C
.
sản xuất

17

,
0
C
.
.

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
(h
i,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 N
c
xác định trƣớc)
các thuật toán đƣợc mô tả hình thức nhƣ sau :
sản xuất

18


Procedure
Begin

while ) do
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 C
0
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
uux
k
, ,
0
, nó sẽ chọn đỉnh y thuộc J(x
k
)
để
yuux
k
,, ,
01
với xác suất :

)(
,
,
,

,
),|(
k
xJj
ju
ju
yu
yu
k
h
h
xyP
(1.9)

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 đó
Slxls ))(()(
. Để 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
0
)(
k
xJy

ngƣợc lại

sản xuất

19

này và w
i
(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 w
i
(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 w
i
(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
*
Xx
với trạng thái
Ss
tƣơng ứng.

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

)'()( sgsg
nếu
)'()( sfsf

, 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) s(l) thì
cạnh này sẽ thay đổi mùi theo công thức :

1
)1(
ijij
(1.10.1)

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( twg
ijij

)(),( twji
(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 :


ijijij
)1(
(1.11)

sản xuất

20

}0,)1(max{
))((
min
1
ij
ij
twL
(1.12.1)

, 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
2,
))(( twg
ji
(1.12.2)

21
,
. Trong [16]
au :

(xem [16]) :
(i, :

1
)1(
ijij
(1.13.1)

- -
:

2
)1(
ijij
(1.13.2)


(i,j) w(t)
)(),( twji

)(),(: lsjil

ngƣợc lại
sản xuất

21

ij
0
1

2
.

Trong [11], [13]
[15 .

:
1.2.3.1 ([15
.
.
*
S
*):)(*(
*
Sssfgg
Eji ),(
:

max10,10min
*},,max{*},,min{ gg
ji

0
min
ttwg )),((
1
.*
max
g


:
Định lý 1.2.3.1 ([15]) :
Nếu cƣờng độ các vệt mùi nằm trong khoảng [
maxmin
,
] 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ế.

))1(())(( twgtwg
)1()( twtw
sản xuất

22

0
t
0
),( tttw
ji,
.
Đị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
Tttwji ),(),(
thì các khẳng định sau đây là đúng :
)(
,

t
ji
hội tụ theo xác suất tới
1
nếu dùng quy tắc cập nhật mùi ACS.
1,
)(t
ji
với
)1ln(
))((
ln
*
1
twg
Tt
nếu dùng quy tắc cập nhật mùi MMAS.
},max{)(lim
21,
t
ji
t
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ì
1,
lim
ji
t
.
[15].


.

min0
1
10
,
.
sản xuất

23

min
min
.
)(
min1
2
ji,
min
))((,,
21
twg
.
1
2
1
2
, và theo cách
cập nhật mùi này thì không cần quá trình bay hơi nữa vì trong mỗi vòng lặp hai

cận điều khiể
1
2
.

-
sản xuất

24

[7], [8], [22], [23]
1
1
,
.
(1- )
t
,
[7], [23].
.
1.3
1.3.1
. Chúng ta
sẽ giải thích việc này qua một ví dụ. Khi áp dụng ACO cho bài toán TSP, vệt mùi
ij
đƣợc sử dụng trong các ứng dụng ACO vào bài toán này thể hiện độ thích hợp
của việc chọn trực tiếp thành phố j sau khi đã thăm thành phố i, hay nó cung cấp
thông tin để đánh giá mối quan hệ giữa thành phố i và thành phố j. Ngoài ra ta
cũng có thể coi
ij

là đánh giá xem khả năng thành phố i và thành phố j có nằm
trong một hành trình hay nó là độ thích hợp vị trí.
) các kết quả đạt đƣợc là tốt hơn
với vệt mùi
ij
là độ thích hợp khi sắp công việc j vào vị trí i. Đó là do vai trò
khác nhau của các hoán vị kết quả trong hai bài toán đó. Trong bài toán TSP, các
hoán vị là tuần hoàn và chỉ có duy nhất thứ tự quan hệ giữa các thành phần mới là
quan trọng và chú ý rằng hoán vị (1 2 … n) và hoán vị
'
-
(cũng nhƣ
các bài toán lập lịch khác), và
'
biểu diễn hai lời giải khác nhau với những chi
sản xuất

25

phí khác nhau hoàn toàn. Tuy nhiên cần chú ý rằng, trong lý thuyết cả hai lựa
chọn đều là có thể bởi vì bất kỳ lời giải nào trong không gian tìm kiếm với hai
cách thể hiện này.
Công việc định nghĩa các vệt mùi rất quan trọng và một sự lựa chọn tồi tại
một bƣớc sẽ có thể dẫn đến giảm hiệu quả của thuật toán. May mắn là vời nhiều
bài toán, lựa chọn theo trực giác đồng thời
(supersequence) .
1.3.2 tin heuristic
Việc sử dụng các thông tin heuristic để xây dựng lời giải của các con kiến
trực tiếp theo xác suất là quan trọng vì nó tận dụng các tri thức xác định của bài
toán. Các tri thức này thƣờng là những yếu tố có sẵn tĩnh hoặc động. Trong các

bài toán tĩnh, các thông tin heuristic sẽ chỉ đƣợc tính một lần trƣớc khi bắt đầu
thuật toán, ví dụ trong ứng dụng TSP độ dài d
ij
của cung nối thành phố i và thành
phố j định nghĩa đƣợc thông tin heuristic
ijij
d/1
. Các thông tin heuristic tĩnh có
các lợi điểm sau : (i) dễ tính toán, (ii) chỉ phải tính một lần trƣớc khi bắt đầu thuật
toán, và (iii) tại mỗi vòng lặp của thuật toán ACO có thể tính trƣớc một bảng
ij
các
giá trị
])[(
ijij
t
sẽ tiết kiệm đƣợc đáng kể thời gian tính toán.
Trong trƣờng hợp bài toán động, thông tin heuristic phụ thuộc vào các lời giải
thành phần đƣợc xây dựng cho nên nó đƣợc tính tại mỗi bƣớc đi của con kiến.
Điều này gây ra chi phí tính toán lớn nhƣng có thể đạt đƣợc độ chính xác cao
tr
.
Cuối cùng, chú ý rằng việc sử dụng các thông tin heuristic là quan trọng cho
các dạng thuật toán ACO, nó đƣợc kết hợp với tìm kiếm địa phƣơng (xem [22])
để cải tiến lời giải. Vì sự thật là tìm kiếm địa phƣơng có đƣợc những thông tin
chi phí để cải tiến lời giải theo cách trực tiếp hơn. Một cách may mắn các thuật

×