Ết quả nghiên cứu xác định thuật toán giải bài toán tìm nhịp dây chuyền để

Một phần của tài liệu Luận án tiến sĩ Nghiên cứu tối ưu cân bằng dây chuyền công nghiệp may sản phẩm dệt kim (Trang 113)

chuyền để tối đa hiệu suất cân bằng (GALB-E)

Mô hình hóa bài toán

Bài toán xác định nhịp dây chuyền để tối đa hiệu suất cân bằng GALB-E có tất cảcác điều kiện ràng buộc giống với bài toán GALB-1 đã nêu ở mục 3.1.1, điểm khác là dữ liệu đầu vào và mục tiêu tối ưu của bài toán.

Mục tiêu của bài toán là xác định nhịp dây chuyền và một cách phối hợp các NCCN thành NCSX sao cho hiệu suất cân bằng Hđược tối đa hóa. Nếu có nhiều đáp

án cho ra cùng hiệu suất cân bằng H tối ưu, thì đáp án có số công nhân N và nhịp R

nhỏ nhất sẽđược chọn.

* D liệu đầu vào:

Bảng quy trình công nghệ may (Tập NCCN Tasks).

Hệ số sai lệch giới hạn nhịp ∈{5%,10%,15%}. Trình tự thực hiện của NCCN.

* Các điều kin ràng buc:

100

* Mc tiêu bài toán:

- Mục tiêu thứ nhất: Tối đa hóa hiệu suất cân bằng (maximize H). - Mục tiêu thứ hai: Tối thiểu hóa số công nhân (minimize N). - Mục tiêu thứ ba: Tối thiểu hóa nhịp dây chuyền (minimize R).

* D liệu đầu ra:

Kết quả phối hợp NCCN thành NCSX.

Các chỉ số cân bằng dây chuyền: Nhịp dây chuyền R tối ưu, hiệu suất cân bằng

H tối ưu, số công nhân N tối ưu.

Thut toán chung xác định nhp dây chuyn R để tối đa hiệu sut cân bng H (GALB-E)

a) Thut toán chung gii bài toán GALB-E

Gọi VR là tập các giá trị cần duyệt của nhịp dây chuyền Rđể tồn tại ít nhất một giá trị R’ VR sao cho hiệu suất cân bằng tối đa của bài toán có thểđạt được khi R =

R’. Có thể có nhiều tập các giá trị nhịp thỏa mãn điều kiện để trở thành tập VR. Ví dụ

khi VRlà tập số thực, thì luôn tồn tại một giá trịR’ VR sao cho tồn tại một cách phối hợp NCCN đểH đạt tối đa khi R = R’.

Duyệt tất cả các giá trị của R trong tập VR. Với mỗi giá trị của R, áp dụng thuật toán giải bài toán cân bằng dây chuyền khi cho trước nhịp GALB-1 đã đề xuất trong mục 3.1.1để tìm kiếm phương án có hiệu suất cân bằng H cao nhất. Tuy nhiên trong bài toán GALB-E có thay đổi trong việc so sánh độ tốt của hai giải pháp, đó là giải pháp A tốt hơn giải pháp B nếu hiệu suất cân bằng của giải pháp A lớn hơn so với của giải pháp B. So sánh tất cả các giá trị tối đa của Htìm được với mỗi giá trị đầu vào

R, từđó có được H tối đa toàn cục và giá trịRtương ứng. Thuật toán chung giải bài

toán GALB-Enhư sau:

Thut toán 3.4 Thut toán gii bài toán GALB-E.

1: Thuật toán GALB_maxH-minN-minR (Tasks, ∆)

2: Xây dựng tập VR 3: H ← 0; N ← ∞; R ←∞ 4: for R’ ∈VRdo 5: (H’, N’, wst)← GALB_maxH-minN (Tasks, R’, ∆) 6: ifH’ > H then 7: H ← H’; N ← N’; R ← R’

8: else ifH’ = Hand N’ < Nthen

9: H ← H’; N ← N’; R ← R’

10: else ifH’ = HandN’ = N andR’ < Rthen

11: H ← H’; N ← N’; R ← R’

