Bài tốn tối ưu hóa
Bài tốn tối ưu hóa là bài tốn tìm lời giải tốt nhất trong tất cả các lời giải khả
thi, bài tốn tối ưu hóa được chia thành hai loại tùy thuộc vào các biến là liên tục hay rời rạc. Bài toán tối ưu hóa với các biến rời rạc được gọi là bài tốn tối ưu hóa tổ hợp. Nhiều bài tốn tối ưu tổ hợp có độ phức tạp tính tốn cao và được phân loại thuộc lớp NP khó [40, 41].
Bài toán quyết định là bài toán mà đầu ra chỉ có thể là “yes” hoặc “no” (đúng/sai,
0/1). Đối với một bài tốn quyết định, có những bộ dữ liệu vào cho ra câu trả lời (đầu ra) là “yes”, chúng ta gọi đây là bộ dữ liệu “yes”, nhưng cũng có những bộ dữ liệu vào cho ra câu trả lời là “no”, chúng ta gọi những bộ dữ liệu này là bộ dữ liệu “no”.
Một số loại thời gian tính của thuật tốn
Thời gian tính tốt nhất: Là thời gian tính tối thiểu cần thiết để thực hiện thuật
toán với mọi bộ dữ liệu đầu vào kích thước n (dữ liệu đầu vào lớn).
Thời gian tính tồi nhất: Là thời gian tính tối đa cần thiết để thực hiện thuật tốn
với mọi bộ dữ liệu đầu vào có kích thước n.
Thời gian tính trung bình: Là thời gian tính cần thiết để thực hiện thuật tốn
trên một tập hữu hạn các bộ dữ liệu đầu vào có kích thước n. Thời gian tính trung bình được tính theo cơng thức sau:
Thời gian tính trung bình=(Tổng thời gian tính tất cả các bộ dữ liệu có thể)/ Số bộ dữ liệu [41].
Lớp bài toán P và NP
- Lớp bài toán P: P là lớp các bài tốn có thể giải được trong thời gian đa thức
[42-44].
Rất nhiều các bài tốn quyết định có một đặc điểm chung, đó là để xác nhận câu trả lời “yes” đối với bộ dữ liệu vào “yes” của chúng, ta có thể đưa ra bằng chứng
ngắn gọn dễ kiểm tra xác nhận câu trả lời “yes” cho bộ dữ liệu vào “yes” đó. Tính ngắn gọn dễ kiểm tra chỉ việc thời gian kiểm tra để đưa ra kết quả chỉ mất thời gian
đa thức. Tương tự, có thể đưa ra khái niệm bằng chứng ngắn gọn dễ kiểm tra để xác nhận câu trả lời “no”.
- Lớp bài toán NP: NP là lớp các bài toán quyết định mà để xác nhận câu trả lời “yes” của nó ta có thể đưa ra bằng chứng ngắn gọn dễ kiểm tra [42-44].
Ví dụ: Bài tốn kiểm tra tính hợp số: “Có phải n là hợp số khơng?”, để xác nhận
câu trả lời “yes” cho đầu vào n ta có thể đưa ra một ước số b (1< b < n) của n. Để kiểm tra xem b có phải là ước số của n hay khơng ta có thể thực hiện phép chia n cho
b sau thời gian đa thức. Trong ví dụ này dễ thấy b là bằng chứng ngắn gọn (b < n) và
dễ kiểm tra (có thuật tốn thời gian tính đa thức để kiểm tra xem b có là ước số của
n).
- Lớp bài toán Co-NP: Co-NP là lớp các bài toán quyết định mà để xác nhận
câu trả lời “no” của nó ta có thể đưa ra bằng chứng ngắn gọn dễ kiểm tra [42-44]. Ví dụ: Bài tốn kiểm tra tính ngun tố: “Có phải n là số nguyên tố không?”, để đưa ra bằng chứng ngắn gọn dễ kiểm tra xác nhận câu trả lời “no” cho đầu vào n ta có thể đưa ra một ước số b của n.
- Lớp bài toán NP-đầy đủ (NP-Complete): Một bài toán quyết định A được gọi
là NP-đầy đủ nếu như [42-44]: + A là một bài toán trong NP.
+ Mọi bài tốn trong NP đều có thể quy dẫn về A.
Bổ đề: Giả sử bài toán A là NP-đầy đủ, bài toán B thuộc NP, và bài toán A qui
dẫn được về bài tốn B. Khi đó bài tốn B cũng là NP-đầy đủ.
- Lớp bài tốn NP- khó (NP-Hard): Một cách ngắn gọn có thể hiểu bài tốn NP-
khó là bài tốn mà khơng có thuật tốn thời gian tính đa thức để giải (trừ khi P = NP), mà chỉ có các thuật tốn giải trong thời gian hàm mũ. Sau đây là định nghĩa chính thức của bài tốn NP-khó [42-44].
Định nghĩa: Một bài tốn A được gọi là NP-khó nếu như sự tồn tại thuật tốn
đa thức để giải nó kéo theo sự tồn tại thuật tốn đa thức để giải mọi bài tốn trong NP.
Có thể nói rằng nếu ta có thể giải được một cách hiệu quả một bài tốn NP-khó cụ thể, thì ta cũng có thể giải hiệu quả bất kỳ bài toán trong NP bằng cách sử dụng thuật tốn giải bài tốn NP-khó như một chương trình con.
Từ định nghĩa bài tốn NP-khó có thể suy ra rằng mỗi bài toán NP-đầy đủ đều là NP-khó. Tuy nhiên một bài tốn NP-khó khơng nhất thiết phải là NP-đầy đủ [42- 44].
Từ phần trình bày trên, ta thấy có rất nhiều bài tốn ứng dụng quan trọng thuộc vào lớp NP-khó, và vì thế khó hy vọng xây dựng được thuật tốn cho lời giải chính xác và hiệu quả để giải chúng. Do đó, một trong những hướng phát triển thuật toán giải các bài toán như vậy là xây dựng các thuật toán gần đúng, các thuật toán heuristic/metaheuristic.
Phân loại bài toán tối ưu cân bằng dây chuyền may
Tác giả Helgeson [45] là người đầu tiên phân tích bài tốn cân bằng dây chuyền vào năm 1954, trong khi tác giả Salverson [46] lần đầu tiên cơng bố dưới dạng tốn học vào năm 1955. Kể từ đó vấn đề cân bằng dây chuyền đã được quan tâm nghiên cứu song song với sự phát triển các dây chuyền sản xuất. Bài toán cân bằng dây
chuyền đơn giản nhất SALBP cũng được coi là bài toán cân bằng chuyền cơ bản được mơ hình hóa như sau [9]:
- Quy trình cơng nghệ gia cơng sản phẩm là một tập hợp gồm n nguyên công công nghệ (NCCN) V={1 ,. . ., n}, thực hiện NCCN i cần một thời gian ti bằng một loại công cụ hoặc thiết bị.
- Các NCCN được thực hiện theo một trình tự nhất định tùy theo loại sản phẩm. Trình tự thực hiện của các NCCN là một dạng đồ thị có hướng gồm một tập các đỉnh (nút) nối với nhau bởi các cạnh có hướng (cung). Đồ thị có hướng G = (V, E) bao gồm tập đỉnh V và tập cung E là tập các bộ có thứ tự e = (u, v) gồm 2 đỉnh phân biệt
u và v, trong đó u được gọi là đỉnh đầu và v được gọi là đỉnh cuối của cung e (cạnh
có hướng). Bậc của một đỉnh v là số cạnh liên thuộc với v, bậc của v được ký hiệu là deg(v). Trong một đồ thị có hướng, bậc trong của đỉnh v là số cung kết thúc tại v, bậc
ngoài là số cung xuất phát từ v [40, 41].
Hình 1.16 Sơ đồ trình tự cơng nghệ [47]
Hình 1.16 là sơ đồ trình tự thực hiện của 15 NCCN, ngun cơng thứ 9 chỉ được thực hiện sau khi ngun cơng số 7 và 8 hồn thành, nguyên công 9 cũng phải thực hiện trước nguyên cơng 10, sơ đồ trình tự thực hiện là một dạng đồ thị có hướng khơng có chu trình [47].
Cân bằng dây chuyền được thực hiện bằng cách phối hợp các NCCN thành các NCSX và gán cho các vị trí làm việc sao cho điều kiện ràng buộc trình tự được thỏa mãn. Tập hợp Sm các ngun cơng được gán cho vị trí m (1,., K) tạo thành tải của vị trí làm việc, thời gian tích lũy 𝑆𝑇𝑚 = ∑𝑖∈𝑆𝑚𝑡𝑖 được gọi là thời gian của vị trí làm
việc m. Dây chuyền sản xuất khả thi nếu thời gian của vị trí làm việc khơng vượt nhịp dây chuyền [1, 3-5].
Căn cứ vào cấu trúc và mơ hình sản xuất của dây chuyền, tác giả Baybars (1986) [48] phân loại bài toán cân bằng dây chuyền (Assembly Line Balancing Problem) kí hiệu là ALBP thành hai loại: Cân bằng dây chuyền đơn giản (Simple Assembly Line Balancing) kí hiệu là SALB và cân bằng dây chuyền tổng quát (General Assembly Line Balancing) kí hiệu là GALB.
- Bài toán SALB là phiên bản đơn giản nhất trong lớp bài toán cân bằng dây chuyền, trên dây chuyền chỉ sản xuất một loại sản phẩm theo nhịp dây chuyền cố định, dây chuyền bao gồm một hàng máy bố trí dọc theo hệ thống hỗ trợ vận chuyển bán thành phẩm, khơng có ngun cơng sản xuất bội, ngun cơng sản xuất bội gồm hai hay nhiều công nhân thực hiện các công việc giống nhau.
- Bài toán GALB bao gồm các điều kiện ngồi phạm vi của bài tốn SALBP, ví dụ như cân bằng dây chuyền theo nhóm sản phẩm hoặc kết hợp nhiều sản phẩm, cho phép tạo thành nguyên công sản xuất bội, cân bằng cho dây chuyền sản xuất hình chữ U…và các vấn đề thực tế khác được xét đến.
Tác giả Ghosh và Gagnon (1989) [49] phân loại bài toán cân bằng dây chuyền thành bốn nhóm: Mơ hình đơn xác định (SMD) hoặc ngẫu nhiên (SMS), mơ hình đa sản phẩm xác định (MMD) hoặc ngẫu nhiên (MMS). Sơ đồ phân loại bài toán cân bằng dây chuyền theo tác giả Ghosh và Gagnon được minh họa trong hình 1.17.
Hình 1.17 Sơ đồ phân loại bài toán cân bằng chuyền (Ghosh và Gagnon, 1989) [49]
- Lớp bài tốn SMD là cân bằng cho dây chuyền có mơ hình sản xuất đơn sản phẩm, thời gian của các nguyên công là xác định, mục tiêu của bài toán là tối ưu hiệu suất cân bằng, đây là bài toán cân bằng dây chuyền ban đầu cơ bản nhất được ký hiệu là SALB. Khi xét đến các vấn đề như hình thành các ngun cơng bội và xét đến một số mục tiêu tối ưu khác thì được gọi là bài tốn cân bằng dây chuyền tổng qt kí hiệu là GALB [49, 50].
- Lớp bài tốn cân bằng dây chuyền mơ hình đơn ngẫu nhiên SMS có thời gian của nguyên công thay đổi. Đây và vấn đề thực tế của các dây chuyền lắp ráp thủ cơng, trong đó thời gian làm việc của cơng nhân ít khi liên tục [49, 50].
- Lớp bài tốn cân bằng dây chuyền mơ hình kết hợp sản phẩm xác định MMD có giả định là dây chuyền sản xuất nhiều sản phẩm khác nhau, nó khác với mơ hình kết hợp ngẫu nhiên MMS là thời gian thay đổi theo người công nhân thực hiện [49, 50].
Căn cứ theo các đặc trưng của dây chuyền và các mục tiêu tối ưu, bài toán cân bằng dây chuyền được tác giả Scholl và Becker (2006) phân làm hai lớp bài tốn chính là: Cân bằng dây chuyền đơn giản (SALBP) và lớp thứ hai là cân bằng dây chuyền tổng quát (GALBP), sơ đồ phân loại bài toán cân bằng dây chuyền theo tác giả Scholl và Becker được minh họa như hình 1.18 [3, 51].
Hình 1.18 Sơ đồ phân loại bài toán cân bằng chuyền (Scholl và Becker)[3, 51]
Cân bằng dây chuyền (ALBP) Mơ hình đơn sản phẩm Mơ hình kết hợp / đa sản phẩm Xác định (MMD) Ngẫu nhiên (MMS) Xác định (SMD) Ngẫu nhiên (SMS) SALB GALB SALB GALB SALB GALB SALB GALB
SALBP là lớp bài toán cân bằng dây chuyền đơn cho các dây chuyền có hình thức bố trí thiết bị theo hàng, gồm có điều kiện ràng buộc về trình tự thực hiện của các ngun cơng [51].
- SALB-1 là bài tốn cân bằng chuyền khi cho trước nhịp dây chuyền với mục tiêu tối đa hóa vị trí làm việc trên dây chuyền [51].
- SALBP-2 là bài toán cân bằng chuyền khi cho trước số lượng vị trí làm việc với mục tiêu tối thiểu hóa nhịp dây chuyền [51].
- SALBP-E là bài toán tổng quát với mục tiêu tối đa hóa hiệu suất dây chuyền trên cơ sở đồng thời tối thiểu hóa nhịp dây chuyền và số lượng vị trí làm việc.
- SALBP-F là bài tốn xem xét tính khả thi cân bằng dây chuyền khi cố định nhịp dây chuyền và số lượng vị trí làm việc [51].
GALBP là lớp bài toán cân bằng dây chuyền tổng quát, khi bỏ một số giả định của bài toán cân bằng dây chuyền cơ bản SALBP. Lớp bài toán này bao gồm cân bằng dây chuyền chữ U, mơ hình hỗn hợp (UALBP và MALBP) và các vấn đề trong thực tế [3].
- MALBP là bài tốn cân bằng chuyền mơ hình kết hợp, trên dây chuyền sản xuất nhiều loại sản phẩm.
- UALBP là bài toán cân bằng chuyền chữ U, các vị trí làm việc được sắp xếp theo hình chữ U, cơng nhân được phép làm việc ở hai bên của U, do đó cơng nhân có thể thực hiện đồng thời các nhiệm vụ không liên tiếp nhau [3].
Tác giả Y. K. Kim [52] đã phân loại bài toán cân bằng dây chuyền theo năm mục tiêu tối ưu, ngồi mục tiêu loại 1 và 2 cịn phân theo mục tiêu loại 3 là tối ưu hóa cân bằng khối lượng cơng việc giữa các vị trí làm việc, loại 4 là tối đa quan hệ trình tự thực hiện, các ngun cơng liên quan được gán cho cùng một vị trí làm việc, loại 5 là kết hợp của mục tiêu tối ưu loại 3 và 4.
Theo thống kê của các tác giả Ghosh [49] và Pianthong [50] bài toán cân bằng dây chuyền đơn thẳng SALBP được nghiên cứu nhiều nhất. Trong đó đa phần là các nghiên cứu về mục tiêu tối ưu số lượng vị trí làm việc của lớp bài tốn SALB-1 [53] còn lớp bài tốn SALBP-E và F phức tạp hơn nhưng ít được quan tâm [54].
Bài tốn cân bằng dây chuyền SALBP thường có các giả định sau [4,51,55,56]: - Dây chuyền sản xuất hàng loạt một loại sản phẩm đồng nhất.
- Dây chuyền có cấu trúc thẳng (theo hàng), các vị trí làm việc được bố trí dọc theo dây chuyền.
- Quy trình cơng nghệ gia cơng sản phẩm được cho trước. - Trình tự thực hiện của các ngun cơng được cho trước.
- Nhịp dây chuyền cho trước, nhịp dây chuyền được xác định thông qua công suất.
- Thời gian của các ngun cơng trong quy trình cơng nghệ gia công sản phẩm xác định.
- Thời gian lớn nhất của nguyên công công nghệ nhỏ hơn hoặc bằng nhịp dây chuyền, khơng có ngun cơng sản xuất bội (khơng có ngun cơng sản xuất có từ hai cơng nhân trở lên).
Trong một số bài toán giả định thời gian lớn nhất của nguyên công thường là nhỏ hơn nhịp dây chuyền, mỗi nguyên công chỉ gán cho một vị trí làm việc [57]. Khi giả định thời gian lớn nhất của nguyên công nhỏ hơn nhịp dây chuyền thì tốc độ sản xuất của dây chuyền bị giới hạn bởi thời gian lớn nhất của nguyên công. Vấn đề này
được giải quyết bằng cách tạo ra các vị trí làm việc song song, nó gồm hai hoặc nhiều bản sao của các vị trí làm việc cùng thực hiện một nhóm cơng việc giống nhau trường hợp này được gọi là nguyên công sản xuất bội [58]. Mục đích hình thành các ngun cơng sản xuất bội để tăng tốc độ sản xuất, cân bằng tải giữa các vị trí làm việc, giảm độ trễ của dây chuyền. Tuy nhiên khi đó người cơng nhân phải thực hiện nhiều công việc hơn, địi hỏi kỹ năng của cơng nhân cao hơn. Để kiểm sốt q trình này, trong một số nghiên cứu đã đặt ra các điều kiện khi tạo thành nguyên công sản xuất bội. Tác giả Sarker và Shantikumar [59] đã giới hạn nguyên công bội ba là tối đa. Tác giả Buxey [58] giới hạn số lượng nguyên công của mỗi vị trí làm việc. McMullen và cộng sự [60] cho phép hình thành các ngun cơng bội miễn là đạt được nhịp của dây chuyền. Tác giả Vilarinho và Simaria [61] đã cho phép tạo thành nguyên công bội khi thời gian của nguyên công lớn hơn nhịp dây chuyền, đồng thời quy định khi xây dựng quy trình cơng nghệ thì thời gian dài nhất của ngun cơng khơng q hai lần nhịp, khơng có ngun cơng bội lớn hơn hai. Tác giả Kamarudin [53] xây dựng mơ hình tốn học cho bài tốn cân bằng chuyền loại 1 với nhiều ràng buộc để tối thiểu đồng thời số vị trí làm việc, số lượng thiết bị và số lượng công nhân.
Qua nghiên cứu cho thấy bài toán cân bằng dây chuyền có thể phân làm ba nhóm cơ bản là: Theo mục tiêu tối ưu như tối ưu số công nhân, tối ưu nhịp dây chuyền, tối ưu hiệu quả cân bằng (loại 1, 2, E), theo cấu trúc của dây chuyền (dây chuyền đơn thẳng, dây chuyền chữ , …) và theo vấn đề đơn giản và vấn đề tổng quát.