Tải bản đầy đủ (.pdf) (11 trang)

Nghiên cứu các bài toán lịch biểu và ứng dụng

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 (639.77 KB, 11 trang )

I HC QUC GIA H NI
TRNG I HC CễNG NGH

NGUYễN XUÂN MINH

NGHIÊN CứU CáC BàI TOáNLịCH BIểU Và ứNG DụNG

LUậN VĂN THạC Sĩ CÔNG NGHệ THÔNG TIN

H Ni - 2015


I HC QUC GIA H NI
TRNG I HC CễNG NGH

NGUYễN XUÂN MINH

NGHIÊN CứU CáC BàI TOáNLịCH BIểU Và ứNG DụNG
Chuyờn ngnh: H thng thụng tin
Mó s: 60 48 01 04

LUậN VĂN THạC Sĩ CÔNG NGHệ THÔNG TIN

Ngi hng dn khoa hc: GS.TS V c Thi

H Ni - 2015


MỤC LỤC
LỜI CẢM ƠN ....................................................................................................................
LỜI CAM ĐOAN ..............................................................................................................


MỤC LỤC .........................................................................................................................
DANH MỤC CÁC BẢNG ................................................................................................
DANH MỤC CÁC HÌNH VẼ, BIỂU ĐỒ .........................................................................
MỞ ĐẦU ...........................................................................................................................
CHƢƠNG 1. TỔNG QUAN VỀ BÀI TOÁN LẬP LỊCH ..............................................1
1.1. Định nghĩa bài toán lập lịch Jobshop (JSP) ..........................................................1
1.2. Tình hình nghiên cứu thuật toán tìm kiếm lịch biểu tối ƣu ..................................2
1.2.1. Tình hình nghiên cứu trên thế giới ................................................................2
1.2.2. Tình hình nghiên cứu trong nƣớc ..................................................................3
1.3. Các phƣơng pháp tiếp cận giải bài toán lập lịch ..................................................3
1.2.3. Cách tiếp cận chính xác, thuật toán nhánh cận..............................................3
1.2.4. Cách tiếp cận gần đúng..................................................................................4
CHƢƠNG 2. THUẬT TOÁN DI TRUYỀN................. Error! Bookmark not defined.
2.1. Lịch sử ra đời ...................................................... Error! Bookmark not defined.
2.2. Một số khái niệm cơ bản .................................... Error! Bookmark not defined.
2.2.1. Cá thể, nhiễm sắc thể ................................... Error! Bookmark not defined.
2.2.2. Quần thể....................................................... Error! Bookmark not defined.
2.2.3. Chọn lọc....................................................... Error! Bookmark not defined.
2.2.4. Lai ghép ....................................................... Error! Bookmark not defined.
2.2.5. Đột biến ....................................................... Error! Bookmark not defined.
2.3. Lƣu đồ thuật toán di truyền đơn giản ................. Error! Bookmark not defined.
2.4. Các tham số của thuật toán di truyền.................. Error! Bookmark not defined.
2.4.1. Kích thƣớc quần thể .................................... Error! Bookmark not defined.
2.4.2. Xác suất lai ghép ......................................... Error! Bookmark not defined.
2.4.3. Xác suất đột biến ......................................... Error! Bookmark not defined.
2.5. Khởi tạo quần thể ban đầu .................................. Error! Bookmark not defined.
2.5.1. Hàm tính độ thích nghi ................................ Error! Bookmark not defined.
2.5.2. Toán tử chọn lọc .......................................... Error! Bookmark not defined.
2.5.3. Các toán tử lai ghép ..................................... Error! Bookmark not defined.
2.5.4. Toán tử đột biến........................................... Error! Bookmark not defined.

2.7. Kết luận............................................................... Error! Bookmark not defined.
CHƢƠNG 3. HAI BÀI TOÁN CON CỦA BÀI TOÁN LẬP LỊCH JOB SHOP Error!
Bookmark not defined.