12: (H’, N’, wst)← GALB_maxH-minN (Tasks, R, ∆)

13: return (H’, N’, R, wst)

Hàm GALB_maxH-minN-minR gồm các bước giải bài toán xác định nhịp dây chuyền sao cho hiệu suất cân bằng H cao nhất, số công nhân N nhỏ nhất.

Hàm GALB_maxH-minN để giải bài toán con nhận vào ba tham số: Dữ liệu quy trình công nghệ may được gọi là tập NCCN Tasks, giá trị nhịp R và hệ số sai lệch nhịp . Thuật toán này giải quyết bài toán cân bằng chuyền khi cho trước nhịp dây

101

chuyền tương tự như bài toán đã đề cập trong mục 3.1.1, chỉ khác là ưu tiên tối đa

hóa hiệu suất cân bằng Htrước khi tối thiểu hóa số công nhân N.

b) Xây dng tp giá tr nhp dây chuyn VR

Thực hiện thuật toánkhi đặt VR bằng tập số thực là điều bất khả thi vì tập số

thực có vô hạn phần tử. Trong phần này, luận án đề xuất một phương pháp tạo tập VR

từ một sốlượng hữu hạn các số thực mà vẫn đảm bảo thỏa mãn định nghĩa của tập

VR. Cách làm như sau: Gọi Y là tập hợp các NCSX thỏa mãn tất cả các ràng buộc của bài toán, ta đặt: VR*= {𝑇𝑋 1±∆| X Y} { 𝑇𝑋 2(1±∆)| X Y} { 𝑇𝑋 3(1±∆)| X Y}

Trong đó X là NCSX thuộc tập Y, Tx là thời gian của NCSX X.

Vì tập Y có hữu hạn phần tử nên tập VR*cũng có hữu hạn phần tử. Nếu có thể

chứng minh với mọi giá trị R’ luôn tìm được một giá trị R” VR* sao cho H tối đa

khi R = R’ không lớn hơn H tối đa khi R = R” thì ta có thểđặt VR = VR*. Điều này

được chứng minh trong Bổđề3.2 sau đây:

Bđề 3.2. Với mọi giá trịR’luôn tìm được một giá trịR’’ VR*đểH tối đa

khi R = R’ không lớn hơn H tối đa khi R = R’’.

Chứng minh: - Nếu ∄X ∈ Y: ((𝑇𝑋 1+∆≤ R’ ≤ 𝑇𝑋 1−∆) ( 𝑇𝑋 2(1+∆)≤ R’ ≤ 𝑇𝑋 2(1−∆)) ( 𝑇𝑋 3(1+∆)≤ R’ ≤ 𝑇𝑋 3(1−∆)))

thì với R = R’, hiệu suất cân bằng H sẽ luôn luôn bằng 0 với mọi giải pháp, bổđề

hiển nhiên đúng. - Nếu ∃X ∈ Y: ((𝑇𝑋 1+∆≤ R’ ≤ 𝑇𝑋 1−∆) ( 𝑇𝑋 2(1+∆)≤ R’ ≤ 𝑇𝑋 2(1−∆)) ( 𝑇𝑋 3(1+∆)≤ R’ ≤ 𝑇𝑋 3(1−∆))),

ta gọi γ là phần tử lớn nhất thuộc VR* mà không vượt quá R’. Dễ dàng nhận thấy rằng

∀X ∈ Y mà 𝑇𝑋 1+∆≤ R’ ≤ 𝑇𝑋 1−∆là đúng, ta cũng có 𝑇𝑋 1+∆≤ γ≤ 𝑇𝑋 1−∆là đúng, nếu không ta sẽ có γ < 𝑇𝑋

1+∆, khi đó γ sẽ không phải là phần tử lớn nhất thuộc VR*mà không vượt quá

R’. Điều tương tựcũng xảy ra khi 𝑇𝑋

1+∆≤ R’ ≤ 𝑇𝑋

1−∆ hoặc 𝑇𝑋

2(1+∆) ≤ R’ ≤ 𝑇𝑋

