Đến nội dung


Hình ảnh

Bài toán sắp xếp


  • Please log in to reply
Chủ đề này có 1 trả lời

#1 perfectstrong

perfectstrong

    $LOVE(x)|_{x =\alpha}^\Omega=+\infty$

  • Quản trị
  • 4386 Bài viết
  • Giới tính:Nam
  • Sở thích:Đàn guitar, ngắm người mình yêu, học toán

Đã gửi 01-10-2021 - 03:39

BÀI TOÁN SẮP XẾP

 

 

 

Richard Walter Conway, William L. Maxwell, et Louis W. Miller.
Theory of Scheduling. Dover, 2003.

 

 

Chúng ta gặp những bài toán sắp xếp cực kỳ thường xuyên. Chúng xuất hiện mỗi khi chúng ta phải quyết định thực hiện các công việc theo thứ tự nào. Mỗi bài toán có thể liên quan tới một thứ khác nhau, ví dụ: lô hàng ở một nhà máy sản xuất, máy bay chờ đợi lệnh hạ cánh, khách khứa ngồi trước cửa kính ở quầy tiếp khách trong ngân hàng, chương trình để chạy trong máy tính, hay đơn giản là công việc dọn nhà chiều thứ bảy. Luận điểm của chúng tôi đó là, bất kể tính chất của một công việc cụ thể cần xác định thứ tự thực hiện, thì luôn luôn tồn tại sự tương đồng căn bản với bài toán sắp xếp.

 

Bài toán sắp xếp rõ ràng sẽ được giải quyết, bởi vì hầu hết các công việc đều được thực hiện: máy bay hạ cánh, khách ngân hàng nhận/chuyển tiền, và chúng ta làm xong ít nhất vài việc nhà chiều thứ bảy. Tuy nhiên, đa số các bài toán này được giải theo cách ngẫu nhiên hoặc theo lề thói. Chúng ta còn không nhận ra cả sự tồn tại của bài toán đó, chứ đừng nói đến lời giải. Đôi khi, sự sắp xếp được quyết định hoàn toàn bừa bãi; nhiều lúc công việc được thực hiện theo thứ tự chúng xuất hiện. Khao khát công bằng cố hữu đã nâng cao giá trị của giải pháp "tới trước làm trước" (first-come, first-served) trong các bài toán sắp xếp tới một mức độ vô cùng bất xứng với hiệu năng vốn có của nó. Giải pháp ấy có thể thích hợp với những ông chủ bán vé xem phim, song không hẳn sẽ áp dụng tốt với các lô hàng bất động trên sàn nhà máy.

 

Phát biểu vấn đề và lời giải một cách chuẩn tắc cho một bài toán sắp xếp có lẽ là chuyện hiếm. Nếu có thì đại để sẽ như sau:

  • $\alpha$ là chuỗi hành động thực hiện $A$ trước rồi $B$.
  • $\beta$ là chuỗi hành động thực hiện $B$ trước rồi $A$.
  • Vì $\alpha$ được ưa thích hơn $\beta$ nên ta chọn "làm $A$ rồi $B$".

Dĩ nhiên chúng ta sẽ không biện luận rằng phân tích chuẩn tắc trên là thích đáng cho toàn thể bài toán sắp xếp trong đời sống thường nhật, tuy nhiên, đối với những vấn đề trong hoạt động công nghiệp, vận tải, cơ quan chính phủ cũng như tổ chức thì kết quả sắp xếp không phải là chuyện nhỏ nhặt, và chúng ta nên bỏ công sức để suy ngẫm một cách bài bản. Ấy thế các vấn đề đó lại bị giải quyết quá thường xuyên bằng thói quen chứ không phải giải thuật. Điều phối viên máy móc trong công xưởng, dầu là người quyết định những lô hàng nào trong dãy hàng chờ sẽ được làm, lại hay dùng các tiêu chí không liên quan mấy tới mục đích của công ty. Chương trình trên máy tính sẽ chạy theo thứ tự gửi tới CPU, một quy trình công bằng không thể cãi, nhưng ai cũng sẽ thấy rằng làm như vậy còn lâu mới đạt được tới tối ưu. Các chương sách tiếp theo sẽ chứng minh bằng lập luận đại số, ví dụ bằng số cụ thể và thử nghiệm trên máy tính, để cho chúng ta thấy có sự khác biệt đáng kể giữa các thứ tự sắp xếp khác nhau. Ít nhất thì trong một số bài toán thực tế, những khác biệt này ắt hẳn sẽ tạo ra sai khác phí tổn hoặc giá trị thành phẩm đủ lớn để chúng ta cân nhắc. Vấn đề ở đây không phải là quyết định xem có nên giải quyết một bài toán sắp xếp cụ thể nào đó, nên chọn thứ tự nào. Vấn đề là chúng ta sẽ xác định xem quyết định được đưa ra bằng phương pháp nào, bởi ai, và cho tiêu chí gì.

 

 

