Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 50 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
50
Dung lượng
1,56 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ BÀI TIỂU LUẬN MÔN HỌC Khoa học dịch vụ Chương 2: Review of Linear Programming Mark S Daskin Network and Discrete Location Models, Algorithms, and Applications (2nd edition) John Wiley _ Sons Danh sách sinh viên thực hiện: Nguyễn Tuấn Anh 15021849 Nguyễn Chu Chiến 15021469 Bùi Công Danh 15021133 Nguyễn Quang Minh 15022073 HÀ NỘI – 2018 Mục lục Phân cơng cơng việc nhóm sinh viên Bảng thuật ngữ I Vấn đề đường ngắn I.1 Bài toán đường ngắn I.1.1 Mơ tả tốn I.1.2 Thuật tốn Dijkstra I.1.3 Thuật toán Bellman - Ford 14 I.2 Vấn đề đường ngắn Excel 15 II Thuật toán tối ưu lưu lượng Out-of-kilter 20 II.1 Giới thiệu 20 II.2 Phát biểu toán 21 II.2.1 Bài toán sở 21 II.2.2 Bài toán đối ngẫu 22 II.2.3 Tìm giải pháp tối ưu 24 III Bài tốn nghiệm nguyên 33 IV Tổng kết 38 V Tài liệu tham khảo 39 VI Bài tập 39 Phân công công việc nhóm sinh viên Số TT Họ tên sinh viên Công việc thực Nguyễn Tuấn Anh Biên soạn tài liệu toán nghiệm nguyên (2.9) Làm tập vấn đề vận chuyển (2.5) Nguyễn Chu Chiến Giải toán đường ngắn sử dụng công cụ Excel (2.7.1 - 2.7.2) Bùi Công Danh Biên soạn tài liệu toán đường ngắn (2.7) Nguyễn Quang Minh Biên soạn tài liệu phần Out-Of-Kilter flow (2.8) Làm tập vấn đề vận chuyển (2.6) Bảng thuật ngữ Viết Tắt Tiếng Anh Tiếng Việt Thuật tốn tối thiểu hóa lưu lượng mạng Out-of-kilter PACB Giải thích Phương án Phương án bước đầu giải toán vận tải I Vấn đề đường ngắn I.1 Bài toán đường ngắn Tìm đường ngắn tốn quy hoạch tuyến tính phổ biến hầu hết vấn để mạng, mô tả sau: Cho mạng gồm tập nút N đường liên kết trực tiếp A, với chi phí liên kết Câu hỏi đặt tìm đường ngắn (tổng chi phí nhỏ nhất) từ nút s thuộc N đến nút t thuộc N I.1.1 Mô tả tốn Vấn đề đường ngắn mơ tả dạng tốn quy hoạch tuyến tính sau Đầu vào: Biến định: Định nghĩa tập nút sau: Ai tập tất nút kết nối trực tiếp từ nút i thuộc N, Bi tập tất nút kết nối trực tiếp đến nút i t huộc N Với định nghĩa trên, toán phát biểu sau: Cực tiểu hóa: Điều kiện: Mục tiêu toán cực tiểu hóa tổng chi phí liên kết lựa chọn Điều kiện thứ quy định giá trị dòng vào dòng nút Điều kiện thứ hai đảm bảo liên kết xuất lần quãng đường từ s đến t Bài toán đối ngẫu phát biểu sau: Cực đại hóa: Điều kiện: Trong đó, Vj chi phí tối thiểu để đến nút j. Các điều kiện đảm bảo hiệu Vj với Vi không vượt chi phí trực tiếp từ i đến j Vi tính với i thuộc N Về mặt kỹ thuật, vấn đề theo công thức khơng phải tốn quy hoạch tuyến tính biến định X(i, j) số nguyên (nhận giá trị 1) biến thực Các biến nhận giá trị phân số toán quy hoạch tuyến tính khác Tuy nhiên, ma trận ràng buộc hồn tồn đơn hình Thuộc tính đảm bảo giải vấn đề dạng quy hoạch tuyến tính, kết biến định ngun, ta định nghĩa lại biến định thành biến không âm (X(i, j) >= 0) giải toán quy hoạch tuyến tính Nếu số liên kết có chi phí âm, lời giải quy hoạch nguyên quy hoạch tuyến tính chứa vịng lặp âm (một chuỗi liên kết tạo thành chu trình, ví dụ chuỗi nút p, qua vài nút quay lại nút p với tổng chi phí âm nghĩa lặp lại nhiều lần chu trình chi phí nhỏ) Trong giải vấn đề đường ngắn nhất, việc sử dụng phương pháp quy hoạch tuyến tính chuẩn cho hiệu Dưới giới thiệu thuật tốn có hiệu nhiều với vấn đề I.1.2 Thuật toán Dijkstra Thuật toán Dijkstra, mang tên nhà khoa học máy tính người Hà Lan Edsger Dijkstra, thuật toán giải toán đường ngắn nguồn đơn đồ thị có hướng khơng có cạnh mang trọng số âm Thuật tốn sử dụng phổ biến kỹ thuật định tuyến Lời giải toán đường ngắn chứa thơng tin: chi phí đường ngắn từ s đến t thứ tự liên kết qua Một nhãn nút có phần: (1) giá trị chi phí tối thiểu từ s (2) nút phía trước kết Như vậy, ta sử dụng nhãn có dạng: [ giá trị chi phí thấp biết, nút phía trước ] Giá trị chi phí thấp biết để tới nút j ký hiệu Vj. Nút liền trước đường ký hiệu Pj → nhãn nút j có dạng [Vj , Pj] Những nhãn tạm thời vĩnh viễn Ta gán nhãn vĩnh viễn giá trị tốt tốt mà tìm xét xong tất liên kết liên quan Những nút có nhãn vĩnh viễn gọi "đã quét" , nút nhãn tạm thời nhóm "chưa qt" Dưới mơ tả thuật tốn để tìm đường từ nút s đến tất nút khác Nhìn chung, chi phí tính tốn tìm đường tới tất nút không cao nhiều chi phí tìm đường đến nút Thêm vào đó, đường đến nút khác lại liên quan đến đường đến nút t, công việc lại phải thực lại muốn tìm đường từ s đến nút u khác Bước 1: Khởi tạo (a) Gán nhãn cho nút s [ 0, _ ] (Vs = khơng có nút phía trước s) (b) Gán nhãn tất nút lại [ ∞, _ ] (c) Đặt nút s vào danh sách "đã duyệt" Bước 2: Cập nhật nhãn (a) Gọi nút duyệt nhất, nút m (b) Với tất liên kết (m, j) mà nút j chưa duyệt, tính: (1) Tj = Vm + cmj (2) Nếu Tj < Vj , đặt lại nhãn nút j với [ Tj , m ] biểu thị chi phí để đến nút j Tj nút m liền trước Bước 3: Duyệt nút (a) Tìm nút có giá trị nhãn Vj thấp mà chưa duyệt (b) Duyệt nút j Bước 4: Kiểm tra kết thúc (a) T ất nút duyệt? (1) Đúng dừng (2) Sai quay lại bước Hình 2.21 Ví dụ mạng Hình 2.21 ví dụ Giả sử ta cần tìm đường ngắn từ nút A đến nút khác Ta bắt đầu gán nhãn cho nút A[ 0, _ ] tất nút khác [ ∞, _ ] Nút A duyệt (tô xám) thể Hình 2.22 Hình 2.22 Ví dụ vấn đề với nhãn nút khởi đầu nút A kiểm tra Ta cập nhật nhãn nút từ A (là nút gần duyệt), kết việc cập nhật thể Hình 2.23 Hình 2.23 Mạng nút đánh nhãn từ nút A Hình 2.24 Mạng sau nút F đánh nhãn Tiếp theo, F nút có giá trị V thấp nhất, ta gán nhãn vĩnh viễn cho F tiếp tục mở rộng từ Kết biểu thị hình 2.24, đường ngắn tô đậm Nút F quét tiến hành cập nhật số nhãn nút liền kề Nhãn nút D thay đổi từ [ 15, A ] sang [ 12, F ] đường ngắn biết (chi phí 12) để đến D qua F Các hình (2.25 đến 2.30) mô tả trạng thái mạng sau vịng lặp thuật tốn Hình 2.25 Mạng sau nút D đánh nhãn Hình 2.26 Mạng sau nút B bị đánh nhãn Hình 2.27 Mạng sau nút G bị đánh nhãn Hình 2.28 Mạng sau nút E bị đánh nhãn Hình 2.29 Mạng sau nút C đánh nhãn Trong trường hợp này, không cần phân nhánh thêm từ nút bên trái (cái mà hạn chế việc sản xuất Deluxe nhỏ 22) hàm mục tiêu có giá trị mà có đáp án tồn số ngun Phân nhánh xa từ nút bên tay trái (ví dụ, supreme >= 292 nhánh có supreme Phương án tối ưu 39 => x = 150 0 0 225 50 130 0 245 15 giá trị tối ưu => Tổng chi phí = 150 x 15 + 225 x 16 + 50 x 22 + 130 x 19 + 245 x 15 = 12630 (b)(c) Bước 1: ta tìm giá trị ui vj sau: Đặt u0 = Suy luận giá trị ui vj lại dựa giá trị chọn 40 Sau tìm giá trị ui, vj , ta điền giá trị vào hàng V cột U (như hình) Tính ước lượng Δij, ghi vào góc bên phải ô loại Kiểm tra điều kiện thấy Δij ≤ ∀(i, j) => Phương án tối ưu => x = 150 0 10 215 40 115 25 260 giá trị tối ưu => Tổng chi phí = 15×150+31x10+22x40+19×115+12×260+215x16+35x15 =12710 (d)(e) với cách làm tương tự ta có lời giải cho phần sau Ta có bảng sau chỉnh sửa sau 41 Bước 3: Xây dựng phương án tốt ● Chọn loại có Δij lớn ● Xác định vịng V tạo đưa vào chọn có, đánh dấu +, - liên tiếp ● Chọn đưa mang dấu trừ (-) có xi*j* = min{xij (i, j) ∈ V-} => chọn ô A2B1 có xij = 10 => lượng điều chỉnh d = 10 ● Xây dựng phương án mới, với x' = (x'ij) với ○ x'ij = xij - d (i, j) ∈ V○ x'ij = xij + d (i, j) ∈ V+ ○ Giữ nguyên (i, j) ∈/ V => Ta có ma trận cập nhật sau: 42 Tính ước lượng Δij, ghi vào góc bên phải ô loại Kiểm tra điều kiện thấy Δij ≤ ∀(i, j) => Phương án tối ưu => x = 150 0 0 230 50 125 0 250 10 giá trị tối ưu => Tổng chi phí = 15×150+16×230+22×50+19×125+12×250+18×10=12585 Bài : 2.6 (a) Below, in Figure 2.44, you are given the information for a transportation 43 problem This problem is partially solved Solve this problem to optimality Compute the total cost of the solution and show it next to the final tableau (a) Dưới đây, Hình 2.44, bạn cung cấp thơng tin cho vấn đề vận chuyển Vấn đề giải phần Giải vấn đề để tối ưu Tính tổng chi phí giải pháp hiển thị bên cạnh tableau cuối (b) Based on the optimal solution you obtained in part (a), what would the impact be on (1) the total cost and (2) the optimal flow pattern of a 5-unit increase in the demand at demand node coupled with a 5-unit decrease in the demand at demand node 3? (b) Dựa giải pháp tối ưu mà bạn có phần (a), Chỉ tác động (1) tổng chi phí (2) mơ hình dịng chảy tối ưu tăng đơn vị nhu cầu nút nhu cầu kết hợp với -unit giảm nhu cầu nút nhu cầu 3? (c) Can you use the information in the optimal solution to predict the impact of a 40-unit decrease in the supply at supply node coupled with a 40-unit increase in the supply at supply node 1? If so, give the new cost and the new flows If not, briefly explain why not (c) Bạn sử dụng thơng tin giải pháp tối ưu để dự đoán tác động việc giảm 40 đơn vị nguồn cung nút cung cấp với mức tăng 40 đơn vị nguồn cung nút cung cấp không? Nếu vậy, đưa chi phí luồng Nếu khơng, giải thích ngắn gọn khơng 44 Lời giải a) ● Đây toán mà tổng cung tổng cầu (đều 540) ● Ta định nghĩa: ○ m số hàng ngang (số nhà cung ứng) ○ n số hàng dọc (số bên yêu cầu) 45 ○ ○ ○ ○ ○ ○ ui: vị (i = m) vj: vị (j = n) cij: chi phí vận chuyển đơn vị hàng hóa từ i đến j xij: lượng hàng cung cấp từ nhà cung cấp i đến bên yêu cầu j ui vj thỏa mãn công thức ui + vj = cij (1) Δij: Các giá trị ước lượng tính theo công thức: Δij = ui + vj - cij ∀(i, j) ● Ta thấy m + n - = + - = = số ô chọn PACB (Phương án bản) nên tốn tối ưu khơng suy biến Ta giải tốn theo bước: Bước 1: Tìm giá trị ui vj Từ cơng thức (1), ta tìm giá trị ui vj sau: Đặt u0 = Suy luận giá trị ui vj lại dựa giá trị ô chọn Sau tìm giá trị ui, vj , ta điền giá trị vào hàng V cột U (như hình trên) Bước 2: Tính ước lượng Δij, ghi vào góc bên phải loại 46 Kiểm tra điều kiện tối ưu Δij ≤ ∀(i, j) (chưa thỏa mãn A3B4 có Δij = 18) Bước 3: Xây dựng phương án tốt Chọn loại có Δij lớn Δi*j * = max{Δij > 0} => ô A3B4 Xác định vịng V tạo đưa vào ô chọn có, đánh dấu +, - liên tiếp Chọn ô đưa mang dấu trừ (-) có xi*j* = min{xij (i, j) ∈ V-} => chọn ô A2B1 có xij = 31 => lượng điều chỉnh d = 31 Xây dựng phương án mới, với x' = (x'ij) với ○ x'ij = xij - d (i, j) ∈ V○ x'ij = xij + d (i, j) ∈ V+ ○ Giữ nguyên (i, j) ∈/ V => Ta có ma trận cập nhật sau: Bước 4: Kiểm tra điều kiện thấy Δij ≤ ∀(i, j) => Phương án tối ưu 47 => x = 48 75 75 0 132 179 31 giá trị tối ưu => Tổng chi phí = 23 x 48 + 16 x 132 + 10 x 75 + 14 x 179 + 17 x 75 + 31 x 10 = 8057 b) Nếu thêm đơn vị nút yêu cầu m giảm nút yêu cầu n đơn vị, hàm mục tiêu thay đổi lượng vm - vn tức tăng nhu cầu B2 giảm nhu cầu B4 đơn vị, tổng chi phí thay đổi lượng v2 - v4 = 23 16 = => với số đơn vị thay đổi tổng chi phí thay đổi x = 35 đơn vị => Tổng chi phí = 8057 + 35 = 8092 Ta có giải pháp sau cập nhật c) Vì biến đối ngẫu đưa tỷ lệ thay hàm mục tiêu thay đổi 48 nhỏ luồng thay đổi lớn, phương án tối ưu có khả bị thay đổi biến đối ngẫu khơng cịn sử dụng để dự đốn thay đổi chi phí Do với việc tăng 40 đơn vị nút cung cấp giảm 40 đơn vị nút cung cấp 3, sử dụng kết tối ưu cũ để ước tính Cách giải thích đơn giản giảm A3 40 đơn vị, x33 x34 có tổng đơn vị giảm 40 Nhưng x33 khơng thể giảm có A3 cung cấp hàng cho B3, phải giảm x34 x34 < 40 => giảm x34 => cần tìm lời giải khác 49 ... Hình 2. 22 Hình 2. 22 Ví dụ vấn đề với nhãn nút khởi đầu nút A kiểm tra Ta cập nhật nhãn nút từ A (là nút gần duyệt), kết việc cập nhật thể Hình 2. 23 Hình 2. 23 Mạng nút đánh nhãn từ nút A Hình 2. 24... hình (2. 25 đến 2. 30) mô tả trạng thái mạng sau vịng lặp thuật tốn Hình 2. 25 Mạng sau nút D đánh nhãn Hình 2. 26 Mạng sau nút B bị đánh nhãn Hình 2. 27 Mạng sau nút G bị đánh nhãn Hình 2. 28 Mạng sau... Quan hệ (2. 76) ràng buộc giới 19 hạn lưu lượng liên kết, quan hệ (2. 77) ràng buộc cận lưu lượng liên kết II .2. 2 Bài tốn đối ngẫu CỰC ĐẠI ● ● (2. 79) khơng bị hạn chế với ● (2. 81) ● (2. 82) (2. 80)