2(1−∆) . Vì vậy mọi NCSX có thời gian thuộc khoảng giới hạn nhịp khi R = R’ thì cũng có thời gian thuộc khoảng giới hạn nhịp khi R = γ. Do đó hiệu suất cân bằng tối đa khi R = γ sẽ

luôn luôn không nhỏ hơn hiệu suất cân bằng tối đa khi R = R’, bổ đề được chứng minh.

Tập Y có nhiều nhất M 3 phần tử, do đó SR’ có nhiều nhất 3M 3 phần tử.

c) Xác định mt s giá tr ca R có th b qua để gim thi gian tính

Mặc dù cách xây dựng tập giá trị của nhịp VR trong mục 3.1.3.2 b để|VR| ≤ 3M3

đã được đề xuất, số lượng phần tử của VR vẫn còn khá lớn. Tuy vậy, một số giá trị

của R có thể không cần xét đến để giảm thời gian tính. Ý tưởng đơn giản là bỏ qua không xét một giá trị R = R’ nếu cận trên của hiệu suất cân bằng tối đa khi R = R’

nhỏhơn hoặc bằng hiệu suất cân bằng tối đa hiện tại. Cận trên của hiệu suất cân bằng tối đa khi R = R’ có thểđược tính như sau:

Đặt c = số các NCCN không thuộc bất kì NCSX cân bằng nào. Khi đó cận trên của hiệu suất cân bằng tối đa khi R = R’ sẽđược đặt bằng 𝑀−𝑐

𝑀−𝑐+⎾𝑐/3⏋. Sở dĩ đây là

cận trên vì giá trị lớn nhất có thể của H sẽ đạt được khi mỗi NCCN có xuất hiện ở

102

nhịp riêng nằm trong khoảng giới hạn nhịp dây chuyền [Rmin, Rmax], đồng thời các

NCCN còn lại được chia thành các NCSX có đúng 3 NCCN (nếu c không chia hết

cho 3, các NCCN bị thừa ra được ghép thành 1 NCSX).

d) Thuật toán đề xut gii bài toán con GALB_maxH-minN

Các thuật thuật toán meta-heuristic, được đưa ra để khắc phục các hạn chế khi không gian tìm kiếm quá lớn và kích thước dữ liệu đầu vào tăng lên. Mục đích của nhóm thuật toán này tìm ra lời giải gần tối ưu trong thời gian chấp nhận được. Trong phần 3.1.1 và 3.1.2 đã áp dụng thuật toán Luyện kim, Luyện kim-Tham lam giải hai bài toán GALB-1 và GALB-2 cho lời giải chấp nhận được trong thời gian hợp lý. Thuật toán Di truyền cũng thuộc lớp thuận toán tiến hóa đã được một số công trình nghiên cứu áp dụng giải bài toán cân bằng dây chuyền. Vậy thuật toán nào phù hợp nhất để giải bài toán GALB-E, để trả lời câu hỏi đó luận án đã áp dụng hai thuật toán Luyện kim và Di truyền (Genetic Algorithm) để giải bài toán GALB-E.

Áp dng thut toán Luyn kim gii bài toán con GALB_maxH-minN

Cách thực hiện hàm GALB_maxH-minN không khác so với hàm

GALB_minN-maxH của bài toán GALB-1, ngoại trừ phép so sánh hai phương án được thay đổi đểưu tiên hiệu suất cân bằng Hhơn so với số công nhân N. Do đó, các

thuật toán SA dùng cho hàm GALB_minN-maxH của bài toán GALB-1 được đề cập

ở phần 3.1.1.2.b được sử dụng lại cho hàm GALB_maxH-minN với thay đổi về cách

so sánh độ tốt của hai phương án.

Áp dng thut toán Di truyn cho hàm GALB_maxH-minN a) Khi to tp các phương án CBC

Tập các phương án CBC được khởi tạo một cách ngẫu nhiên, các phương án

cần đảm bảo không vi phạm các điều kiện ràng buộc, các bước sinh ngẫu nhiên một

phương án thực hiện như sau:

- Bước 1: Tạo một Tập phương án P = ∅để chứa các phương án, Tập phương án