3.1. Bài toán Flowshop hoán vị ................................. Error! Bookmark not defined.
3.1.1. Mô tả bài toán .............................................. Error! Bookmark not defined.
3.1.2. Cách tính thời gian hoàn thành trong một lịch biểu hoán vị ............... Error!
Bookmark not defined.
3.1.3. Thuật toán Johnson cho PFSP 2 máy và PFSP 3 máyError! Bookmark not
defined.
3.1.4. Một thuật di truyền mã hóa tự nhiên cho bài toán FSP tổng quát ....... Error!
Bookmark not defined.
3.1.5. Kết quả thực nghiệm ................................... Error! Bookmark not defined.
3.2. Bài toán lập lịch Flowshop ................................. Error! Bookmark not defined.
3.2.1. Mô bài toán .................................................. Error! Bookmark not defined.
3.2.2. Một thuật toán di truyền mã hóa tự nhiên cho bài toán FPS tổng quát Error!
Bookmark not defined.
3.3. Kết luận............................................................... Error! Bookmark not defined.
CHƢƠNG 4. MỘT THUẬT TOÁN DI TRUYỀN LAI CHO BÀI TOÁN LẬP LỊCH
JOB SHOP ..................................................................... Error! Bookmark not defined.
4.2. Các luật ƣu tiên của Giffler và Thompson ......... Error! Bookmark not defined.
4.2.1. Thuật toán Giffler - Thompson (GT) .......... Error! Bookmark not defined.
4.2.2. Áp dụng thuật toán GT cho JSP để sinh ra các lịch biểu tích cực....... Error!
Bookmark not defined.
4.3. Một thuật toán di truyền lai tuần tự cho bài toán JSP ...... Error! Bookmark not
defined.
4.3.1. Mã hóa lời giải ............................................. Error! Bookmark not defined.
4.3.2. Khởi tạo tập lời giải cho thế hệ ban đầu ...... Error! Bookmark not defined.
4.3.3. Xây dựng hàm thích nghi ............................ Error! Bookmark not defined.

4.3.4. Các toán tử di truyền ................................... Error! Bookmark not defined.
4.3.5. Thuật toán di truyền..................................... Error! Bookmark not defined.
4.3.6. Tính đúng đắn của thuật toán ...................... Error! Bookmark not defined.
4.4. Kết quả thực nghiệm........................................... Error! Bookmark not defined.
KẾT LUẬN ................................................................... Error! Bookmark not defined.


MỞ ĐẦU
Lý do chọn đề tài
Lập lịch là một chủ đề quan trọng trong lĩnh vực nghiên cứu hoạt động xuất
hiện từ đầu những năm 1950. Mục tiêu chính của lập lịch là phân phối một cách hiệu
quả tài nguyên dùng chung qua thời gian hoàn thành các tác vụ.
Có rất nhiều các bài toán quan trọng trong thực tế của lập lịch nhƣ: Lập lịch sản
xuất; lập lịch xếp lớp cho giảng viên; lập lịch thực hiện công việc cho dự án; lập lịch
trực cho bác sỹ, y tá trong bệnh viện; lập lịch hàng không, lập lịch tàu hỏa…
Với nhiều ứng dụng nhƣ vậy việc nghiên cứu và đƣa ra một thuật toán có thể
thống kê một lịch biểu để thực hiện công việc hoàn thành trong thời gian tối ƣu là vô
cùng quan trọng.
Từ năm 1950 đến nay mặc dù có rất nhiều công trình nghiên cứu về lập lịch
đƣợc đề xuất. Nhƣng có hai vấn đề cần quan tâm xung quanh bài toán lập lịch đó là
lịch biểu thực hiện công việc đã tối ƣu chƣa và tốc độ thực hiện của thuật toán là
nhanh hay chậm. Xuất phát từ hai vấn đề đó, có hai phƣơng pháp tiếp cận chính để giải
bài toán lập lịch đó là phƣơng pháp chính xác và phƣơng pháp gần đúng.
Phƣơng pháp thứ nhất là phƣơng pháp chính xác. Với phƣơng pháp này thì ƣu
điểm lớn nhất là sẽ tiến hành tìm kiếm trên toàn bộ không gian bài toán và kết quả sẽ
luôn tìm đƣợc một lịch biểu thực hiện các công việc tối ƣu. Phƣơng pháp chính xác
nhìn nhận sâu vào vấn đề bài toán, đƣa ra đƣợc những quyết định với các thông tin
quan trọng về cấu trúc của vấn đề hoặc phân tích chính xác các lịch biểu. Tuy nhiên do
bản chất là vét cạn nên có nhiều hạn chế khả năng áp dụng phƣơng pháp này nhƣ tốn
nhiều chi phí thực hiện, mất nhiều thời gian xử lý để tìm ra lời giải, … Một số thuật

