Luận văn Đánh giá hiệu quả các ngành kinh tế Việt Nam giai đoạn 2000-2008 bằng mô hình toán học

Mô hình IO (Input-Output), là một trong các mô hình toán học được sử dụng để phân tích và dự báo kinh tế. So với các mô hình kinh tế lượng khác, mô hình IO phản ánh được mối quan hệ giữa các ngành kinh tế. Vì vậy mô hình này IO đang ngày càng được ứng dụng rộngrãi trong phân tích và dự báo kinh tế ở nhiều nước trên thế giới trong đó có Việt Nam.

pdf99 trang | Chia sẻ: lylyngoc | Lượt xem: 2557 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Luận văn Đánh giá hiệu quả các ngành kinh tế Việt Nam giai đoạn 2000-2008 bằng mô hình toán học, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
trọng xuất khẩu lớn, % Giai đoạn 2000- 2007 Giai đoạn 2000- 2007 Giai đoạn 1996- 2000 Giai đoạn 2000- 2007 ISFDE ISIDE ISFDE ISIDE TCE CFE TCE CFE N5 -125,44 -21,90 0.67 0.41 901,00 -614,73 6,13 -31,33 N8 -88,73 -31,12 8.23 4.40 -29,05 192,49 -5,41 -141,90 N10 -0,43 -0,90 -0.49 -0.71 -0,57 1,75 8,52 6,72 N17 8,67 11,90 -0.22 0.23 274,57 -54,46 1,14 -0,64 N21 17,21 21,20 105.52 -92.15 -5,70 8,47 25,36 -76,86 N30 -4,37 -6,32 -229.14 53.33 5,03 0,74 -8,69 -69,73 N31 63,61 9,70 -88.95 -32.59 0,23 6,98 56,08 59,96 N32 12,73 8,13 171.17 -109.23 3,62 0,31 0,71 -26,96 Nguồn: Tính toán của tác giả. Bảng 16: Đóng góp của các thành phần cầu đối với sự gia tăng đầu ra của các sản phẩm phục vụ thị trường tiêu dùng nội địa, % Giai đoạn 1996-2000 Giai đoạn 2000-2007 EE CPE EE CPE Chế biến bảo quản thịt và các sản phẩm từ thịt; Dầu mỡ thực vật, động vật; Sản phẩm bơ sữa; Bánh, mứt, kẹo, ca cao, sôcôla (N4) 41,95 54,59 12,24 77,72 Rượu, bia, nước uống không cồn (N6) -2,53 107,00 30,55 32,58 46 Giai đoạn 1996-2000 Giai đoạn 2000-2007 EE CPE EE CPE Đường các loại (N7) 1,16 100,98 - 50,11 - 173,19 Thuốc lá, thuốc lào (N9) 17,70 61,99 24,94 34,78 Xay xát, chế biến lương thực và thực phẩm khác (N11) 11,78 52,01 89,09 81,12 Giấy, các sản phẩm từ giấy (N16) 42,59 34,87 41,26 38,38 Dược phẩm (N20) 23,93 83,70 22,24 30,45 Xà phòng, các chất tẩy (N22) 7,36 49,36 -1,90 55,38 Sản phẩm công nghiệp khác (chế biến thức ăn gia súc, sản phẩm công nghiệp in, sản phẩm công nghiệp khác còn lại) (N33) 201,33 -32,33 69,77 76,86 Sản phẩm của nhà xuất bản (N34) 48,43 88,50 9,55 75,49 Nguồn: Tính toán của tác giả. Bảng 16 (tiếp): Đóng góp của các thành phần cầu đối với sự gia tăng đầu ra của các sản phẩm phục vụ thị trường tiêu dùng nội địa, % Giai đoạn 1996-2000 Giai đoạn 2000-2007 Giai đoạn 1996-2000 Giai đoạn 2000-2007 ISFDE ISIDE ISFDE ISIDE TCE CFE TCE CFE N4 1,74 -0,74 12,71 3,87 -0,93 2,42 11,48 -15,73 N6 -8,55 -1,17 -3,68 -0,06 0,77 4,11 1,73 38,66 N7 1,27 0,22 -20,54 6,36 -5,52 -1,35 -4,19 344,60 N9 -43,51 -19,93 16,46 0,98 86,84 5,94 -8,40 29,58 N11 9,86 -0,52 2,25 -5,05 16,04 11,48 72,09 -137,85 N16 -9,25 -0,54 2,13 0,40 17,23 13,87 9,08 3,84 N20 -16,76 -4,78 5,27 3,47 -21,53 18,41 22,66 11,04 N22 32,07 5,13 -92,78 138,72 5,09 0,95 -124,10 125,05 N33 -20,60 -163,01 5,97 18,02 132,08 -19,20 -34,46 -40,80 47 Giai đoạn 1996-2000 Giai đoạn 2000-2007 Giai đoạn 1996-2000 Giai đoạn 2000-2007 ISFDE ISIDE ISFDE ISIDE TCE CFE TCE CFE N34 -118,23 -96,86 -17,75 -1,24 175,33 -91,94 -10,26 1,97 Nguồn: Tính toán của tác giả. Bảng 17: Đóng góp của các thành phần cầu đối với sự gia tăng đầu ra của các sản phẩm vật liệu xây dựng, % Giai đoạn 1996-2000 Giai đoạn 2000-2007 EE CPE EE CPE Gạch ngói (các loại) (N13) 3,90 8,45 -1550,5 -314,30 Xi măng (N14) 8,00 5,64 46,42 6,77 Vật liệu xây dựng khác (N15) -22,08 -10,78 92,05 12,71 Nguồn: Tính toán của tác giả. Bảng 17 (tiếp): Đóng góp của các thành phần cầu đối với sự gia tăng đầu ra của các sản phẩm vật liệu xây dựng, % Giai đoạn 1996-2000 Giai đoạn 2000-2007 Giai đoạn 1996-2000 Giai đoạn 2000-2007 ISFDE ISIDE ISFDE ISIDE TCE CFE TCE CFE N13 -2,42 -20,82 372,67 -172,41 71,10 41,34 611,08 1206,27 N14 -1,21 11,43 -1,25 1,04 25,45 52,40 7,07 38,86 N15 2,25 13,64 32,76 15,39 134,12 -18,37 23,31 -11,07 Nguồn: Tính toán của tác giả. - Nhóm các sản phẩm công nghiệp hóa chất: + Do nhóm sản phẩm này chủ yếu được sử dụng cho chi phí trung gian nên các nhân tố thay thế nhập khẩu và xuất khẩu (phục vụ đầu vào trung gian của nước nhập khẩu) là các nhân tố chính quyết định sự mở rộng sản lượng của nhóm này. Nhân tố xuất khẩu (EE) có đóng góp khá cao trong giai đoạn 2000- 2007 ở tất cả các sản phẩm thuộc nhóm này. Nếu các tính toán của Đề tài cũng như chất lượng các bảng IO là chính xác, đáng tin cậy thì kết quả này có nghĩa rằng việc đầu tư vào các ngành công nghiệp hóa chất của Việt Nam thời gian vừa qua đã phần nào tạo ra được năng lực cạnh tranh. + Kết quả trong các bảng dưới đây cho thấy Việt Nam đã thay thế nhập khẩu cho tiêu dùng cuối cùng (ISFDE) và tiêu dùng trung gian (ISIDE) của hầu hết các sản phẩm hóa chất như hóa chất vô cơ, phân bón, chất dẻo nhưng vẫn phải nhập khẩu hoàn toàn xăng cho tiêu dùng trung gian. Do bảng IO 2007 đã được tiến hành điều tra trước khi Nhà máy lọc hóa dầu Dung Quất đi vào hoạt 48 động nên kết quả này sẽ không phản ánh thực tiễn kinh tế nước ta trong những năm tới đây. Bảng 18: Đóng góp của các thành phần cầu đối với sự gia tăng đầu ra của các sản phẩm công nghiệp hóa chất, % Giai đoạn 1996-2000 Giai đoạn 2000-2007 EE CPE EE CPE Hóa chất hữu cơ và vô cơ căn bản (N18) 425,66 216,95 44,48 12,08 Phân bón, thuốc trừ sâu (N19) 9,87 14,52 71,36 16,80 Chất dẻo, các sản phẩm làm từ chất dẻo (N23) 13,05 5,90 41,86 14,28 Sản phẩm hóa chất khác (N24) -254,92 -304,22 39,53 11,41 Xăng, dầu mỡ (N35) 74,53 7,83 402,64 - 51,89 Nguồn: Tính toán của tác giả. Bảng 18 (tiếp): Đóng góp của các thành phần cầu đối với sự gia tăng đầu ra của các sản phẩm công nghiệp hóa chất, % Giai đoạn 1996-2000 Giai đoạn 2000-2007 Giai đoạn 1996-2000 Giai đoạn 2000-2007 ISFDE ISIDE ISFDE ISIDE TCE CFE TCE CFE N18 53,85 -79,82 13,68 6,49 -504,45 -64,24 -1,21 22,67 N19 7,51 80,96 10,33 -5,54 -16,22 7,23 19,02 -12,45 N23 0,80 28,09 24,61 10,72 30,31 26,25 -9,17 19,64 N24 149,02 1746,28 9,57 6,82 -557,17 -519,95 4,16 29,52 N35 -3,60 -12,79 -46,70 -203,06 30,55 5,67 14,35 -31,57 Nguồn: Tính toán của tác giả. Nhìn chung đóng góp của nhân tố thay thế hệ số kỹ thuật (TCE) của nhóm ngành này là thấp ở cả hai giai đoạn 1996-2000 và 2000-2007. Riêng các ngành phân bón, thuốc trừ sâu và xăng dầu mỡ có sự cải tiến đáng kể về vai trò của nhân tố thay thế hệ số kỹ thuật là nhờ Việt Nam đã đầu tư xây dựng các tổ hợp khí điện đạm ở phía Nam. Như vậy, việc gia tăng đầu tư của Việt Nam trong giai đoạn 2000-2007 đã có những đóng góp nhất định cho tiến bộ công nghệ ở một số ngành. 49 Nhóm các sản phẩm công nghiệp nặng và máy móc thiết bị: Đây là nhóm chiếm tỉ trọng trong mở rộng sản lượng đầu ra và VA lớn nhất trong nhóm ngành công nghiệp chế tác. Động lực cho sự mở rộng này tập trung ở các nhân tố tích lũy vốn, xuất khẩu và thay thế nhập khẩu. Bảng 19: Đóng góp của các thành phần cầu đối với sự gia tăng đầu ra của các sản phẩm công nghiệp nặng và máy móc thiết bị, % Giai đoạn 1996-2000 Giai đoạn 2000-2007 EE CPE EE CPE Các sản phẩm khác bằng kim loại (dụng cụ y tế, thiết bị chính xác quang học, đồng hồ các loại, dụng cụ gia đình, mô tô xe máy, xe đạp và các máy móc thông dụng khác) (N25) 22,98 10,24 -300,04 -72,33 Chế tạo máy (máy công cụ, máy chuyên dùng, ô tô các loại và thiết bị vận tải khác) (N26) 79,25 4,53 24,38 4,91 Các sản phẩm điện, điện tử (máy móc thiết bị điện, máy móc thiết bị truyền thanh, truyền hình và thông tin) (N27) 90,42 -12,67 7,83 17,12 Luyện kim đen và các sản phẩm bằng kim loại đen đúc sẵn (trừ máy móc, thiết bị) (N28) 29,66 5,71 46,56 6,23 Luyện kim màu và các sản phẩm bằng kim loại màu đúc sẵn (trừ máy móc, thiết 77,61 9,33 36,07 5,72 50 Giai đoạn 1996-2000 Giai đoạn 2000-2007 EE CPE EE CPE bị) (N29) Nguồn: Tính toán của tác giả. Bảng 19 (tiếp): Đóng góp của các thành phần cầu đối với sự gia tăng đầu ra của các sản phẩm công nghiệp nặng và máy móc thiết bị, % Giai đoạn 1996-2000 Giai đoạn 2000-2007 Giai đoạn 1996-2000 Giai đoạn 2000-2007 ISFDE ISIDE ISFDE ISIDE TCE CFE TCE CFE N25 33,91 38,07 232,76 -122,3 6,73 5,09 113,86 227,29 N26 -6,81 -4,98 18,45 0,38 -1,45 27,74 -1,90 53,55 N27 -4,63 -7,04 50,07 10,98 13,07 20,34 -1,56 16,94 N28 7,17 37,48 6,44 -23,46 -5,00 28,34 15,19 46,63 N29 6,69 29,29 3,28 1,00 -34,23 20,05 3,74 51,40 Nguồn: Tính toán của tác giả. + Do sản phẩm đầu ra của nhóm ngành này được đưa vào tích lũy nên nhân tố tích lũy vốn giữ vai trò quan trọng nhất. Tác động của nhân tố này trong giai đoạn 2000-2007 mạnh hơn nhiều giai đoạn 1996-2000. Điều này là hoàn toàn phù hợp với thực tế nền kinh tế đã đang duy trì tốc độ tăng tích lũy vốn khoảng trên 13%/năm. + Tác động của nhân tố thay thế nhập khẩu là khá tích cực, đặc biệt là thay thế nhập khẩu cho tiêu dùng cuối cùng, điển hình là các sản phẩm điện tử và viễn thông. Các giá trị âm của thay thế nhập khẩu cho tiêu dùng trung gian trong các ngành thiết bị chính xác và luyện kim đen là do Việt Nam đang phải nhập khẩu các loại linh kiện có độ phức tạp cao chưa sản xuất được cũng như nhập khẩu phôi thép cho ngành luyện kim. + Trong cơ cấu cầu của nhóm ngành này, nhân tố xuất khẩu chiếm tỉ trọng tương đối cao. Như vậy, Việt Nam đã có khả năng xuất khẩu một vài sản phẩm của ngành thâm dụng vốn. + Tương tự như các nhóm ngành ở trên, đóng góp của nhân tố thay thế hệ số kỹ thuật là rất khiêm tốn trong cả hai giai đoạn 1996-2000 và 2000-2007. 2.3. Kết luận Trong phần này tác giả đã trình bày cơ sở lý thuyết để tính toán ra một số kỹ thuật phân tích kinh tế cơ bản và kỹ thuật phân rã tăng trưởng áp dụng tính toán cho 38 ngành công nghiệp chế tác của Việt Nam trên dữ liệu 3 bảng IO do tổng cục Thống kê đưa ra (Bảng IO 1996, 2000 và 2007). Dựa trên phần lý 51 thuyết đưa ra, tác giả đã xây dựng từng bước tính toán cho ra kết quả để đánh giá quá trình phát triển nghành công nghiệp chế tác trong tổng thể các ngành kinh tế của Việt Nam. Một bất cập trong chương này là quá trình tính toán cho ra kết quả cuối cùng rất lớn và đòi hỏi quá trình tính toán tỷ mỷ mà chưa có công cụ hỗ trợ cho quá trình trên. Đây chính là tiền đề cho tác giả quyết định xây dựng chương trình tin học hỗ trợ cho các nhà kinh tế bằng bảng IO. Hiện tại quá trình tính toán bằng tay (phần mềm hỗ trợ là Excel) đang có một số hạn chế sau: 1. Quá trình nhóm gộp các ngành từ các bảng IO về số ngành mình cần nghiên cứu rất vất vả và không thuận tiện cho quá trình làm việc (Nhất là nhóm gộp thành số ngành bất kỳ theo hướng nghiên cứu). 2. Đòi hỏi các bước tính toán lớn, rất mất thời gian và công sức, đặc biệt có thể nhầm lẫn cao trong quá trình tính toán kết quả phân tích. Trong chương tiếp theo, luận văn sẽ vận dụng các phương pháp tính ở phần trên để xây dựng chương trình Đánh giá hiệu quả các ngành kinh tế Việt Nam bằng các bảng IO. 52 CHƯƠNG III: XÂY DỰNG CHƯƠNG TRÌNH ĐÁNH GIÁ HIỆU QUẢ CÁC NGÀNH KINH TẾ VIỆT NAM BẰNG MÔ HÌNH IO Các nội dung của Chương I và Chương II đã cung cấp những khái niệm cơ bản về mô hình IO, những kỹ thuật phân tích trên bảng IO và ứng dụng cho phân tích trong 38 ngành công nghiệp chế tác của Việt Nam. Trong chương này tác giả sẽ trình bầy việc xây dựng chương trình tin học nhằm tự động hóa quá trình tính toán của các nhà phân tích kinh tế bằng mô hình IO. 3.1. Xác định bài toán Hiện tại các nhà phân tích kinh tế bằng mô hình IO chưa có công cụ hỗ trợ cho phân tích các ngành kinh tế, các nhà phân tích muốn phân tích đánh giá một số ngành trong tổng thể nền kinh tế đều phải làm bằng tay, phần mềm hỗ trợ cho quá trình tính toán chỉ là phần mềm Excel dẫn đến một số hạn chế sau: - Quá trình nhóm gộp các ngành từ các bảng IO về số ngành cần nghiên cứu rất vất vả và không thuận tiện cho quá trình làm việc (Nhất là nhóm gộp thành số ngành bất kỳ theo hướng nghiên cứu). - Đòi hỏi các bước tính toán lớn, rất mất thời gian và công sức, đặc biệt có thể nhầm lẫn cao trong quá trình tính toán kết quả phân tích. Từ những nhu cầu bức thiết trên cần phải xây dựng một chương trình tin học giúp tự động hóa quá trình phân tích, quá trình nhóm gộp các ngành 3.2. Phân tích bài toán Chương trình tin học phải đáp ứng được các yêu cầu sau: o Xây dựng chương trình cho phép quá trình nhóm gộp các ngành từ các bảng IO về số ngành bất kỳ. o Xây dựng được các phương pháp phân tích cơ bản dựa vào dữ liệu đầu vào là các bảng IO. o Xây dựng phương pháp kỹ thuật phân rã tăng trưởng. Đây là một trong những kỹ thuật rất phức tạp đòi hỏi quá trình tính toán công phu và mất thời gian. o Một số tính năng hỗ trợ (Cho phép đưa giữ liệu từ Excel vào hệ thống, sau khi phân tích ra kết quả thì xuất ra Excel …). 3.3. Mô hình nghiệp vụ của hệ thống Một số ký pháp được sử dụng trong mô hình nghiệp vụ: 53 Ký hiệu Giải thích Tên hệ thống, hoặc tên tiến trình (Hay còn gọi là chức năng): được biểu diễn bởi một oval trên có chỉ số, bên dứơi là tên của chức năng đó. Tên tác nhân:tác nhân được vẽ bằng một hình chữ nhật, bên trong có tên tác nhân. Các luồng dữ liệu: được vẽ trong dưới dạng một mũi tên, trên đó có viết tên của luồng dữ liệu. Các kho dữ liệu: được vẽ trong một dưới dạng 2 đoạn thẳng nằm ngang, kẹp giữa tên của kho dữ liệu.  Kho dữ liệu (data store) Một kho dữ liệu (đơn hay có cấu trúc) được lưu lại, để có thể được truy nhập nhiều lần về sau. Tên của kho dữ liệu phải là một danh từ, kèm theo tính ngữ nếu cần, cho phép hiểu một cách vắn tắt nội dung của dữ liệu được lưu giữ.  Luồng dữ liệu là một tuyến truyền dẫn thông tin vào hay ra một chức năng nào đó. Tên luồng dữ liệu phải là một danh từ, kèm thêm tính ngữ nếu cần, cho phép hiểu vắn tắt nội dung của dữ liệu được chuyển giao.  Tiến trình (process) là một quá trình biến đổi dữ liệu (thay đổi giá trị, cấu trúc, vị trí của một dữ liệu, hoặc từ một số dữ liệu đã cho, tạo ra một dữ liệu mới). Tên tiến trình (chức năng) phải là một động từ, có thêm bổ ngữ nếu cần, cho phép hiểu một cách vắn tắt chức năng (tiến trình) làm gì.  Tác nhân (actor: Một đối tác) (còn gọi là tác nhân ngoài, hay điểm mút) là một thực thể ngoài hệ thống, có trao đổi thông tin với hệ thống. Tên đối tác phải là một danh từ, cho phép hiểu vắn tắt đối tác là ai, hoặc là gì (người, tổ chức, thiết bị, tệp, v.v..). 3.3.1. Các chức năng nghiệp vụ 3.3.1.1. Chức năng nhập, sửa đổi bảng IO Chức năng này cho phép người dùng có thể nhập hoặc sửa đổi tên các bảng IO, các ngành và dữ liệu ngành của bảng. Bảng IO có thể do Tổng cục thống kê điều tra, xây dựng hoặc bảng IO do người dùng tạo ra để phân tích, 54 đánh giá các ngành theo tiêu chí riêng của người sử dụng. Chức năng này mục đích đưa các bảng IO và dữ liệu bảng IO vào trong cơ sở dữ liệu để lưu trữ phục vụ cho mục đích sử dụng lâu dài. Chức năng này phải hỗ trợ cho người sử dụng 2 nhiệm vụ sau:  Cho phép nhập, sửa đổi bảng IO, các ngành và dữ liệu các ngành của bảng IO bằng tay.  Cho phép đưa các ngành, dữ liệu ngành từ bảng Excel vào hệ thống. Giúp cho quá trình nhập liệu được nhanh chóng, chính xác và hiệu quả. 3.3.1.2. Chức năng tìm kiếm bảng IO Chức năng này cho phép người dùng có thể tìm kiếm các bảng IO có trong hệ thống một cách nhanh chóng theo các tiêu chí:  Đưa ra tất cả các bảng IO?  Đưa ra các bảng IO có tên tìm kiếm?  Đưa ra các bảng IO theo năm công bố?  Đưa ra các bảng IO do tổng cục thống kê đưa ra hay không? 3.3.1.3. Chức năng xóa bảng IO Chức năng này cho phép người dùng có thể xóa các bảng IO trong hệ thống. 3.3.1.4. Chức năng nhóm gộp các ngành Chức năng này cho phép người dùng có thể nhóm góp các ngành về ngành cần nghiên cứu một cách nhanh chóng hiệu quả. Hỗ trợ cho người sử dụng có thể lựa chọn một hoặc nhiều ngành trong bảng IO để gộp thành 1 ngành. Các ngành khi lựa chọn sẽ có chú thích mô tả các ngành để tiện cho quá trình hình dung về các ngành gộp. Chức năng gộp ngành sẽ có nhiệm vụ sau:  Lấy thông tin các ngành của bảng IO lựa chọn để gộp hiện thị lên màn hình để người sử dụng nhóm gộp.  Sau khi lựa chọn xong tiến hành quá trình tự động tính toán để gộp các ngành lựa chọn về ngành cần nghiên cứu. 3.3.1.5. Chức năng các kỹ thuật phân tích Chức năng này hỗ trợ người dùng các kỹ thuật phân tích giảm bớt gánh nặng tính toán. Quá trình phân tích tự động đưa đầu vào là các bảng IO sẽ cho kết quả phân tích theo các kỹ thuật phân tích được tác giả xây dựng. Bao gồm các kỹ thuật phân tích sau:  Kỹ thuật tính tỷ lệ VA/GO 55  Kỹ thuật các tỷ lệ thành phần của VA  Kỹ thuật đo lường đóng góp của nhân tố lao động vào giá trị gia tăng (VA) của ngành  Kỹ thuật tỉ trọng đóng góp của các ngành vào giá trị gia tăng (VA)  Kỹ thuật ma trận hệ số kỹ thuật A(ij)  Kỹ thuật tỉ lệ chi phí trung gian của ngành  Ma trận Leontief o Hệ số nhân tử đầu ra - Output Multiplier o Hệ số nhân tử đầu vào - Input Multiplier  Kỹ thuật phân rã tăng trưởng 3.3.2. Sơ đồ ngữ cảnh của hệ thống Hình 3.1. Sơ đồ ngữ cảnh của hệ thống Nhập bảng IO gộp cần phân tích Người dùng 0 Hệ thống đánh giá hiệu quả các ngành KTVN Kết quả tìm kiếm Nhóm gộp các ngành Thông tin tìm kiếm Kết quả phân tích Kết quả nhóm gộp Tổng cục thống kê Dữ liệu bảng IO chuẩn Các kỹ thuật phân tích 56 3.3.3. Mô hình hóa quá trình xử lý Hình 3.2. Mô hình hóa quá trình xử lý 1.0 Nhập bảng IO 2.0 Tìm kiếm bảng IO Bảng IO Bảng dữ liệu Bảng ngành Người dùng Nhập bảng IO Người dùng Tìm kiếm bảng IO Người dùng Lựa chọn kỹ thuật phân tích 3.0 Các kỹ thuật phân tích bảng IO Kết quả tìm kiếm 57 3.4. Mô hình kiến trúc hệ thống Hình 3.3. Mô hình kiến trúc hệ thống 3.4. Xây dựng chương trình 3.4.1. Xây dựng các hàm cho hệ thống Để xây dựng chương trình tác giả đã tiến hành xây dựng các hàm, các module xử lý các quá trình tính toán của hệ thống: Truy nhập hệ thống Thực đơn chính Hệ thống Thanh công cụ Trợ giúp Nhập bảng IO Toolbar Statusbar Hướng dẫn Tác giả Tìm kiếm IO Các kỹ thuật phân tích Thoát Tỷ lệ VA/GO Các tỷ lệ thành phần VA Đo lường đóng gớp nhân tố ld VA Tỷ lệ đóng góp các ngành vào VA Ma trận hệ số kỹ thuật Tỷ lệ chi phí trung gian của ngành Ma trận Leontief Các phân tích từ ma trận Leontief Kỹ thuật phân rã tăng trưởng 58  Các hàm sử dụng chung lặp lại trong nhiều bước tính toán trung gian như cộng, trừ, nhân và nghịch đảo ma trận (Chi tiết code các hàm này được trình bày trong PHỤ LỤC của luận văn). o Hàm nhân hai ma trận: Hàm này dùng để tính tích 2 ma trận với nhau. Đầu vào và đầu ra của hàm được mô tả bởi bảng sau: Đầu vào Biến đầu vào Kiểu dữ liệu Mô tả A[,] Double Mảng ma trận 2 chiều để lưu dữ liệu giá trị xij giá trị hàng i, cột j trong ma trận bảng IO hoặc bước trung gian quá trình tính toán của bảng IO. colA Int Số cột ma trận A rowA Int Số dòng của ma trận A B[,] Double Mảng ma trận 2 chiều để lưu dữ liệu giá trị xij giá trị hàng i, cột j trong ma trận bảng IO hoặc bước trung gian quá trình tính toán của bảng IO. colB Int Số cột ma trận B rowB Int Số dòng của ma trận B Đầu ra Biến đầu ra Kiểu dữ liệu Mô tả C[,] Double Mảng ma trận 2 chiều kết quả của phép nhân 2 ma trận A và B. o Hàm hiệu hai ma trận: Hàm này dùng để tính hiệu 2 ma trận với nhau. Đầu vào và đầu ra của hàm được mô tả bởi bảng sau: Đầu vào Biến đầu vào Kiểu dữ liệu Mô tả A[,] Double Mảng ma trận 2 chiều để lưu dữ liệu giá trị xij giá trị hàng i, cột j trong ma trận bảng IO hoặc bước trung gian quá trình tính toán của bảng IO. colA Int Số cột ma trận A 59 rowA Int Số dòng của ma trận A B[,] Double Mảng ma trận 2 chiều để lưu dữ liệu giá trị xij giá trị hàng i, cột j trong ma trận bảng IO hoặc bước trung gian quá trình tính toán của bảng IO. colB Int Số cột ma trận B rowB Int Số dòng của ma trận B Đầu ra Biến đầu ra Kiểu dữ liệu Mô tả C[,] Double Mảng ma trận 2 chiều kết quả của phép trừ 2 ma trận A và B. o Hàm tổng hai ma trận: Hàm này dùng để tính tổng 2 ma trận với nhau. Đầu vào và đầu ra của hàm được mô tả bởi bảng sau: Đầu vào Biến đầu vào Kiểu dữ liệu Mô tả A[,] Double Mảng ma trận 2 chiều để lưu dữ liệu giá trị xij giá trị hàng i, cột j trong ma trận bảng IO hoặc bước trung gian quá trình tính toán của bảng IO. colA Int Số cột ma trận A rowA Int Số dòng của ma trận A B[,] Double Mảng ma trận 2 chiều để lưu dữ liệu giá trị xij giá trị hàng i, cột j trong ma trận bảng IO hoặc bước trung gian quá trình tính toán của bảng IO. colB Int Số cột ma trận B rowB Int Số dòng của ma trận B Đầu ra Biến đầu ra Kiểu dữ liệu Mô tả C[,] Double Mảng ma trận 2 chiều kết quả của phép cộng 2 ma trận A và B. 60 o Hàm nghịch đảo ma trận: Hàm này dùng để tính nghịch đảo của một ma trận. Đầu vào và đầu ra của hàm được mô tả bởi bảng sau: Đầu vào Biến đầu vào Kiểu dữ liệu Mô tả A[,] Double Mảng ma trận 2 chiều để lưu dữ liệu giá trị xij giá trị hàng i, cột j trong ma trận bảng IO hoặc bước trung gian quá trình tính toán của bảng IO. colA Int Số cột ma trận A rowA Int Số dòng của ma trận A Đầu ra Biến đầu ra Kiểu dữ liệu Mô tả C[,] Double Mảng ma trận 2 chiều kết quả của phép nghịch đảo ma trận A.  Các hàm sử dụng cho các module chương trình (Chi tiết code một số hàm cho module trong PHỤ LỤC của luận văn). o Hàm tính tỷ lệ VA/GO: Hàm này dùng để tính tỷ lệ VA chia cho GO của bảng IO. Đầu vào và đầu ra của hàm được mô tả bởi bảng sau: Đầu vào Biến đầu vào Kiểu dữ liệu Mô tả IO_ID Int Khóa chính của bảng IO cần tính tỷ lệ VA/GO. Đầu ra Biến đầu ra Kiểu dữ liệu Mô tả A[] Double Mảng ma trận 1 chiều A[n] trong đó n là số ngành của bảng IO là kết quả của phép tính tỷ lệ VA/GO theo từng ngành. o Hàm các tỷ lệ thành phần của VA: Hàm này dùng để tính tỷ lệ các tỷ lệ VA của bảng IO. Đầu vào và đầu ra của hàm được mô tả bởi bảng sau: 61 Đầu vào Biến đầu vào Kiểu dữ liệu Mô tả IO_ID Int Khóa chính của bảng IO cần tính tỷ lệ các thành phần VA. Đầu ra Biến đầu ra Kiểu dữ liệu Mô tả A[,] Double Mảng ma trận 2 chiều A[5,n] trong đó n là số ngành của bảng IO là kết quả của phép tính tỷ lệ thành phần VA theo từng ngành. o Hàm đo lường đóng góp của nhân tố lao động vào giá trị gia tăng (VA) của ngành: Hàm này dùng để tính tỷ lệ đóng góp nhân tố lao động vào giá trị ngành của bảng IO. Đầu vào và đầu ra của hàm được mô tả bởi bảng sau: Đầu vào Biến đầu vào Kiểu dữ liệu Mô tả IO_ID Int Khóa chính của bảng IO cần tính tỷ lệ đóng góp nhân tố lao động. Đầu ra Biến đầu ra Kiểu dữ liệu Mô tả A[] Double Mảng ma trận 1 chiều A[n] trong đó n là số ngành của bảng IO là kết quả của phép tính tỷ lệ thành phần VA theo từng ngành. o Hàm tỉ trọng đóng góp của các ngành vào giá trị gia tăng (VA): Hàm này dùng để tính tỷ lệ đóng góp ngành vào VA của bảng IO. Đầu vào và đầu ra của hàm được mô tả bởi bảng sau: Đầu vào Biến đầu vào Kiểu dữ liệu Mô tả IO_ID Int Khóa chính của bảng IO cần tỷ trọng đóng góp ngành vào VA. 62 Đầu ra Biến đầu ra Kiểu dữ liệu Mô tả A[] Double Mảng ma trận 1 chiều A[n] trong đó n là số ngành của bảng IO là kết quả của phép tính tỷ trọng đóng góp ngành vào VA. o Hàm ma trận hệ số kỹ thuật A(ij): Hàm này dùng để tính ma trận Aij ma trận hệ số kỹ thuật của bảng IO. Đầu vào và đầu ra của hàm được mô tả bởi bảng sau: Đầu vào Biến đầu vào Kiểu dữ liệu Mô tả IO_ID Int Khóa chính của bảng IO cần tính ma trận Aij Đầu ra Biến đầu ra Kiểu dữ liệu Mô tả A[,] Double Mảng ma trận 2 chiều A[n,n] trong đó n là số ngành của bảng IO là kết quả của phép tính tỷ lệ giá trị ngành cho giá trị sản xuất (GO). o Hàm tỉ lệ chi phí trung gian của ngành: Hàm này dùng để tính tỷ lệ chi phí trung gian ngành của bảng IO. Đầu vào và đầu ra của hàm được mô tả bởi bảng sau: Đầu vào Biến đầu vào Kiểu dữ liệu Mô tả IO_ID Int Khóa chính của bảng IO cần tính tỷ lệ chi phí trung gian của ngành. Đầu ra Biến đầu ra Kiểu dữ liệu Mô tả A[,] Double Mảng ma trận 2 chiều A[n,n] trong đó n là số ngành của bảng IO là kết quả của phép tính tỷ lệ chi phí trung gian từng ngành của bảng IO. 63 o Hàm ma trận Leontief: Hàm này dùng để tính ma trận Leontief (I-A)-1 của bảng IO. Đầu vào và đầu ra của hàm được mô tả bởi bảng sau: Đầu vào Biến đầu vào Kiểu dữ liệu Mô tả IO_ID Int Khóa chính của bảng IO cần tính ma trận Leontief Đầu ra Biến đầu ra Kiểu dữ liệu Mô tả A[,] Double Mảng ma trận 2 chiều A[n,n] trong đó n là số ngành của bảng IO là kết quả của phép tính ma trận Leontief. o Hàm hệ số nhân tử đầu ra - Output Multiplier: Hàm này dùng để tính nhân tử đầu ra của bảng IO. Đầu vào và đầu ra của hàm được mô tả bởi bảng sau: Đầu vào Biến đầu vào Kiểu dữ liệu Mô tả IO_ID Int Khóa chính của bảng IO hệ số nhân tử đầu ra Đầu ra Biến đầu ra Kiểu dữ liệu Mô tả A[] Double Mảng ma trận 1 chiều A[n] trong đó n là số ngành của bảng IO là kết quả của phép nhân tử đầu ra từ ma trận (I-A)-1 o Hàm hệ số nhân tử đầu vào - Input Multiplier: Hàm này dùng để tính nhân tử đầu vào của bảng IO. Đầu vào và đầu ra của hàm được mô tả bởi bảng sau: Đầu vào Biến đầu vào Kiểu dữ liệu Mô tả IO_ID Int Khóa chính của bảng IO hệ số nhân tử đầu vào 64 Đầu ra Biến đầu ra Kiểu dữ liệu Mô tả A[] Double Mảng ma trận 1 chiều A[n] trong đó n là số ngành của bảng IO là kết quả của phép tính nhân tử đầu vào từ ma trận (I-A)-1  Các module của chương trình. o Module đưa dữ liệu từ Excel vào hệ thống o Module đưa dữ liệu phân tích từ hệ thống ra Excel o Module nhóm gộp các ngành o Module kỹ thuật phân tích cơ bản. Bao gồm các module sau:  Module tính tỷ lệ VA/GO  Module các tỷ lệ thành phần của VA  Module đo lường đóng góp của nhân tố lao động vào giá trị gia tăng (VA) của ngành  Module tỉ trọng đóng góp của các ngành vào giá trị gia tăng (VA)  Module ma trận hệ số kỹ thuật A(ij)  Module tỉ lệ chi phí trung gian của ngành  Module ma trận Leontief  Module hệ số nhân tử đầu ra - Output Multiplier  Module hệ số nhân tử đầu vào - Input Multiplier o Module kỹ thuật phân rã tăng trưởng 3.4.2. Xây dựng các màn hình chức năng cho hệ thống Từ những hàm, module chính ở phần trên ta tiến hành xây dựng chương trình để đáp ứng được các yêu cầu trong phần lý thuyết chương I và chương II. - Xây dựng màn hình cho phép nhập bảng IO. - Xây dựng màn hình tìm kiếm bảng IO. - Xây dựng màn hình cho phép nhóm gộp các ngành trong bảng IO về số ngành nghiên cứu. 65 - Xây dựng màn hình các kỹ thuật phân tích (hiện luận văn đã trình bày 8 kỹ thuật phân tích cơ bản và một kỹ thuật phân tích nâng cao). - Xây dựng màn hình cho phép hỗ trợ đưa dữ liệu từ Excel vào hệ thống để tiến hành phân tích. 3.5. Môi trường thử nghiệm Phần mềm thử nghiệm được xây dựng trên môi trường Microsoft Visual Studio 2008, hệ điều hành Windows XP hoặc Windows Vistar. Ngôn ngữ lập trình: C#.net. Hệ quản trị Cơ sở dữ liệu Microsoft SQL Server 2005. 3.6. Cài đặt chương trình Copy phần mềm Hệ thống đánh giá hiệu quả các ngành kinh tế vào thư mục IOProject trong ổ D. Chạy file D:\IOProject\setup.exe để cài đặt chương trình. 3.7. Dữ liệu đầu vào của hệ thống Đầu vào cho chương trình chính là các bảng IO do cục thống kê đưa ra. Hiện giờ tổng cục thống kê đưa ra 4 bảng IO đã có kết quả điều tra là: - Bảng IO 1996: là bảng IO lần thứ 2 được xây dựng vào năm 1996 với kích cỡ 97 x 97 ngành sản phẩm với kinh phí của Nhà nước và một phần của Ngân hàng phát triển Châu Á (ADB). - Bảng IO 2000: là Bảng IO thứ 3 được xây dựng vào năm 2000 với kích cỡ 112 x 112 ngành sản phẩm. - Bảng IO 2007: là bảng IO thứ 4 được xây dựng năm 2007 với kích cỡ 138 x 138 ngành sản phẩm. Kết quả: Sau khi đưa dữ liệu đầu vào chúng ta tiến hành nhóm gộp các ngành trong các bảng IO về 38 ngành công nghiệp chế tác như mục 2.2.1.1 sử dụng các kỹ thuật phân tích cơ bản và kỹ thuật phân rã tăng trưởng cho kết quả đúng và chính xác như quá trình thực hiện trên Excel một cách nhanh chóng và thuận tiện. 3.8. Một số giao diện thực hiện chương trình Giao diện đăng nhập hệ thống Khi chạy chương trình sẽ hiện thị màn hình đăng nhập hệ thống để nhập user/pass vào hệ thống. 66 Hình 3.4. Giao diện đăng nhập hệ thống Giao diện chính của chương trình Sau khi đăng nhập thành công giao diện chính của chương trình sẽ hiện thị ra như sau: Hình 3.5. Giao diện chính của chương trình Giao diện nhập bảng IO - Nhập bằng tay 67 Hình 3.6. Giao diện nhập bảng IO - Import file từ excel Hình 3.7. Giao diện nhập để cho phép Import từ Excel 68 Hình 3.8. Giao diện Import Ngành và DL ngành từ Excel Giao diện tìm kiếm bảng IO Hình 3.9. Giao diện tìm kiếm bảng IO Giao diện thông tin bảng IO 69 Hình 3.10. Giao diện thông tin bảng IO Giao diện gộp ngành Hình 3.11. Giao diện gộp ngành 70 Giao diện nhập giá trị các ngành (gộp các giá trị các ngành) Hình 3.12. Giao diện nhập hoặc gộp giá trị ngành Giao diện các kỹ thuật phân tích Hình 3.13. Giao diện các kỹ thuật phân tích 71 Hình 3.14 Giao diện kết quả phân tích Giao diện kỹ thuật phân rã tăng trưởng Hình 3.15 Giao diện kỹ thuật phân rã tăng trưởng 3.9. Kết luận Trong chương này tác giả đã trình bày cách xây dựng chương trình tin học để tính toán ra một số kỹ thuật phân tích kinh tế cơ bản và kỹ thuật phân rã tăng trưởng áp dụng tính toán cho 38 ngành công nghiệp chế tác của Việt Nam trên 72 dữ liệu 3 bảng IO do tổng cục Thống kê đưa ra (Bảng IO 1996, 2000 và 2007). Dựa trên phần lý thuyết chương I và chương II đưa ra, tác giả đã xây dựng phần mềm tính toán cho ra kết quả để đánh giá quá trình phát triển nghành công nghiệp chế tác trong tổng thể các ngành kinh tế của Việt Nam. Tác giả đã xây dựng thành công chương trình đánh giá hiệu quả các ngành kinh tế Việt Nam bằng mô hình IO. Chương trình đã đáp ứng được các yêu cầu sau:  Quá trình nhóm gộp các ngành từ các bảng IO về số ngành bất kỳ rất nhanh chóng và thuận tiện.  Xây dựng được các phương pháp phân tích cơ bản dựa vào dữ liệu đầu vào là các bảng IO trước khi đi vào những kỹ thuật phức tạp.  Lập trình kỹ thuật phân rã tăng trưởng đây là một trong những kỹ thuật rất phức tạp đòi hỏi quá trình tính toán công phu và mất thời gian.  Tự động hóa quá trình làm bằng Excel bằng phần mềm lập trình. 73 KẾT LUẬN Mô hình IO (Input-Output), là một trong các mô hình toán học được sử dụng để phân tích và dự báo kinh tế. So với các mô hình kinh tế lượng khác, mô hình IO phản ánh được mối quan hệ giữa các ngành kinh tế. Vì vậy mô hình này IO đang ngày càng được ứng dụng rộng rãi trong phân tích và dự báo kinh tế ở nhiều nước trên thế giới trong đó có Việt Nam. Trên cơ sở tìm hiểu về mô hình IO và ứng dụng mô hình này trong việc phân tích và đánh giá hiệu quả của các ngành Công nghiệp chế tác, tác giả đã đề xuất và xây dựng thành công chương trình tin học giúp tự động hoá quá trình phân tích và đánh giá hiệu quả của các ngành Công nghiệp chế tác bằng ứng dụng mô hình IO. Chương trình tin học này không chỉ giúp các nhà kinh tế học giảm bớt được thời gian tính toán, nâng cao độ chính xác của kết quả phân tích; đưa ra được các kỹ thuật phân tích cơ bản hoặc nâng cao trong phân tích và đánh giá hiệu quả của các ngành công nghiệp chế tác mà còn có thể ứng dụng chương trình này khi tiến hành phân tích, đánh giá hiệu quả của các ngành khác trong nền kinh tế quốc dân. 1. Những kết quả chính đạt được của luận văn Luận văn đã đạt được một số kết quả chính như sau: Tìm hiểu về mô hình IO, các bảng IO và việc ứng dụng mô hình IO trong phân tích và dự báo kinh tế. Thu thập dữ liệu về các bảng IO của nền kinh tế của Việt Nam phục vụ cho việc đánh giá hiệu quả các ngành kinh tế, và phân tích xu hướng phát triển cũng như xác định được những tồn tại của các ngành này. Đã đề xuất và xây dựng chương trình tin học hỗ trợ hoạt động phân tích và dự báo kinh tế dựa vào mô hình IO. Chương trình tin học này được phát triển trong môi trường Microsoft Visual Studio 2008, hệ điều hành Windows XP, hệ quản trị Cơ sở dữ liệu Microsoft SQL Server 2005, ngôn ngữ lập trình: C#.net. 2. Hướng nghiên cứu, mở rộng Tiếp tục hoàn thiện chương trình trên cơ sở mở rộng, phát triển thêm một số kỹ thuật phân tích kinh tế khác dựa vào ứng dụng mô hình IO. 74 TÀI LIỆU KHAM KHẢO Tiếng Việt [1]. Nguyễn Khắc Minh, Nguyễn Việt Hùng và Nguyễn thị Cẩm Vân (2006), “Thay đổi cơ cấu kinh tế theo thời gian tiếp cận từ phí cầu và cung”, Nhà xuất bản Thống kê. [2]. Bùi Bá Cường, Bùi Trinh và Dương mạnh Hùng (2004), "Phương pháp phân tích kinh tế và môi trường thông qua mô hình Input-Output”, Nhà xuất bản Thống kê. [3]. Bộ Công Thương (2007), "Chiến lược tổng thể và chính sách bảo hộ sản xuất công nghiệp trong nước phù hợp các cam kết quốc tế, quy định của WTO giai đoạn đến 2020”, Thư viện Trung tâm Thông tin và Dự báo kinh tế - xã hội quốc gia, Hà Nội. [4]. Bùi Tất Thắng (2006), "Chuyển dịch cơ cấu ngành kinh tế ở Việt Nam”, Nhà xuất bản Khoa học - Xã hội. [5]. PGS.TS. Nguyễn Quang Đông, Ngô Quang Thứ, Hoàng Đình Tuấn (2006), "Giáo trình mô hình toán kinh tế", Nhà xuất bản Thống kê. Tiếng Anh [6]. Erick Dietzen Bacher and Michael Lahr (2001) "Wassily Leontief and I-O Ecomomics" Cambridge University Press. [7]. Miller, Ronald E. and Peter D. Blair (2009) "Input-Output Analysis: Foundations and Extensions", 2nd edition. Cambridge University Press. [8]. Lahr, Michael L. and Erik Dietzenbacher (2001). "Input-Output Analysis: Frontiers and Extensions." Palgrave. [9]. Thijs Ten Raa (2005) "The Economics of Input-Output Analysis" Cambridge University Press. [10]. [11]. [12]. [13]. 75 PHỤ LỤC Hàm tính tích 2 ma trận: public static void Tich2MaTran(double[,] A, int colA, int rowA, double[,] B, int colB, int rowB, ref double[,] C) { // Kiem tra so hang so cot 2 ma tran co bang nhau khong? if (colA != rowB) { MessageBox.Show("Hai ma trận không thỏa mãn điều kiện tính tích 2 ma trận.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } // Tinh tich 2 ma tran for (int i = 0; i < rowA; i++) { for (int j = 0; j < colB; j++) { C[i,j] = 0; for (int k = 0; k < colA; k++) { C[i, j] += A[i, k] * B[k, j]; } C[i, j] = Math.Round(C[i, j], 5); } } } Hàm tính hiệu 2 ma trận: public static void Hieu2MaTran(double[,] A, int colA, int rowA, double[,] B, int colB, int rowB, ref double[,] C) { // Kiem tra so hang so cot 2 ma tran co bang nhau khong? if (colA != colB) { MessageBox.Show("Hai ma trận không có số cột bằng nhau.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } 76 if (rowA != rowB) { MessageBox.Show("Hai ma trận không có số hàng bằng nhau.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } // Tinh hieu 2 ma tran for (int i = 0; i < colA; i++) { for (int j = 0; j < colB; j++) { C[i, j] = Math.Round((A[i, j] - B[i, j]),5); } } } Hàm tính tổng 2 ma trận: public static void Tong2MaTran(double [,] A, int colA, int rowA, double [,] B, int colB, int rowB, ref double[,] C) { // Kiem tra so hang so cot 2 ma tran co bang nhau khong? if ( colA != colB) { MessageBox.Show("Hai ma trận không có số cột bằng nhau.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } if ( rowA != rowB) { MessageBox.Show("Hai ma trận không có số hàng bằng nhau.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } // Tinh tong 2 ma tran for (int i = 0; i < colA; i++) { for (int j = 0; j < colB; j++) { 77 C[i, j] = Math.Round((A[i, j] + B[i, j]),5); } } } Hàm tính nghịch đảo của ma trận: public static bool MaTranNghichDao(double[,] A, int n, ref double[,] C) { bool t, t1; int i = 0; int j = 0; int k = 0; double c; for (i = 0; i < n; i++) { for (j = n; j < (2 * n); j++) { if (j == (i + n)) A[i, j] = 1; else A[i, j] = 0; } //j = j - 1; } i = 0; t1 = true; while ((t1 == true) && (i < n)) { if (A[i, i] == 0) { t = true; k = i + 1; while ((t == true) && (k < n)) { if (A[k, i] != 0) { for (j = 0; j < (2 * n); j++) { 78 c = A[i, j]; A[i, j] = A[k, j]; A[k, j] = c; } t = false; //j = j - 1; } else k = k + 1; } if (k == n) { if (A[i, k - 1] == 0) { MessageBox.Show("Ma trận suy biến.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); t1 = false; return t1; } } } if (A[i, i] != 0) { c = A[i, i]; for (j = i; j < (2 * n); j++) { A[i, j] = Math.Round((A[i, j] / c), 5); } //j = j - 1; } for (k = 0; k < n; k++) { if (k != i) { c = A[k, i]; for (j = i; j < (2 * n); j++) { 79 A[k, j] = Math.Round((A[k, j] - (A[i, j] * c)), 5); } //j = j - 1; } } i = i + 1; } int m; for (i = 0; i < n; i++) { m = 0; for (j = n; j < (2 * n); j++) { C[i, m] = A[i, j]; m++; } } return t1; } } Hàm tính tỷ lệ VA/GO: public static void VA_GO(ref DataGridView grdData, DataGridView grdDataIO) { if (grdDataIO.Rows.Count > 0) { if (grdData.Rows.Count > 0) { double[] arrValue = new double[grdDataIO.Columns.Count - 8]; double _VA = 0; double _GO = 0; for (int i = 0; i < grdDataIO.Columns.Count - 8; i++) { if (grdDataIO.Rows[grdDataIO.Rows.Count - 2].Cells[i].Value != null) { try 80 { _VA = Convert.ToDouble(grdDataIO.Rows[grdDataIO.Rows.Count - 2].Cells[i].Value.ToString()); } catch { } } if (grdDataIO.Rows[grdDataIO.Rows.Count - 1].Cells[i].Value != null) { try { _GO = Convert.ToDouble(grdDataIO.Rows[grdDataIO.Rows.Count - 1].Cells[i].Value.ToString()); } catch { } } if (_GO != 0) arrValue[i] = Math.Round((_VA / _GO), 5); else arrValue[i] = 0; } for (int i = 0; i < grdData.Columns.Count; i++) { grdData.Rows[0].Cells[i].Value = arrValue[i].ToString(); } } } } Hàm tính các tỷ lệ thành phần VA: public static void CacTyLeVA(ref DataGridView grdData, DataGridView grdDataIO) { if (grdDataIO.Rows.Count > 0) { if (grdData.Rows.Count > 0) 81 { double[,] arrValue = new double[5, grdDataIO.Columns.Count - 8]; double _Value = 0; double _GO = 0; double a = 0, b = 0; for (int i = 0; i < 5; i++) { for (int j = 0; j < grdDataIO.Columns.Count - 8; j++) { _Value = 0; _GO = 0; if (grdDataIO.Rows[grdDataIO.Rows.Count - 1].Cells[j].Value != null) { try { _GO = Convert.ToDouble(grdDataIO.Rows[grdDataIO.Rows.Count - 1].Cells[j].Value.ToString()); } catch { } } if (i < 4) { try { _Value = Convert.ToDouble(grdDataIO.Rows[grdDataIO.Rows.Count - (6 - i)].Cells[j].Value.ToString()); } catch{} if (_GO != 0) { arrValue[i, j] = Math.Round(_Value / _GO, 5); } } 82 else { a = 0; b = 0; try { a = Convert.ToDouble(grdDataIO.Rows[grdDataIO.Rows.Count - 2].Cells[j].Value.ToString()); } catch { } try { b = Convert.ToDouble(grdDataIO.Rows[grdDataIO.Rows.Count - 4].Cells[j].Value.ToString()); } catch { } if (_GO != 0) { arrValue[i, j] = Math.Round((a + b) / _GO, 5); } } } } for (int i = 0; i < grdData.Rows.Count; i++) { for (int j = 0; j < grdData.Columns.Count; j++) { grdData.Rows[i].Cells[j].Value = arrValue[i, j].ToString(); } } } } } 83 Hàm đo lường đóng góp của nhân tố lao động vào giá trị gia tăng (VA) của ngành public static void DoLuongDongGop(ref DataGridView grdData, DataGridView grdDataIO) { if (grdDataIO.Rows.Count > 0) { if (grdData.Rows.Count > 0) { double[] arrValue = new double[grdDataIO.Columns.Count - 8]; double _VA = 0; double _Alpha = 0; for (int i = 0; i < grdDataIO.Columns.Count - 8; i++) { if (grdDataIO.Rows[grdDataIO.Rows.Count - 2].Cells[i].Value != null) { try { _VA = Convert.ToDouble(grdDataIO.Rows[grdDataIO.Rows.Count - 2].Cells[i].Value.ToString()); } catch { } } if (grdDataIO.Rows[grdDataIO.Rows.Count - 6].Cells[i].Value != null) { try { _Alpha = Convert.ToDouble(grdDataIO.Rows[grdDataIO.Rows.Count - 6].Cells[i].Value.ToString()); } catch { } } 84 if (_VA != 0) arrValue[i] = Math.Round((_Alpha / _VA), 5); else arrValue[i] = 0; } for (int i = 0; i < grdData.Columns.Count; i++) { grdData.Rows[0].Cells[i].Value = arrValue[i].ToString(); } } } } Hàm tỉ trọng đóng góp của các ngành vào giá trị gia tăng (VA) public static void TyLeDongGop(ref DataGridView grdData, DataGridView grdDataIO) { if (grdDataIO.Rows.Count > 0) { if (grdData.Rows.Count > 0) { double[] arrValue = new double[grdDataIO.Columns.Count - 8]; double _IC = 0; double _VA = 0; for (int i = 0; i < grdDataIO.Columns.Count - 8; i++) { if (grdDataIO.Rows[grdDataIO.Rows.Count - 2].Cells[i].Value != null) { try { _VA = Convert.ToDouble(grdDataIO.Rows[grdDataIO.Rows.Count - 2].Cells[i].Value.ToString()); } catch { } } 85 if (grdDataIO.Rows[grdDataIO.Rows.Count - 2].Cells[grdDataIO.Columns.Count - 8].Value != null) { try { _IC = Convert.ToDouble(grdDataIO.Rows[grdDataIO.Rows.Count - 2].Cells[grdDataIO.Columns.Count - 8].Value.ToString()); } catch { } } if (_IC != 0) arrValue[i] = Math.Round((_VA / _IC)*100, 5); else arrValue[i] = 0; } for (int i = 0; i < grdData.Columns.Count; i++) { grdData.Rows[0].Cells[i].Value = arrValue[i].ToString(); } } } } Hàm ma trận hệ số kỹ thuật A(ij) public static void MaTranHeSoKT(ref DataGridView grdData, DataGridView grdDataIO) { if (grdDataIO.Rows.Count > 0) { if (grdData.Rows.Count > 0) { double[,] arrValue = new double[grdDataIO.Rows.Count -7, grdDataIO.Columns.Count - 8]; double _Sector = 0; double _GO = 0; for (int j = 0; j < grdDataIO.Columns.Count - 8; j++) 86 { if (grdDataIO.Rows[grdDataIO.Rows.Count - 1].Cells[j].Value != null) { try { _GO = Convert.ToDouble(grdDataIO.Rows[grdDataIO.Rows.Count - 1].Cells[j].Value.ToString()); } catch { } } for (int i = 0; i < grdDataIO.Rows.Count - 7; i++) { _Sector = 0; if (grdDataIO.Rows[i].Cells[j].Value != null) { try { _Sector = Convert.ToDouble(grdDataIO.Rows[i].Cells[j].Value.ToString()); } catch { } } if (_GO != 0) arrValue[i,j] = Math.Round((_Sector / _GO), 5); else arrValue[i,j] = 0; } } for (int i = 0; i < grdData.Rows.Count; i++) { for (int j = 0; j < grdData.Columns.Count; j++) { grdData.Rows[i].Cells[j].Value = arrValue[i, j].ToString(); } } 87 } } } Hàm tỉ lệ chi phí trung gian của ngành public static void TyLeChiPhiTG_Nganh(ref DataGridView grdData, DataGridView grdDataIO) { if (grdDataIO.Rows.Count > 0) { if (grdData.Rows.Count > 0) { //Tinh ma tran trung gian (Ma tran he so ky thuat Aij) double[,] arrValueTG = new double[grdDataIO.Rows.Count - 7, grdDataIO.Columns.Count - 8]; double _Sector = 0; double _GO = 0; for (int j = 0; j < grdDataIO.Columns.Count - 8; j++) { if (grdDataIO.Rows[grdDataIO.Rows.Count - 1].Cells[j].Value != null) { try { _GO = Convert.ToDouble(grdDataIO.Rows[grdDataIO.Rows.Count - 1].Cells[j].Value.ToString()); } catch { } } for (int i = 0; i < grdDataIO.Rows.Count - 7; i++) { _Sector = 0; if (grdDataIO.Rows[i].Cells[j].Value != null) { try { 88 _Sector = Convert.ToDouble(grdDataIO.Rows[i].Cells[j].Value.ToString()); } catch { } } if (_GO != 0) arrValueTG[i, j] = Math.Round((_Sector / _GO), 5); else arrValueTG[i, j] = 0; } } // Tinh ty le chi phi trung gian double _Sum = 0; for (int j = 0; j < grdDataIO.Columns.Count - 8; j++) { _Sum = 0; for (int i = 0; i < grdDataIO.Rows.Count - 7; i++) { _Sum += arrValueTG[i, j]; } grdData.Rows[0].Cells[j].Value = _Sum; } } } } Hàm ma trận Leontief public static void MaTranLeontief(ref DataGridView grdData, DataGridView grdDataIO, ref ProgressBar progressBar1) { double[,] A; int m = 0; if (grdDataIO.Rows.Count > 0) { if (grdData.Rows.Count > 0) { //Tinh ma tran trung gian (Ma tran he so ky thuat Aij) 89 double[,] matrixAij = new double[grdDataIO.Rows.Count - 7, grdDataIO.Columns.Count - 8]; double _Sector = 0; double _GO = 0; for (int j = 0; j < grdDataIO.Columns.Count - 8; j++) { progressBar1.PerformStep(); if (grdDataIO.Rows[grdDataIO.Rows.Count - 1].Cells[j].Value != null) { try { _GO = Convert.ToDouble(grdDataIO.Rows[grdDataIO.Rows.Count - 1].Cells[j].Value.ToString()); } catch { } } for (int i = 0; i < grdDataIO.Rows.Count - 7; i++) { _Sector = 0; if (grdDataIO.Rows[i].Cells[j].Value != null) { try { _Sector = Convert.ToDouble(grdDataIO.Rows[i].Cells[j].Value.ToString()); } catch { } } if (_GO != 0) matrixAij[i, j] = Math.Round((_Sector / _GO), 5); else matrixAij[i, j] = 0; } } // Khoi tao ma tran don vi I 90 double[,] matrixI = new double[grdDataIO.Rows.Count - 7, grdDataIO.Columns.Count - 8]; for (int j = 0; j < grdDataIO.Columns.Count - 8; j++) { for (int i = 0; i < grdDataIO.Rows.Count - 7; i++) { if (i == j) matrixI[i, j] = 1; else matrixI[i, j] = 0; } } // Tinh ma tran I-Aij (I la ma tran don vi) double[,] matrixI_Aij = new double[grdDataIO.Rows.Count - 7, grdDataIO.Columns.Count - 8]; for (int i = 0; i < grdDataIO.Rows.Count - 7; i++) for (int j = 0; j < grdDataIO.Columns.Count - 8; j++) { matrixI_Aij[i,j] = (matrixI[i, j] - matrixAij[i, j]); } // Tinh ma tran nghich dao cua ma tran I-Aij // Hien thi ra giao dien A = new double[(grdDataIO.Rows.Count - 7),2 *(grdDataIO.Columns.Count - 8)]; for (int i = 0; i < grdDataIO.Rows.Count - 7; i++) { progressBar1.PerformStep(); for (int j = 0; j < grdDataIO.Columns.Count - 8; j++) { //grdData.Rows[i].Cells[j].Value = matrixI_Aij[i, j].ToString(); A[i, j] = matrixI_Aij[i, j]; } } if (MaTranNghichDao(ref A, (grdDataIO.Columns.Count - 8))) { for (int i = 0; i < grdDataIO.Rows.Count - 7; i++) 91 { m = 0; for (int j = (grdDataIO.Rows.Count - 7); j < (2 * (grdDataIO.Rows.Count - 7)); j++) { grdData.Rows[i].Cells[m].Value = A[i, j].ToString(); m++; } } } else { for (int i = 0; i < grdDataIO.Rows.Count - 7; i++) { for (int j = 0; j < grdDataIO.Rows.Count - 7; j++) { if (i == j) grdData.Rows[i].Cells[j].Value = 1; else grdData.Rows[i].Cells[j].Value = 0; } } } } } } Hàm hệ số nhân tử đầu ra - Output Multiplier public static void OutputMultiplier(ref DataGridView grdData, DataGridView grdDataIO, ref ProgressBar progressBar1) { ClassCalculate.MaTranLeontief(ref grdData, grdDataIO, ref progressBar1); double _Sum = 0; double _Temp = 0; int _Column = grdData.Columns.Count; double[] arrSum = new double[grdData.Columns.Count]; for (int j = 0; j < grdData.Columns.Count; j++) 92 { _Sum = 0; for (int i = 0; i < grdData.Columns.Count; i++) { _Temp = 0; if (grdData.Rows[i].Cells[j].Value != null) { try { _Temp = Convert.ToDouble(grdData.Rows[i].Cells[j].Value.ToString()); } catch { } } _Sum += _Temp; } arrSum[j] = _Sum; } if (grdData.Columns.Count > 0) { grdData.RowCount = 1; grdData.ColumnHeadersDefaultCellStyle.Font = new Font(grdData.ColumnHeadersDefaultCellStyle.Font, FontStyle.Bold); grdData.Rows[0].HeaderCell.Value = "OM"; grdData.ColumnCount = _Column + 1; grdData.Columns[_Column].HeaderText = "Tổng số"; _Sum = 0; _Temp = 0; for (int i = 0; i < _Column; i++) { grdData.Rows[0].Cells[i].Value = arrSum[i].ToString(); try { _Temp = Convert.ToDouble(arrSum[i].ToString()); } catch { } 93 _Sum += _Temp; } grdData.Rows[0].Cells[_Column].Value = _Sum; } } Hàm hệ số nhân tử đầu vào - Input Multiplier public static void InputMultiplier(ref DataGridView grdData, DataGridView grdDataIO, ref ProgressBar progressBar1) { ClassCalculate.MaTranLeontief(ref grdData, grdDataIO, ref progressBar1); double _Sum = 0; double _Temp = 0; int _Column = grdData.Columns.Count; double[] arrSum = new double[grdData.Columns.Count]; for (int i = 0; i < grdData.Columns.Count; i++) { _Sum = 0; for (int j = 0; j < grdData.Columns.Count; j++) { _Temp = 0; if (grdData.Rows[i].Cells[j].Value != null) { try { _Temp = Convert.ToDouble(grdData.Rows[i].Cells[j].Value.ToString()); } catch { } } _Sum += _Temp; } arrSum[i] = _Sum; } 94 if (grdData.Columns.Count > 0) { grdData.RowCount = 1; grdData.ColumnHeadersDefaultCellStyle.Font = new Font(grdData.ColumnHeadersDefaultCellStyle.Font, FontStyle.Bold); grdData.Rows[0].HeaderCell.Value = "IM"; grdData.ColumnCount = _Column + 1; grdData.Columns[_Column].HeaderText = "Tổng số"; _Sum = 0; _Temp = 0; for (int i = 0; i < _Column; i++) { grdData.Rows[0].Cells[i].Value = arrSum[i].ToString(); try { _Temp = Convert.ToDouble(arrSum[i].ToString()); } catch { } _Sum += _Temp; } grdData.Rows[0].Cells[_Column].Value = _Sum; } }

Các file đính kèm theo tài liệu này:

  • pdfLUẬN VĂN- ĐÁNH GIÁ HIỆU QUẢ CÁC NGÀNH KINH TẾ VIỆT NAM GIAI ĐOẠN 2000-2008 BẰNG MÔ HÌNH TOÁN HỌC.pdf
Luận văn liên quan