có sốlượng phương án (kích thước) tối đa là POP_SIZE. - Bước 2: Tạo một phương án s = .

- Bước 3: Chọn một NCCN u còn lại sao cho không có bất kỳNCCN v ≠ u còn lại mà v phải được thực hiện trước khi uđược thực hiện.

- Bước 4: Tạo một NCSX X chứa NCCN u và một số NCCN còn lại sao cho NCSX X thỏa mãn các ràng buộc về: Thời gian, thiết bị, số lượng NCCN, số lượng công nhân trong mỗi NCSX và không vi phạm điều kiện về trình tự thực hiện NCCN.

- Bước 5: Thêm NCSX X vào phương án s và xóa tất cả các NCCN thuộc

NCSX X.

- Bước 6: Lặp lại từ bước 3 đến bước 5 cho đến khi không còn NCCN nào trên

sơ đồ trình tự công nghệ.

- Bước 7: Kiểm tra sự trùng lặp của phương án s với các phương án đã có trong

Tập các phương án, nếu thỏa mãn điều kiện không có sự trùng lặp thì chuyển phương

án s vào Tập phương án P. Nếu Tập phương án P chưa đủ số lượng phương án

POP_SIZE thì dựng lại sơ đồ trình tự công nghệban đầu của các NCCN và quay lại

103

b) Độ tt của phương án CBC

Do số NCSX k tối đa là M với mọi phương án, từđó suy ra được với hai phương

án bất kì A B, nếu HA > HB thì HA - HB = 𝑘′𝐴 𝑘𝐴 - 𝑘′𝐵

𝑘𝐵 𝑀(𝑀−1)1 . Bên cạnh đó, vì N

1, ta có 1

𝑁𝐴 - 1

𝑁𝐵 > -1với mọi cặp phương án (A, B). Từ nhận xét này, ta xây dựng được công thức tính độ tốt của một phương án (hay cá thể) pnhư sau:

fitness(p) = M(M-1)Hp + 1

𝑁𝑝 (3.11)

Công thức trên đảm bảo với phương án AB, nếu HA > HB thì fitness(A) > fitness(B).Đồng thời nếu HA = HBNA < NB thì fitness(A) > fitness(B).

c) Lai ghép các phương án cân bng chuyn

Trong một thế hệ, với mỗi phương án CBC pi trong Tập phương án P và một

phương án pj trong P mà không phải pi sẽđược chọn để lai ghép với pi. Độ tốt của pj

càng lớn, khảnăng để phương ánpjđược lựa chọn càng lớn. Cụ thể, xác suất để pj

được lựa chọn ghép cặp với pi là:

𝑓𝑖𝑡𝑛𝑒𝑠𝑠(𝑝𝑗)

∑𝑝𝑘∈𝑃\𝑝𝑖 𝑓𝑖𝑡𝑛𝑒𝑠𝑠(𝑝𝑘) (3.12)

Hình 3.24 Sơ đồ trình tự công nghệ may gồm 12 NCCN

Thủ tục lai ghép giữa hai phương án pipjđược thực hiện bằng cách lấy ngẫu

nhiên các NCSX trong hai phương án để ghép lại thành một phương án mới q, hay còn gọi là con của pipj. Giả sửphương án pi và pj thỏa mãn trình tự công nghệ may hình 3.24 ta có thủ tục lai ghép giữa hai phương án được thực hiện như sau:

Bước 1: Lấy ngẫu nhiên mỗi phương án một sốNCSX để lai ghép, giả sửphương

án pichọn NCSX 1, 2, 3, phương án pjchọn NCSX 4, 5, 6

Phương án pi: NCSX 1 2 3 4 5 6

NCCN 1, 6 2, 3 4, 5 7, 8, 10 9 11, 12

Phương án pj: NCSX 1 2 3 4 5 6

NCCN 1, 2 3,4,5 6 7, 10 8, 9 11, 12

Bước 2:Lai ghép các NCSX được chọn của mỗi phương án sẽ tạo thành phương

án mới q như sau:

NCSX 1 2 3 4 5 6

NCCN 1, 6 2, 3 4, 5 7, 10 8, 9 11, 12