toán giải quyết bài toán lập lịch theo phƣơng pháp tiếp cận nàytiêu biểu nhƣ các kỹ
thuật nhánh cận (Branch and Bound), Quy hoạch tuyến tính nguyên (Integer Linear
Programming)....Trong đó, thuật toán nhánh cận đƣợc đánh giá là thuật toán tốt nhất
trong các thuật toán nghiên cứu theo phƣơng pháp tiếp cận chính xác.
Phƣơng pháp thứ hai là phƣơng pháp gần đúng sử dụng các hàm ƣớc lƣợng
heuristic đánh giá để tìm lịch biểu công việc, việc sử dụng các hàm ƣớc lƣợng này có
nhƣợc điểm lớn là lời giải của phƣơng pháp tìm ra không đƣợc chắc chắn là lời giải tối
ƣu nhất. Trong thực tế, nhiều trƣờng hợp chất lƣợng của lời giải tìm ra không chấp
nhận đƣợc. Kết quả của bài toán bị ảnh hƣởng bởi các thông số (kích thƣớc của tập
hợp, lời giải ban đầu của thuật toán, các lân cận…). Và cách thức để giải quyết bài
toán đôi khi đƣợc xem nhƣ kỹ xảo để xử lý hơn là khoa học. Tuy nhiên phƣơng pháp
này lại có lợi thế hơn so với phƣơng pháp chính xác là chi phí thời gian tìm kiếm để
đƣa ra lời giải thấp. Gần đây một số thuật toán mạnh mẽ đƣợc tiếp cận bằng phƣơng
pháp gần đúng điển hình nhƣ là: “Taboo Search”, “Simulated Annearling”, “Genetic
Algorithms”, …
Trong lĩnh vực lập lịch, một mô hình chung nhất cho lập lịch là bài toán lập lịch
Jobshop (Jobshop Scheduling Problem)viết tắt JSP. Bài toán này nổi tiếng là một trong


những bài toán tối ƣu tổ hợp khó tính toán nhất cho đến nay. JSP cũng là một trong
những bài toán đƣợc nghiên cứu nhiều nhất và là một mô hình phát triển tốt về lý
thuyết lập lịch. Ngoài ra, một động lực khác giúp JSP đƣợc thúc đẩy mạnh mẽ là các
ứng dụng của nó trong thực tế và cuộc sống sản xuất. Vì vậy em mạnh dạn chọn đề tài
luận văn thạc sĩ “Nghiên cứu các bài toán lịch biểu và ứng dụng”.
Bố cục của luận văn
Nội dung của luận văn bao gồm 4 chƣơng:
Chƣơng 1. Tổng quan về bài toán lập lịch
Chƣơng này trình bày tổng quan về bài toán JSP, tình hình nghiên cứu, các
hƣớng tiếp cận giải quyết bài toán JSP.
Chƣơng 2. Thuật toán di truyền

Chƣơng này trình bày một số khái niệm cơ bản trong thuật toán di truyền, các
tham số đầu vào của thuật di truyền, các toán tử của thuật toán di truyền và thuật toán
di truyền.
Chƣơng 3. Hai bài toán con của bài toán lập lịch JSP
Chƣơng này trình bày các khái niệm cơ bản liên quan đến hai bài toán con của
JSP đó là bài toán lập lịch Flowshop hoán vị (PFSP) và Flow shop (FSP) và thuật toán
Johnson cho bài toán Flowshop hoán vị 2 máy và 3 máy có hạn chế điều kiện. Cuối
cùng, trình bày thuật toán di truyền mã hóa số tự nhiên cho hai bài toán này.
Chƣơng 4. Một thuật toán di truyền lai cho bài toán lập lịch job shop
Chƣơng này trình bày một thuật toán di truyền lai là kết hợp thuật toán di
truyền với các kỹ thuật tìm kiếm khác cho bài toán JSP và xây dựng chƣơng trình
minh họa cho thuật toán di truyền lai.


