Thuật toán tối ưu hóa thuộc địa đàn kiến (Ant Colony

Một phần của tài liệu Ứng dụng mô hình job shop linh động để hỗ trợ lập lịch sản xuất cho một công ty (Trang 40)

c. Sản xuất theo dự án: (Open shop)

2.5.6.Thuật toán tối ưu hóa thuộc địa đàn kiến (Ant Colony

2.5.6.1. Nguồn gốc thuật toán:

Các giải thuật ACO đã được lấy cảm hứng từ hành vi những con kiến trong thực tế chúng đang tìm kiếm thực phẩm. Trong thực tế, kiến ban đầu khám phá khu vực xung quanh tổ một cách ngẫu nhiên cho đến khi một con kiến tìm thấy nguồn thực phẩm. Nó đánh giá số lượng và chất lượng của thực phẩm và mang một ít trở

lại tổ. Trên chuyến đi trở lại của nó, kiến gửi một lượng pheromone để làm dấu trên mặt đất. Số lượng của pheromone trên tuyến đường sẽ làm tăng xác suất của một con kiến để lựa tuyến đường này. Nếu nó vẫn tìm thấy thực phẩm, nó sẽ quay trở lại

1. i:=0; 2. Chọn một lời giải ban đầu s ∈ S; 3. best:=c(s); 4. s*:=s; 5. Lặp 6. Tạo một lời giải nhẫu nhiên s’ ∈ N(s); 7. Nếu random[0,1] < thì s:=s’ 8. Nếu c(s’) < best thì 9. s*:=s’; 10.best:= c(s’); 11.Kết thúc nếu 12.ci+1 = g(ci); 13.i:=i+1;

tổ và sau cùng một tuyến đường tăng cường dấu vết pheromone tạo thành đường mòn. Theo thời gian, pheromone sẽ bốc hơi và làm mất đường mòn, do đó làm giảm sức hấp dẫn của kiến. Tuyến đường được thực hiện sẽ có dấu vết pheromone của chúng và yếu hơn vì có nhiều thời gian hơn để bay hơi. Do xác suất của một tuyến

đường dài hơn sẽ có dấu vết pheromone thấp hơn với thời gian.

Trên thực tế sau một thời gian, có thể nhận xét rằng những con kiến có thểđể

tìm đường ngắn nhất giữa tổ và thực phẩm. Deneubourg et al. đã thực hiện một thí nổi tiếng vào năm 1990 cung cấp một minh chứng rõ ràng rằng kiến tự tổ chức nhờ

vào những con đường mòn. Thí nghiệm này được gọi là cầu nhị phân [14].

Một thuộc địa của loài kiến được tách ra từ một nguồn thực phẩm bằng một cây cầu trong đó chia thành hai nhánh A và B, cả hai đều có cùng độ dài (hình 2.9). Cách duy nhất của thuộc địa là thông cầu. Do đó, khi những con kiến bắt đầu khám phá, chúng đang phải đối mặt với quyết định. Bên trái hoặc bên phải đường ray? Ban đầu, không có gì ảnh quyết định của kiến bằng cách này hay cách khác, do đó nó có 50% cơ hội lựa một trong hai nhánh.

Hình 2.9. Minh họa của cây cầu nhị phân đối xứng

Mỗi một con Kiến đưa ra pheromone với một tốc độ liên tục khi nó đi qua các tuyến đường của nó lựa chọn nguồn thức ăn, và trong giai đoạn đầu của thí nghiệm, số lượng nhiều hơn hoặc ít hơn bằng những con kiến có thểđược nhìn thấy sử dụng từng nhánh đường. Nhưng sau một thời gian tới hạn biến động ngẫu nhiên pheromone được gửi vào một trong những nhánh đường và điều này gây ra cho các con kiến phải đối phó với mật độ pheromone, tạo thành sở thích cho nhánh đường

phản hồi tích cực, tất cả các con kiến được sử dụng cùng một tuyến đường và có một xác suất rất thấp của bất kỳ kiến đào thoát, cho mật độ tương đối của pheromone trên từng nhánh đường.

Deneubourg et al. đề xuất một mô hình của hiện tượng này phù hợp thử

nghiệm quan sát. Xác suất của một con kiến i +1 lựa chọn nhánh đường khác nhau được tính từ tổng số kiến và đã sử dụng mỗi nhánh trước đó. Xác suất

kiến thứ i+1 chọn nhánh đường A là:

Tham số k ảnh hưởng đến sự hấp dẫn của một đường mòn không rõ ràng và phải lớn hơn không. Một giá trị thấp của k sẽ có nghĩa là lượng nhỏ của pheromone sẽ có thểảnh hưởng đến kiến bằng cách này hay cách khác, một giá trị cao sẽ đảm bảo rằng một số tương đối lớn của pheromone đã được đặt trước khi nó bắt đầu có

ảnh hưởng đáng kể trên hành vi kiến. Các tham số khác, n ảnh hưởng đến tuyến tính của chức năng ra quyết định. Nếu n tăng lên, sự chênh lệch giữa và lớn hơn, gây ra quyết định tập thể của kiến với đa số sớm hơn, và khó khăn hơn để đảo ngược. Mô phỏng Monte Carlo đã chỉ ra rằng phù hợp tốt nhất của mô hình thu

được n ≈ 2 và k ≈ 20 (mô phỏng Monte Carlo, đặt tên sau khi thành phố đã đi qua của kiến, là một phương pháp đánh một mô hình xác suất sử dụng một loạt các yếu tốđầu vào ngẫu nhiên)

Mô hình tương tự có thểđược mở rộng đến các tình huống mà các chi nhánh khác nhau về chiều dài. Trong phiên bản này của thí nghiệm, dấu vết B là dài hơn dấu vết A (hình 2.10) theo tỷ lệ r. Kiến sử dụng cầu nối B với r lần dài như sử dụng cầu A, làm cho r đơn vị của pheromone lưu ở A cho tất cả các đơn vị lưu vào B.

Điều này lần lượt làm tăng khả năng của một con kiến riêng lẻ lựa chọn dấu vết ngắn hơn trong tương lai. Đây được gọi là “khác biệt giữa chiều dài hiệu ứng “.[18] Một con kiến lựa chọn nhánh ngắn hơn sẽ trở lại tổ của nó nhanh hơn, do đó pheromones sẽ lưu về nhánh này là nhanh hơn so với nhánh dài hơn .

Hình 2.10: Minh họa của cây cầu nhị phân không đối xứng

Ý tưởng của thuật toán đàn kiến là sử dụng kiến nhân tạo để xây một giải pháp tương tự với những gì kiến thực tế làm trong môi trường tự nhiên của chúng. Trong tối ưu hóa đàn kiến (ACO) metaheuristic một thuộc địa những con kiến nhân tạo hợp tác xây dựng giải pháp tốt cho vấn tối ưu hóa khó khăn rời rạc. Thiết kế

chính của loại hình thuật toán này là hợp tác: Sự lựa chọn là để phân các nguồn lực tính toán một tập hợp các tác nhân đơn giản (kiến nhân tạo) mà giao tiếp gián tiếp bằng cách nhờ stigmergy sử dụng một tham số hoạt động như pheromone tự nhiên. Kiến nhân tạo là một đàn tương tự như kiến thực tế nhưng chúng là một tập trừu tượng, và mặt khác một số khả năng không těm thấy trong kiến thực tế nhưng có thể

làm cho chúng hiệu quả hơn.

2.5.6.2. Miêu tả thuật toán ACO:

Thuật toán thuộc địa kiến đầu tiên đề xuất được gọi là hệ thống kiến (Ant system)[19],[20]. Nó nhằm mục đích giải quyết các vấn đề nhân viên bán hàng đi du lịch, mà mục tiêu là tìm đường đi ngắn nhất để kết nối một tập hợp các thành phố.

Thuật toán nói chung là tương đối đơn giản, và dựa trên một tập hợp các con kiến, vượt qua một con đường trong số những những con đường có thể đi. Ở mỗi bước, kiến lựa chọn để di chuyển từ một trong những thành phố khác nhau theo một số quy tắc:

− Kiến không ghé thăm mỗi thành phố duy nhất một lần.

− Một thành phố xa hơn sẽ có ít cơ hội được lựa chọn.

− Cường độ của đường mòn pheromone trên các cạnh giữa hai thành phố (adsbygoogle = window.adsbygoogle || []).push({});

lớn hơn thì cơ hội của con đường sẽđược lựa chọn.

− Một khi hoàn thành đường dẫn, kiến gửi các thiết lập của các cạnh đi du lịch, kích thích tố hơn nếu khoảng cách ngắn.

− Những con đường mòn pheromone bay hơi ở mỗi lần lặp .

Thuật toán tối ưu hóa hệ thống kiến cho vấn đề nhân viên bán hàng đi du lịch là một minh chứng cho việc tìm đường đi ngắn nhất và được mô tả như sau:

− Một con kiến lựa chọn một tuyến đường, và tạo ra một đường mòn pheromone.

− Tất cả các con kiến đi qua một số tuyến đường, mỗi kiến gửi một số

pheromone tỷ lệ thuận với chất lượng của khóa học.

− Mỗi cạnh của con đường tốt nhất là được tăng cường số pheromone hơn những con đường khác.

− Bay hơi pheromone để loại bỏ các giải pháp sai.

Hình 2.11. Mô tả việc lựa chọn đường mòn pheromone của kiến.

Quy tắc của việc đi du lịch được gọi là "quy tắc của quá trình chuyển đổi tỉ lệ

Tron g đó:

J ik là một danh sách các di chuyển có thể cho một con kiến thứ k khi đến thành phố i

η ij khả năng hiển thị cạnh nối các thành phố, đó là bằng nghịch đảo của khoảng cách giữa hai thành phố i và j (1 / d ij )

τ ij (t) cường độ của đường băng tại một thời điểm t được lặp đi lặp lại

Hai thông số chính kiểm soát các thuật toán là α và β, kiểm soát tầm quan trọng tương đối của các cường độ và khả năng hiển thị của một cạnh.

Sau khi thực hiện các tuyến du lịch đến các thành phố, một con kiến k gửi một số lượng pheromone trên mỗi cạnh của sự nghiệp của mình:

Trường hợp T k (t) là các tuyến du lịch được thực hiện lặp đi lặp lại bởi kiến k tại thời gian t, Lk (t) chiều dài đường dẫn và một tham sốđiều chỉnh Q.

Vào cuối mỗi lần lặp của thuật toán, các kích thích tố lắng đọng lặp đi lặp lại trước đây của kiến sẽ bốc hơi:

Và ở phần cuối của sự lặp lại, số kích thích tốđã không bay hơi, và những kích thích tốđã được giữ lại.

Trong đó m là số lượng kiến được sử dụng lặp đi lặp lại và ρ một tham số

thiết lập.

Trong thuật toán ACO kích thước hữu hạn một thuộc địa kiến nhân tạo với các đặc điểm mô tả ở trên gọi chung là tìm kiếm các giải pháp chất lượng tốt cho

vấn đề tối ưu hóa được xem xét. Mỗi một con kiến xây dựng một giải pháp, bắt đầu từ trạng thái ban đầu theo một số tiêu chí phụ thuộc. Trong việc xây dựng các giải pháp của nó, từng đại lý thu thập thông tin về môi trường, vềđặc trưng của vấn đề

và cũng như hiệu suất của mình theo mục tiêu để tối ưu hóa. Kiến sử dụng thông tin này để sửa đổi các vấn đề môi trường nhìn thấy từ những con kiến khác. Kiến cho thấy một hành vi hợp tác, chúng có thể hoạt động đồng thời hay độc lập. Nhưđã nói kiến sử dụng stigmergetic để thông tin liên lạc, chúng sử dụng cách tiếp cận gia tăng để tìm kiếm và xây dựng một giải pháp khả thi.

Theo khái niệm phân công vùng lân cận, trong đó là phụ thuộc vào vấn đề

xây dựng giải pháp của nó, mỗi con kiến di chuyển thông qua chuỗi hữu hạn của các vùng láng giềng. Những động thái này phụ thuộc vào một chính sách tìm kiếm ngẫu nhiên địa phương hướng dẫn của hai loại thông tin khác nhau:

− Lịch sử quá khứ của kiến được lưu trữ trong bộ nhớ của nó

− Đường mòn pheromone và một thông tin vấn đềưu tiên cụ thể, các thông tin khám phá.

Đối mặt với khu vực có kích thước lớn, một con kiến có sự lựa chọn giữa số (adsbygoogle = window.adsbygoogle || []).push({});

lượng lớn có thể di chuyển. Do đó xác suất chất lượng tốt là rất nhỏ và có rất ít sự

khác biệt giữa sử dụng hoặc không sử dụng những con đường mòn pheromone. Dưới đây trong thể hiện thủ tục chung của một thuật toán ACO.

Một số ký hiệu trong giải thuật: − A: thiết lập các bảng định tuyến − P: xác suất − M: bộ nhớ của kiến − Ω: thiết lập các ràng buộc Giải thuật ACO:

2.5.7. Thuật toán hệ thống đẩy (push system):

Lập lịch sản xuất tại các doanh nghiệp là tập trung vào chế biến nguyên liệu từ máy trạm này đến máy trạm khác. Vì vậy, hiện nay phương pháp lập kế hoạch đã

được thực hiện vào doanh nghiệp này là phương pháp lập kế hoạch đẩy.

Hệ thống đẩy dự đoán sản xuất trong tương lai và cố gắng để kết thúc sản xuất trước, hoặc chỉ trong thời gian ngày tới hạn dự kiến [15]. Hệ thống này cố

gắng xác định một số tối ưu của bộ đệm để ngăn chặn lưu lượng công việc giảm xuống và phá vỡ dây truyền sản xuất. Khái niệm cơ bản thuật toán đẩy sẽđược thực hiện trong hệ thống lập kế hoạch như sau:

Một số ký hiệu trong giải thuật:

− i thể hiện cho công việc tại các trung tâmhay trình tựlàmviệc. − j số công việcở trung tâmlàmviệc

Thuật toán đẩy: 1. Khởi tạo kiến;

2. M= cập nhật kiến vào bộ nhớ;

3. Lặp trong khi tình trạng hiện tại ≠ tình trạng mục tiêu 4. A = đọc bảng định tuyến địa phương của kiến; 5. P = tính toán xác xuất chuyển đổi (A,M, Ω);

6. Tình trạng tiếp theo = áp dụng chính sách quyết định của kiến (P, Ω); 7. Chuyển sang trạng thái tiếp theo;

8. Lưu trữ pheromne trên vòng cung ghé thăm của kiến; 9. Cập nhật bảng định tuyến của kiến;

10. M = cập nhật trạng thái nội bộ; 11.Kết thúc lặp;

// Thời gian bắt đầu:

Start (i, j) = (1, 1)

/* Ngày làm việc đầu tiên của tháng hoặc đầu vào bất kỳ ngày nào của kế

hoạch (chỉ dành cho (i, j) = (1,1)): có nghĩa là công việc bắt đầu ở trạm 1 và công việc 1 */

Start( i , j ) = Max [Stop (i,j-1)+ Setup(i)]

/* Thời gian bắt đầu bằng thời gian dừng của công việc trước đây tại các máy trạm tương tự cộng với thời gian cài đặt máy trạm làm việc tiếp theo */

Start( i , j ) =Max[Start (i-1,j)+ Setup(i) + Waiting(i)]

/* Thời gian bắt đầu bằng thời gian để bắt đầu tại máy trạm trước đó, nhưng cùng một công việc cộng với thời gian cài đặt các máy trạm làm việc hiện hành và thời gian trờ trạm làm việc. */

Start( i , j ) =Max[Stop (i-1,j)+ Waiting – Process( i , j )]

/* Thời gian bắt đầu bằng thời gian dừng tại trạm làm việc trước đó, nhưng tương tự một công việc cộng với thời gian chờ các máy trạm trừ tổng thời gian quy trình cần thiết xử lý thành phẩm tại các máy trạm hiện tại. */

// Thời gian dừng:

Stop( i , j ) =Start (i,j)+Process (i,j)

/* Thời gian dừng bằng thời gian bắt đầu của một sản phẩm cộng với thời gian quy trình xử lý công việc đó. */

CHƯƠNG 3: (adsbygoogle = window.adsbygoogle || []).push({});

H THNG LP LCH TRONG SN XUT

Trong các chương trước của luận văn đã trình bày về lý thuyết những mô hình và giải thuật để hỗ trợ trong sản xuất. Trong chương này sẽ trình bày về các giai đoạn lên kế hoạch để giải quyết vấn đề lập lịch sản xuất thực tế tại công ty dược liệu BV Pharma.

3.1. Mô hình sản xuất:

3.1.1. Mô hình sản xuất của ngành công nghiệp dược phẩm:

Ngành công nghiệp dược phẩm đòi hỏi rất nhiều điều kiện đặc biệt, từ dự

báo nhu cầu phân phối sản phẩm đến các vấn đề phức tạp của việc lập kế hoạch công việc. Những khó khăn thường xuyên là các ràng buộc cứng như tiêu thụ lớn các nguồn lực để đánh giá các giải pháp và kích thước rất lớn của không gian tìm kiếm sắp xếp công việc. Những hạn chế vốn có của giai đoạn sản xuất là:

− Một mức độ nghiêm ngặt cao từ việc phát hiện công thức thuốc quyết

định tạo ra dòng sản phẩm mới để cạnh tranh trên thị trường và cũng cố

tài chính cho công ty.

− Sựđa dạng của các hình thức về bao bì và đóng gói như: các mẫu mã bao bì, thuốc viên, viên nang, các loại kem ...

− Các tiến trình xử lý thường xuyên phải năng động và các quy trình thường không thay đổi cho một loại sản phẩm nhất định. Các giai đoạn xử lý có thể phụ thuộc vào giai đoạn trước đó hoặc các giai đoạn tiếp theo (ví dụ: nhiều mức độ làm sạch cho các công cụ).

− Không thểđể pha trộn các chất khác nhau trong phòng lưu trữ.

− Quy tắc nghiêm ngặt về chất lượng: Thường xuyên kiểm tra trong quá trình sản xuất và nếu có vấn đề trong quá trình sản xuất thì sản phẩm sẽ được giữ lại cho đến khi các chuyên gia chất lượng phê duyệt các giai

− Trạng thái linh hoạt của sản phẩm: trong giai đoạn xây dựng, trong sản xuất, lưu trữ, thuốc được phê duyệt hoặc sản phẩm trong vận chuyển. Các tiêu chuẩn chất lượng nghiêm ngặt là những yếu tố chính mà ngành công nghiệp này riêng biệt đối với ngành công nghiệp sản xuất khác.

Trong một công ty sản xuất thuốc thì phải đạt được các tiêu chuẩn quốc tế

như sau [30]:

− Good Manufacturing Practices - GMP : Thực hành tốt sản xuất để đảm

Một phần của tài liệu Ứng dụng mô hình job shop linh động để hỗ trợ lập lịch sản xuất cho một công ty (Trang 40)