ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KHOA HỌC ——————–o0o——————– BẾ NHẬT VINH VẤN ĐỀ NGƯỢC CỦA VẤN ĐỀ TỐI THIỂU HÓA THỜI GIAN TRỄ TỐI ĐA TRÊN MÔ HÌNH MÁY ĐƠN THÁI NGUYÊN, THÁNG 5/2018 ĐẠI HỌC THÁI NGUYÊN[.]
Trang 1TRƯỜNG ĐẠI HỌC KHOA HỌC
——————–o0o——————–
BẾ NHẬT VINH
VẤN ĐỀ NGƯỢC CỦA VẤN ĐỀ TỐI THIỂU HÓA THỜI GIAN TRỄ TỐI ĐA
TRÊN MÔ HÌNH MÁY ĐƠN
THÁI NGUYÊN, THÁNG 5/2018
Trang 2BẾ NHẬT VINH
VẤN ĐỀ NGƯỢC CỦA VẤN ĐỀ TỐI THIỂU HÓA THỜI GIAN TRỄ TỐI ĐA
TRÊN MÔ HÌNH MÁY ĐƠN
Chuyên ngành: Toán ứng dụng
Mã số: 8 46 01 12
LUẬN VĂN THẠC SĨ TOÁN HỌC
GIÁO VIÊN HƯỚNG DẪN
TS PHẠM HỒNG TRƯỜNG
THÁI NGUYÊN, THÁNG 5/2018
Trang 3Mục lục
1.1 Vận trù học 6
1.2 Vấn đề tối ưu hóa tổ hợp 8
1.3 Lời giải của vấn đề gia công trên mô hình máy đơn 10
1.3.1 Trình tự khả thi và trình tự tối ưu 10
1.3.2 Trình tự gia công không trì hoãn và trình tự gia công trì hoãn được 11
1.4 Vấn đề tối thiểu hóa thời gian trễ tối đa của các công việc với thời gian đến như nhau trên mô hình máy đơn 1kLmax 12
1.5 Vấn đề sắp xếp ngược 14
1.6 Vấn đề quy hoạch tuyến tính 17
1.7 Định nghĩa ba loại chuẩn l1, l2, l∞ 18
2 Vấn đề ngược của vấn đề tối thiểu hóa thời gian trễ tối đa của các công việc với thời gian đến như nhau trên mô hình máy đơn 20 2.1 Sơ lược về vấn đề sắp xếp ngược 21
Trang 42.3.1 Bài toán ngược 1 |adjustable dj, π| Lmax 28
2.3.2 Bài toán ngược 1 |adjustable dj, L∗| Lmax 37
2.4 Điều chỉnh thời gian gia công (Adjustable Processing Times) 40
2.4.1 Bài toán ngược 1 |adjustable pj, π| Lmax 41
2.4.2 Bài toán ngược 1 |adjustable pj, L∗| Lmax 47
Trang 5Danh mục các ký hiệu
Tj Công việc thứ j của một dãy công việc được đưa ra
pj Thời gian gia công của công việc Tj
dj Kỳ hạn của công việc Tj
Cj Thời gian hoàn thành của công việc Tj
P Cj Tổng thời gian hoàn thành các công việc có trọng
số như nhau
P wjCj Tổng thời gian hoàn thành các công việc có trọng
số khác nhau
Lmax Thời gian trễ tối đa EDD Quy tắc ưu tiên sắp xếp kỳ hạn sớm nhất
1kLmax Vấn đề tối thiểu hóa thời gian trễ tối đa của của các
công việc trên mô hình máy đơn
1|adjustable dj, π|Lmax Bài toán điều chỉnh kỳ hạn dj để dãy công việc π là
tối ưu
1|adjustable dj, L∗|Lmax Bài toán điều chỉnh kỳ hạn dj để trễ tối đa Lmax ≤
L∗ 1|adjustable pj, π|Lmax Bài toán điều chỉnh thời gian gia công pj để dãy
công việc π là tối ưu
1|adjustable pj, L∗|Lmax Bài toán điều chỉnh thời gian gia công pj để trễ tối
đa Lmax ≤ L∗
Trang 6Lời nói đầu
Từ thế kỷ XX tối ưu hóa đã có ứng dụng nhiều và hiệu quả trong các lĩnh vực như quản trị kinh doanh, chế tạo sản xuất, quy hoạch tài nguyên, công nghệ thông tin, hỗ trợ cho vấn đề ra quyết định quản lý, mục tiêu của nghiên cứu tối ưu hóa tìm ra giải pháp tốt nhất từ một số lượng lớn các giải pháp khả thi Trong mô hình tối ưu hóa truyền thống thì tất cả các thông số được đưa ra và mục tiêu là tìm giải pháp tối ưu đáp ứng các ràng buộc cụ thể, đối với tối ưu hóa ngược thì đã xác định trước một giải pháp cùng với các giá trị của một số thông số không được cho chính xác và mục tiêu là tìm các giá trị chính xác của các thông số để giải pháp được đưa ra ban đầu là tối ưu, như vậy tối ưu hóa ngược có thể giúp cải thiện hệ thống đã có sẵn
Trong những năm gần đây, vấn đề tối ưu hóa ngược đã trở thành một chủ đề được nghiên cứu nhiều hơn, tầm quan trọng và ứng dụng của tối ưu hóa ngược ngày càng được gia tăng Luận văn này trình bày về bài toán ngược của bài toán tối thiểu hóa thời gian trễ tối đa của các công việc với thời gian đến như nhau trên
mô hình máy đơn
Vấn đề trình tự gia công các công việc là một vấn đề của bài toán tối ưu hóa
tổ hợp Với vấn đề tối ưu hóa của trình tự gia công thuận thì dãy các công việc được đưa ra cùng với các thông số cho trước (ví dụ như thời gian gia công hay kỳ hạn của từng công việc) ta cần sắp xếp lại trình tự các công việc để sao cho độ trễ tối đa là nhỏ nhất Tuy nhiên khi trình tự các công việc này được ấn định thì mục
Trang 7tiêu của tối ưu hóa ngược là ta cần điều chỉnh các thông số cho trước để sao cho trình tự đã cho là tối ưu hoặc để đạt được độ trễ tối đa thỏa mãn một thời hạn cho trước Chính vì vậy việc nghiên cứu bài toán ngược của bài toán tối thiểu hóa thời gian trễ tối đa của các công việc với thời gian đến như nhau trên mô hình máy đơn
là cần thiết Giải quyết bài toán này nhằm để đáp ứng được kỳ hạn giao hàng cho khách hàng, hoặc khi khách hàng có một dãy các công việc được ấn định trước sao cho độ trễ tối đa trong sản xuất là nhỏ nhất
Luận văn này được hoàn thành tại Trường Đại học Khoa học - Đại học Thái Nguyên dưới sự hướng dẫn của TS Phạm Hồng Trường Tôi xin tỏ lòng kính trọng
và biết ơn sâu sắc đối với thầy, người đã trực tiếp hướng dẫn tôi rất tận tình trong việc học tập, nghiên cứu để hoàn thành bản luận văn này
Xin chân thành cảm ơn Lãnh đạo Trường Đại học Khoa học - Đại học Thái Nguyên, Ban chủ nhiệm khoa Toán - Tin cùng toàn thể các thầy cô trong và ngoài trường đã giảng dạy giúp tôi trau dồi thêm rất nhiều kiến thức phục vụ cho việc học tập và nghiên cứu của bản thân
Cuối cùng tôi xin gửi lời cảm ơn tới gia đình, bạn bè đã luôn động viên, giúp
đỡ và tạo điều kiện tốt nhất cho tôi trong quá trình học tập, nghiên cứu và hoàn thành luận văn này
Xin chân thành cảm ơn!
Thái Nguyên, ngày 10 tháng 5 năm 2018
Tác giả luận văn
Bế Nhật Vinh
Trang 8Chương 1
Kiến thức chuẩn bị
Vận trù học (Operations Research-OR) được hình thành từ việc lập kế hoạch của các nhà quân sự trong chiến tranh thế giới thứ II Mục tiêu của Vận trù học lúc đó là sử dụng sao cho hiệu quả nhất các nguồn lực quân sự bằng cách sử dụng các kỹ thuật định lượng Kết quả ứng dụng đầu tiên được thực hiện bởi Patrick Blackett Trong thế chiến thứ nhất, ông đã thành lập một nhóm được gọi là Circus giúp giảm số lượng pháo phòng không với tầm xa cần thiết để bắn hạ một chiếc máy bay của đối phương từ mức trung bình hơn 20000 đầu đạn ở trận đầu của cuộc chiến xuống chỉ còn 4000 đầu đạn vào năm 1941 Trong những thập kỷ sau chiến tranh, các kỹ thuật này bắt đầu được áp dụng rộng rãi hơn cho các vấn đề trong kinh doanh, công nghiệp và xã hội Từ đó Vận trù học đã mở rộng và được sử dụng rộng rãi trong các ngành công nghiệp từ hóa dầu đến các hãng hàng không, hậu cần và chính phủ, tập trung vào việc phát triển các mô hình toán học có thể được
sử dụng để phân tích và tối ưu hóa các hệ thống phức tạp và trở thành một lĩnh vực được học tập và nghiên cứu
Vận trù học với mục đích nghiên cứu phân bổ nguồn lực tối ưu, vận trù học cung cấp cơ sở hợp lý cho việc ra quyết định bằng cách tìm hiểu và cấu trúc các
Trang 9tình huống phức tạp, dự đoán hành vi của hệ thống và cải thiện hiệu suất của hệ thống Phần lớn công việc thực tế được thực hiện bằng cách sử dụng các kỹ thuật phân tích và số để phát triển và vận dụng các mô hình toán học của các hệ thống
tổ chức bao gồm người, máy móc và các hoạt động trong đó Vai trò của vận trù học trong cả hai lĩnh vực công và lĩnh vực tư nhân đang gia tăng nhanh chóng Vận trù học giải quyết nhiều vấn đề khác nhau trong giao thông vận tải, lập kế hoạch kiểm kê, kế hoạch sản xuất, hoạt động truyền thông, hoạt động máy tính, quản lý tài sản, quản lý rủi ro, quản lý doanh thu và nhiều lĩnh vực khác Trong lĩnh vực công, các nghiên cứu của vận trù học có thể tập trung vào chính sách năng lượng, quốc phòng, chăm sóc sức khoẻ, quy hoạch tài nguyên nước, thiết kế và vận hành các hệ thống khẩn cấp đô thị hoặc thực thi pháp luật
Nghiên cứu trong vận trù học, khoa học quản lý có thể phân loại thành ba lĩnh vực chính sau: Một là nghiên cứu cơ sở hoặc nền tảng trong ba lĩnh vực của toán học (Xác suất, tối ưu hóa, và lý thuyết hệ động lực) Hai là nghiên cứu mô hình trong việc thiết lập mô hình, phân tích chúng về mặt toán học, mã hóa chúng lên máy tính, giải chúng bằng các công cụ phần mềm, đánh giá hiệu quả thu được từ
dữ liệu máy tính Mức này chủ yếu nhờ máy tính và được định hướng chính bởi xác suất và kinh tế lượng và thứ ba là nghiên cứu ứng dụng trong vận trù học, giống như trong các ngành kĩ thuật và kinh tế, sử dụng các mô hình thu được để áp dụng cho các vấn đề thực tế
Trong vận trù học, các nhà nghiên cứu được yêu cầu phải mô hình hóa các vấn
đề thực tế bằng cách áp dụng các kỹ thuật toán học, thống kê, ứng dụng máy tính
và sau đó tìm các giải pháp tối ưu cho các mô hình bị hạn chế về thời gian, nguồn lực lao động, nguồn lực vật liệu và các quy tắc kinh doanh với các mục tiêu cụ thể Các lý thuyết mới, các mô hình toán học đã được phát minh ra trong vận trù học
để mô tả và phân tích các hành vi, đặc điểm, sự thay đổi của các vấn đề thực tế, để
Trang 10s.t Điều kiện ràng buộc.
Các giải pháp đáp ứng các yêu cầu nêu trên thường được gọi là các giải pháp khả thi Tối ưu hóa là tìm ra các giải pháp tối ưu trong số các giải pháp khả thi
Tối ưu hoá tổ hợp là một nhánh con của tối ưu hóa toán học và xuất hiện trong toán học rời rạc, vận trù học, lý thuyết thuật toán và lý thuyết tính toán phức tạp Mục tiêu của nghiên cứu tối ưu hóa tổ hợp là tìm ra giải pháp tốt nhất từ một số lượng lớn các giải pháp khả thi Trong nhiều vấn đề, chẳng hạn như phân công tối
ưu, cây khung ngắn nhất, vận chuyển và bài toán người giao hàng, các giải pháp là rời rạc và việc tìm kiếm toàn diện là không khả thi
So với các ngành toán học ứng dụng khác, tối ưu hóa tổ hợp là tương đối trẻ Xem xét lịch sử của một loạt các nghiên cứu độc lập đã diễn ra riêng biệt Chỉ trong những năm 1950, khi công cụ đại số tuyến tính và số nguyên trở nên thống nhất
và có sẵn thì lĩnh vực tối ưu tổ hợp bắt đầu thu hút sự chú ý và các mối quan hệ giữa chúng đã được đặt ra Thật vậy, tối ưu hóa tuyến tính tạo thành bản lề trong lịch sử tối ưu hóa tổ hợp Quan niệm ban đầu của Kantorovich và Koopmans được thúc đẩy bởi các ứng dụng tổ hợp, đặc biệt là trong vận chuyển và chuyển tải Sau khi xây dựng quy hoạch tuyến tính như là một bài toán tổng quát, và phát triển vào năm 1947 bởi Dantzig về phương pháp đơn hình như một công cụ, Dantzig đã
cố gắng giải quyết tất cả các bài toán tối ưu hóa tổ hợp với các phương pháp quy hoạch tuyến tính và thường là rất thành công
Tối ưu hóa tổ hợp liên quan đến các mô hình và phương pháp để tối ưu hóa các
Trang 11lựa chọn rời rạc Nó bắt nguồn từ lý thuyết quy hoạch tuyến tính, và có liên kết chặt chẽ với toán học rời rạc, lý thuyết xác suất, lý thuyết khoa học máy tính, và
lý thuyết tính độ phức tạp tính toán Một số vấn đề trong lĩnh vực được nghiên cứu tương đối tốt và chấp nhận giải pháp để tối ưu hóa trong thời gian đa thức Nhiều bài toán khác là NP–hard Có ba cách để giải quyết tốt nhất các bài toán tối ưu hóa tổ hợp
Cách thứ nhất là sử dụng một phương pháp liệt kê được đảm bảo để tạo ra một giải pháp tối ưu
Cách thứ hai là áp dụng một thuật toán xấp xỉ chạy trong thời gian đa thức Cách thứ ba là sử dụng một số kỹ thuật tìm kiếm kinh nghiệm, mà không có sự đảm bảo trước về chất lượng giải pháp hoặc thời gian chạy
Nhiều vấn đề về quyết định trong cuộc sống thực tế có thể được xây dựng như các vấn đề tối ưu hoá tổ hợp và do đó có sự quan tâm lớn và ngày càng tăng về
cả lý thuyết và thực tiễn Một số vấn đề về bài toán người giao hàng, việc lên kế hoạch mua sắm, tham quan, vấn đề của bác sĩ hoặc người đưa thư Tương tự như vậy, phân công công việc, vận tải, kết nối hình thành các vấn đề cơ bản đã được rất nhiều nhà toán học xem xét Nói chung, các bài toán tối ưu tổ hợp thường có quy mô lớn và khó giải quyết Do đó, nghiên cứu sự phức tạp về mặt tính toán và thiết kế thuật toán để phát triển các thủ tục giải quyết hiệu quả là trọng tâm của các nhà nghiên cứu trong việc tối ưu hóa tổ hợp
Một vấn đề tối ưu tổ hợp P = (S, f ) có thể được chỉ ra như sau
• Các miền biến D1, D2, , Dn,
• Các ràng buộc giữa các biến,
• Một hàm mục tiêu f tối thiểu hóa (hoặc tối đa hóa), trong đó
f : D1× D2× × Dn −→ R+
Trang 12phần tử của S có thể được xem như một giải pháp khả thi.
Để giải quyết Bài toán tối ưu tổ hợp có nghĩa là tìm một giải pháp s∗ ∈ S với giá trị hàm tối thiểu hóa (hoặc tối đa hóa); nghĩa là, f (s∗) ≤ f (s), ∀ s∗ ∈ S (hoặc
f (s∗) ≥ f (s), ∀ s∗ ∈ S, s∗ được gọi là Giải pháp tối ưu của (S, f ) và để sao cho tập
S∗ ⊆ S là tập hợp các giải pháp tối ưu
(Xem [1])
1.3.1 Trình tự khả thi và trình tự tối ưu
Vấn đề trình tự gia công là một bài toán tối ưu hóa tổ hợp Các nhiệm vụ, số lượng các máy cần xử lý trong vấn đề trình tự gia công đều là hữu hạn do đó lời
giải tối ưu của đại bộ phận vấn đề trình tự đều được tìm ra từ hữu hạn các giải
pháp khả thi của vấn đề trình tự ban đầu, làm cho hàm mục tiêu đạt giá trị tối ưu
Trong vấn đề trình tự gia công, ta gọi giải pháp khả thi là trình tự khả thi, giải
pháp tốt ưu được gọi là trình tự tối ưu
Trong vấn đề trình tự gia công, một trình tự khả thi là một dãy thứ tự mà dựa vào đó có thể sắp xếp tất cả các nhiệm vụ gia công trên máy xử lý
Ví dụ 1.1 Cho vấn đề trình tự gia công 1kP wjCj trong đó, n = 6, p = (12, 4, 7, 11, 6, 5),
ω = (4, 2, 5, 5, 6, 3) Một trình tự gia công bất kì của tập các công việc đều là trình
tự khả thi, trong đó [T5, T3, T6, T2, T4, T1] là tối ưu
Ví dụ 1.2 Cho vấn đề trình tự gia công F2||Cmax trong đó n = 5
Trang 13Hình 1.1: Trình tự tối ưu của ví dụ 1.2.
P =
4 4 10 6 2
5 1 4 10 3
Một trình tự gia công bất kỳ của tập các công việc đều là trình tự khả thi, trong
đó [J5, J1, J4, J3, J2] là trình tự tối ưu
Hình 1.2: Sơ đồ Grant Charts.
1.3.2 Trình tự gia công không trì hoãn và trình tự gia công trì
hoãn được
Trong quá trình giải quyết các vấn đề trình tự gia công, có một loại trình tự khả thi rất quan trọng được định nghĩa
Định nghĩa 1.1 Đối với một trình tự khả thi, nếu có các công việc đều được chuẩn bị trước, máy xử lý không có thời gian nghỉ trong cả quá trình gia công, loại trình tự gia công này được gọi là trình tự gia công không trì hoãn Nếu ngược lại,
sẽ được gọi là trình tự gia công trì hoãn được
Trình tự gia công không trì hoãn tương đương với việc không được để máy xử lý
có thời gian nghỉ trong quá trình gia công Đối với đa số các vấn đề về trình tự gia
Trang 14Ví dụ 1.3 Trình tự gia công 1|rj|P wjCj, n = 2, p = (10, 5), r = (0, 1), w = (1, 5)
Vấn đề này có hai trình tự khả thi đó là:
Hình 1.3: Trình tự khả thi của ví dụ 1.3
việc với thời gian đến như nhau trên mô hình máy
Một số ký hiệu trong bài toán 1kLmax:
Tj là công việc thứ j trong một dãy công việc đưa ra,
pj là thời gian gia công của công việc Tj,
dj là thời gian hoàn thành hạn định đối với công việc Tj,
Cj =
j
P
s=1
ps là thời gian hoàn thành thành công công việc Tj,
Thời gian trễ tối đa (maximum latenes)
Lmax = max{Lj}
Trang 15trong đó, Lj = Cj− dj là thời gian trễ của công việc Tj.
Bài toán 1.1 Tìm thời gian trễ tối đa của các công việc được sắp thứ tự lần lượt
từ công việc
T1 −→ T2 −→ T3 −→ T4 −→ T5 −→ T6 với các dữ kiện được cho theo bảng 1.1
Bảng 1.1
Hình 1.4: Trình tự thực hiện các công việc của bài toán 1.1
Ta được:
C1 = 3; C2 = 4; C3 = 8; C4 = 8; C5 = 12; C6 = 14
Khi đó thời gian trễ của các công việc Tj là:
L1 = 1; L2 = −6; L3 = 2; L4 = 5; L5 = 1; L6 = 2
Vậy trễ tối đa Lmax = 5
Mặt khác, nếu thay đổi thứ tự các công việc hoàn thành
T1 −→ T3 −→ T4 −→ T2 −→ T5 −→ T6
Ta được:
Trang 16Khi đó, thời gian trễ của các công việc Tj là
L1 = 1; L3 = 1; L4 = 4; L2 = −1; L5 = 1; L6 = 2
Vậy trễ tối đa Lmax = 4
Như vậy có thể thấy rằng, khi thay đổi thứ tự thực hiện các công việc, thì thời gian trễ tối đa (có thể) khác nhau Vậy vấn đề đặt ra là, khi thực hiện gia công một tập hợp các công việc với thời gian hoàn thành hạn định đối với các công việc
đã được định sẵn, thì thứ tự thực hiện của các công việc đó nên sắp xếp thế nào
để thời gian trễ tối đa là nhỏ nhất
Bài toán 1kLmax là tương đối đơn giản, và nó được giải quyết bằng cách sắp xếp các nhiệm vụ theo quy tắc ưu tiên kỳ hạn sớm nhất (Earliest Due Date first viết tắt là EDD ) ta sẽ thu được trình tự tối ưu Theo quy tắc này, các công việc được sắp xếp theo trình tự không giảm của các dj
Lý thuyết vật lý cho phép chúng ta đưa ra dự đoán, đưa ra mô tả đầy đủ về một
hệ thống vật lý hoặc dự đoán kết quả của một số phép đo Khi đó việc dự đoán kết quả đo được gọi là mô hình hóa hoặc vấn đề thuận Một vấn đề ngược lại là
ta chuyển đổi các phép đo, các quan sát thành thông tin về một vật thể hoặc hệ thống vật lý mà chúng ta quan tâm
Trong khi vấn đề thuận có giải pháp duy nhất thì vấn đề ngược thì không Ví
dụ, xem xét các phép đo trọng lượng trên một hành tinh: cho phân bố khối lượng