1
CHƢƠNG 1. TỔNG QUAN VỀ BÀI TOÁN LẬP LỊCH
1.1. Định nghĩa bài toán lập lịch Jobshop (JSP)
Bài toán lập lịch job shop tổng quát đƣợc phát biểu nhƣ sau:
Cho tập 𝑛 công việc 𝐽𝑖

1≤𝑖≤𝑛 ,

mỗi công việc bao gồm 𝑚 công đoạn (hay còn gọi

là thao tác) đƣợc xử lý trên một tập 𝑚 máy 𝑀𝑗

1≤𝑗 ≤𝑚

và thỏa mãn các ràng buộc sau:


a) Mỗi công việc phải đƣợc xử lý ở trên mỗi máy theo một trình tự cho trƣớc
của các thao tác. Trình tự thực hiện thao tác của mỗi công việc lần lƣợt trên các máy
đƣợc gọi là tuần tự công nghệ;
b) Tại mỗi thời điểm, mỗi máy chỉ có thể xử lý nhiều nhất là một công việc;
c) Mỗi máy 𝑀𝑗 tùy ý đều có khả năng xử lý một công việc 𝐽𝑖 nào đó, phần công
việc 𝐽𝑖 đƣợc xử lý trên máy 𝑀𝑗 đƣợc gọi là thao tác 𝑂𝑖𝑗 .
d) Mỗi thao tác 𝑂𝑖𝑗 phải đƣợc xử lý một cách liên tục trên máy 𝑀𝑗 (từ khi bắt
đầu xử lý cho tới khi kết thúc xử lý không bị ngắt);
e) Thời gian bắt đầu và thời gian hoàn thành xử lý thao tác 𝑂𝑖𝑗 đƣợc ký hiệu lần
lƣợt là 𝑠𝑖𝑗 và 𝑐𝑖𝑗 . Thời gian xử lý thao tác 𝑂𝑖𝑗 đƣợc ký hiệu là 𝑝𝑖𝑗 ;
f) Thời gian hoàn thành việc xử lý tất cả các công việc đƣợc gọi mà makespan
và đƣợc ký hiệu là 𝐶𝑚𝑎𝑥 .
Việc giải bài toán lập lịch job shop là xác định một lịch biểu (thứ tự xử lý các
công việc ở trên m máy) sao cho makespan là nhỏ nhất.
Để minh họa cho bài toán, một ví dụ về bài toán JSP 3x3 đƣợc cho trong Bảng
1.1. Dữ liệu vào bao gồm một tuần tự công nghệ của các máy cho mỗi công việc và
thời gian xử lý của mỗi công việc ở trên mỗi máy (trong dấu ngặc đơn).
Công việc

Máy (thời gian xử lý)

1

1(3)

2(3)

3(3)

2


1(2)

3(3)

2(4)

3

2(3)

1(2)

3(1)

Bảng 1.1: Bài toán JSP 3 công việc, 3 máy
Theo Bảng 1.1, các thao tác của 𝐽1 đƣợc xử lý trên các máy theo trình tự: 𝑂11 →
𝑂12 → 𝑂13 ; tức là, công việc 1 ban đầu đƣợc xử lý trên máy 1 với thời gian xử lý là 3,
và tiếp theo, đƣợc xử lý trên máy 2 với thời gian xử lý là 3, và tiếp theo đƣợc xử lý
trên máy 3 với thời gian xử lý là 3; các thao tác 𝐽2 đƣợc xử lý trên các máy theo trình
tự: 𝑂21 → 𝑂23 → 𝑂22 các thao tác 𝐽3 đƣợc xử lý trên các máy theo trình tự: 𝑂32 →
𝑂31 → 𝑂33 .


2
Bài toán này không chỉ là NP - khó (NP-hard) mà còn nổi tiếng là một trong
những bài toán tối ƣu tổ hợp khó tính toán nhất cho đến nay. Độ phức tạp của bài toán
này là một trong những lý do tại sao bài toán này đƣợc nghiên cứu một cách rộng rãi.
Cho đến ngày nay vẫn chƣa có một phƣơng pháp nào giải quyết bài toán JSP
một cách chính xác và thời gian nhanh.

