Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 217 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
217
Dung lượng
6,03 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤT ĐỒN TRỌNG LUẬT TỐI ƯU HĨA SỰ PHỐI HỢP GIỮA MÁY XÚC VÀ ÔTÔ CHO CÁC MỎ KHAI THÁC THAN LỘ THIÊN VÙNG QUẢNG NINH Ngành: Khai thác mỏ Mã số: 9520603 LUẬN ÁN TIẾN SĨ KỸ THUẬT NGƯỜI HƯỚNG DẪN KHOA HỌC: 1: PGS.TS BÙI XUÂN NAM 2: PGS.TS NGUYỄN ĐỨC KHOÁT HÀ NỘI - 2018 LỜI CAM ĐOAN Tôi xin cam đoan luận án cơng trình nghiên cứu khoa học độc lập Số liệu kết nghiên cứu luận án trung thực, chưa sử dụng để bảo vệ học vị Tôi xin cam đoan tham khảo cho việc thực luận án rõ nguồn gốc Hà Nội, ngày tháng năm 2018 Nghiên cứu sinh Đoàn Trọng Luật i LỜI CẢM ƠN Luận án tiến sĩ kỹ thuật ngành Khai thác mỏ với đề tài “Tối ưu hóa phối hợp máy xúc ơtơ cho mỏ khai thác than lộ thiên vùng Quảng Ninh” kết trình nghiên cứu, cố gắng không ngừng tác giả suốt thời gian qua với giúp đỡ tận tình thầy, cô giáo Trường Đại học Mỏ - Địa chất, nhà khoa học ngành mỏ, bạn bè, đồng nghiệp gia đình Tác giả xin gửi lời cảm ơn sâu sắc tới Ban Giám hiệu Trường Đại học Mỏ Địa chất, Phòng Đào tạo Sau đại học, Ban lãnh đạo Khoa Mỏ, Ban chủ nhiệm tập thể thầy, cô giáo Bộ môn Khai thác lộ thiên thầy, cô giáo Trường Đại học Mỏ - Địa chất quan tâm, tạo điều kiện giúp đỡ để NCS hồn thành luận án tiến sĩ NCS xin bày tỏ lịng kính trọng biết ơn sâu sắc tới Tiểu ban hướng dẫn: PGS.TS Bùi Xuân Nam PGS.TS Nguyễn Đức Khoát trực tiếp hướng dẫn tận tình, cung cấp tài liệu thơng tin cần thiết cho NCS thường xuyên đôn đốc NCS làm việc hoàn thành luận án tiến sĩ thời hạn Cuối cùng, NCS xin trân trọng cảm ơn Ban lãnh đạo Sở Tài nguyên Môi trường tỉnh Quảng Ninh, anh, chị, em, bạn bè đồng nghiệp; nhà khoa học ngành mỏ ngành khác có liên quan tạo điều kiện giúp đỡ NCS suốt thời gian học tập làm luận án Qua đây, NCS xin cảm ơn gia đình ln bên cạnh động viên suốt thời gian qua để NCS hoàn thành tốt cơng việc nghiên cứu khoa học Nghiên cứu sinh Đoàn Trọng Luật ii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii KÝ HIỆU VIẾT TẮT vii DANH MỤC CÁC BẢNG BIỂU viii MỞ ĐẦU .1 CHƯƠNG ĐÁNH GIÁ HIỆN TRẠNG PHỐI HỢP GIỮA MÁY XÚC VÀ ÔTÔ TẠI CÁC MỎ THAN LỘ THIÊN VÙNG QUẢNG NINH .5 1.1 HIỆN TRẠNG KHAI THÁC THAN LỘ THIÊN VÙNG QUẢNG NINH 1.1.1 Khái quát tiềm than định hướng phát triển vùng Quảng Ninh 1.1.2 Vị trí địa lý mỏ than lộ thiên vùng Quảng Ninh 1.1.3 Hiện trạng khai thác mỏ than lộ thiên vùng Quảng Ninh 1.2 HIỆN TRẠNG SỬ DỤNG MÁY XÚC TẠI CÁC MỎ THAN LỘ THIÊN VÙNG QUẢNG NINH 13 1.2.1 Hiện trạng sử dụng máy xúc mỏ than Đèo Nai 13 1.2.2 Hiện trạng sử dụng máy xúc mỏ than Cao Sơn 20 1.2.3 Hiện trạng sử dụng máy xúc mỏ than Cọc Sáu 25 1.2.4 Đánh giá chung trạng sử dụng máy xúc mỏ Đèo Nai, Cao Sơn Cọc Sáu 29 1.3 HIỆN TRẠNG SỬ DỤNG ÔTÔ TẠI CÁC MỎ THAN LỘ THIÊN VÙNG QUẢNG NINH 30 1.3.1 Hiện trạng sử dụng ôtô mỏ than Đèo Nai 30 1.3.2 Hiện trạng sử dụng ôtô mỏ than Cao Sơn 35 1.3.3 Hiện trạng sử dụng ôtô mỏ than Cọc Sáu 39 1.4 HIỆN TRẠNG PHỐI HỢP GIỮA MÁY XÚC VÀ ÔTÔ TẠI CÁC MỎ THAN LỘ THIÊN VÙNG QUẢNG NINH 44 1.4.1 Hiện trạng đồng thiết bị mỏ than Đèo Nai, Cao Sơn Cọc Sáu 44 iii 1.4.2 Hiện trạng phối hợp máy xúc - ôtô mỏ Đèo Nai, Cao Sơn Cọc Sáu 46 1.4.3 Một số bất cập phối hợp máy xúc ôtô mỏ than lộ thiên vùng Quảng Ninh 48 1.4.4 Một số giải pháp nâng cao hiệu đồng máy xúc - ôtô mỏ than lộ thiên vùng Quảng Ninh 49 1.5 KẾT LUẬN CHƯƠNG 49 CHƯƠNG TỔNG QUAN VỀ MỘT SỐ THUẬT TOÁN TRONG VÀ NGỒI NƯỚC DÙNG ĐỂ TÍNH TỐN ĐỒNG BỘ MÁY XÚC - ÔTÔ TRÊN CÁC MỎ LỘ THIÊN .51 2.1 TỔNG QUAN VỀ MỘT SỐ THUẬT TỐN TRONG NƯỚC DÙNG ĐỂ TÍNH TỐN ĐỒNG BỘ MÁY XÚC - ÔTÔ .51 2.1.1 Cân đối số lượng thiết bị dây chuyền xúc bốc, vận tải mỏ lộ thiên toán kinh tế 51 2.1.2 Xác định suất tổ hợp ôtô - máy xúc mỏ lộ thiên có tính tới độ tin cậy 57 2.1.3 Xác định số ôtô phục vụ cho máy xúc mỏ lộ thiên 60 2.1.4 Xác định mối quan hệ máy xúc ôtô mỏ lộ thiên dựa dung tích gầu máy xúc, tải trọng ơtơ qng đường vận chuyển 62 2.2 TỔNG QUAN VỀ MỘT SỐ THUẬT TỐN NGỒI NƯỚC TRONG VIỆC TÍNH TỐN ĐỒNG BỘ MÁY XÚC - ƠTƠ .64 2.2.1 Thuật toán xếp hàng 64 2.2.2 Thuật toán Monte Carlo ứng dụng mỏ lộ thiên 71 2.2.3 Nhóm phương pháp dựa việc nghiên cứu hoạt động thiết bị đồng bộ: 82 2.2.4 Nhóm phương pháp sử dụng trí tuệ nhân tạo: 85 2.2.5 Nhóm phương pháp nghiên cứu nhà khoa học mỏ Liên Xơ cũ: 88 2.2.6 Nhóm phương pháp nghiên cứu dựa chương trình phần mềm tính tốn có sẵn 89 iv 2.3 KẾT LUẬN CHƯƠNG 93 CHƯƠNG NGHIÊN CỨU PHƯƠNG PHÁP TỐI ƯU HÓA SỰ PHỐI HỢP GIỮA MÁY XÚC VÀ ÔTÔ CHO CÁC MỎ THAN LỘ THIÊN 99 3.1 CÁC YẾU TỐ ẢNH HƯỞNG TỚI HIỆU QUẢ PHỐI HỢP GIỮA MÁY XÚC VÀ ÔTÔ TRÊN CÁC MỎ THAN LỘ THIÊN VÙNG QUẢNG NINH 99 3.1.1 Sử dụng nhiều chủng loại thiết bị khác 99 3.1.2 Cung độ vận tải chưa cập nhật theo bước dịch chuyển gương khai thác 100 3.1.3 Sử dụng thiết bị cũ, suất thấp 101 3.1.4 Sơ đồ xúc bốc, nhận tải chưa hợp lý 101 3.1.5 Ảnh hưởng vận tốc xe chạy đến chu kỳ vận tải 103 3.1.6 Ảnh hưởng chất lượng đường vận tải 104 3.1.7 Ảnh hưởng loại vật liệu xúc bốc, vận tải 104 3.1.8 Ảnh hưởng chu trình vận tải mỏ 106 3.2 CÁC GIẢI PHÁP TỐI ƯU HÓA SỰ PHỐI HỢP GIỮA MÁY XÚC VÀ ÔTÔ TRÊN CÁC MỎ LỘ THIÊN 107 3.2.1 Sử dụng chủng loại thiết bị khác 107 3.2.2 Cập nhật cung độ vận tải định kỳ theo bước dịch chuyển gương khai thác 107 3.2.3 Không sử dụng thiết bị cũ 108 3.2.4 Tối ưu hóa sơ đồ xúc bốc nhận tải 108 3.2.5 Tối ưu hóa vận tốc xe chạy (có tải khơng tải) 110 3.2.6 Nâng cao chất lượng đường vận tải 111 3.2.7 Sử dụng chu trình vận tải hở thay cho chu trình vận tải kín 111 3.3 XÂY DỰNG PHƯƠNG PHÁP TỐI ƯU HĨA VÀ CHƯƠNG TRÌNH PHẦN MỀM LỰA CHỌN ĐỒNG BỘ MÁY XÚC - ÔTÔ CHO CÁC MỎ THAN LỘ THIÊN VÙNG QUẢNG NINH 112 3.3.1 Xác định suất máy xúc 112 3.3.2 Xác định suất ôtô 114 v 3.3.3 Tính toán suất đồng 116 3.4 KẾT LUẬN CHƯƠNG 132 CHƯƠNG TÍNH TỐN THỬ NGHIỆM CHO MỘT SỐ MỎ THAN LỘ THIÊN VÙNG QUẢNG NINH BẰNG CHƯƠNG TRÌNH PHẦN MỀM OST 133 4.1 TÍNH TỐN THỬ NGHIỆM KHI XÚC BỐC, VẬN TẢI THAN CHO MỎ THAN CAO SƠN 133 4.1.1 Trường hợp 133 4.1.2 Trường hợp 138 4.1.3 Trường hợp 143 4.1.4 Trường hợp 147 4.2 TÍNH TỐN THỬ NGHIỆM KHI XÚC BỐC, VẬN TẢI ĐẤT ĐÁ BÓC CHO MỎ THAN ĐÈO NAI 151 4.2.1 Trường hợp 151 4.2.2 Trường hợp 155 4.2.3 Trường hợp 159 4.2.4 Trường hợp 164 4.3 KẾT LUẬN CHƯƠNG 167 KẾT LUẬN VÀ KIẾN NGHỊ .169 CÁC CÔNG TRÌNH ĐÃ CƠNG BỐ CỦA NCS Error! Bookmark not defined TÀI LIỆU THAM KHẢO .171 vi KÝ HIỆU VIẾT TẮT ĐBTB Đồng thiết bị DMC Phương pháp Monte Carlo động lực DSMC Phương pháp mô Monte Carlo trực tiếp FRM First Reaction Method HTKT HTKT KMC Phương pháp Monte Carlo động học KSCI Khống sản có ích LATS Luận án Tiến sĩ LP Linear Programming MXTLGN Máy xúc thủy lực gàu ngược NCS Nghiên cứu sinh NPV Giá trị thực OST Tối ưu hóa phối hợp máy xúc ôtô PDF Hàm mật độ xác suất QMC Phương pháp Monte Carlo lượng tử RNG Nguồn phát số ngẫu nhiên RSM Phương pháp lựa chọn ngẫu nhiên TH Trường hợp THĐ Tổ hợp đồng thiết bị bóc đất đá THT Tổ hợp đồng thiết bị khai thác than TKV Tập đồn Cơng nghiệp Than - Khống sản Việt Nam VLXD Vật liệu xây dựng vii DANH MỤC CÁC BẢNG BIỂU Bảng 1.1 Tổng hợp yếu tố đất đá, vỉa than mỏ than lộ thiên vùng Quảng Ninh .10 Bảng 1.2 Một số tiêu kỹ thuật mỏ than lộ thiên lớn vùng Quảng Ninh .11 Bảng 1.3 Các thông số HTKT mỏ than lộ thiên vùng Quảng Ninh 12 Bảng 1.4 Nhu cầu sử dụng thiết bị chủ yếu mỏ than Đèo Nai 13 Bảng 1.5 Các thiết bị xúc bốc sử dụng mỏ than Đèo Nai 14 Bảng 1.6 Khối lượng đất bóc suất thiết bị xúc bốc 17 Bảng 1.7 Các tiêu đất đá thông số xúc bốc mỏ than Đèo Nai 18 Bảng 1.8 Tổng hợp số lượng máy xúc sử dụng mỏ than Cao Sơn .20 Bảng 1.9 Năng suất loại máy xúc sử dụng mỏ than Cao Sơn .24 Bảng 1.10 Các thiết bị xúc bốc sử dụng mỏ than Cọc Sáu 25 Bảng 1.11 Khối lượng mỏ cần xúc bốc mỏ than Cọc Sáu 27 Bảng 1.12 Năng suất loại máy xúc sử dụng mỏ than Cọc Sáu 27 Bảng 1.13 Khối lượng vận tải hàng năm mỏ than Đèo Nai theo thiết kế 31 Bảng 1.14 Số lượng ôtô vận tải mỏ than Đèo Nai (2016) 33 Bảng 1.15 Năng suất vận tải mỏ than Đèo Nai (2016) 34 Bảng 1.16 Số lượng tình trạng ôtô sử dụng mỏ than Cao Sơn năm 2016 36 Bảng 1.17 Năng suất làm việc loại ôtô mỏ than Cao Sơn 38 Bảng 1.18 Thiết bị mỏ than Cọc Sáu tính đến năm 2016 41 Bảng 1.19 Năng suất thiết bị vận tải mỏ than Cọc Sáu năm 2016 43 Bảng 1.20 Các đồng máy xúc - ôtô bóc đất đá .47 Bảng 1.21 Các đồng máy xúc - ôtô khai thác than .47 Bảng 2.1 Các thông số kinh tế - kỹ thuật máy xúc ôtô 55 Bảng 2.2 Các tiêu phân tích tình hình hoạt động máy xúc ôtô .57 Bảng 2.3 Các tiêu số lượng độ tin cậy ôtô - máy xúc mỏ lộ thiên Việt Nam 59 viii Bảng 2.4 Các biến số ngẫu nhiên tìm theo phân phối 78 Bảng 3.1 Xác định giá trị Krg theo E dtb 114 Bảng 3.2 Xác định giá trị Kxđ theo E dtb 114 Bảng 4.1 Tổng hợp số lượng máy xúc sử dụng mỏ than Cao Sơn 138 Bảng 4.2 Số lượng tình trạng ơtơ sử dụng mỏ than Cao Sơn năm 2016 138 Bảng 4.3 Tổng hợp số lượng máy xúc sử dụng mỏ than Đèo Nai 155 Bảng 4.4 Số lượng tình trạng ôtô sử dụng mỏ than Đèo Nai năm 2016 156 ix PHỤ LỤC (Mã code lập trình phần mềm OST trường hợp 2) Tct = S * 60 / Vct; Tkt = S * 60 / Vkt; for (int i = 0; i < arrRowMayxuc.Count(); i++) { DataRow drMayxuc = arrRowMayxuc[i]; E = (decimal)drMayxuc["DungtichGauxuc"]; Krg = getKrgKxdByE("krg", E); Kxd = getKrgKxdByE("kxd", E); if (Krg == || Kxd == 0) { continue; } Kcn = (decimal)drMayxuc["HesoSudungCongnghe"]; Kx = Kxd / Krg; Tq = (decimal)Math.Pow( ((Math.Pow((double)((decimal)3.5 * (decimal)E (decimal)0.42 * (decimal)Math.Pow((double)E, 2)), (double)5 / 3) * Math.Pow((double)B, 2)) / (double)E), (double)1 / 3); Tx = ((194 * Dm * Dm) / E) + (E / ((decimal)0.11 * E + (decimal)0.6)); Tc = Tx + Tq + Tdx; Qkt = (3600 * E * Kx * Kcn) / Tc; 189 + Qca = Qkt * Tca * Nt; Qnx = Qca * n * N; Nx = Convert.ToInt32(Math.Ceiling((Am * Kdt) / Qnx)); DataRow drKetqua = _dtKetqua.NewRow(); for (int j = 0; j < arrRowOto.Count(); j++) { DataRow drOto = arrRowOto[j]; q0 = (decimal) drOto["TaitrongXe"]; V0 = (decimal) drOto["DungtichThungXe"]; if (Y < q0/V0) { ng = Convert.ToInt32(Math.Ceiling((V0 * Kl) / (Kxd * E))); Kvo = ng * E * Kxd * Kl / V0; } else { ng = Convert.ToInt32(Math.Ceiling((q0 * Krg) / (Kxd * E * Y))); Kq = (ng * E * Kxd * Y) / (q0 * Krg); } Tnt = ng * Tc / 3600; Tnt = Tnt * 60; Tco = Tnt + Tct + Tkt + Tdo + Tm + Tg; if (Y < q0/V0) { 190 Qo = (60*V0*Kvo*Tca*Nt) / Tco; } else { Qo = (60*q0*Kq*Tca*Nt) / (Y * Tco); } if (isChuTrinhKin) { No = 0; { No++; } while (Qca >= Qo * No); No ; if (No == 0) { No = 1; } Nom = No*Nx; Adb = Qca / (Qo * No); Qdb = Qo * No; } else { Qx = Qnx * Nx; if (Y < q0 / V0) { 191 Qon = Qo * n * N; } else { Qon = Y * Qo * n * N; } No = Convert.ToInt32(Math.Ceiling((Am * Kdt) / Qon)); Qot = Qon * No; Adb = Qx / Qot; Qdb = Qot; } countSoCap++; if (Adb >= && (countSoCapMax == || Adb < AdbMin)) { countSoCapMax++; AdbMin = Adb; QdbMin = Qdb; NxMax = Nx; if (isChuTrinhKin) { NoMax = Nom; } else { NoMax = No; } _idMayxucMax = drMayxuc["ID"].ToString(); _idOtoMax = drOto["ID"].ToString(); 192 mahieuMayxucMax = drMayxuc["Mahieu"].ToString(); mahieuOtoMax = drOto["Mahieu"].ToString(); sttCapMax = countSoCap.ToString(); } drKetqua["ID"] = drMayxuc["ID"].ToString(); drKetqua["title"] = drMayxuc["Mahieu"].ToString(); drKetqua[drOto["ID"].ToString()] = Math.Round(Adb, 6); } _dtKetqua.Rows.Add(drKetqua); } 193 PHỤ LỤC (Mã code lập trình phần mềm OST trường hợp 3) Tct = S * 60 / Vct; Tkt = S * 60 / Vkt; for (int i = 0; i < arrRowMayxuc.Count(); i++) { DataRow drMayxuc = arrRowMayxuc[i]; E = (decimal)drMayxuc["DungtichGauxuc"]; Krg = getKrgKxdByE("krg", E); Kxd = getKrgKxdByE("kxd", E); if (Krg == || Kxd == 0) { continue; } Kcn = (decimal)drMayxuc["HesoSudungCongnghe"]; Kx = Kxd / Krg; Tq = (decimal)Math.Pow( ((Math.Pow((double)((decimal)3.5 * (decimal)E + (decimal)0.42 * (decimal)Math.Pow((double)E, 2)), (double)5 / 3) * Math.Pow((double)B, 2)) / (double)E), (double)1 / 3); Tx = ((194 * Dm * Dm) / E) + (E / ((decimal)0.11 * E + (decimal)0.6)); Tc = Tx + Tq + Tdx; 194 Qkt = (3600 * E * Kx * Kcn) / Tc; Qca = Qkt * Tca * Nt; Qnx = Qca * n * N; Nx = Convert.ToInt32(Math.Ceiling((Am * Kdt) / Qnx)); DataRow drKetqua = _dtKetqua.NewRow(); for (int j = 0; j < arrRowOto.Count(); j++) { DataRow drOto = arrRowOto[j]; q0 = (decimal) drOto["TaitrongXe"]; V0 = (decimal) drOto["DungtichThungXe"]; if (Y < q0/V0) { ng = Convert.ToInt32(Math.Ceiling((V0 * Kl) / (Kxd * E))); Kvo = ng * E * Kxd * Kl / V0; } else { ng = Convert.ToInt32(Math.Ceiling((q0 * Krg) / (Kxd * E * Y))); Kq = (ng * E * Kxd * Y) / (q0 * Krg); } Tnt = ng * Tc / 3600; Tnt = Tnt * 60; Tco = Tnt + Tct + Tkt + Tdo + Tm + Tg; 195 if (Y < q0/V0) { Qo = (60*V0*Kvo*Tca*Nt) / Tco; } else { Qo = (60*q0*Kq*Tca*Nt) / (Y * Tco); } if (isChuTrinhKin) { No = 0; { No++; } while (Qca >= Qo * No); No ; if (No == 0) { No = 1; } Nom = No*Nx; Adb = Qca / (Qo * No); Qdb = Qo * No; } else { Qx = Qnx * Nx; 196 if (Y < q0 / V0) { Qon = Qo * n * N; } else { Qon = Y * Qo * n * N; } No = Convert.ToInt32(Math.Ceiling((Am * Kdt) / Qon)); Qot = Qon * No; Adb = Qx / Qot; Qdb = Qot; } countSoCap++; if (Adb >= && (countSoCapMax == || Adb < AdbMin)) { countSoCapMax++; AdbMin = Adb; QdbMin = Qdb; NxMax = Nx; if (isChuTrinhKin) { NoMax = Nom; } else { NoMax = No; 197 } _idMayxucMax = drMayxuc["ID"].ToString(); _idOtoMax = drOto["ID"].ToString(); mahieuMayxucMax = drMayxuc["Mahieu"].ToString(); mahieuOtoMax = drOto["Mahieu"].ToString(); sttCapMax = countSoCap.ToString(); } drKetqua["ID"] = drMayxuc["ID"].ToString(); drKetqua["title"] = drMayxuc["Mahieu"].ToString(); drKetqua[drOto["ID"].ToString()] = Math.Round(Adb, 6); } _dtKetqua.Rows.Add(drKetqua); } 198 PHỤ LỤC (Mã code lập trình phần mềm OST trường hợp 4) Tct = S * 60 / Vct; Tkt = S * 60 / Vkt; for (int i = 0; i < arrRowMayxuc.Count(); i++) { DataRow drMayxuc = arrRowMayxuc[i]; E = (decimal)drMayxuc["DungtichGauxuc"]; Krg = getKrgKxdByE("krg", E); Kxd = getKrgKxdByE("kxd", E); if (Krg == || Kxd == 0) { continue; } Kcn = (decimal)drMayxuc["HesoSudungCongnghe"]; Kx = Kxd / Krg; Tq = (decimal)Math.Pow( ((Math.Pow((double)((decimal)3.5 * (decimal)E + (decimal)0.42 * (decimal)Math.Pow((double)E, 2)), (double)5 / 3) * Math.Pow((double)B, 2)) / (double)E), (double)1 / 3); Tx = ((194 * Dm * Dm) / E) + (E / ((decimal)0.11 * E + (decimal)0.6)); Tc = Tx + Tq + Tdx; Qkt = (3600 * E * Kx * Kcn) / Tc; 199 Qca = Qkt * Tca * Nt; Qnx = Qca * n * N; Nx = Convert.ToInt32(Math.Ceiling((Am * Kdt) / Qnx)); DataRow drKetqua = _dtKetqua.NewRow(); for (int j = 0; j < arrRowOto.Count(); j++) { DataRow drOto = arrRowOto[j]; q0 = (decimal) drOto["TaitrongXe"]; V0 = (decimal) drOto["DungtichThungXe"]; if (Y < q0/V0) { ng = Convert.ToInt32(Math.Ceiling((V0 * Kl) / (Kxd * E))); Kvo = ng * E * Kxd * Kl / V0; } else { ng = Convert.ToInt32(Math.Ceiling((q0 * Krg) / (Kxd * E * Y))); Kq = (ng * E * Kxd * Y) / (q0 * Krg); } Tnt = ng * Tc / 3600; Tnt = Tnt * 60; Tco = Tnt + Tct + Tkt + Tdo + Tm + Tg; if (Y < q0/V0) 200 { Qo = (60*V0*Kvo*Tca*Nt) / Tco; } else { Qo = (60*q0*Kq*Tca*Nt) / (Y * Tco); } if (isChuTrinhKin) { No = 0; { No++; } while (Qca >= Qo * No); No ; if (No == 0) { No = 1; } Nom = No*Nx; Adb = Qca / (Qo * No); Qdb = Qo * No; } else { Qx = Qnx * Nx; if (Y < q0 / V0) 201 { Qon = Qo * n * N; } else { Qon = Y * Qo * n * N; } No = Convert.ToInt32(Math.Ceiling((Am * Kdt) / Qon)); Qot = Qon * No; Adb = Qx / Qot; Qdb = Qot; } countSoCap++; if (Adb >= && (countSoCapMax == || Adb < AdbMin)) { countSoCapMax++; AdbMin = Adb; QdbMin = Qdb; NxMax = Nx; if (isChuTrinhKin) { NoMax = Nom; } else { NoMax = No; } 202 _idMayxucMax = drMayxuc["ID"].ToString(); _idOtoMax = drOto["ID"].ToString(); mahieuMayxucMax = drMayxuc["Mahieu"].ToString(); mahieuOtoMax = drOto["Mahieu"].ToString(); sttCapMax = countSoCap.ToString(); } drKetqua["ID"] = drMayxuc["ID"].ToString(); drKetqua["title"] = drMayxuc["Mahieu"].ToString(); drKetqua[drOto["ID"].ToString()] = Math.Round(Adb, 6); } _dtKetqua.Rows.Add(drKetqua); } 203