Nếu q thỏa mãn tất cảcác điều kiện ràng buộc thì thêm nó vào Tập phương án

P’, nếu không thì thực hiện lại thủ tục lai ghép. Nếu sau một khoảng thời gian tính toán nhất định hoặc sau khi một lượng phương án được sinh ra mà chưa có phương

104

coi nó là q. Vì khảnăng con của pipjđược sinh ra không thỏa mãn điều kiện ràng buộc là không nhỏ, ưu tiên việc chọn NCSX từ pi hơn bằng cách tăng xác suất lấy một NCSX từpithay vì đặt xác suất chọn là 50% cho cảpipj.

c) Đột biến phương án cân bằng chuyn

Đột biến các phương án CBC (đột biến) được thực hiện qua việc thay đổi ngẫu nhiên một phương án thành một phương án CBC khác bằng cách chuyển một NCCN

từ NCSX này sang NCSX khác hoặc đổi chỗ hai NCCN trong hai NCSX khác nhau.

Xác suất đột biến Prmutation cần được điều chỉnh phù hợp để đạt kết quả cao nhất.

Prmutation quá thấp sẽ khiến sựđa dạng của NCSX bị giảm, nhưng Prmutation quá cao lại làm mất đi những giải pháp tốt.

Một sốlượng nhỏphương án ưu tú nhất trong một thế hệ sẽđược đảm bảo không bịđột biến trước khi bước chọn của thế hệsau được bắt đầu. Điều này được thực hiện nhằm tránh việc các phương án tốt bị mất đi không mong muốn do quá trình đột biến. Minh họa thủ tục chuyển NCCN 10 từ NCSX 4 sang NCSX 5 của phương án pi

tạo thành phương án qimới như sau: Phương án pi: NCSX 1 2 3 4 5 6 NCCN 1, 6 2, 3 4, 5 7, 8, 10 9 11, 12 Phương án qi : NCSX 1 2 3 4 5 6 NCCN 1, 6 2, 3 4, 5 7, 8 9, 10 11, 12

Hoặc đổi chỗ NCCN 10 của NCSX 4 với NCCN 9 của NCSX 5 được phương

án mới qi’:

Phương án qi’:

NCSX 1 2 3 4 5 6

NCCN 1, 6 2, 3 4, 5 7, 8, 9 10 11, 12

d) Điều kin dng

Thuật toán sẽ dừng khi độ tốt của phương án tốt nhất không tăng sau ít nhất Gbest

thế hệ liên tiếp, đồng thời trung bình độ tốt của các phương án không tăng sau ít nhất

Gavg thế hệ liên tiếp. Các tham sốGbestGavg càng lớn thì khảnăng tìm được đáp án

tốt hơn càng cao, nhưng thời gian chạy cũng tăng lên đáng kể. Thử nghiệm sơ bộ các tham số cho thuật toán GA từđó luận án đã chọn POP_SIZE = 30, Prmutation = 20%,

Gbest = Gavg = 10 cho kết quả phù hợp để giải bài toán GALB-E.

Áp dụng thuật toán Di truyền (GA) cho hàm GALB_maxH-minNđược minh

họa bằng mã giả trong thuật toán 3.5.

Thut toán 3.5. Thut toán Di truyn (GA) tối ưu hiệu sut cân bng và s lượng công nhân theo mi giá tr nhịp đầu vào.

1: Thuật toán GA_maxH-minN(Tasks, ∆)

2: Khởi tạo tập phương án CBC PPOP_SIZEphương án (pilà một

phương án CBC trong tập P, pi P)

3: Tính toán độ tốt fitness(pi) của tất cảcác phương án pi trong P

105

5: Loại bỏ𝑃𝑂𝑃_𝑆𝐼𝑍𝐸2 phương án có độ tốt thấp nhất trong P ra khỏi P

6: Tạo tập lời giải P’, gán P’ ←

Một phần của tài liệu Luận án tiến sĩ Nghiên cứu tối ưu cân bằng dây chuyền công nghiệp may sản phẩm dệt kim (Trang 113)

Tải bản đầy đủ (PDF)

(162 trang)