1.2. Tình hình nghiên cứu thuật toán tìm kiếm lịch biểu tối ƣu
1.2.1. Tình hình nghiên cứu trên thế giới
Bài toán JSP lần đầu tiên đƣợc công bố bởi Akers và Friedman (1955), bài toán
này thƣờng đƣợc biết với cái tên AkersFriedman. Tuy nhiên, nó trở nên phổ biến nhờ
vào bài toán nổi tiếng 10 công việc 10 máy đƣợc đƣa ra bởi Fisher và Thompson
(1963). Những nỗ lực đầu tiên để giải quyết bài toán JSP đƣợc thực hiện bởi Brooks và
White (1965), Greenberg (1968) với phƣơng pháp quy hoạch nguyên.Sau đó là
phƣơng pháp nhân tử Lagrange của Balas (1969), Charlton và Death (1970) Florian
(1971), Ashour(1974), Ashour và Hiremath (1973), Fisher (1973)[5].
Một thuật toán của McMahon và Florian (1975) tìm đƣợc dẫn đầu là thuật toán
chính xác tốt nhất. Thuật toán kết hợp các giới hạn của bài toán lập lịch trên một máy
bằng cách sử dụng hàm mục tiêu để giảm thiểu thời gian trễ và liệt kê các lịch biểu tích
cực. Cùng thời gian đó một phƣơng pháp heutistic dựa trên các luật ƣu tiên đƣợc nghiên
cứu bởi Gere (1966), Panwalkar và Iskander (1977) và Haupt (1989). Xa hơn nữa một
số thuật toán mãnh mẽ đƣợc nghiên cứu với các phƣơng pháp tiếp cận tối ƣu. Barker và
McMahon (1985) đã công bố công trình giải quyết bài toán lập lịch bằng cách sử dụng
cấu trúc lân cận dựa trên các thuật toán tìm kiếm địa phƣơng(local search)[5].
Lịch biểu tối ƣu của bài toán JSP 10x10 lần đầu tiên đƣợc đƣa ra bởi Leageweg
(1984) nhƣng việc chứng minh về tính tối ƣu của lịch biểu này không đƣợc đƣa ra.
Arlier và Pinson (1989) đã chứng minh rằng lịch biểu này là tối ƣu và họ đƣợc ghi với
việc giải quyết bài toán nổi tiếng Fisher và Thompson từ năm 1963[5].
Ngày nay, thuật toán hiệu quả nhất trong số các phƣơng pháp chính xác là thuật
toán nhánh cận của Caseau và Laburthe (1995), Baptiste (1995), Carlier và Pinson
(1994), Brucker (1994), Brucker (1992) và các kỹ thuật khác nhau sau nhánh cận bởi
Applegate và Cook (1991), Martin và Shmoys (1995) và Perregaard và Clausen
(1995). Những hƣớng mới nghiên cứu giải quyết bài toán JSP tại thời điểm hiện tại là
phƣơng pháp gần đúng. Phƣơng pháp đầu tiên trong danh sách là phƣơng pháp dịch
chuyển nút cổ chai (Shifting Bottleneck) của Adam 1998,Balas (1995), Dauzere-Peres
và Lasserre (1993). Tuy nhiên phần lớn của cách tiếp cận gần đúng là kỹ thuật tìm
kiếm địa phƣơng và tiến hóa. Trong kỹ thuật tìm kiếm địa phƣơng và tiến hóa thì các

thuật toán mạnh mẽ nhất là thuật toán mô phỏng luyện kim (simulated annealing) của
Van Laarhoven (1992), Matsuo (1988) và Yamada (1994), Tìm kiếm Tabu (Taboo


3
Search)bởi Dell’Amico và Trubian (1993), Taillard (1994), Barnes và Chambers
(1995), Nowicki và Smutnicki (1996) và Thomsen (1997), Thuật toán di truyền
(Genetic Algorithms)bởi Storer (1992), Yamada và Nakano (1992), Pesch (1993) và
Dorndorf và Pesch (1995), vàkỹ thuật Tìm kiếm địa phƣơng có chỉ dẫn (Guided Local
Search)đề xuất bởiBalas và Vazacopoulos (1998)[5].
Các tiếp cận đã đƣợc đề xuất để giải bài toán JSP đƣợc trình bày trong Hình 1.1.
Các phƣơng
pháp gần đúng