Vấn đề sắp xếp có lẽ không thiết yếu bằng các quyết định xem tác vụ nào kế tiếp, hoặc tác vụ đó được thực hiện ra sao khi việc tới. Tuy nhiên, nếu lựa chọn thứ tự hợp lý có thể cải thiện kết quả phần nào, thì chúng ta không nên bỏ qua cơ hội như thế. Dẫn chứng trong những chương kế tiếp sẽ chỉ ra rằng nếu áp dụng một cách phân loại, dù là đơn giản nhất, vào hệ thống đa nhiệm, thì chúng ta vẫn sẽ luôn tìm ra những khác biệt thú vị chỉ có thể xuất hiện do thay đổi thứ tự tác vụ. Trong nhiều trường hợp, nhiều giải thuật mặc dù hữu dụng và thực tiễn ngang nhau, lại có những đặc tính hiệu năng khác nhau đáng kể.

 

 

(Còn nữa)


Luôn yêu để sống, luôn sống để học toán, luôn học toán để yêu!!! :D

$$\text{LOVE}\left( x \right)|_{x = \alpha}^\Omega = + \infty $$




I'm still there everywhere.

#2 perfectstrong

perfectstrong

    $LOVE(x)|_{x =\alpha}^\Omega=+\infty$

  • Quản trị
  • 4386 Bài viết
  • Giới tính:Nam
  • Sở thích:Đàn guitar, ngắm người mình yêu, học toán

Đã gửi 10-10-2021 - 15:31

1. Những Câu Hỏi Về Sắp Xếp "Thuần Túy"
Khi nghiên cứu về sắp xếp trong ứng dụng thực tế, chúng ta sẽ gặp một khó khăn, đó là những câu hỏi này thường không được xét tách bạch: chúng tác động và xen lẫn với các quyết định thuộc phương diện khác.  Nhiều khi thứ tự thực hiện sẽ ảnh hưởng đến sự lựa chọn tác vụ nào để làm, ảnh hưởng đến tính chất của tác vụ, hoặc ảnh hưởng đến cả phương thức thi hành. Chẳng hạn, một tác vụ sản xuất ban đầu cần làm 100 đơn vị của sản phẩm nào đó. Quyết định trì hoãn đơn hàng này một tháng thay vì bắt đầu làm ngay hôm nay, sẽ có thể có một trong các tác động sau:

  1. Đơn hàng bị hủy bỏ hoàn toàn.
  2. Một đơn hàng phụ kèm được thêm vào để số đơn vị cần sản xuất trở thành $150$.
  3. Xuất hiện thay đổi kỹ thuật trong thiết kế.
  4. Một loại nguyên liệu thô có sẵn hiện tại nhưng sau một tháng thì hết hàng và cần phải thay thế.
  5. Một cỗ máy trọng yếu còn hoạt động hiện tại nhưng sau một tháng thì hư hỏng cần phải sửa chữa, khiến chúng ta phải tìm công cụ thay thế.
  6. Một cỗ máy mới, hoặc công cụ mới, dù hiện tại đang trên đường giao hàng, nhưng tháng tới thì đã tới và nâng cao hiệu suất làm việc.
  7. Công nhân đã làm nhiều công việc tương tự trong suốt tháng qua và đã cải thiện tay nghề.

Nếu bất kỳ thay đổi nào bên trên có thể xảy ra với xác suất đáng kể, thì câu hỏi sắp xếp sẽ trở nên gắn kết mật thiết với quyết định cần làm cái gì và cần làm thế nào. Đối với những trường hợp này, quyết định sắp xếp nhất định sẽ cần có sự xét đoán từ phía kỹ thuật hoặc quản lý. Đáng tiếc là các bài toán như thế lại đặc thù với bối cảnh riêng, do đó chúng ta không thể rút ra được kinh nghiệm tổng quát nào nếu không đặt mình vào hoàn cảnh đã cho.

Giải pháp là chúng ta chỉ cần trích xuất một bài toán không phụ thuộc vào các yếu tố trên để xem xét vấn đề sắp xếp thuần túy. Bài toán như vậy sẽ phi thực tế bởi nó không biểu diễn chính xác tình huống ngoài đời nào, song trên phương diện tổng quát thì lại có nhiều lợi ích, vì nó xấp xỉ được nhiều tình thế. Mặc dù kết quả thu được từ công trình nghiên cứu mô hình lý tưởng trừu tượng này sẽ không cho ta lời giải của bất kỳ bài toán sắp xếp thực tiễn nào, thông tin mà chúng cung cấp lại nên được đặt ra song song với quyết định và dữ liệu về các khía cạnh khác của một vấn đề trong đời thực. Người cầm trịch nên biết hệ quả của một thứ tự sắp xếp khác nếu những thay đổi liệt kê bên trên không xảy ra. Hiểu biết này có lẽ sẽ không là nhân tố chính để quyết định, nhưng ít nhất cũng nên được cân nhắc.

