Thiết kế tối ưu chuỗi cung ứng sử dụng kỹ thuật mô phỏng và kỹ thuật tối ưu hóa áp dụng cho chuỗi cung ứng nông sản các tỉnh nam bộ việt nam

140 82 0
Thiết kế tối ưu chuỗi cung ứng sử dụng kỹ thuật mô phỏng và kỹ thuật tối ưu hóa áp dụng cho chuỗi cung ứng nông sản các tỉnh nam bộ việt nam

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Đại Học Quốc Gia Tp HCM TRƢỜNG ĐẠI HỌC BÁCH KHOA - NGUYỄN QUANG TUẤN THIẾT KẾ TỐI ƢU CHUỖI CUNG ỨNG SỬ DỤNG KỸ THUẬT MÔ PHỎNG VÀ KỸ THUẬT TỐI ƢU HĨA ÁP DỤNG CHO CHUỖI CUNG ỨNG NƠNG SẢN CÁC TỈNH NAM BỘ VIỆT NAM Chuyên ngành: Kỹ Thuật Hệ Thống Công Nghiệp LUẬN VĂN THẠC SĨ TP.HỒ CHÍ MINH, tháng 07 năm 2010 CƠNG TRÌNH ĐƢỢC HỒN THÀNH TẠI TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH Cán hƣớng dẫn khoa học: (Ghi rõ họ, tên, học hàm, học vị chữ ký) Cán chấm nhận xét 1: (Ghi rõ họ, tên, học hàm, học vị chữ ký) Cán chấm nhận xét 2: (Ghi rõ họ, tên, học hàm, học vị chữ ký) Luận văn thạc sĩ đƣợc bảo vệ Trƣờng Đại Học Bách Khoa, ĐHQG Tp.HCM ngày tháng năm Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: Xác nhận Chủ Tịch Hội Đồng đánh giá LV Bộ môn quản lý chuyên ngành sau luận văn đƣợc sửa chữa (nếu có) Chủ tịch Hội đồng đánh giá LV Bộ mơn quản lý chun ngành ĐẠI HỌC QC GIA TP.HCM TRƢỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc Lập - Tự Do - Hạnh Phúc -oOo Tp HCM, ngày tháng năm 2010 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: NGUYỄN QUANG TUẤN Phái : Nam Ngày, tháng, năm sinh : 20/02/1985 Nơi sinh : Quảng Ngãi Chuyên ngành : Kỹ Thuật Hệ Thống Công Nghiệp MSHV: 02708273 Đầu đề luận án Thiết kế tối ƣu chuỗi cung ứng Sử dụng kỹ thuật mô kỹ thuật tối ƣu hóa Áp dụng cho chuỗi cung ứng nơng sản tỉnh Nam Việt Nam Nhiệm vụ:  Phân tích đánh giá tình hình Nơng sản xuất Việt Nam  Tìm hiểu lý thuyết thiết kế chuỗi cung ứng SCM, tối ƣu hóa tích hợp mơ cho tốn đa mục tiêu  Thiết kế SCM tối ƣu đa mục tiêu với phƣơng pháp Quy hoạch tuyến tính (MIP-Mixed integer programming)  Thiết kế phần mềm hỗ trợ việc tìm lời giải tối ƣu kết hợp mô kiểm chứng lời giải  Thiết kế chuỗi cung ứng tối ƣu cho nông sản xuất tỉnh Nam  Kết luận kiến nghị Ngày giao nhiệm vụ luận án : 23/01/2010 Ngày hoàn thành nhiệm vụ : 02/07/2010 Họ tên ngƣời hƣớng dẫn : PGS.Ts Hồ Thanh Phong Nội dung đề cƣơng Luận văn thạc sĩ đƣợc Hội Đồng Chuyên Ngành thông qua CÁN BỘ HƢỚNG DẪN (Họ tên chữ ký) CHỦ NHIỆM BỘ MÔN QUẢN LÝ CHUYÊN NGÀNH (Họ tên chữ ký) PGS.TS HỒ THANH PHONG GVC.ThS NGUYỄN NHƢ PHONG LỜI CẢM ƠN Em xin chân thành cảm ơn PGS.Ts Hồ Thanh Phong, ngƣời Thầy tận tình hƣớng dẫn giúp đỡ cho em trình thực luận văn Cảm ơn Thầy kiến thức kinh nghiệm quí em tiếp thu thời gian học trƣờng Đại học Bách Khoa Em xin cảm ơn thầy cô môn Kỹ thuật hệ thống cơng nghiệp q trình giảng dạy khơng mệt mỏi cung cấp cho em kiến thức q báu để hồn thành luận văn Con xin gởi lời cảm ơn đến Ba, mẹ em, gia đình động lực giúp có đƣợc tập trung sức khỏe trình thực luận văn Cuối cùng, em xin gởi lời cảm ơn đến công ty ICS, tạo điều kiện thuận lợi thời gian cho em thực luận văn Học viên thực Nguyễn Quang Tuấn TÓM TẮT LUẬN VĂN Với phát triển ngày mạnh mẽ máy tính , mơ trở thành công cụ hỗ trợ mạnh việc giải toán, đặc biệt tốn tối ƣu hóa đa mục tiêu Luận văn nghiên cứu mơ hình tốn đa mục tiêu tối ƣu hóa tích hợp mơ Thiết kế chuỗi cung ứng với hệ thống tích hợp nhiều nhà cung cấp, nhà máy, phân phối … bao gồm việc xác định vị trí đặt nhà máy, nhà kho, sách sản xuất, lực sản xuất kênh phân phối liên quan Với mục tiêu : cực đại lợi nhuận, cực đại độ hữu dụng cực đại mức phục vụ khách hàng, vấn đề thiết kế chuỗi cung ứng toán phức tạp, đặc biệt điều kiện biến đổi ngẫu nhiên liệu đầu vào Để giải toán thiết kế này, luận văn thực việc nghiên cứu xây dựng mơ hình chuỗi cung ứng tối ƣu dựa lý thuyết quy hoạch tuyến tính hỗn hợp mơ kiểm chứng mơ hình Mơ hình quy hoạch tuyến tính đƣợc thiết kế dựa ngôn ngữ Visual Basic phần mềm Lindo, mô hình mơ đƣợc lập trình ứng dụng phần mềm mô mạnh nay-Arena Áp dụng mơ hình cho chuỗi cung ứng hàng nơng sản Nam nói chung café xuất nói riêng nhằm thiết lập mơ hình chuỗi cung ứng với mục tiêu cực đại lợi nhuận, cực đại mức phục vụ khách hàng (customer service level) cực đại độ hữu dụng nhà máy, kho chứa, trung tâm phân phối Key word  Thiết kế chuỗi cung ứng (Supply chain Configuration Design)  Mô tối ƣu (Simulation optimization)  Quy hoạch tuyến tính hỗn hợp (Mixed integer programming)  Bài toán tối ƣu đa mục tiêu (Multiobjective optimization problem) DANH MỤC VIẾT TẮT Từ viết tắt GA SCM MIP Giải thích Genetic algorthm – Giải thuật di truyền Supply chain management – Quản lý chuỗi cung ứng Mixed integer programming- Quy hoạch tuyến tính hỗn hợp CSL Customer service level- Mức phục vụ khách hàng DC Distribution center- Trung tâm phân phối EOQ JIT Economic order quantity – Lƣợng đặt hàng kinh tế Just in time- Sản xuất lúc QHTT Quy hoạch tuyến tính QHMT Quy hoạch mục tiêu MỤC LỤC CHƢƠNG GIỚI THIỆU 1.1 Đặt vấn đề 1.2 Mục tiêu .10 1.3 Nội dung 10 1.4 Giới hạn đề tài .11 1.5 Bố cục luận văn .11 1.6 Lịch trình thực .12 CHƢƠNG TỔNG QUAN LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN………………… 13 2.1 Lý thuyết thiết kế chuỗi cung ứng 13 2.1.1 Định nghĩa chuỗi cung ứng: .13 2.1.2 Những nghiên cứu chuỗi cung ứng 14 2.1.3 Tổng quan toán thiết kế chuỗi cung ứng 20 2.2 Lý thuyết mô .23 2.3 Các nghiên cứu liên quan 25 2.3.1 Developing industrial strength simulation models using visual basic for applications (vba)- marvin s seppanen .25 CHƢƠNG PHƢƠNG PHÁP LUẬN 27 3.1 Hệ thống tích hợp tối ƣu hóa mơ 27 3.2 Bài toán tối ƣu đa mục tiêu (Multiobjective optimization problem) 27 3.2.1 Khái quát toán đa mục tiêu 27 3.2.2 Các phƣơng pháp giải toán tối ƣu đa mục tiêu .28 3.3 Lý thuyết tối ƣu hóa mơ (simulation optimization) 29 CHƢƠNG TÍCH HỢP TỐI ƢU VÀ MƠ PHỎNG CHO BÀI TỐN THIẾT KẾ CHUỖI CUNG ỨNG VỚI GIẢI THUẬT QUY HOẠCH TUYẾN TÍNH .35 4.1 Thiết lập mơ hình 35 4.1.1 Biến định .35 4.1.2 Ràng buộc .36 4.1.3 Hàm mục tiêu toán 38 4.2 Mơ hình tổng qt 38 4.2.1 Quy hoạch thỏa hiệp (Compromise Programming) 40 4.3 Tích hợp tối ƣu hóa mơ 42 4.3.1 Mô : 42 4.3.2 Cấu trúc phần mềm hỗ trợ 44 CHƢƠNG THIẾT KẾ CHUỖI CUNG ỨNG NÔNG SẢN CÁC TỈNH NAM BỘ……………………… 48 5.1 Giới thiệu ngành xuất nông sản Việt Nam năm gần …………………………………………………………………………….48 5.1.1 Tổng quan .48 5.1.2 Một số nông sản xuất chủ lực Việt Nam .49 5.2 Thu thập số liệu 51 5.2.1 Các lựa chọn đánh giá nhà cung cấp, nhà kho, nhà máy 51 5.2.2 Chọn sản phẩm 51 5.2.3 Sơ đồ hoạt động chuỗi cung ứng Café 53 5.3 Tiêu chí chọn nhà cung cấp sản phẩm nông sản 53 5.3.1 Tiêu chí 1: Điều kiện tự nhiên phù hợp công nghiệp Café 53 5.3.2 Tiêu chí 2: vào số liệu sản lƣợng trồng trọt có địa phƣơng……………………………………………………………………… 54 5.3.3 Tiêu chí : diện tích trồng trọt nông sản địa phƣơng 54 5.3.4 Tổng hợp .55 5.4 Tiêu chí chọn khu vực khả thi đặt nhà kho 55 5.4.1 Tiêu chí : giao thơng thuận lợi 55 5.4.2 Tiêu chí : điều kiện khí hậu phù hợp cho việc bảo quản nơng sản 55 5.4.3 Tiêu chí : giá đất địa phƣơng 56 5.4.4 Tổng kết 56 5.5 Xác định vị trí đặt nhà máy chế biến nông sản 57 5.5.1 Tiêu chí 1: .57 5.5.2 Tiêu chí 2: .57 5.5.3 Danh sách vị trí nhà máy tiềm .58 5.6 Xác định khách hàng 59 5.7 Các liệu cần thu thập cho toán 60 5.7.1 Dự báo nhu cầu sản phẩm .60 5.7.2 Các loại chi phí cố định 62 5.7.3 Chi phí hoạt động chuỗi cung ứng 63 5.8 Lời giải toán QHTT hỗn hợp 66 5.9 Mô .68 5.9.1 Ƣớc lƣợng thông số đầu vào 68 5.9.2 Tính lƣợng tồn kho an toàn (Safety stock) 69 5.9.3 Thực mô .71 5.9.4 Kết mô 73 CHƢƠNG KẾT LUẬN VÀ KIẾN NGHỊ 75 6.1 Kết luận 75 6.2 Kiến nghị .75 CHƢƠNG TÀI LIỆU THAM KHẢO 77 DANH MỤC BẢNG BIỂU Bảng 1-1: Danh mục công việc thực luận văn 12 Bảng 2-1 Tổng hợp nghiên cứu chuỗi cung ứng 19 Bảng 3-1: Bảng tổng hợp phƣơng pháp tối ƣu hóa 34 Bảng 5-1: Số liệu giá trị xuất sản phẩm nông sản năm 2009 2010 51 Bảng 5-2: Sản lƣợng Café địa phƣơng 54 Bảng 5-3: Diện tích trồng Café địa phƣơng 54 Bảng 5-4: Danh sách nhà cung cấp nông sản Café tiềm 55 Bảng 5-5 : Danh sách nhà kho tiềm 56 Bảng 5-6: Danh sách vị trí nhà máy tiềm 58 Bảng 5-7: Danh sách khách hàng 59 Bảng 5-8 : Bảng Dự báo nhu cầu Café đến năm 2020 61 Bảng 5-9 : Ma trận khoảng cách địa phƣơng 63 Bảng 5-10:Bảng thành phần chi phí tồn trữ .64 Bảng 5- 11: Một số nghiên cứu hệ số tồn trữ .65 Bảng 5-12 : Kết mơ hình QHTT hỗn hợp 66 Bảng 5-10 : Nhu cầu xuất nông sản thống kê theo tháng 68 Bảng 5-11: Thống kê nhu cầu café từ năm 1995 đến 2020 70 Bảng 5-12 : Bảng kết mô 73 DANH MỤC HÌNH Hình 2-1: Quy trình hoạt động chuỗi cung ứng 14 Hình 2-2 : Mơ hình chuỗi cung ứng tiêu biểu 22 Hình 2-3: Các bƣớc để thực tốn mơ 24 Hình 2-4: Mối tƣơng tác mô phần mềm khác .25 Hình 3-1: Phƣơng pháp luận .27 Hình 3-2: Mơ tả kết hợp tối ƣu hóa mơ 30 Hình 3-3 : Phƣơng pháp tối ƣu hóa mô 34 Hình 4-1 : Mơ hình chuỗi cung ứng 35 Hình 4-2: Mơ hình logic mơ 42 Hình 4-3: Mơ hình cấu trúc phần mềm .44 Hình 4-4 : Giao diện phần mềm tích hợp tối ƣu hóa mơ 45 Hình 5- 1: Các bƣớc thực việc chọn lựa danh sách nhà cung cấp, nhà kho, nhà máy tiềm năng………………………………………………………………… 51 Hình 5- 2: Biểu đồ Pareto giá trị xuất nông sản xuất năm 2009, 2010……………………………………………………………………….52 Hình 5-3: Quy trình hoạt động chuỗi cung ứng nông sản Cafe 53 Hình 5-4 : Atlat địa hình miền Đơng Nam Bộ 56 Hình 5-5: Atlat giao thông Việt Nam 57 Hình 5-6: Chuỗi cung ứng nơng sản café 59 Hình 5-7 : Biểu đồ sản lƣợng café từ năm 1994 đến 2010 .60 Hình 5-8 : Mơ hình nhà máy chế biến café .62 Hình 5-10: Biểu đồ nhu cầu café tháng năm 2009, 2010 68 Hình 5-11 : Biểu đồ mơ tả tồn kho an toàn .69 H-13 M = Val(txtwarehouse.Text) K = Val(txtmanufactory.Text) L = Val(txtcustomer.Text) '******************************************************** 'gan he so cho bai toan lindo nv = (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + (K * t) + (J * M) + (M * K) + (K * L) + J + M + K nc = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J + K * t + M * t + K * t) + (K * t + J * M * t + M * K * t + K * L * t + K * t + M * t) + 'MsgBox t 'MsgBox nv 'MsgBox nc 'MsgBox b '************ nhap so cho dau = or = 'rang buoc ve cung duong van chuyen RB 1,2,3,4,5 va ok For a = To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + dir(a) = Next a 'rang buoc ve can bang dong vat lieu RB va RB ok For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + (M + K) + dir(a) = Next a 'rang buoc ve nhu cau RB ok For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + (M + K) + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + (M + K) + L * t + dir(a) = Next a 'rang buoc ve tai nguyen 'RB 11 va RB 15 ok For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + (M + K) + L * t + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + (M + K) + L * t + (M * t) + (K * t) + dir(a) = Next a 'rang buoc 12 va 16 ok For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + (M + K) + L * t + (M * t) + (K * t) + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t) + dir(a) = -1 H-14 Next a 'rang buoc 10,14,13,17 For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t) + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J + K * t + M * t + K * t) + dir(a) = Next a 'Rang buoc cac bien deu duong For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J + K * t + M * t + K * t) + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J + K * t + M * t + K * t) + (K * t + J * M * t + M * K * t + K * L * t + K * t + M * t) + dir(a) = -1 Next a '*******************************dien so cho RHS f(so rang buoc-so hang, 0) 'rang buoc 1,2,3,4,5,6,7 va For a = To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M +K+1 f(a, 0) = Next a 'rang buoc ve nhu cau rb b=1 For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K +L*t+1 f(a, 0) = Dil(1, 1, b) b=b+1 Next a 'rang buoc ve tai nguyen For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J + K * t + M * t + K * t) + (K * t + J * M * t + M * K * t + K * L * t + K * t + M * t) + f(a, 0) = Next a '************************************************************** ************* '**************Gan he so f(a,b) cho ma tran he so, a la so hang, b la so cot 'Rang buoc so ok, xjm va yj b = (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + (K * t) + For a = To (J * M) + H-15 f(a, b) = f(a, (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + (K * t) + (J * M) + (M * K) + (K * L) + + ((a - 2) Mod J)) = -1 b=b+1 Next a 'Rang buoc so ok xmk va ym b = (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + (K * t) + (J * M) + For a = J * M + To J * M + M * K + f(a, b) = f(a, (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + (K * t) + (J * M) + (M * K) + (K * L) + J + + ((a - (J * M + 2)) Mod M)) = -1 b=b+1 Next a 'rang buoc so ok xkl va yk b = (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + (K * t) + (J * M) + (M * K) + For a = J * M + M * K + To J * M + M * K + K * L + f(a, b) = f(a, (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + (K * t) + (J * M) + (M * K) + (K * L) + J + M + + ((a - (J * M + M * K + 2)) Mod K)) = -1 b=b+1 Next a 'rang buoc ok Q_ijm, x_jm b=1 For a = J * M + M * K + K * L + To J * M + M * K + K * L + J * M * t + f(a, b) = f(a, (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + (K * t) + + ((a - (J * M + M * K + K * L + 2)) Mod (J * M))) = -1 * Qmaxijm((a - (J * M + M * K + K * L + 2)) Mod J + 1, Int(((a - (J * M + M * K + K * L + 2)) Mod (J * M)) / J) + 1) 'can xem lai cho Qmaxijm b=b+1 Next a 'rang buoc ok Q_imk, xmk b = (J * M * t) + For a = (J * M + M * K + K * L + J * M * t + 2) To J * M + M * K + K * L + J*M*t+M*K*t+1 f(a, b) = f(a, (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + (K * t) + (J * M) + + ((a - (J * M + M * K + K * L + J * M * t + 2)) Mod (K * M))) = -1 * Qmaximk(1, 1) 'can xem lai cho Qmaxijm b=b+1 Next a H-16 'rang buoc ok Q_ikl, x_kl b = (J * M * t) + (M * K * t) + For a = J * M + M * K + K * L + J * M * t + M * K * t + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + f(a, b) = f(a, (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + (K * t) + (J * M) + (M * K) + + ((a - (J * M + M * K + K * L + J * M * t + M * K * t + 2)) Mod (K * L))) = -1 * Qmaxikl(1, 1) b=b+1 Next a 'Rang buoc ok Qijm - Qimk b=1 c=1 d=1 e=1 'Qijm For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + For b = e To J * M * t Step J * M d=b For c = d To J + d - f(a, c) = Next c Next b e=e+J Next a 'Qimk d = (J * M * t) + For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + For b = d To d + M * K * t - Step M f(a, b) = -1 Next b d=d+1 Next a 'rang buoc Qimk-Qikl b=1 c=1 d=1 'Qimk x aik(i,k) e=J*M*t+1 For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + H-17 For b = e To J * M * t + M * K * t Step M * K d=b For c = d To M + d - f(a, c) = * aik(1, a - ((J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + 2) + 1) Next c Next b e=e+M Next a 'Qikl d = (J * M * t) + (M * K * t) + For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + For b = d To d + L * K * t - Step K f(a, b) = -1 Next b d=d+1 Next a 'Rang buoc 9, nhu cau Qikl, Dil ok b = (J * M * t) + (M * K * t) + c=b For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K +L*t+1 For b = c To c + K * L - f(a, b) = Next b c=b Next a 'rang buoc 11 'Qijm c=1 For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t) + For b = c To c + J - f(a, b) = -1 'f(a, b) = Next b c=b Next a 'Qimk H-18 d = (J * M * t) + For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t) + For b = d To d + M * K - Step M 'f(a, b) = f(a, b) = Next b d=d+1 Next a 'Wim e = (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t) + For b = e To e + M - Step M 'f(a, b) = f(a, b) = If (b - M) < (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + Then f(a, b - M) = Else 'f(a, b - M) = f(a, b - M) = -1 End If Next b e=e+1 Next a 'Insert f(a,0)= Wim(t=0) ton kho ban dau 'Tuong tu cho Wik, ton kho ban dau tai nha may 'rang buoc 15 'he so cho Qikl c = (J * M * t) + (M * K * t) + For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t) + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t) + For b = c To c + K * L - Step K f(a, b) = Next b c=c+1 Next a 'he so cho luong san xuat Pik(t) b = (J * M * t) + (M * K * t) + (K * L * t) + H-19 For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t) + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t) + f(a, b) = -1 b=b+1 Next a 'he so luong ton kho Wik(t) b = (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t) + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t) + f(a, b) = If (b - K) < (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + Then f(a, b - K) = Else f(a, b - K) = 'f(a, b - K) = -1 End If b=b+1 Next a 'Chu y la inser RHS vao vi tri cua Wik(t=0) 'rang buoc 12 Wim, ym b = (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t) + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t) + f(a, b) = f(a, (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + (K * t) + (J * M) + (M * K) + (K * L) + J + + ((a - ((J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t) + 2)) Mod M)) = * Wminim(1, 1) 'f(a, (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + (K * t) + (J * M) + (M * K) + (K * L) + J + + ((a - ((J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t) + 2)) Mod M)) = * Wminim(1, 1) b=b+1 Next a 'rang buoc 16 ok Wik, yk b = (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + H-20 For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t) + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t) + f(a, b) = 'f(a, (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + (K * t) + (J * M) + (M * K) + (K * L) + J + M + + ((a - (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t + M + K + L * t + M * t + K * t + M * t + 2)) Mod K)) = -1 * Wminik(1, 1) f(a, (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + (K * t) + (J * M) + (M * K) + (K * L) + J + M + + ((a - (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t + M + K + L * t + M * t + K * t + M * t + 2)) Mod K)) = * Wminik(1, 1) b=b+1 Next a 'rang buoc 10 ok Qijm, yj b=1 For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t) + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J) + For c = b To J * M * t Step J f(a, c) = Next c b=b+1 f(a, (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + (K * t) + (J * M) + (M * K) + (K * L) + + ((a - ((J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t) + 2)) Mod J)) = -1 * Smaxij(1, a - ((J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t) + 2) + 1) Next a 'rang buoc 14 ok Pik, Yk b = (J * M * t) + (M * K * t) + (K * L * t) + For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J) + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J) + K * t + f(a, b) = f(a, (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + (K * t) + (J * M) + (M * K) + (K * L) + J + M + + ((a - ((J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J) + 2)) Mod K)) = -1 * Pmaxik(1, (a - ((J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J) + 2)) Mod K + 1) b=b+1 H-21 Next a 'rang buoc 13 ok Wim, ym b = (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J + K * t) + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J + K * t + M * t) + f(a, b) = 'f(a, b) = f(a, (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + (K * t) + (J * M) + (M * K) + (K * L) + J + + ((a - ((J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J + K * t) + 2)) Mod M)) = -1 * Wmaxim(1, ((a - ((J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J + K * t) + 2)) Mod M) + 1) 'f(a, (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + (K * t) + (J * M) + (M * K) + (K * L) + J + + ((a - ((J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J + K * t) + 2)) Mod M)) = * Wmaxim(1, ((a - ((J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J + K * t) + 2)) Mod M) + 1) b=b+1 Next a 'rang buoc 17 Wik, yk b = (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J + K * t + M * t) + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J + K * t + M * t + K * t) + 'f(a, b) = f(a, b) = 'f(a, (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + (K * t) + (J * M) + (M * K) + (K * L) + J + M + + ((a - ((J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J + K * t + M * t) + 2)) Mod M)) = -1 * Wmaxik(1, ((a - ((J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J + K * t + M * t) + 2)) Mod M) + 1) f(a, (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + (K * t) + (J * M) + (M * K) + (K * L) + J + M + + ((a - ((J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J + K * t + M * t) + 2)) Mod M)) = * Wmaxik(1, ((a - ((J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J + K * t + M * t) + 2)) Mod M) + 1) H-22 b=b+1 Next a 'rang buoc 18 Pik b = (J * M * t) + (M * K * t) + (K * L * t) + For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J + K * t + M * t + K * t) + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J + K * t + M * t + K * t) + (K * t) + f(a, b) = b=b+1 Next a 'rang buoc 19 Qijm b=1 For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J + K * t + M * t + K * t) + (K * t) + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J + K * t + M * t + K * t) + (K * t + J * M * t) + f(a, b) = b=b+1 Next a 'rang buoc 20 Qimk b = (J * M * t) + For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J + K * t + M * t + K * t) + (K * t + J * M * t) + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J + K * t + M * t + K * t) + (K * t + J * M * t + M * K * t) + f(a, b) = b=b+1 Next a 'rang buoc 21 Qikl b = (J * M * t) + (M * K * t) + For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J + K * t + M * t + K * t) + (K * t + J * M * t + M * K * t) + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J + K * t + M * t + K * t) + (K * t + J * M * t + M * K * t + K * L * t) + f(a, b) = b=b+1 Next a 'rang buoc 22 Wik H-23 b = (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J + K * t + M * t + K * t) + (K * t + J * M * t + M * K * t + K * L * t) + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J + K * t + M * t + K * t) + (K * t + J * M * t + M * K * t + K * L * t + K * t) + f(a, b) = 'f(a, b) = b=b+1 Next a 'rang buoc 23 Wim b = (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + For a = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J + K * t + M * t + K * t) + (K * t + J * M * t + M * K * t + K * L * t + K * t) + To (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J + K * t + M * t + K * t) + (K * t + J * M * t + M * K * t + K * L * t + K * t + M * t) + f(a, b) = 'f(a, b) = b=b+1 Next a 'Insert he so cho ham muc tieu (hoan toan chinh xác) For a = To 'doanh thu Qikl, Pi(t)- chi phi van chuyen Qikl tu nha may k den khach hang l For b = (J * M * t) + (M * K * t) + To (J * M * t) + (M * K * t) + (K * L * t) f(a, b) = Pi(1, Int((b - (J * M * t + M * K * t + 1)) / (K * L)) + 1) CTikl(((b - (J * M * t + M * K * t + 1)) Mod K) + 1, 1) Next b 'chi phi co so tang For b = (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + (K * t) + (J * M) + (M * K) + (K * L) + J + To (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + (K * t) + (J * M) + (M * K) + (K * L) + J + M f(a, b) = -1 * CWm(b - (J * M * t + M * K * t + K * L * t + K * t + M * t + K * t + J * M + M * K + K * L + J)) Next b For b = (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + (K * t) + (J * M) + (M * K) + (K * L) + J + M + To (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + (K * t) + (J * M) + (M * K) + (K * L) + J + M + K f(a, b) = -1 * CMK(b - ((J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + (K * t) + (J * M) + (M * K) + (K * L) + J + M)) Next b H-24 'chi phi san xuat For b = (J * M * t) + (M * K * t) + (K * L * t) + To (J * M * t) + (M * K * t) + (K * L * t) + K * t f(a, b) = -1 * CMik(1, (b - ((J * M * t) + (M * K * t) + (K * L * t)) - 1) Mod K + 1) Next b 'chi phi ton kho 'Wim For b = (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + To (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) f(a, b) = -1 * Cwhim(1, (b - (J * M * t + M * K * t + K * L * t + K * t + 1)) Mod M + 1) Next b 'Wik For b = (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + To (J * M * t) + (M * K * t) + (K * L * t) + (K * t) + (M * t) + (K * t) f(a, b) = -1 * Cwhik(1, (b - (J * M * t + M * K * t + K * L * t + K * t + M * t + 1)) Mod K + 1) Next b 'chi phi van chuyen 'chi phi van chuyen tu supplier j den warehouse m, Qijm For b = To (J * M * t) f(a, b) = -1 * CTijm(((b - 1) Mod J) + 1, Int(((b - 1) Mod (J * M)) / J) + 1) Next b 'chi phi van chuyen tu warehouse m den plant k, Qimk For b = (J * M * t) + To (J * M * t) + (M * K * t) f(a, b) = -1 * CTimk(((b - (J * M * t + 1)) Mod M) + 1, Int(((b - (J * M * t + 1)) Mod M * K) / M) + 1) Next b Next a 'b = (J * M + M * K + K * L + J * M * t + M * K * t + K * L * t) + M + K + L * t + (M * t + K * t + M * t + K * t + J + K * t + M * t + K * t) + (K * t + J * M * t + M * K * t + K * L * t + K * t + M * t) + 'MsgBox b '***************************************************** '***************************************************** ' Initialize LINDO Call ILINDO Call INIT Call LUNOPN(60, 9, "Lindo.TXT", 0, 0, 0, 0) Call CAPOUT(60) Call QUIET(0) H-25 'dinh nghia hang : co bao nhieu rang buoc, dir(r) la dau rang buoc, f(r,0) la RHS For r = To nc If r = Then dir(r) = -1 Call DEFROW(dir(r), f(r, 0), IDRow, Trouble) Else Call DEFROW(dir(r), f(r, 0), IDRow, Trouble) End If Next r 'dinh nghia cot va bien For c = To nv If c

Ngày đăng: 16/04/2021, 04:33

Tài liệu cùng người dùng

Tài liệu liên quan