Các phƣơng
pháp chính xác

Các luật ƣu
tiên nhanh

Dịch chuyển
nút cổ chai

Các kỹ thuật
nhánh cận

Công thức
toán học

Trí tuệ

nhân tạo
Tìm kiếm
địa phƣơng

Các mạng
Nơron

Mô phỏng
luyện kim

Quy hoạch tuyến
tính nguyên

Tìm kiếm
Taboo

Giải thuật
di truyền

Hình 1.1: Các tiếp cận cho bài toán lập lịch JSP
1.2.2. Tình hình nghiên cứu trong nƣớc
Hiện nay, bài toán JSP vẫn đang đƣợc quan tâm và nghiên cứu và ngày càng
phát triển. Các công trình nghiên cứu về vấn đề này chủ yếu theo hƣớng các thuật toán
đã đƣợc đề xuất và ứng dụng ở trên thế giới, từ đó tìm ra các phƣơng pháp để cải tiến
làm cho thuật toán tốt hơn. Ứng dụng thực tiễn của bài toán lập lịch chủ yếu trong lĩnh
vực đào tạo: xây dựng thời khóa biểu, kế hoạch thi, lịch làm việc, lịch trực bệnh
viện,lập kế hoạch sản xuất kinh doanh trong doanh nghiệp.
1.3. Các phƣơng pháp tiếp cận giải bài toán lập lịch
1.2.3. Cách tiếp cận chính xác, thuật toán nhánh cận
Thuật toán nhánh cận là phƣơng pháp hiệu quả nhất trong số các phƣơng

pháp chính xác để giải bài toán JSP. Thuật toán nhánh cận là kỹ thuật đƣợc phát triển


4
để giải quyết các bài toán rời rạc và tổ hợp. Mô hình đƣợc sử dụng để tìm kiếm là mô
hình cây phân cấp. Tƣ tƣởng cơ bản của phƣơng pháp là trong quá trình tìm kiếm
lời giải, sẽ phân hoạch tập các phƣơng án của bài toán thành hai hay nhiều tập con
biểu diễn nhƣ một nút của cây tìm kiếm và cố gắng bằng phép đánh giá cận),
tìm cách loại bỏ các nhánh cây (những tập con các phương án của bài toán) mà ta
biết chắc chắn không phải là phƣơng án tối ƣu. Mặc dù trong trƣờng hợp xấu nhấtthuật
toán sẽ duyệt toàn bộ, nhƣng những trƣờng hợp cụ thể nó rút ngắn đáng kể
thời gian tìm kiếm.
Hiệu quả của thuật toán nhánh cận phụ thuộc cách thức phân nhánh và đánh giá
cận. Việc phân nhánh sai sẽ không làm giảm việc bỏ bớt các phƣơng án không tốt hoặc
thậm chí cũng không thể thu gọn các miền khả thi xuống. Đánh giá cận sai sẽ tạo ra
các nhánh không chính xác làm ảnh hƣởng đến số lƣợng các phƣơng án hoặc các tập
con có thể lƣợc bỏ đƣợc. Nhƣ vậy thì một chiến lƣợc nhánh cận không tốt sẽ làm giảm
việc xác định các phƣơng án khả thi và lúc này thuật toán sẽ liệt kê toàn bộ các cấu
hình có thể cho dù bài toán không thực sự lớn. Chính vì thế những quy tắc khác nhau
đƣợc áp dụng với mục đích làm sao để phân nhánh và đánh giá cận đúng là vấn đề
quan trọng trong việc xây dựng thuật toán.
Với bài toán lập lịch, thì lịch biểu các công việc đƣợc mô tả bằng một đồ thịnối
rời (disjunctive graph). Tất cả các công đoạn cùng một công việc đƣợc nốithành một
chuỗi các cung nối liền và các cung nối rời giữ các công đoạn thực hiệntrên cùng một
máy. Việc lập lịch sẽ trở thành việc sắp thứ tự các công việc trên từngmáy, nghĩa là
làm cố định mối liên hệ trƣớc sau giữa các công đoạn trên cùng mộtmáy bằng cách
thay đổi hƣớng các cung nối rời theo một hƣớng cố định ta sẽ cómột lời giải khả thi,
mỗi lời giải khả thi này ta tính đƣợc hàm mục tiêu 𝐶𝑚𝑎𝑥 chiềudài lớn nhất đi từ nút
nguồn đến nút đích.
Một vấn đề gặp phải của phƣơng pháp nhánh cận là thời gian tính toán lớn.