Chúng ta sẽ xem xét một bài toán mà mọi quyết định liên quan tới cần làm cái gìthế nào đã được đưa ra từ trước. Vì những lựa chọn này hoàn toàn không bị ảnh hưởng bởi thứ tự tiến hành, chúng ta sẽ sử dụng các giả định sau xuyên suốt tác phẩm này:

  1. Những công việc cần thực hiện (một công việc là một chuỗi hoạt động định sẵn) đều được xác định hoàn chỉnh; nghĩa là cả đặc tính và tầm quan trọng của công việc đã được quyết định bằng cơ chế nào đó không thuộc phạm trù của cuốn sách này. Dĩ nhiên, chúng ta thường gặp trường hợp quá trình sắp xếp không biết toàn bộ các công việc tương lai, mà chỉ biết lần lượt theo thời gian. Trường hợp này vẫn được chấp nhận trong giả định của chúng ta.
    Chúng ta mở rộng giả định hơn nữa: mọi công việc trong danh sách đều phải thực thi, vì bài toán sắp xếp thuần túy không liên quan tới việc lựa chọn chỉ làm một phần của danh sách cho thỏa mãn yêu cầu nào đó. Ví dụ trong sản xuất, chúng ta không cần suy xét công việc nào sẽ mang lại nhiều lợi nhuận nhất. Chúng ta giả sử rằng các lựa chọn và quyết định như thế đã có từ trước và mỗi công việc là một cam kết chắn chắc sẽ hoàn thành.
  2. Tài nguyên hoặc cơ sở vật chất cần có để thực hiện các công việc trên đều được xác định hoàn chỉnh. Chẳng hạn, bài toán có thể nói rằng một tổ đội $8$ người có thể vận hành $10$ cỗ máy đủ kiểu loại, và thời gian làm việc có thể lên tới $44$ tiếng mỗi tuần. Có thể kết quả của bài toán sắp xếp dựa trên cơ sở hiện tại sẽ khuyến nghị gia tăng năng suất công xưởng bằng cách thêm thiết bị hoặc tăng giờ làm, tuy nhiên vấn đề đấy nằm ngoài khuôn khổ bài toán sắp xếp thuần túy.
  3. Ta đã biết trước thứ tự các hoạt động trong mỗi công việc, bao gồm mọi ràng buộc về thứ tự thực hiện. Ta cũng biết tất cả các phương thức để thực thi những hoạt động này, và công xưởng phải có cơ sở vật chất để hoàn tất mỗi hoạt động.

Hầu hết công trình nghiên cứu trong bài toán sắp xếp đều làm việc với job-shop scheduling và sử dụng các thuật ngữ trong sản xuất: công việc (job), máy (machine), công đoạn (operation), quy trình (routing), và thời gian thực hiện (processing-time). Thực ra, các nghiên cứu đều dựa trên mô hình sắp xếp thuần túy lý tưởng của một nhà máy sản xuất như trên, và kết quả của chúng cũng có thể áp dụng cho những bài toán bên vận tải, truyền thông, dịch vụ, etc. Tuy vậy, cũng có thể nói rằng các kết quả đó không cái nào áp dụng được, vì mô hình lý tưởng này không biểu diễn chính xác một job-shop thực tế nào cả. Nếu tác phẩm này gần gũi với ngành công nghiệp hơn các ngành khác, ấy là bởi kiến thức nền tảng của chúng tôi trong ngành đó đã hướng chúng tôi chọn lựa các giả thiết để nghiên cứu, chứ không phải vì chúng tôi đã chọn tiếp tục sử dụng từ vựng của ngành công nghiệp.

Trước đây chúng tôi có xem xét đến việc phân biệt rạch ròi giữa sắp xếp (sequence) và lập kế hoạch (schedule): sequence liên quan đến thứ tự công đoạn trên một máy, schedule là đồng thời đồng bộ cho nhiều máy. Nhưng chúng tôi thấy rằng phân biệt vậy không làm sáng tỏ được điều gì hơn, nên hai từ này coi như là đồng nghĩa trong những chương kế tiếp.

Trong phần sau, chúng ta sẽ định nghĩa chi tiết các giả định của mô hình lý tưởng nền tảng cho toàn bộ cuốn sách này.

 

(Còn nữa)


Luôn yêu để sống, luôn sống để học toán, luôn học toán để yêu!!! :D

$$\text{LOVE}\left( x \right)|_{x = \alpha}^\Omega = + \infty $$




I'm still there everywhere.




1 người đang xem chủ đề

0 thành viên, 1 khách, 0 thành viên ẩn danh