1.2.4. Cách tiếp cận gần đúng
1.2.4.1. Giới thiệu
Một lớp quan trọng của loại cải tiến thuật toán là thủ tục tìm kiếm địa phƣơng
(local search). Một thủ tục tìm kiếm địa phƣơng không đảm bảo là một lời giải tối ƣu.
Nó thƣờng cố gắng tìm một lịch biểu mà lịch biểu đó là tốt hơn so với lịch biểu hiện
tại trong lân cận của lịch biểu hiện tại. Hai lịch biểu là lân cận nếu một lịch biểu này
có thể thu đƣợc qua việc sửa đổi và đƣợc xác định bởi lịch biểu kia. Tại tất cả các
vòng lặp một thủ tục tìm kiếm địa phƣơng thực hiện việc tìm kiếm bên trong lân cận
và đánh giá các giải pháp lân cận khác nhau. Quá trình tìm kiếm trong lân cận có thể
đƣợc thực hiện qua một số cách. Cách đơn giản nhất là chọn các lịch biểu trong lân
cận một cách ngẫu nhiên, đánh giá các lịch biểu này và quyết định cái lịch biểu nào sẽ


5

TÀI LIỆU THAM KHẢO
TIẾNG VIỆT
1.Nguyễn Hữu Mùi(2013), Thuật toán và các bài toán lịch biểu, Luận án Tiến sĩ,
Trƣờng Đại học Công nghệ, Đại học Quốc Gia Hà Nội.
2.Nguyễn Hữu Mùi, Vũ Đình Hòa(2012), Một thuật toán di truyền hiệu quả cho bài
toán lập lịch Job Shop, Tạp chí Khoa học và Công nghệ, 50(6), tr.567-579.
3.Pham Việt Anh, Bùi Thu Lâm(2013), Giải thuật di truyền và ứng dụng trong hỗ trợ
lập lịch điều hành công tác bệnh viện, Chuyên san công nghệ thông tin và Truyền
thông - Số 02, tr.95-98.
4.Vũ Đình Trung (2012), Song song hóa bài toán JSP trên một số môi trường tính
toán song song và phân tán, Luận văn Thạc sĩ, Trƣờng Đại học Lạc Hồng.
TIẾNG ANH
5.Aarhus School of Business(2005), Metaheuristics for Job Shop Scheduling
Problem,Comparison of Effective Methods, Master Thesis.
6.David A Coley(1999), An Introductionto Genetic Algorithms for Scientists and

Engineers.
7.Ibrahim M. Alharkan - College of Engineering King Saud University, Algorithms for
Sequencing and Scheduling, pp. 258-272.
8.Jorge Magalhães-Mendes(2013), “A Comparative Study of Crossover Operators for
Genetic Algorithms to Solve the Job Shop Scheduling Problem”, Vol 12, pp.166-168.
9.Kumara Sastry, David Goldberg and Graham Kendall, Genetic Algorithms,
pp.100-105.
10.Michalewicz Zbigniew, Genetic Algorithms + Data Structures = Evolution
Programs (3edition)
11.S.M.Johnson(1953),Optimal Two and Three Stage Production Schedules with Setup
Time Include, pp. 1-10.
12.Takeshi YAMADA(2003),Studies on Metaheuristics for Jobshop and Flowshop
Scheduling Problems
13. J. Giffler and G.L. Thompson, Algorithms for solving production scheduling
problems, OperationsResearch 8 (1960) 487-503.



×