Thêm phân tích về mô tả nghiên cứu về áp dụng mô hình tăng trưởng trong phần mềm, các phân tích kết quả thực nghiệm.. + Mô tả thêm về nghiên cứu và áp dụng mô hình tăng trưởng chương 2 ,
PHƯƠNG PHÁP QUẢ N TR GIÁ TR Ị Ị THU ĐƯỢ C TRONG
T ổng quan về ếp cậ ti n và s d ng EVM 5 ử ụ
Để hoàn thành luận văn này, tôi xin chân thành cảm ơn PGS TS Huỳnh Quyết Thắng đã tận tình hướng dẫn và cung cấp tài liệu quý báu Tôi cũng xin gửi lời
Xin chân thành cảm ơn!
TÓM TẮT NỘI DUNG LUẬN VĂN
Chương 1: Tìm hiểu phương pháp quản trị giá trị thu được (EVM) trong quản lý dự án
Chương này sẽ khám phá khái niệm quản lý dự án phần mềm, cung cấp cái nhìn tổng quan về việc áp dụng và sử dụng Earned Value Management (EVM) Bài viết cũng sẽ trình bày các thông số đặc trưng cùng công thức tính toán các chỉ số trong EVM, từ đó phân tích một cách chi tiết những ưu điểm và nhược điểm của phương pháp này.
Chương 2: Tìm hiểu về mô hình tăng trưởng và thuật toán của mô hình tăng trưởng
Chương này sẽ phân tích đặc điểm và các yếu tố toán học của mô hình tăng trưởng, đồng thời trình bày phương pháp đánh giá dựa trên những mô hình này Bên cạnh đó, chúng tôi sẽ hướng dẫn cách tính chi phí dự đoán cho mô hình tăng trưởng và phương pháp so sánh các mô hình dựa trên các chỉ số liên quan.
Chương 3: Cài đặt, thử nghiệm và đánh giá
Trong chương sẽ nghiên cứu và trình bày tổng quan phần mềm xây dựng, cài đặt thử nghiệm Bao gồm các nội dung:
- Chạy thử nghiệm với 10 bộ dữ liệu đầu vào là những dữ liệu thu được từ những dự án thực tế
Lựa chọn thuật toán tối ưu cho bộ tham số của các mô hình tăng trưởng là rất quan trọng, giúp cải thiện hiệu suất và độ chính xác của mô hình Việc so sánh kết quả đánh giá của các mô hình tăng trưởng với giá trị thu được từ phương pháp EVM cho phép xác định hiệu quả của từng phương pháp Kết quả này không chỉ cung cấp cái nhìn sâu sắc về khả năng dự đoán mà còn hỗ trợ trong việc tối ưu hóa các mô hình trong tương lai.
- Đưa ra đánh giá tối ưu về độ chính xác theo từng giai đoạn 25% , 50% và 75% của từng phương pháp.
Chương 4: Kết luận và hướng phát triển
Trong chương này, luận văn sẽ tổng kết các kết quả đạt được, những đóng góp quan trọng, cũng như những khó khăn gặp phải trong quá trình thực hiện Đồng
Hà Nội, ngày tháng năm 2019
DANH M C HÌNH V iii Ụ Ẽ DANH M C B NG iv Ụ Ả
B NG CH D N CÁC CÔNG TH C v Ả Ỉ Ẫ Ứ DANH M C CÁC T VI T T T vi Ụ Ừ Ế Ắ
CHƯƠNG 1 PHƯƠNG PHÁP QUẢN TR GIÁ TR Ị Ị THU ĐƯỢC TRONG
1.1 Khái niệm quản lý d ựán phần mềm 4
1.2 Tổng quan về ếp cậ ti n và s d ng EVM 5ử ụ
1.5 Ưu điểm của EVM trong quản trị ự d án 8
CHƯƠNG 2 TÌM HIỂU V Ề MÔ HÌNH TĂNG TRƯỞNG 10
2.1 Các mô hình tăng trưởng 10 ng Logistic (LM – 12
Mô hình tăng trưở Logistic Model) ng Gompertz (GM – Gompertz model) 12
Mô hình tăng trưở ng Bass 12
Mô hình tăng trưở ng Richards( RM – Richards Model) 13
Mô hình tăng trưở ng Von- bertalanffy 13
Mô hình tăng trưở ng 14 Đánh giá và lựa chọn mô hình tăng trưở
2.2 Phương pháp đánh giá dựa trên mô hình tăng trưởng 14
Xây dựng đường cong S 14 ng tham s 16
Phương pháp ước lượ ố D ự đoán chi phí hoàn thành dự án CEAC 19
2.3 K t hế ợp chi phí dự đoán với mô hình tăng trưởng (Growth Model - GM) 19
2.4 So sánh các mô hình tăng trưởng và phương pháp dựa trên ch s 20ỉ ố
CHƯƠNG 3 CÀI ĐẶT TH NGHIỬ ỆM VÀ ĐÁNH GIÁ 21
3.1 Tổng quan phần mềm xây dựng 21
Xây d ng d liự ữ ệu đầu vào 21
3.3 So sánh và tìm thu t toán tậ ối ưu cho từng mô hình tăng trưởng 25 ng Gompezt 25
Mô hình tăng trưở ng Bass 27
Mô hình tăng trưở Mô hình Logistics 28
3.4 Tính toán chi phí và kết quả đạt được 32
CHƯƠNG 4 Ế-K T LUẬN VÀ HƯỚNG PHÁT TRI N 39 Ể
HÌNH 1.1 T AM GIÁC QUẢ N LÝ D ÁN Ự 4
HÌNH 1.2 Q UY TRÌNH KIỂM TRA VÀ GIÁM SÁT QUẢN LÝ DỰ ÁN PH N MỀM Ầ [10] 5
HÌNH 2.1 C ÁC ĐẶC TRƯNG CỦ A M T MÔ HÌNH TĂNG TRƯỞNG CHỮ Ộ S 11
HÌNH 3.1 B I Ể U Đ SO SÁNH TỈ Ệ THU ĐƯỢC GIÁ TRỊ Ồ L HÀM T I ƯU T T NHẤT GIỮA Ố Ố
BA THUẬ T TOÁN Đ XU T VỚI MÔ HÌNH Ề Ấ GOMPEZT 26
HÌNH 3.2 B I Ể U Đ Ồ SO SÁNH GIÁ TR Ị HÀM T ỐI ƯU TỐ T NH ẤT GIỮA BA PHƯƠNG PHÁP ĐỀ XU T Ấ 26
HÌNH 3.3 B I Ể U Đ SO SÁNH TỈ Ệ THU ĐƯỢ Ồ L C GIÁ TR HÀM T Ị Ố I ƯU T Ố T NH ẤT GIỮA
BA THUẬ T TOÁN Đ XU T VỚI MÔ HÌNH Ề Ấ BASS 28
HÌNH 3.4 B I Ể U Đ SO SÁNH TỈ Ệ THU ĐƯỢ Ồ L C GIÁ TR HÀM T Ị Ố I ƯU T Ố T NH ẤT GIỮA
BA THUẬ T TOÁN Đ XU T VỚI MÔ HÌNH Ề Ấ LOGISTICS 29
HÌNH 3.5 B I Ể U Đ SO SÁNH TỈ Ệ THU ĐƯỢ Ồ L C GIÁ TR HÀM T Ị Ố I ƯU T Ố T NH ẤT GIỮA
BA THUẬ T TOÁN Đ XU T VỚI MÔ HÌNH Ề Ấ RICHARDS 30
HÌNH 3.6 B I Ể U Đ SO SÁNH TỈ Ệ THU ĐƯỢ Ồ L C GIÁ TR HÀM T Ị Ố I ƯU T Ố T NH ẤT GIỮA
BA THUẬ T TOÁN Đ XU T VỚI MÔ HÌNH Ề Ấ RICHARDS 32
HÌNH 3.7 S AI SỐMAPE (%) C Ủ A EAC – GM1 THEO GIAI ĐOẠN C A CÁC MÔ HÌNH Ủ TĂNG TRƯỞNG 37
HÌNH 3.8 S AI SỐMAPE (%) C Ủ A EAC-GM2 THEO GIAI ĐOẠN CỦA CÁC MÔ HÌNH TĂNG TRƯỞNG 37
HÌNH 3.9 S AI SỐMAPE(%) C Ủ A TOÀN DỰ ÁN 38 iv
BẢNG 2.1 C ÁC MÔ HÌNH TĂNG TRƯỞ NG VÀ Đ C TRƯNG TOÁN H C C A CHÚNG Ặ Ọ Ủ 10
BẢ NG 2.2 C HU N HÓA D LI U D ÁN Ẩ Ữ Ệ Ự A 15
BẢ NG 2.3ĐƯỜ NG CONG CHI PHÍ CHU N HÓA Ẩ 16
BẢ NG 3.1 BẢ NG T NG H P THÔNG TIN Ổ Ợ 10 D ÁN TH C NGHIỆM Ự Ự 22
BẢ NG 3.2 T HƯ VI N SỬ Ụ Ệ D NG TRONG PHẦN MỀ M Đ XU T Ề Ấ 24
BẢ NG 3.3 KẾ T QU HÀM FITNESS THU ĐƯỢC SAU KHI TỐI ƯU HÓA THAM SỐ CHO Ả MÔ HÌNH TĂNG TRƯỞNG GOMPEZT VỚI BA THU T TOÁN Ậ 25
BẢ NG 3.4 BẢ NG K T QU D ĐOÁN CHI PHÍ THỰC HIỆN CÁC DỰ ÁN Ế Ả Ự 33
BẢ NG 3.5 BẢ NG K T QU SO SÁNH THEO SAI SỐ Ế Ả PE 34
BẢ NG 3.6 BẢ NG K T QU SO SÁNH THEO SAI SỐ Ế Ả MAPE 35
BẢNG CHỈ ẪN CÁC CÔNG THỨC D
DANH MỤC CÁC T VI T TẮT Ừ Ế
Ch vi t t t ữ ế ắ Ti ng Anh ế Nghĩa Tiếng Vi t ệ
EVM Earned Value Management Qu n lý giá tr ả ị thu được
PV Planned Value Giá tr d ki n ị ự ế
BCWS Budgeted Cost of Work
Chi phí thu c ngân quộ ỹ cho công vi c theo tiệ ến độ
EV Earned Value Giá tr ị thu được
BCWP Budgeted Cost of Work
Chi phí thu c ngân qu cho công ộ ỹ việc đã thực ệhi n CPI Cost Performance Index Ch s chi phí th c hi n ỉ ố ự ệ
SPI Schedule Performance index Ch s tiỉ ố ến độ ự th c hi n ệ
AC Actual Cost Chi phí thực tế
ACWP Actual Cost of Worked
Chi phí thực tế đã thực hiện
CV Cost Variance Chênh l ch chi phí ệ
SV Schedule variance Chênh lệch chi phí do thay đổi tiến độ
BV Budget Variance Chênh l ch ngân sách ệ
AT Actual Time Th i gian thờ ực tế
BAC Budget at Completion Ngân quỹ ự d kiến tới thời điểm hoàn thành
CAC Cost at Completion Chi phí để hoàn thành d ự án
MR Management Reserve D tr qu n lý ự ữ ả
EAC Estimate at Completion D ự đoán tại th i điểm hoàn thành ờ
ETC Estimate to Complete D ự đoán đến thời điể m hoàn thanh TAC Time at Completion Thời gian để hoàn thành
GD Gradient descent Gradient descent
1 Lý do chọn đề tài, tính cấp thiế ủa đề tài t c
Hiện nay, với sự phát triển nhanh chóng của công nghệ và khoa học kỹ thuật, Việt Nam đang ưu tiên phát triển công nghệ 4.0, đặc biệt trong lĩnh vực công nghệ thông tin Sau cuộc cách mạng này, nhiều dự án CNTT đã được khởi động và thành công, nhưng cũng không ít dự án thất bại hoặc bị đình chỉ Nguyên nhân dẫn đến thất bại thường là do nguồn nhân lực không đáp ứng yêu cầu và thiếu vốn Từ góc độ quản lý, nguyên nhân chính là việc chưa đánh giá và dự báo chính xác về thời gian và kinh phí khi khởi công dự án, dẫn đến mất kiểm soát và thất bại.
Để đảm bảo dự án hoàn thành đúng tiến độ, việc nghiên cứu phương pháp đánh giá mức độ hoàn thành là rất cần thiết Đánh giá chính xác giúp nhà quản lý kiểm soát tiến độ và thời gian thực hiện, từ đó đưa ra chiến lược điều chỉnh phù hợp nhằm đảm bảo tiến độ và ngân sách Hiện nay, phương pháp quản trị giá trị thu được (EVM) được sử dụng phổ biến, nhưng vẫn còn thiếu chính xác Một phương pháp kết hợp EVM với mô hình tăng trưởng cũng đã được nghiên cứu, tuy nhiên kết quả chưa khả quan hơn EVM Do đó, luận văn này sẽ đề xuất một phương pháp mới: kết hợp EVM với các mô hình tăng trưởng như Gompertz và Logistic, cùng với việc lựa chọn thuật toán ước lượng tham số tối ưu nhằm nâng cao mức độ hoàn thành dự án.
Từ vấn đề nêu trên, tôi đã chọn đề tài: “ Ứ ng d ụ ng mô hình tăng trưở ng nh ằ m nâng cao k ế t qu ả d ự đoán mức độ hoàn thành d ự án ph ầ n m ề m”
2 Mục tiêu, nhi m vệ ụ, đối tượng, phạm vi và phương pháp nghiên cứu
Mục tiêu của đề tài là nâng cao kết quả dự đoán mức độ hoàn thành dự án phần mềm bằng cách xây dựng mô hình tăng trưởng với thuật toán tối ưu nhất, kết hợp phương pháp quản trị giá trị thu được từ EVM Kết quả từ nghiên cứu sẽ được áp dụng vào thực tiễn, nhằm cung cấp các thông số chính xác và nâng cao chất lượng dự đoán mức độ hoàn thành của các dự án phần mềm.
Nghiên cứu phương pháp quản trị giá trị thu được (EVM) trong quản lý dự án là rất quan trọng Bài viết này sẽ tìm hiểu các mô hình tăng trưởng như Gompertz, Logistic, Bass, Richards và Von-Bertalanffy, đồng thời so sánh các thuật toán ước lượng tham số Chúng tôi sẽ thực hiện thử nghiệm với dữ liệu thực tế để đưa ra kết luận và xác định phương pháp tối ưu Đối tượng nghiên cứu chủ yếu là các mô hình tăng trưởng trong phương pháp EVM.
Ph ạ m vi: Quản trị ự d án phần mềm
Phương pháp nghiên cứu đánh giá mức độ hoàn thành dự án phần mềm là một trong những khâu quan trọng giúp các nhà quản lý kiểm soát tiến độ thực hiện dự án Điều này cho phép họ đưa ra các chiến lược phù hợp nhằm đảm bảo dự án hoàn thành đúng tiến độ và trong ngân sách đã đề ra Việc áp dụng phương pháp cải tiến thuật toán cho mô hình tăng trưởng, kết hợp với khai phá dữ liệu EVM, sẽ nâng cao độ chính xác trong việc dự đoán mức độ hoàn thành dự án phần mềm Đồng thời, xây dựng công cụ để kiểm tra và so sánh kết quả với các phương pháp EVM truyền thống là cần thiết.
Cấu trúc luận văn bao gồm các phần như sau:
M Ở ĐẦU: Nội dung phần mở đầ u ch ra lý do ch n đ tài; m c đích, ỉ ọ ề ụ đối tư ng, phạm vi nghiên cứu củợ a lu n văn ậ
Chương 1: Tìm hiểu phương pháp quản tr giá trịị thu được (EVM) trong quản lý dự án
Chương này sẽ khám phá khái niệm quản lý dự án phần mềm, cung cấp cái nhìn tổng quan về phương pháp tiếp cận và ứng dụng của EVM Nó sẽ trình bày các thông số đặc trưng và công thức tính toán các chỉ số trong EVM, đồng thời phân tích chi tiết những ưu điểm và nhược điểm của phương pháp này.
Chương 2: Tìm hiểu v mô hình tăng trưởề ng và thu t toán c a mô ậ ủ hình tăng trưởng
Chương này sẽ nghiên cứu và trình bày đặc điểm cũng như các đặc trưng toán học của các mô hình tăng trưởng Đồng thời, nó sẽ đề xuất phương pháp đánh giá dựa trên các mô hình tăng trưởng, bao gồm cách tính chi phí dự đoán và so sánh các mô hình tăng trưởng dựa vào các chỉ số cụ thể.
Chương 3: Cài đặt, th nghiử ệm và đánh giá
Trong chương sẽ nghiên c u và trình bày tổng quan phần mềm xây ứ dựng, cài đ t thử nghiệm Bao gồm các nội dung: ặ
- Chạy thử nghiệm với 10 bộ ữ liệ d u đ u vào là những dữ liệu thu ầ đượ ừc t những d án thự ực tế
Lựa chọn thuật toán tối ưu cho b tham số của các mô hình tăng trưởng là rất quan trọng Việc so sánh kết quả đánh giá thu được từ các mô hình tăng trưởng kết hợp với giá trị thu được từ phương pháp EVM sẽ giúp xác định hiệu quả của từng mô hình.
- Đưa ra đánh giá tối ưu v độ chính xác theo từề ng giai đo n 25% , ạ 50% và 75% của từng phương pháp
Chương 4: Kết luận và hướng phát tri n ể
Trong chương này, chúng tôi sẽ tóm tắt những kết quả đã đạt được, những đóng góp quan trọng và những khó khăn gặp phải trong quá trình thực hiện luận văn Bên cạnh đó, chúng tôi cũng sẽ đề xuất hướng phát triển tiếp theo cho đề tài luận văn.
CHƯƠNG 1 PHƯƠNG PHÁP QUẢN TRỊ GIÁ TRỊ THU ĐƯỢC
TRONG QUẢN LÝ DỰ ÁN
Trong chương này, luận văn sẽ nghiên cứu tổng quan về quản trị dự án phầm mềm và phương pháp quản trị thu được EVM
1.1 Khái niệm quản lý dự án phần mềm
Quản lý dự án phần mềm là quy trình khoa học và nghệ thuật trong việc lập kế hoạch, theo dõi và kiểm soát các dự án Mục tiêu của quản lý dự án là đạt
Các thông s ố đặc trưng
Các tham số chính trong EVM được đơn giản hóa để sử dụng trong các công thức tính toán, bao gồm chi phí dự kiến (PV), giá trị thu được (EV), chi phí thực tế (AC) và các chỉ số EVM như chênh lệch, tỷ suất và độ đo dự đoán.
PV, hay chi phí kế hoạch, là chi phí ước tính ban đầu cho công việc theo chế độ BCWS (Budgeted Cost of Work Scheduled) Đây là thông tin quan trọng để lập ngân sách dự án, được tính toán dựa trên các thành phần liên quan PV được cung cấp thông qua các thủ tục đánh giá chi phí theo kế hoạch và kết hợp với EVM để nâng cao hiệu suất cho bộ công cụ có nhiệm vụ yêu cầu, sắp xếp các công việc liên quan Nền tảng này dựa trên cấu trúc phân chia dự án không nhất thiết phải tuân theo các hoạt động đã được lập kế hoạch từ trước Lập kế hoạch theo thời điểm sẽ thông báo lượng công việc dự kiến hoàn thành trong một khoảng thời gian tính từ thời điểm đã định trước.
EV, hay còn gọi là chi phí công việc được thực hiện (BCWP), đại diện cho khối lượng công việc đã hoàn thành tính đến thời điểm đánh giá Nó được biểu diễn dựa trên ngân sách ban đầu của công việc đó.
Chi phí thực tế (AC) hay Actual Cost of Work Performed (ACWP) là tổng chi phí thực tế đã bỏ ra để hoàn thành công việc trong một khoảng thời gian cụ thể AC thể hiện hao phí thực tế cho các công việc đã được thực hiện và báo cáo đúng thời điểm.
Bên cạnh đó, còn nhiều loại chuỗi khối không tương thích với các địa chỉ EVM khác Tuy nhiên, bài viết này sẽ tập trung vào những chuỗi khối thiết yếu và sẽ được nhấn mạnh trong các phần tiếp theo.
Công th ức tính
Giá trị thu được (Earned value, EV)[8]:
Ngân quỹ dự kiến cho đến thời điểm hoàn thành BAC (Budget at Completion - BAC) là tổng chi phí dự án (PV hoặc BCWS) tính đến thời gian dự kiến hoàn thành Trong trường hợp dự án có khoản chi phí dự phòng (Management Reserve - MR), khoản này sẽ được cộng dồn vào chi phí dự kiến tại thời điểm hoàn thành dự án để xác định BAC.
Giá trị thu được tính theo tỷ ệ ự l d án hoàn thànhev [8]
Chênh lệch chi phí do thay đổ ếi ti n độ SV (SV Schedule variance) [8] (Lớn - hơn 0 là thuận lợ ứi, t c là vư t ti n đ ): ợ ế ộ
Ch s ỉ ố tiến độ thực hiện SPI (SPI-Schedule performance index) [8] (Lớn hơn
Chêch l ch chi phí CV (Cost variance) [8] Chênh l ch chi phí do lệ – ệ ệch kế hoạch (Lớn hơn 0 là thuậ ợn l i):
Chênh lệch chi phí bằng vi c s dệ ử ụng bộ tham số khác
Ch s ỉ ố chi phí thực hiện CPI (Cost Performance Index-CPI) [9] (Lớn hơn 1 là thuận lợi):
Ta có nhận xét như sau:
CPI < 1: Chi phí hoàn thành công việc vượt chi phí kế ho ch đ ra (có ạ ề h ại)
CPI = 1: Chi phí hoàn thành công việc đúng k ho ch (thu n lế ạ ậ ợi)
Còn lại, tức CPI > 1: Chi phí hoàn thành công việc so với chi phí dự kiến (thu n lậ ợi nhưng đôi khi có hại)
Dự án EAC (Estimate at Completion) được ước tính hoàn thành dựa trên tỷ lệ giữa thời gian thực hiện và thời gian dự kiến hoàn thành EAC là khái niệm quan trọng để đánh giá mức độ hoàn thành dự án nếu các công việc tiếp tục diễn ra theo kế hoạch hiện tại.
EAC = AC +(BA - CEV)/CPIC/CPI PT 1.9 EAC
Dự đoán chi phí ước tính hoàn thành dự án tại thời điểm hiện tại là một yếu tố quan trọng trong quản lý dự án Ước tính chi phí hoàn thành (ETC - Estimate to Complete) phản ánh lượng chi phí cần thiết để hoàn thành dự án từ thời điểm hiện tại, giúp các nhà quản lý dự án đưa ra quyết định chính xác hơn về ngân sách và nguồn lực cần thiết.
K t ế chương
Để hoàn thành luận văn này, tôi xin gửi lời cảm ơn chân thành đến PGS TS Huỳnh Quyết Thắng, người đã hướng dẫn và cung cấp tài liệu quý báu cho tôi.
Xin chân thành cảm ơn!
TÓM TẮT NỘI DUNG LUẬN VĂN
Chương 1: Tìm hiểu phương pháp quản trị giá trị thu được (EVM) trong quản lý dự án
Chương này sẽ khám phá khái niệm quản lý dự án phần mềm, cung cấp cái nhìn tổng quan về việc tiếp cận và áp dụng Earned Value Management (EVM) Bài viết sẽ trình bày các thông số đặc trưng cùng công thức tính toán các chỉ số trong EVM, từ đó phân tích một cách chi tiết những ưu điểm và nhược điểm của phương pháp này.
TÌM HIỂ U V Ề MÔ HÌNH TĂNG TRƯỞ NG
Các mô hình tăng trưởng
Bảng 2.1 Các mô hình tăng trưởng và đ c trưng toán hặ ọc của chúng
Thuộc tính Logistic Gompertz Bass Richards
Các kỹ thuật dựa trên hồi quy là nền tảng cho khái niệm và lý thuyết liên quan đến các mô hình tăng trưởng Những mô hình này mô tả các tình huống cố định của dữ liệu với một mẫu tăng trưởng, trong đó giá trị tăng trưởng tăng một cách đơn điệu đến một giá trị cực đại trước khi giảm liên tục về giá trị 0.
Hoạt động của nó được thể hiện qua đường cong hình chữ S, trong đó điểm u n đánh dấu thời gian mà tốc độ tăng trưởng đạt giá trị tối đa Hình 2.1 minh họa các đặc trưng cụ thể của các mô hình tăng trưởng, với (a) là đường cong tăng trưởng tích lũy và (b) là đường cong tốc độ tăng trưởng.
Hình 2.1 Các đặc trưng của một mô hình tăng trưởng ch S ữ
Trong luận văn này, năm loại mô hình tăng trưởng với ba tham số được trình bày, bao gồm: (1) mô hình Logistic (LM), (2) mô hình Gompertz (GM), (3) mô hình Bass (BM), (4) mô hình Richards và (5) mô hình Von-Bertalanffy Bảng 2.1 giới thiệu các hàm phân phối tích lũy chung (CDF) được sử dụng để xây dựng đường cong và dự báo, đồng thời cung cấp các phương trình CDF đã được tham số hóa cùng với các thuộc tính toán học cụ thể được thiết lập cho nghiên cứu này.
Tất cả các mô hình tăng trưởng có thể được sử dụng để mô tả các hoạt động chi phí của các dự án lớn thông qua hàm số và các tham số phản ánh tính tự nhiên của tiến trình thực hiện Trong giai đoạn khởi đầu của một dự án, tiến trình thực hiện thường chậm do công tác chuẩn bị và triển khai thiết bị Trong giai đoạn giữa, tiến trình thực hiện dự án được tăng tốc, làm tăng tỷ lệ công việc lên tới mức giá trị cao nhất Cuối cùng, giá trị dự án sẽ giảm dần về mức 0 khi kết thúc.
Một đặc trưng quan trọng của các mô hình toán học này là sự tồn tại của một giá trị α, biểu thị chi phí tối thiểu khi thời gian (x) tiến tới vô cùng Điều này có nghĩa là khi một dự án gần hoàn thành, tức là chỉ còn ít công việc cần thực hiện, chi phí để hoàn thành dự án sẽ tiếp cận giá trị α.
Mô hình tăng trưởng Logistic (LM – Logistic Model)
Mô hình LM là một trong những phương pháp tăng trưởng dựa trên đường cong S phổ biến nhất nhờ vào tính đơn giản và khả năng phân tích dễ dàng LM có các tham số và ý nghĩa tương tự như mô hình Gompertz (GM), nhưng được phân bổ một cách thông thường, với điểm uốn ở 50% tổng tăng trưởng, trong khi GM thường nằm ở khoảng 1/3 Mô hình LM không chỉ suy diễn đường cong phi tuyến S của dữ liệu EV trong dự án đang thực hiện mà còn cho phép đánh giá mức độ hoàn thành của dự án theo tiến trình công việc hiện tại Nghiên cứu đã chỉ ra rằng việc tính toán TEAC bằng mô hình LM mang lại độ chính xác cao hơn so với việc sử dụng các công thức dựa trên EVM.
Mô hình tăng trưởng Gompertz (GM – Gompertz model)
Mô hình GM thường được sử dụng trong nghiên cứu tăng trưởng quần thể, đặc biệt khi đường cong tăng trưởng không đối xứng và lệch về bên phải Điểm uốn của mô hình xảy ra tại thời gian x = β/γ, với giá trị tăng trưởng tích lũy là GM(x).
= α/e (xấp x 1/3 t ng chi phí) khi tốỉ ổ c đ chi phí đ t cựộ ạ c đ i Gmax = αγ/e ạ (Error! Reference source not found.2)
Trong 2 mô hình GM và LM, tham số β biểu diễn kích thư c khở ạo của ớ i t chi phí dự án và γ là tham số ỷ ệ để t l chi ph i t c đ tăng trưởng Trahan ố ố ộ Error! Reference source not found đã phát triển các đư ng cong GM đờ ể d ự đoán giá trị CEAC của một dự án bằng cách sử ụng dữ liệu EVM trên d một số ợp đồ h ng c a Không quân Hoa kỳ t ủ ừ năm 1960 đến 2007 Tác giả ử s dụng các tham số GM (được xác đ nh b ng việc hồi quy các giá trị tích lũy ị ằ
AC được sử dụng cho đến khi dự án hoàn thành, tương ứng với các điểm mốc thời gian, nhằm xác định phần còn lại của ngân sách BAC tại thời điểm 20% của dự án Sau đó, dự đoán giá trị trọn gói CEAC của dự án sẽ được thực hiện Kết quả của Trahan cũng tương tự như các nghiên cứu trước đó của Christensen, cho thấy rằng các mô hình tăng trưởng có thể không mang lại kết quả chính xác hơn so với các phương pháp dựa trên chỉ số EVM khi tính toán CEAC trong mọi trường hợp.
Mô hình tăng trưởng Bass
Mô hình tăng trưởng Richards( RM – Richards Model)
Mô hình tăng trưởng Chapman Richards là một công cụ phổ biến để mô tả sự tăng trưởng của các biến số như chiều cao cây, đường kính, diện tích cơ sở và thể tích Mô hình này đã được sử dụng rộng rãi trong các mô phỏng tăng trưởng rừng, đặc biệt là trong việc dự đoán chính xác sự phát triển của cây Hàm tăng trưởng Chapman Richards giúp hình hóa sự phát triển chiều cao trung bình của các cây chiếm ưu thế trong rừng, từ đó mô tả chất lượng địa điểm Mô hình này là một công cụ quan trọng trong nghiên cứu tăng trưởng cây rừng và cung cấp thông tin cần thiết cho việc quản lý rừng hiệu quả.
Mô hình tăng trưởng Von- bertalanffy
Von Bertalanffy đã phát triển phương trình tăng trưởng vào năm 1938 dựa trên những lập luận sinh lý đơn giản Mô hình tăng trưởng của ông, được gọi là đường cong Von-Bertalanffy, đã được áp dụng rộng rãi trong nghiên cứu sự phát triển của quần thể, đặc biệt là trong lĩnh vực thủy sản Hàm này mô tả sự phát triển theo thời gian và là một trường hợp đặc biệt của hàm logistic tổng quát.
Hình 2.2 Một ví dụ ề mô hình tăng trưởng Von Bertalanffy v Đánh giá và lựa chọn mô hình tăng trưởng
Trong số các mô hình tăng trưởng được giới thiệu, mô hình Gompertz, Logistic, Bass, Richards và Von Bertalanffy là những mô hình phổ biến thường được sử
Một đặc trưng nổi bật của các mô hình toán học này là sự biểu diễn đường cong tăng trưởng theo thời gian Tốc độ tăng trưởng sẽ biến thiên và tiến đến một giá trị tiệm cận khi thời gian kéo dài đến vô cùng Điều này phản ánh sự tiến triển của dự án trong quá trình phát triển.
K t h ế ợp chi phí dự đoán với mô hình tăng trưở ng (Growth Model - GM) 19
Nghiên cứu phương pháp quản trị giá trị thu được (EVM) trong quản lý dự án, cùng với việc tìm hiểu các mô hình tăng trưởng như Gompertz, Logistic, Bass, Richards và Von-Bertalanffy Bài viết cũng so sánh các thuật toán ước lượng tham số và lập trình thuật toán, đồng thời chạy thử nghiệm với dữ liệu thực tế Kết luận đưa ra phương pháp tối ưu cho mô hình tăng trưởng trong EVM.
Ph ạ m vi: Quản trị ự d án phần mềm
Phương pháp nghiên cứu đánh giá mức độ hoàn thành dự án phần mềm là một trong những khâu quan trọng giúp nhà quản lý kiểm soát tiến độ thực hiện dự án Qua đó, họ có thể đưa ra chiến lược phù hợp để đảm bảo dự án hoàn thành đúng hạn và trong ngân sách đã đề ra Việc sử dụng phương pháp cải tiến thuật toán cho mô hình tăng trưởng như một phương pháp khai phá dữ liệu EVM giúp nâng cao độ chính xác trong việc dự đoán mức độ hoàn thành dự án phần mềm Đồng thời, cần xây dựng công cụ để kiểm tra và so sánh kết quả với các phương pháp EVM truyền thống.
Cấu trúc luận văn bao gồm các phần như sau:
M Ở ĐẦU: Nội dung phần mở đầ u ch ra lý do ch n đ tài; m c đích, ỉ ọ ề ụ đối tư ng, phạm vi nghiên cứu củợ a lu n văn ậ
Chương 1: Tìm hiểu phương pháp quản tr giá trịị thu được (EVM) trong quản lý dự án
Chương này sẽ khám phá khái niệm quản lý dự án phần mềm, bao gồm cái nhìn tổng quan về phương pháp tiếp cận và ứng dụng của EVM (Earned Value Management) Chúng tôi sẽ trình bày các thông số đặc trưng cùng công thức tính toán các chỉ số trong EVM Qua đó, sẽ phân tích một cách chi tiết những ưu điểm và nhược điểm của EVM trong quản lý dự án.
Chương 2: Tìm hiểu v mô hình tăng trưởề ng và thu t toán c a mô ậ ủ hình tăng trưởng
Chương này sẽ nghiên cứu và trình bày đặc điểm toán học của các mô hình tăng trưởng, đồng thời giới thiệu phương pháp đánh giá dựa trên các mô hình này Nội dung sẽ đề cập đến cách tính chi phí dự đoán và so sánh các mô hình tăng trưởng dựa trên các chỉ số cụ thể.
Chương 3: Cài đặt, th nghiử ệm và đánh giá
Trong chương sẽ nghiên c u và trình bày tổng quan phần mềm xây ứ dựng, cài đ t thử nghiệm Bao gồm các nội dung: ặ
- Chạy thử nghiệm với 10 bộ ữ liệ d u đ u vào là những dữ liệu thu ầ đượ ừc t những d án thự ực tế
Lựa chọn thuật toán tối ưu cho b tham số của các mô hình tăng trưởng là rất quan trọng Việc so sánh kết quả đánh giá thu được từ các mô hình tăng trưởng kết hợp với giá trị thu được từ phương pháp EVM sẽ giúp xác định hiệu quả của từng mô hình.
- Đưa ra đánh giá tối ưu v độ chính xác theo từề ng giai đo n 25% , ạ 50% và 75% của từng phương pháp
Chương 4: Kết luận và hướng phát tri n ể
Trong chương này, luận văn sẽ tóm tắt các kết quả đã đạt được, những đóng góp quan trọng cũng như những khó khăn gặp phải trong quá trình thực hiện Đồng thời, chương cũng sẽ đề xuất hướng phát triển tiếp theo cho đề tài luận văn.
CHƯƠNG 1 PHƯƠNG PHÁP QUẢN TRỊ GIÁ TRỊ THU ĐƯỢC
TRONG QUẢN LÝ DỰ ÁN
Trong chương này, luận văn sẽ nghiên cứu tổng quan về quản trị dự án phầm mềm và phương pháp quản trị thu được EVM
1.1 Khái niệm quản lý dự án phần mềm
Quản lý dự án phần mềm là quá trình lập kế hoạch khoa học và nghệ thuật nhằm quản lý hiệu quả các dự án phần mềm Quy trình này bao gồm việc theo dõi và kiểm soát các chính sách đã được thiết lập, với mục tiêu đạt được kết quả mong muốn trong thời gian và kinh phí dự kiến.
Quản lý dự án phần mềm là quá trình lập kế hoạch, giám sát và điều phối tài nguyên như kinh phí và nhân lực, cũng như thời gian thực hiện và các rủi ro, nhằm đảm bảo thành công cho dự án Để đạt được điều này, quản lý dự án cần duy trì sự cân bằng giữa ba yếu tố chính: thời gian, tài nguyên và chất lượng, được gọi là tam giác dự án.
Hình 1.1 Tam giác quản lý dự án
Hình 1.2 Quy trình kiểm tra và giám sát qu n lý dả ự án phần mềm [10]
Quy trình ki m tra và giám sát qu n lý dể ả ự án ph n m m bao g m 5 ầ ề ồ giai đo n như sau:ạ
1 Khởi tạo dự án (Initiating): Giai đoạn này thực hiện việc đ nh ị nghĩa một d án m i hoặự ớ c m t phát sinh (hoặộ c tr n l n) m i c a m t d ộ ẫ ớ ủ ộ ự án có sẵn như: Xác định yêu cầu của d án, m c đ ưu tiên củự ứ ộ a d án, phân ự tích các yêu cầu đ u tư, phân công trách nhiệầ m cho các b phận triển khai ộ
2 Lập kế hoạch dự án (Planning): Giai đoạn này yêu cầu thiế ập t l phạm vi công viêc của dự án, đi u chỉnh lại mụề c tiêu và xác đ nh đư ng đi ị ờ tới mục tiêu đó
3 Triển khai Giai đoạn này thực hi n hoàn thành các ệ công việc đư c xác đ nh trong phần l p kợ ị ậ ế hoạch đ m b o các yêu cầu ể đả ả của dự án.
4 Giám sát và kiểm soát (Monitoring & Control): Giai đoạn này yêu cầu việc theo dõi, rà soát và điều chỉnh lại tiến đ vộ à khả năng thực hi n ệ của dự án Theo dõi các rủi ro, thay đổi, phát sinh trong quá trình thực hiện và có những đ xu t đi u chỉề ấ ề nh kịp thời Đây cũng là ph n mà luậầ n văn s ẽ tập trung giải quyết
5 Kết thúc (Closing): Giai đoạn này thực hiện để kết thúc tất cả các hoạ ột đ ng của dự án đ chính thứể c đóng l i dự ạ án.
1.2 Tổng quan về tiếp cận và sử dụng EVM
Quản trị giá trị thu được (EVM) và hệ quản lý giá trị thu được (EMVS) là những phương pháp ngày càng phổ biến trong quản lý dự án, giúp dự đoán chi phí và thời gian thực hiện dựa trên dữ liệu thu thập được EVM được phát triển lần đầu bởi các kỹ sư tại Mỹ vào cuối thế kỷ 19, trong đó có những tên tuổi nổi bật như Frederick W Taylor và Henry L Gantt.
Quản lý giá trị thu được (Earned Value Management - EVM) là một kỹ thuật quản lý dự án giúp đo lường tiến trình thực hiện dự án một cách khách quan EVM tích hợp các thông số quan trọng như kỹ thuật, chi phí và thời gian, từ đó cung cấp cái nhìn tổng thể về hiệu suất và tiến độ của dự án.
Trong giai đoạn lập kế hoạch, các công việc trong một dự án cần được tích hợp để hoàn thành một nhóm nhiệm vụ xác định trong khoảng thời gian nhất định Những công việc này sẽ được thực hiện và đánh giá theo các tiêu chí định lượng, chủ yếu là giá trị thu được Từ số liệu giá trị thu được, chênh lệch chi phí và chênh lệch do thay đổi tiến độ có thể được phân tích và xác định Qua các phép đo này, nhà quản lý dự án (PM) có thể xác định các điều chỉnh cần thiết, dự báo chi phí và thực hiện lịch trình trong tương lai Sau đó, họ xây dựng các kế hoạch hành động cụ thể để đưa dự án trở lại đúng hướng và đúng tiến độ Do đó, phương pháp EVM là một kỹ thuật hữu hiệu giúp các nhà quản lý theo dõi tiến độ và đo lường hiệu suất thực hiện dự án.
EVM là một công cụ quản lý cung cấp lợi ích rõ ràng và đáng kể cho doanh nghiệp khi thực hiện các dự án.
1.3 Các thông số đặc trưng
So sánh các mô hình tăng trưởng và phương pháp dự a trên ch s 20 ỉ ố
Sai số ph n trăm d a trên giá trị chi phí ước tính CEAC và giá trịầ ự thu đư c ợ CAC [20]:
• PE : Sai số ph n trăm dựầ a trên đánh giá d chính xác giá trị ướộ c tính CEAC
• MAPE : phần trăm tuyệ ốt đ i trung bình
• n : số ự d án thu th p được ậ
CÀI ĐẶ T TH NGHI Ử ỆM VÀ ĐÁNH GIÁ
T ổng quan phần mề m xây d ựng
Để thực hiện thử nghiệm, tôi đã xây dựng dữ liệu đầu vào từ bộ dữ liệu của 10 dự án phần mềm đã hoàn thành Tất cả các dự án này đều là những dự án thực tế mà tôi đã thu thập dữ liệu từ các doanh nghiệp tại Hà Nội.
Thời gian thực hiện các dự án dao động từ 9 đến 20 tháng, với ngân sách từ 230 triệu đến 1 tỷ 350 triệu Trong số 10 dự án, chỉ có dự án 5 và dự án 10 hoàn thành đúng kế hoạch, trong khi các dự án còn lại đều chậm tiến độ.
- 7 dự án chậm tiến đ , vư t quá ngân sách ộ ợ
- 1 dự án chậm tiến đ , dư i ngân sách ộ ớ
- 1 dự án trước ti n đ , quá ngân sách ế ộ
- 1 dự án trước ti n đ , dư i ngân sách ế ộ ớ
Dưới đây là bảng tổng hợp thông tin về 10 dự án, bao gồm dữ liệu chi tiết của từng dự án Các dự án này bao gồm nhiều lĩnh vực như quản lý gara ô tô, website bán phụ tùng ô tô, và hệ thống chăm sóc khách hàng, tất cả đều được thu thập từ các nguồn đáng tin cậy.
Bảng 3.1 Bảng tổng hợp thông tin 10 dự án thực nghiệm
D ữ liệu đ u vào là 10 dự ầ án thực tế thu thập được , trong đó có các thông s ố thống kê được cho t ng tháng ừ
Bảng 2 Bảng tổng hợp thông số ủa dự3 c án 1, dự án2, dự án 3
Bảng 3 Bảng tổng hợp thông số ủa dự 3 c án 4, dựán 5, dự án 6
Bảng 4 Bảng tổng hợp thông số ự3 d án 7,8,9,10
Lập trình thuật toán Đánh giá kết tìm tham số cho mô hình tăng trư ng Gompezt đưở ợc th c ự hiện như mô tả ng n gọắ n dưới đây
Trước tiên, chúng ta cần tìm kiếm 10 bộ dữ liệu chứa thông tin về AT, PV, EV, AC của các dự án thực tế Những bộ dữ liệu này sẽ được lưu trữ dưới định dạng file xls và xlsx.
Tiếp theo, chúng ta sẽ tiến hành chuẩn hóa 10 bộ dữ liệu, vì các bộ dữ liệu này chưa đồng nhất về hình thức và cấu trúc Việc chuẩn hóa sẽ tạo ra một cấu trúc chung, phục vụ hiệu quả cho quá trình tính toán.
- T ừ các dữ liệu về ờ th i gian AT ta biến đ i hồi quy tích lũy về ổ 1.0
Các điểm sẽ được tính theo công thức / , Các điểm này đư c ợ thể ệ hi n giá trị tích lũy đư ng cong tănờ g trưởng (x_pred : hoành độ ờ th i gian)
Với dữ liệu chi phí AC và PV, chúng ta có thể chuyển đổi về tỷ lệ lũy tích 1.0 bằng công thức |ớ|/|| Các điểm này được đánh giá thông qua giá trị y_pred (tung độ) trên đồ thị đường cong tăng trưởng.
Using the parameter set that we can modify, the Gradient Descent and Levenberg-Marquardt algorithms will be applied alongside the Least Square function, Leastsq function, and Curve function to identify the parameters for growth models.
Chúng tôi thực hiện việc tìm bộ tham số cho từng bộ dữ liệu bằng các phương pháp khác nhau, sử dụng các hàm toán học trong thư viện Scipy, cụ thể là các hàm: Least_square, Leastsq và Curve Hàm Least_square và Leastsq áp dụng thuật toán Gradient Descent để tối ưu hóa, trong khi hàm Curve sử dụng thuật toán Levenberg-Marquardt để ước lượng các tham số Chúng tôi chạy các thuật toán với từng mô hình tăng trưởng để xác định thuật toán tối ưu nhất cho từng mô hình Sau đó, mỗi mô hình sẽ được chạy theo thuật toán tối ưu và so sánh kết quả áp dụng để rút ra kết luận về mô hình tăng trưởng nào mang lại kết quả tối ưu nhất.
Cài đặ t th ử nghiệ m
Chương trình tìm tham số cho mô hình tăng trưởng Gompertz được cài đặt bằng ngôn ngữ Python, chạy trên hệ điều hành Windows 64-bit, sử dụng các thư viện toán học và thống kê như Numpy, Scipy, cùng với thư viện xử lý đồ họa Matplotlib.
Bảng 3.5 Thư viện sử ụng trong phần mề d m đềxuất
Mô Tả Tên Gói Thư Viện
Các gói thư viện tiện ích • math
Các gói thư viện xử lý toán học và đồ ọ h a
3.3 So sánh và tìm thuật toán tối ưu cho từng mô hình tăng trưởng
Từ phương pháp ước lượng tham số, ta nhận thấy rằng giá trị hàm tối ưu (fitness) phản ánh tham số cho mô hình tăng trưởng càng nhỏ càng tốt, phù hợp với yêu cầu của bài toán Điều này có nghĩa là tham số ước lượng càng nhỏ thì đường cong tạo thành từ tham số tích lũy (PV và AC) và đường cong tăng trưởng càng tương đồng Đây là căn cứ để so sánh thuật toán nào là tối ưu nhất trong dữ liệu thu được.
Mô hình tăng trưởng Gompezt
Tiến hành cài đặt thực nghiệm phương pháp tìm tham số cho mô hình tăng trưởng Gompertz, chúng tôi đã thu được bảng trực quan thể hiện kết quả hàm fitness của 10 bộ dữ liệu như sau:
Bảng 6 Kết quả hàm fitness thu được sau khi tối ưu hóa tham số cho 3 mô hình tăng trưởng Gompezt v i ba thu t toán ớ ậ
Tiếp theo, chúng ta sẽ tiến hành phân tích kết quả thu được thông qua việc sử dụng biểu đồ trực quan Các biểu đồ này sẽ so sánh tỷ lệ thu được kết quả tốt hơn của ba phương pháp khác nhau.
Hình 3.1 Biểu đồ so sánh tỉ ệ l thu được giá trị hàm tối ưu tốt nh t gi a ấ ữ ba thuật toán đề xu t vấ ới mô hình Gompezt
V mề ặt giá trị, ta cũng đã thực nghiệm để so sánh tỉ ệ l giá tr hàm t i ị ố ưu của ba phương pháp đề xuất dướ ại d ng biểu đ c t như sau ồ ộ
Hình 3.2 Biểu đồ so sánh giá trị hàm tối ưu tốt nh t giấ ữa ba phương pháp đề xu t ấ
T ừ các số liệu và qua việc phân tích các biểu đ trên, luận văn rút ra ồ được nh n xét sau : ậ
- Hàm least_square cho tỉ ệ ố l t i ưu hàm mất mát t t nh t v i 5/10 b (5 ố ấ ớ ộ b ộ cho ra kết quả thấp nhất ) least_square 50% leastsq 17% curve 33%
Giá trị hàm tối ưu least_square leastsq curve
Hàm leastsq được sử dụng để tối ưu hóa hàm mất mát, nhưng chỉ cung cấp kết quả tối thiểu với 1/10 bộ dữ liệu Do đó, không nên áp dụng hàm này để tìm tham số cho mô hình tăng trưởng Gompertz, vì nó chỉ cho ra kết quả tối thiểu kém.
- Hàm least_square cho kết quả ố t t nhất v i mô hình Gompertz.ớ
Mô hình tăng trưởng Bass
Bảng 7 Kết quả hàm fitness thu được sau khi tối ưu hóa tham số cho 3 mô hình tăng trưởng Bass v i ba thu t toán.ớ ậ
Bộ dữ liệu least_squares leastsq curve_fit
T bừ ảng dữ liệu trên ta thu được bi u đ giá tr t i ưu như hình dư i đây:ể ồ ị ố ớ
Hình 3.3 Biểu đồ so sánh tỉ ệ l thu được giá trị hàm tối ưu tốt nh t gi a ấ ữ ba thuật toán đề xu t v i mô hình Bass ấ ớ
T ừ các số liệu và qua việc phân tích các biểu đ trên, luận văn rút ra ồ được nh n xét sau : ậ
- Hàm least_square cho tỉ ệ ố l t i ưu hàm mất mát t t nh t vớố ấ i 7/10 b ộ
- Hàm leastsq cho tỉ ệ ố l t i ưu hàm m t mát tồi nhất với 1/10 bộấ Vì v y ậ không nên sử ụ d ng hàm này cho việc tìm tham số ủ c a mô hình tăng trưởng Bass
Kết Luậ : hàm least_square được lựn a ch n cho mô hình tăng trưởng ọ Bass
Chúng tôi đã tiến hành cài đặt thực nghiệm để tìm tham số cho mô hình tăng trưởng Logistics Kết quả thu được từ 10 bộ dữ liệu được trình bày trong bảng dưới đây, thể hiện giá trị hàm fitness của từng bộ dữ liệu.
Bảng 8 Kết quả hàm fitness thu được sau khi tối ưu hóa tham số cho 3 mô hình tăng trưởng Logistics với ba thu t toán ậ
Bộ dữ liệu least_squares leastsq curve_fit
2 0.337293608 0.337285092 0.33728509 least_squares 70% curve_fit 20% leastsq 10%
Giá trị hàm tối ưu least_squares curve_fit leastsq
T bừ ảng dữ liệu trên ta thu được bi u đ giá tr t i ưu như hình dư i đây:ể ồ ị ố ớ
Hình 3.4 Biểu đồso sánh tỉ ệ l thu được giá trị hàm tối ưu tốt nh t gi a ấ ữ ba thuật toán đề xu t v i mô hình Logistics ấ ớ
T ừ các số liệu và qua việc phân tích các biểu đ trên, luận văn rút ra ồ được nh n xét sau : ậ
- Hàm least_square cho tỉ ệ ố l t i ưu hàm mất mát t t nhất vớố i 4/10 b ộ
- Hàm leastsq và curve_fit cho kết quả tương đương
Chúng tôi đã thực hiện cài đặt phương pháp tìm tham số cho mô hình tăng trưởng Richards và thu được bảng trực quan kết quả hàm fitness Kết quả cho thấy 40% thuộc về phương pháp leastsq, 30% từ curve_fit và 30% còn lại.
Giá trị hàm tối ưu least_squares leastsq curve_fit
Bảng 9 Kết quả hàm fitness thu được sau khi tối ưu hóa tham số cho 3 mô hình tăng trưởng Richards với ba thuật toán.
Bộ dữ liệu least_squares leastsq curve_fit
T bừ ảng dữ liệu trên ta thu được bi u đ giá tr t i ưu như hình dư i đây:ể ồ ị ố ớ
Hình 3.5 Biểu đồ so sánh tỉ ệ l thu được giá trị hàm tối ưu tốt nh t gi a ấ ữ ba thuật toán đề xu t v i mô hình Richards ấ ớ least_squares 50% leastsq 40% curve_fit 10%
Giá trị hàm tối ưu least_squares leastsq curve_fit
Vậy, với mô hình tăng trưởng Richards thì v n cho hàm least_square ẫ có tỉ ệ ố l t i ưu hàm mất mát tốt nh t v i 5/10 b ấ ớ ộ
Tiến hành cài đặt thực nghiệm phương pháp tìm tham số cho mô hình tăng trưởng Von-Bertalanffy, chúng tôi đã thu được kết quả trực quan về hàm fitness của 10 bộ dữ liệu như sau:
Bảng 10 K3 ết quả hàm fitness thu được sau khi tối ưu hóa tham số cho mô hình tăng trưởng Von- bertalanffy với ba thuật toán
Bộ dữ liệu least_squares leastsq curve_fit
T bừ ảng dữ liệu trên ta thu được bi u đ giá tr t i ưu như hình dư i đây:ể ồ ị ố ớ
Hình 3.6 Biểu đồ so sánh tỉ ệ l thu được giá trị hàm tối ưu tốt nh t gi a ấ ữ ba thuật toán đề xu t v i mô hình Richards ấ ớ
Mô hình tăng trưởng Von-Bertalanffy cho kết quả tương đương giữa hai phương pháp tính toán least_squares và curve_fit Tuy nhiên, do sự chênh lệch kết quả không cao, chúng ta có thể sử dụng một trong hai hàm least_squares hoặc curve_fit.
Các mô hình tăng trưởng luận văn đang được xem xét cho thấy hàm least_square mang lại giá trị tối ưu nhất Việc sử dụng hàm least_square giúp tính toán chi phí và sai số cho các mô hình tăng trưởng một cách hiệu quả.
Sử dụng hàm least_square giúp xây dựng các tham số α, β, và γ cho mô hình tăng trưởng Từ đó, theo công thức tính chi phí dự đoán hoàn thành dự án, ta có thể đạt được kết quả cho từng mô hình tăng trưởng như bảng dưới đây.
Ta xét kết quả ớ v i 5 bộ ữ d liệu của dự án thực tế đầ u tiên đã đề ậ c p ở 3.1.1
Dự đoán chi phí cuối cùng của dự án được thực hiện tại các mốc 25%, 50% và 75% so với ngân sách ban đầu, cùng với việc đánh giá phần trăm sai số giữa dự đoán và chi phí thực tế Các phương pháp được áp dụng bao gồm least_squares (40%), leastsq (20%) và curve_fit (40%).
Giá trị hàm tối ưu least_squares leastsq curve_fit
Bảng 3.11 Bảng kết qu d ả ự đoán chi phí thực hiện các dự án
Gompertz Bass Logistic Richards Von - Bertan
Sai số PE được tính toán như bảng dưới đây.
Bảng 3.12 Bảng kết qu so sánh theo sai s PE ả ố
Gompertz Bass Logistic Richards Von - Bertan
Bảng 3.13 Bảng kết qu so sánh theo sai s MAPE ả ố
Mục đích của việc xuất ba thuật toán ước lượng tham số là để xác định thuật toán nào cho kết quả tối ưu hơn Sau khi tìm ra thuật toán ước lượng tham số phù hợp, bước tiếp theo là thực hiện thí nghiệm trên ba mô hình tăng trưởng Gompertz, Bass và Logistic để so sánh hiệu suất và tìm ra mô hình tốt nhất Đối với phương pháp ước lượng tham số, thuật toán Gradient Descent đã cho kết quả tối ưu hơn so với thuật toán Levenberg-Marquardt (LM), do đó được chọn để tối ưu hóa tham số cho cả ba mô hình.
Trong giai đoạn sớm (25%), các mô hình cho kết quả tiềm năng khác nhau Dự án 1 và 2 đạt kết quả tốt, trong khi dự án 3 chỉ có kết quả trung bình Đặc biệt, dự án 4 và 5 không thu được kết quả tiềm năng nào, với mức chênh lệch cao nhất lên đến 10%.
- Ở giai đoạn gi a (50%) và giai đoạữ n mu n (75%) cho kết quả trung ộ bình hoặc tương đố ối t t
- Mô hình tăng trưởng Gompertz và Von-Bertanflt cải tiến luôn cho kết quả ự đoán tố d t nh t tại cả ba giai đoạấ n(25%, 50%, 75% so v i ớ k ế hoạch)
Hình 3.7 Sai số MAPE (%) của EAC – GM1 theo giai đoạn của các mô hình tăng trưởng
Hình 3.8 Sai số MAPE (%) của EAC-GM2 theo giai đoạn c a các mô ủ hình tăng trưởng
Hình 3.9 Sai sốMAPE(%) của toàn dự án
C ả 5 mô hình tăng trưởng c i ti n đ u cho kếả ế ề t qu d đoán tốả ự t, th hiện ể ở ế k t qu ch s sai sả ỉ ố ố MAPE với m i mô hình là:ỗ
• Mô hình tăng trưởng Gompertz c i tiả ến: 2.41%
• Mô hình tăng trưởng Bass cả ến: 2.49% i ti
• Mô hình tăng trưởng Logistic c i tiả ến: 4.19%
• Mô hình tăng trưởng Richards cả ếi ti n: 3.52%
• Mô hình tăng trưởng Von-Bertanflt cả ếi ti n: 2.58%
Tính toán chi phí và k ết quả đạt đượ c
Hàm least_square giúp xây dựng các tham số α, β, γ cho mô hình tăng trưởng Từ đó, bằng cách áp dụng công thức tính chi phí dự đoán, chúng ta có thể thu được kết quả cho từng mô hình tăng trưởng như đã trình bày dưới đây.
Ta xét kết quả ớ v i 5 bộ ữ d liệu của dự án thực tế đầ u tiên đã đề ậ c p ở 3.1.1
Dự đoán chi phí cuối cùng của dự án được thực hiện tại các mốc 25%, 50% và 75% so với ngân sách ban đầu, đồng thời xác định phần trăm sai số giữa dự đoán và chi phí thực tế Phương pháp sử dụng bao gồm least_squares với tỷ lệ 40%, leastsq 20% và curve_fit 40%.
Giá trị hàm tối ưu least_squares leastsq curve_fit
Bảng 3.11 Bảng kết qu d ả ự đoán chi phí thực hiện các dự án
Gompertz Bass Logistic Richards Von - Bertan
Sai số PE được tính toán như bảng dưới đây.
Bảng 3.12 Bảng kết qu so sánh theo sai s PE ả ố
Gompertz Bass Logistic Richards Von - Bertan
Bảng 3.13 Bảng kết qu so sánh theo sai s MAPE ả ố
Đánh giá kế t qu 36 ả
Mục đích của việc xuất ba thuật toán ước lượng tham số là nhằm xác định thuật toán nào mang lại kết quả tối ưu hơn Sau khi tìm ra thuật toán ước lượng tham số phù hợp, bước tiếp theo là thực hiện thí nghiệm trên ba mô hình tăng trưởng Gompertz, Bass và Logistic để so sánh hiệu năng và tìm ra mô hình hiệu quả nhất Đối với phương pháp ước lượng tham số, thuật toán Gradient Descent đã chứng minh cho kết quả tối ưu hơn so với thuật toán Levenberg-Marquardt (LM), vì vậy nó được lựa chọn để tối ưu hóa tham số cho cả ba mô hình.
Ở giai đoạn sớm (25%), các mô hình cài đặt cho kết quả tính toán có sự phân chia rõ rệt Cụ thể, dự án 1 và 2 cho kết quả tốt, trong khi dự án 3 đạt mức trung bình Đáng chú ý, dự án 4 và 5 không thu được kết quả tính toán nào, với chất lượng chấp nhận bị sai lệch cao nhất lên đến 10%.
- Ở giai đoạn gi a (50%) và giai đoạữ n mu n (75%) cho kết quả trung ộ bình hoặc tương đố ối t t
- Mô hình tăng trưởng Gompertz và Von-Bertanflt cải tiến luôn cho kết quả ự đoán tố d t nh t tại cả ba giai đoạấ n(25%, 50%, 75% so v i ớ k ế hoạch)
Hình 3.7 Sai số MAPE (%) của EAC – GM1 theo giai đoạn của các mô hình tăng trưởng
Hình 3.8 Sai số MAPE (%) của EAC-GM2 theo giai đoạn c a các mô ủ hình tăng trưởng
Hình 3.9 Sai sốMAPE(%) của toàn dự án
C ả 5 mô hình tăng trưởng c i ti n đ u cho kếả ế ề t qu d đoán tốả ự t, th hiện ể ở ế k t qu ch s sai sả ỉ ố ố MAPE với m i mô hình là:ỗ
• Mô hình tăng trưởng Gompertz c i tiả ến: 2.41%
• Mô hình tăng trưởng Bass cả ến: 2.49% i ti
• Mô hình tăng trưởng Logistic c i tiả ến: 4.19%
• Mô hình tăng trưởng Richards cả ếi ti n: 3.52%
• Mô hình tăng trưởng Von-Bertanflt cả ếi ti n: 2.58%
Phương pháp kế hợp EVM-GM đã chứng minh hiệu quả vượt trội so với việc chỉ sử dụng riêng lẻ phương pháp EVM hoặc mô hình tăng trưởng GM Kết quả cho thấy sự kết hợp này mang lại hiệu suất tốt hơn, giúp tối ưu hóa quá trình phân tích và ra quyết định.
K ết chương
Trong chương ba, bài viết đã giới thiệu ba phương pháp ước lượng tham số cho mô hình tăng trưởng cùng với các thuật toán áp dụng Bên cạnh đó, chương cũng thực hiện lập trình thuật toán và chạy thử nghiệm để so sánh kết quả giữa các thuật toán và mô hình tăng trưởng Kết quả cho thấy mô hình tăng trưởng Logistics sử dụng hàm least_squares mang lại kết quả tối ưu nhất.
CHƯƠNG 4 -KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
4.1 Kết luận Đánh giá mức độ hoàn thành một d án phự ần mềm là m t trong những khâu ộ quan trọng giúp cho các nhà qu n lý dả ự án kiểm soát được ti n đ th c hi n ế ộ ự ệ d ự án, qua đó đưa ra được nh ng chiến lượữ c phù h p để giúp cho dự án hoàn ợ thành bảo đ m ti n và đúng với ngân sách đã đề ả ế độ ra
Luận văn đã hoàn thành được các mục tiêu đề ra bao g m: ồ
Quản lý dự án phần mềm là một lĩnh vực quan trọng, bao gồm các phương pháp quản trị giá trị thu được (EVM) và các mô hình tăng trưởng Việc nghiên cứu ứng dụng các chỉ số EVM giúp đánh giá hiệu quả và tiến độ hoàn thành của dự án phần mềm Đồng thời, các mô hình tăng trưởng cung cấp cái nhìn sâu sắc về khả năng phát triển và dự đoán mức độ hoàn thành của dự án, từ đó nâng cao khả năng quản lý và tối ưu hóa nguồn lực.
Tiến hành cài đặt và thử nghiệm các hàm xấp xỉ để dự đoán đường cong S, đồng thời áp dụng tính toán chi phí tại thời điểm kết thúc dự án.
- Tiến hành so sánh các hàm dự đoán và các mô hình tăng trưởng
Các đóng góp khoa học chính c a luận văn bao gồm: ủ
- Đề xuất sử dụng các thuật toán t i ưu cho việố c tìm tham s của các ố mô hình tăng trưởng Logictics, Bass, Gompertz, Richards, Von- Bertanflt
Nghiên cứu thực nghiệm các thuật toán trên bộ dữ liệu thực và so sánh kết quả giữa các thuật toán đã dẫn đến việc đề xuất hàm least_squares, mang lại kết quả tối ưu nhất.
- Thực nghiệm trên dữ liệu thật cho thấy mô hình Gomperts cho kết quả ố t t nhấ ớt v i sai số nh nh t ỏ ấ
Khó khăn trong quá trình làm luận văn:
Trong quá trình nghiên cứu, tôi đã gặp nhiều khó khăn, đặc biệt là trong việc tìm kiếm tài liệu phân tích định tính và định lượng cho các dự án từ khi bắt đầu đến khi hoàn thành Để vượt qua những thách thức này, tôi đã nhờ sự giúp đỡ của giáo viên hướng dẫn và tìm kiếm các tài liệu trên Internet để tổng hợp, chọn lọc những nguồn thông tin phù hợp nhằm áp dụng các mô hình và thực hiện các thử nghiệm cần thiết cho nghiên cứu của mình.
Một trong những khó khăn lớn là nhu cầu sử dụng dữ liệu đa dạng và chiều sâu thông tin trong quá trình triển khai dự án thực tế Dữ liệu lịch sử càng dài sẽ hỗ trợ tốt hơn cho mô hình trong việc trích xuất các thông số cần thiết để dự đoán hiệu quả Tuy nhiên, phương pháp yêu cầu dữ liệu lịch sử trong một giai đoạn dài khiến việc thu thập thủ công trở nên khó khăn Để giải quyết vấn đề này, tôi đã xây dựng một chương trình bằng Python để xử lý và tính toán với dữ liệu phức tạp.
Do hạn chế về khả năng và thời gian, nghiên cứu này chỉ tập trung vào những nghiên cứu và thí nghiệm ban đầu Mỗi mô hình được sử dụng trong phương pháp kết hợp được đề xuất trong phần 2.1 của nghiên cứu này đều có thể được cải tiến hơn nữa để nâng cao kết quả dự đoán cho phương pháp kết hợp các mô hình.
Các hướng phát tri n có thể ể đề xu t như sau: ấ
Tiến hành thử nghiệm thêm các hàm toán học dựa trên bộ dữ liệu có sẵn, đồng thời mở rộng nhận xét về độ chính xác của các hàm và tính ứng dụng của chúng trong thực tế dự đoán.
Việc chứng minh dựa trên cơ sở toán học các hàm fitness sẽ giúp tăng cường độ tin cậy khi sử dụng hàm này trong việc tính toán các mô hình dự đoán chi phí và thời gian hoàn thành dự án.
Số lượng tham số của các mô hình hiện nay còn khá hạn chế Do đó, trong tương lai, chúng ta có thể áp dụng các thuật toán tối ưu hóa và các thuật toán
Hiện nay, số lượng dự án phục vụ cho thực nghiệm còn hạn chế, dẫn đến kết quả chưa có tính thuyết phục cao Cần tiến hành sưu tầm, tìm kiếm và chọn lọc thêm các bộ dữ liệu dự án Đồng thời, nên thêm các kịch bản thực nghiệm trên các bộ dữ liệu mới và so sánh với kết quả nghiên cứu hiện tại để có cái nhìn tổng thể hơn về các thuật toán đề xuất.
- Xây dựng giao diện phần mềm cho người dùng sử ụ d ng, xử lý các ngoại lệ ố t t hơn
Trong quá trình thực hiện luận văn, tôi đã nỗ lực rất nhiều, nhưng vẫn không tránh khỏi những thiếu sót Tôi hy vọng nhận được ý kiến đóng góp từ các Thầy cô giáo, bạn bè và đồng nghiệp để luận văn ngày càng hoàn thiện hơn.
[1] Nannini, G., R D H Warburton, and A De Marco "Improving the accuracy of project estimates at completion using the Gompertz function International Research Network on Organizing by Projects (IRNOP) 2017, UTS ePRESS, Sydney: NSW." (2017): 1- 15
[2] Narbaev T.; De Marco A (2014) Combination of Growth Model and Earned Schedule to Forecast Project Cost at Completion In: Journal of Construction engineering and management, vol 140 n 1, Article number
[3] Batselier, J., & Vanhoucke, M (2015) Evaluation of deterministic state- of-the art forecasting approaches for project duration based on earned - value management International Journal of Project Management, 33(7),
[4] Khamooshi, H., Golafshani, H., 2014 EDM: Earned Duration Management, a new approach to schedule performance management and measurement Int J Proj Manag 32, 1019–1041
[5] Lipke, W (2011) Earned schedule application to small projects PM World Today, 13, 1-12
[6] Elshaer, R (2013) Impact of sensitivity information on the prediction of project's duration using earned schedule method International Journal of Project Management, 31(4), 579-588
Mukherjee and Routroy (2012) conducted a comparative study on the performance of neural networks, specifically those using the Levenberg–Marquardt and Quasi-Newton algorithms, against the traditional gradient descent method Their research focused on modeling a multiple response grinding process, demonstrating the effectiveness of advanced neural network techniques in optimizing performance The findings, published in "Expert Systems with Applications," highlight the advantages of using sophisticated algorithms for complex modeling tasks.
[8] Bottou, L (2010) Large-scale machine learning with stochastic gradient descent In Proceedings of COMPSTAT'2010(pp 177 186) Physica- - Verlag HD
[9] Dong, D., & McAvoy, T J (1996) Nonlinear principal component analysis—based on principal curves and neural networks Computers & Chemical Engineering, 20(1), 65 78.-
[10] Moré, J J (1978) The Levenberg-Marquardt algorithm:implementation and theory In Numerical analysis(pp 105-116) Springer, Berlin, Heidelberg.
Ế -K T LU ẬN VÀ HƯỚ NG PHÁT TRI N 39 Ể
EV
Ngân quỹ dự kiến cho thời điểm hoàn thành BAC (Budget at Completion - BAC) là tổng chi phí dự án (PV hoặc BCWS) tính đến thời điểm dự án được hoàn thành Trong trường hợp dự án có một khoản chi phí dự phòng (Management Reserve - MR), khoản này sẽ được cộng dồn vào chi phí dự kiến tại thời điểm hoàn thành dự án để xác định BAC.
EPV
Giá trị thu được tính theo tỷ ệ ự l d án hoàn thànhev [8]
EV
Chênh lệch chi phí do thay đổ ếi ti n độ SV (SV Schedule variance) [8] (Lớn - hơn 0 là thuận lợ ứi, t c là vư t ti n đ ): ợ ế ộ
ESV
Ch s ỉ ố tiến độ thực hiện SPI (SPI-Schedule performance index) [8] (Lớn hơn
SPI
Chêch l ch chi phí CV (Cost variance) [8] Chênh l ch chi phí do lệ – ệ ệch kế hoạch (Lớn hơn 0 là thuậ ợn l i):
SCV
Chênh lệch chi phí bằng vi c s dệ ử ụng bộ tham số khác
CV
Ch s ỉ ố chi phí thực hiện CPI (Cost Performance Index-CPI) [9] (Lớn hơn 1 là thuận lợi):
CPI
Ta có nhận xét như sau:
CPI < 1: Chi phí hoàn thành công việc vượt chi phí kế ho ch đ ra (có ạ ề h ại)
CPI = 1: Chi phí hoàn thành công việc đúng k ho ch (thu n lế ạ ậ ợi)
Còn lại, tức CPI > 1: Chi phí hoàn thành công việc so với chi phí dự kiến (thu n lậ ợi nhưng đôi khi có hại)
Thời điểm ước tính hoàn thành dự án EAC (Estimate at Completion) là một khái niệm quan trọng trong quản lý dự án, được tính dựa trên tỷ lệ giữa thời gian thực hiện và thời gian dự kiến hoàn thành EAC cung cấp cái nhìn tổng quan về tiến độ dự án nếu các công việc tiếp tục diễn ra theo kế hoạch hiện tại.
EAC = AC +(BA - CEV)/CPIC/CPI PT 1.9 EAC
Dự đoán chi phí ước tính hoàn thành dự án tại thời điểm hiện tại là một yếu tố quan trọng trong quản lý dự án Ước tính thời điểm hoàn thành (ETC - Estimate to Complete) phản ánh chi phí còn lại cần thiết để hoàn tất dự án Số liệu này được tính toán từ thời điểm hiện tại hoặc từ thời điểm đánh giá đến thời điểm dự kiến kết thúc.
1.5 Ưu điểm của EVM trong quản trị dự án
Trước khi xuất hiện EVM, kỹ thuật theo dõi dự án bằng phương pháp truy n thề ống là một trong những kỹ thuật tiêu biểu và vẫn còn rất phổ biến hiện nay Với kỹ thuật này, việc kiểm soát chi phí và tiến độ thường được thực hiện một cách độc lập.
Có một vấn đề tồn tại trong phương pháp truyền thống, đó là sự chênh lệch chi phí, cụ thể là sự khác biệt giữa chi phí dự kiến và chi phí thực tế.
CV = BV = PV – AC = BCWS ACWP – PT 1 11 CV cho thấy nếu CV > 0, dự án bị chậm tiến độ giải ngân Điều này chứng tỏ việc theo dõi tiến độ qua các chỉ số truyền thống gặp khó khăn trong việc xác định các phần công việc đã hoàn thành và chi phí thực tế Chênh lệch chi phí theo hướng truyền thống khi CV không bị ràng buộc với chênh lệch chi phí có thể dẫn đến những quyết định không tối ưu và không đạt được mục tiêu ban đầu của dự án Việc đánh giá CV theo hướng này không xem xét các yếu tố thay đổi trong quá trình thực hiện, có thể gây ra những ảnh hưởng tiêu cực đến kế hoạch dự án.
EVM đã khắc phục đư c những điểm trên so với phương pháp truyềợ n th ng ố cũ tuy nhiên EVM cũng có nh ng điữ ểm h n ch ạ ế
Phương pháp đánh giá dựa trên EVM có một số hạn chế, bao gồm việc chỉ dựa vào dữ liệu về hiệu suất chi phí trong quá khứ.
Dự đoán trong giai đoạn đầu của một dự án thường không đáng tin cậy Để khắc phục tình trạng này, phương pháp kết hợp giữa các mô hình tăng trưởng và EVM (Earned Value Management) được đề xuất nhằm giải quyết những hạn chế hiện tại.
Trong chương này, luận văn trình bày khái niệm tổng quan về quản trị dự án phần mềm, nhấn mạnh vai trò quan trọng trong việc kiểm soát tiến độ thực hiện và chi phí hoàn thành dự án Đồng thời, luận văn cũng giới thiệu phương pháp Quản trị giá trị thu được (EVM) cùng các thông số đặc trưng, đây là cơ sở tiếp cận chính trong việc đánh giá mức độ hoàn thành của dự án phần mềm Trong chương tới, luận văn sẽ giới thiệu chi tiết về các mô hình tăng trưởng, phân tích ưu nhược điểm của từng mô hình và các phương pháp đánh giá dựa trên các mô hình đó.
CHƯƠNG 2 TÌM HIỂU VỀ MÔ HÌNH TĂNG TRƯỞNG
Chương này sẽ tập trung vào việc nghiên cứu và trình bày các mô hình tăng trưởng cùng với phương pháp đánh giá dựa trên những mô hình này, như đã được trình bày ở Chương 1.
2.1 Các mô hình tăng trưởng
Bảng 2.1 Các mô hình tăng trưởng và đ c trưng toán hặ ọc của chúng
Thuộc tính Logistic Gompertz Bass Richards
Các kỹ thuật hồi quy là nền tảng cho khái niệm và lý thuyết liên quan đến các mô hình tăng trưởng Những mô hình này mô tả các tình huống của dữ liệu với một mẫu tăng trưởng, trong đó giá trị tăng một cách đơn điệu đến một mức tối đa trước khi giảm liên tục về giá trị 0.
Hoạt động của nó được thể hiện qua đường cong dạng S, đặc trưng bởi điểm u n, thời điểm mà tốc độ tăng trưởng đạt giá trị tối đa Hình 2.1 minh họa các đặc điểm cụ thể của các mô hình tăng trưởng, trong đó (a) là đường cong tăng trưởng tích lũy và (b) là đường cong thể hiện tốc độ tăng trưởng.
Hình 2.1 Các đặc trưng của một mô hình tăng trưởng ch S ữ
Trong luận văn, có năm loại mô hình tăng trưởng với ba tham số, bao gồm: (1) mô hình Logistic (LM), (2) mô hình Gompertz (GM), (3) mô hình Bass (BM), (4) mô hình Richards, và (5) mô hình Von-Bertanflt Bảng 2.1 trình bày các hàm phân phối tích lũy chung (CDF) được sử dụng để xây dựng đường cong và dự báo Ngoài ra, bảng này cũng cung cấp các phương trình CDF được tham số hóa cùng với các thuộc tính toán học cụ thể được thiết lập cho luận văn.
Tất cả các mô hình tăng trưởng đều có thể được sử dụng để mô tả các hoạt động chi phí của các dự án lớn thông qua hàm số và các tham số phản ánh tính tự nhiên của tiến trình thực hiện Trong giai đoạn khởi đầu của một dự án, tiến trình thực hiện thường khá chậm do công tác chuẩn bị và triển khai thiết bị Tuy nhiên, trong giai đoạn giữa, tiến trình thực hiện dự án được tăng tốc, làm tăng tỷ lệ hoàn thành công việc Cuối cùng, khi kết thúc dự án, giá trị sẽ giảm xuống gần mức 0.
Một đặc trưng toán học quan trọng của các mô hình này là sự tồn tại của giá trị α, biểu thị cho chi phí tối ưu khi thời gian (x) tiến tới vô cùng Điều này có nghĩa là khi một dự án gần hoàn thành, tức là chỉ còn ít công việc cần thực hiện, chi phí hoàn thành dự án sẽ tiếp cận giá trị α.
Mô hình tăng trưởng Logistic (LM – Logistic Model)
Mô hình LM là một trong những mô hình tăng trưởng dựa trên đường cong S được ưa chuộng nhờ tính đơn giản và khả năng phân tích dễ dàng LM có các tham số và ý nghĩa tương tự như mô hình Gompertz (GM), nhưng được phân bố một cách thông thường với điểm uốn nằm ở 50% tổng tăng trưởng, trong khi GM thường ở khoảng 1/3 LM không chỉ suy diễn đường cong phi tuyến S của dữ liệu EV trên một dự án đang thực hiện mà còn cho phép đánh giá hiệu suất theo thời gian dựa trên tiến trình công việc hiện tại Nghiên cứu đã chỉ ra rằng việc tính toán TEAC bằng mô hình LM là chính xác hơn so với các phương pháp dựa trên EVM.
Mô hình tăng trưởng Gompertz (GM – Gompertz model)
Tại đi m cần tìm g(W)=0 và H(W) xác định dương ể
( )= ( ( ) ) g( ( ) ) Để tránh bư c d ch chuy n quá lớ ị ể ớn:
Sử dụng triển khai Taylor bậc cao hơn có thể giúp tăng tốc độ hội tụ, nhưng các công thức sẽ trở nên phức tạp và khó khăn hơn Do đó, trong thực tế, chúng ta thường chỉ sử dụng các khai triển bậc 2.
Dự đoán chi phí hoàn thành dự án CEAC
Công thức dự đoán chi phí hoàn thành theo mô hình tăng trưởng
• AC(x): là chi phí thực tế ở ờ th i đi m d đoán x ể ự
• GM(1.0): giá trị ủ c a mô hình tăng trư ng t i x=1 (hoàn thành 100% ở ạ d ự án), nó có xu hướng tiế ớn t i giá tr ti m c n α ị ệ ậ
• GM(x): giá trị ủ c a mô hình tăng trư ng t i thở ạ ời đi m d đoán x ể ự
• GM là một hàm s đã biết trướố c (tùy thu c vào mô hình hồi quy được ộ chọn)
2.3 Kết hợp chi phí dự đoán với mô hình tăng trưởng (Growth Model
- GM) Áp dụng mô hình tăng trưởng ta thu được CEAC theo công th c sau: ứ
( ) = ( ) + [ ( ) ( )] PT 2 13 Áp dụng mô hình Logistic, ta thu được CEAC theo công thức sau:
( ) = ( ) + [ ( / ( )) – PT 2 14 Áp dụng mô hình Bass, ta thu được CEAC theo công thức sau:
CEAC(x) = AC(x) +[ BM (1/SPI(t)) – BM(x)]*BAC PT 2 15 Áp dụng mô hình Richards , ta thu được CEAC theo công thức sau:
CEAC(x) được tính bằng công thức CEAC(x) = AC(x) + [RM (1/SPI(t)) – RM(x)]*BAC, theo mô hình Von-Bertanflt Tương tự, CEAC cũng có thể được xác định qua công thức CEAC(x) = AC(x) + [BM (1/SPI(t)) – BM(x)]*BAC.
AC(x) là thời đi m d đoán x ể ự
GM(1/SP(t)), BM(1/SP(t)), và LM(1/SPI(t)) là giá trị ủ c a mô hình tăng trưởng t i th i điểạ ờ m d kiến hoàn thành dự ự án
GM(x) BM(x) , và LM(x) là giá trị ủ c a mô hình tăng trư ng t i th i đi m ở ạ ờ ể d ự đoán x
2.4 So sánh các mô hình tăng trưởng và phương pháp dựa trên chỉ số
Sai số ph n trăm d a trên giá trị chi phí ước tính CEAC và giá trịầ ự thu đư c ợ CAC [20]:
• PE : Sai số ph n trăm dựầ a trên đánh giá d chính xác giá trị ướộ c tính CEAC
• MAPE : phần trăm tuyệ ốt đ i trung bình
• n : số ự d án thu th p được ậ
Here is a rewritten paragraph that contains the main points of the original text, optimized for SEO:"Chương 2 sẽ giới thiệu năm mô hình tăng trưởng quan trọng, bao gồm Gompertz, Logistic, Bass, Richards và Von Bertalanffy, cùng với các đặc tính toán học và phương pháp áp dụng của chúng Những mô hình này thường được sử dụng để đánh giá tốc độ tăng trưởng, giúp người dùng có thể dự đoán và phân tích xu hướng phát triển của các hiện tượng khác nhau."
CHƯƠNG 3 CÀI ĐẶT THỬ NGHIỆM VÀ ĐÁNH GIÁ
3.1 Tổng quan phần mềm xây dựng
Để tiến hành thử nghiệm, tôi đã xây dựng dữ liệu đầu vào từ bộ dữ liệu của 10 dự án phần mềm đã hoàn thành Tất cả các dự án này đều là những dự án thực tế mà tôi đã thu thập được thông tin từ các doanh nghiệp tại Hà Nội.
Thời gian thực hiện dự án dao động từ 9 đến 20 tháng, với ngân sách từ 230 triệu đến 1.350 triệu Trong 10 dự án, chỉ có dự án 5 và dự án 10 hoàn thành đúng kế hoạch, trong khi các dự án còn lại đều chậm tiến độ.
- 7 dự án chậm tiến đ , vư t quá ngân sách ộ ợ
- 1 dự án chậm tiến đ , dư i ngân sách ộ ớ
- 1 dự án trước ti n đ , quá ngân sách ế ộ
- 1 dự án trước ti n đ , dư i ngân sách ế ộ ớ
Dưới đây là bảng tổng hợp thông tin về 10 dự án, bao gồm dữ liệu chi tiết của từng dự án Các dự án này bao gồm nhiều lĩnh vực như quản lý gara ô tô, website bán phụ tùng ô tô và hệ thống chăm sóc khách hàng, được thu thập từ các nguồn đáng tin cậy.
Bảng 3.1 Bảng tổng hợp thông tin 10 dự án thực nghiệm
D ữ liệu đ u vào là 10 dự ầ án thực tế thu thập được , trong đó có các thông s ố thống kê được cho t ng tháng ừ
Bảng 2 Bảng tổng hợp thông số ủa dự3 c án 1, dự án2, dự án 3
Bảng 3 Bảng tổng hợp thông số ủa dự 3 c án 4, dựán 5, dự án 6
Bảng 4 Bảng tổng hợp thông số ự3 d án 7,8,9,10
Lập trình thuật toán Đánh giá kết tìm tham số cho mô hình tăng trư ng Gompezt đưở ợc th c ự hiện như mô tả ng n gọắ n dưới đây
Đầu tiên, chúng ta cần tìm kiếm 10 bộ dữ liệu chứa thông tin về AT, PV, EV và AC của các dự án thực tế Những bộ dữ liệu này sẽ được lưu trữ dưới định dạng file xls và xlsx.
Tiếp theo, chúng ta sẽ tiến hành chuẩn hóa 10 bộ dữ liệu, vì các bộ dữ liệu này chưa đồng nhất về hình thức và cấu trúc Việc chuẩn hóa sẽ tạo ra một cấu trúc chung, phục vụ cho các tính toán sau này.
- T ừ các dữ liệu về ờ th i gian AT ta biến đ i hồi quy tích lũy về ổ 1.0
Các điểm sẽ được tính theo công thức / , Các điểm này đư c ợ thể ệ hi n giá trị tích lũy đư ng cong tănờ g trưởng (x_pred : hoành độ ờ th i gian)
Với dữ liệu chi phí AC và PV, chúng ta có thể chuyển đổi về tỷ lệ lũy thừa 1.0 thông qua công thức | y | / | | Các điểm này được đánh giá giá trị y_pred (tọa độ) trên đồ thị đường cong tăng trưởng.
Using a parameter set that we can modify, we will apply optimization algorithms such as Gradient Descent and Levenberg-Marquardt, along with Least Square functions, Leastsq functions, and Curve functions, to identify the parameters necessary for growth models.
Chúng tôi thực hiện tìm bộ tham số cho từng bộ dữ liệu bằng các phương pháp khác nhau, sử dụng các hàm toán học trong thư viện Scipy, cụ thể là các hàm: Least_square, Leastsq và Curve Hàm Least_square và Leastsq sử dụng thuật toán Gradient Descent để tối ưu, trong khi hàm Curve áp dụng thuật toán Levenberg-Marquardt để ước lượng các tham số Chúng tôi chạy các thuật toán với từng mô hình tăng trưởng để xác định thuật toán tối ưu nhất cho từng mô hình Sau đó, với mỗi mô hình, chúng tôi áp dụng thuật toán tối ưu và so sánh kết quả để rút ra kết luận về mô hình tăng trưởng nào mang lại kết quả tối ưu nhất.
Chương trình tìm tham số cho mô hình tăng trưởng Gompertz được cài đặt bằng ngôn ngữ Python, chạy trên hệ điều hành Windows 64-bit, sử dụng các gói thư viện toán học và thống kê như Numpy, Scipy, cùng với thư viện xử lý đồ họa Matplotlib.
Bảng 3.5 Thư viện sử ụng trong phần mề d m đềxuất
Mô Tả Tên Gói Thư Viện
Các gói thư viện tiện ích • math
Các gói thư viện xử lý toán học và đồ ọ h a
3.3 So sánh và tìm thuật toán tối ưu cho từng mô hình tăng trưởng
Từ phương pháp ước lượng tham số, giá trị hàm tối ưu (fitness) phản ánh rằng tham số cho mô hình tăng trưởng càng nhỏ càng tốt, phù hợp với yêu cầu của bài toán Điều này có nghĩa là tham số ước lượng nhỏ hơn sẽ tạo ra đường cong tích lũy (PV và AC) và đường cong tăng trưởng càng đồng nhất Đây là cơ sở để so sánh thuật toán nào là tối ưu nhất trong dữ liệu thu được.
Mô hình tăng trưởng Gompezt
Tiến hành cài đặt thực nghiệm phương pháp tìm tham số cho mô hình tăng trưởng Gompertz, chúng tôi đã thu được bảng kết quả hàm fitness từ 10 bộ dữ liệu như dưới đây:
Bảng 6 Kết quả hàm fitness thu được sau khi tối ưu hóa tham số cho 3 mô hình tăng trưởng Gompezt v i ba thu t toán ớ ậ
Tiếp theo, chúng ta sẽ tiến hành phân tích kết quả thu được thông qua việc sử dụng các biểu đồ trực quan Những biểu đồ này sẽ so sánh tỷ lệ thu được của ba phương pháp sử dụng, giúp làm nổi bật hiệu quả vượt trội của từng phương pháp.
Hình 3.1 Biểu đồ so sánh tỉ ệ l thu được giá trị hàm tối ưu tốt nh t gi a ấ ữ ba thuật toán đề xu t vấ ới mô hình Gompezt
V mề ặt giá trị, ta cũng đã thực nghiệm để so sánh tỉ ệ l giá tr hàm t i ị ố ưu của ba phương pháp đề xuất dướ ại d ng biểu đ c t như sau ồ ộ
Hình 3.2 Biểu đồ so sánh giá trị hàm tối ưu tốt nh t giấ ữa ba phương pháp đề xu t ấ
T ừ các số liệu và qua việc phân tích các biểu đ trên, luận văn rút ra ồ được nh n xét sau : ậ
- Hàm least_square cho tỉ ệ ố l t i ưu hàm mất mát t t nh t v i 5/10 b (5 ố ấ ớ ộ b ộ cho ra kết quả thấp nhất ) least_square 50% leastsq 17% curve 33%
Giá trị hàm tối ưu least_square leastsq curve
Giá trị ủ c a làm cho hàm f( ) đạt giá trị nh nh t đư c g i là đi m ỏ ấ ợ ọ ể tối ưu (optimal point), ký hiệu:
Và bài toán này được gọi là bài toán bình phương nhỏ nh t ấ
Cho hàm số hai biến \( f(x, y) \) Nếu xem \( y \) như hằng số và đạo hàm hàm số theo \( x \), ta có đạo hàm riêng của \( f \) theo \( x \), ký hiệu là \( f_x \) Tương tự, đạo hàm riêng của \( f \) theo \( y \) được ký hiệu là \( f_y \) Nói cách khác, \( f_x \) và \( f_y \) là các hàm số được xác định bởi các công thức cụ thể, với điều kiện các giới hạn tồn tại, các công thức cho đạo hàm một biến vẫn có thể áp dụng.
Ta có Gradient của hàm số f(x,y) là một trường vector được định nghĩa như sau:
Khi xét hàm hai biến f tại điểm (x, y), hướng của ∇f cho thấy giá trị của hàm số sẽ thay đổi nhanh nhất Nếu hình dung đồ thị của hàm số này như một vùng đồi núi, thì tại điểm có tọa độ (x, y), hướng ∇f sẽ chỉ ra hướng có độ cao lớn nhất.
Thuật toán Gradient Descent là một phương pháp tối ưu hóa dựa trên nguyên tắc: nếu hàm số f(x) xác định và khả vi tại điểm a, thì giá trị của f sẽ giảm nhanh nhất khi di chuyển theo hướng ngược lại với gradient của f tại a, tức là -f'(a).
Và γ đủ nh thì ta sẽ f(ỏ có ) f(≥ )
Khi chọn điểm xuất phát x0 và áp dụng công thức đã nêu, chúng ta sẽ tiến gần đến điểm cực tiểu (local minimum) của hàm f Tuy nhiên, cần lưu ý rằng điểm cực tiểu này không nhất thiết phải là giá trị nhỏ nhất của hàm số.
Thuật toán Levenberg-Marquardt (L-M) [20] dựa trên triển khai bậc 2 của khai triển Taylor:
Trong đó: p là khoảng lân cận trong khai triển; G(W) là vector gradient của E theo công thức sau:
H(W) là ma trận đ o hàm bậc 2 ạ g( ) =
Tại đi m cần tìm g(W)=0 và H(W) xác định dương ể
( )= ( ( ) ) g( ( ) ) Để tránh bư c d ch chuy n quá lớ ị ể ớn:
Việc sử dụng triển khai Taylor bậc cao hơn có thể giúp tăng tốc độ hội tụ, nhưng các công thức sẽ trở nên phức tạp và khó áp dụng Do đó, trong thực tế, chúng ta thường chỉ sử dụng các khai triển bậc 2 để đảm bảo tính hiệu quả và dễ dàng trong quá trình tính toán.
Dự đoán chi phí hoàn thành dự án CEAC
Công thức dự đoán chi phí hoàn thành theo mô hình tăng trưởng
• AC(x): là chi phí thực tế ở ờ th i đi m d đoán x ể ự
• GM(1.0): giá trị ủ c a mô hình tăng trư ng t i x=1 (hoàn thành 100% ở ạ d ự án), nó có xu hướng tiế ớn t i giá tr ti m c n α ị ệ ậ
• GM(x): giá trị ủ c a mô hình tăng trư ng t i thở ạ ời đi m d đoán x ể ự
• GM là một hàm s đã biết trướố c (tùy thu c vào mô hình hồi quy được ộ chọn)
2.3 Kết hợp chi phí dự đoán với mô hình tăng trưởng (Growth Model
- GM) Áp dụng mô hình tăng trưởng ta thu được CEAC theo công th c sau: ứ
( ) = ( ) + [ ( ) ( )] PT 2 13 Áp dụng mô hình Logistic, ta thu được CEAC theo công thức sau:
( ) = ( ) + [ ( / ( )) – PT 2 14 Áp dụng mô hình Bass, ta thu được CEAC theo công thức sau:
CEAC(x) = AC(x) +[ BM (1/SPI(t)) – BM(x)]*BAC PT 2 15 Áp dụng mô hình Richards , ta thu được CEAC theo công thức sau:
CEAC(x) được tính theo công thức CEAC(x) = AC(x) + [RM (1/SPI(t)) – RM(x)] * BAC, áp dụng mô hình Von-Bertanflt Công thức này cho phép xác định CEAC một cách chính xác hơn, với CEAC(x) = AC(x) + [BM (1/SPI(t)) – BM(x)] * BAC.
AC(x) là thời đi m d đoán x ể ự
GM(1/SP(t)), BM(1/SP(t)), và LM(1/SPI(t)) là giá trị ủ c a mô hình tăng trưởng t i th i điểạ ờ m d kiến hoàn thành dự ự án
GM(x) BM(x) , và LM(x) là giá trị ủ c a mô hình tăng trư ng t i th i đi m ở ạ ờ ể d ự đoán x
2.4 So sánh các mô hình tăng trưởng và phương pháp dựa trên chỉ số
Sai số ph n trăm d a trên giá trị chi phí ước tính CEAC và giá trịầ ự thu đư c ợ CAC [20]:
• PE : Sai số ph n trăm dựầ a trên đánh giá d chính xác giá trị ướộ c tính CEAC
• MAPE : phần trăm tuyệ ốt đ i trung bình
• n : số ự d án thu th p được ậ
Chương 2 giới thiệu năm mô hình tăng trưởng bao gồm Gompertz, Logistic, Bass, Richards và Von-Bertalanffy, cùng với các đặc tính toán học của chúng Những mô hình này thường được áp dụng để đánh giá tốc độ tăng trưởng.
CHƯƠNG 3 CÀI ĐẶT THỬ NGHIỆM VÀ ĐÁNH GIÁ
3.1 Tổng quan phần mềm xây dựng
Thời gian thực hiện dự án dao động từ 9 đến 20 tháng, với ngân sách từ 230 triệu đến 1 tỷ 350 triệu Trong số 10 dự án, chỉ có dự án 5 và dự án 10 hoàn thành đúng kế hoạch, trong khi các dự án còn lại đều chậm tiến độ.
- 7 dự án chậm tiến đ , vư t quá ngân sách ộ ợ
- 1 dự án chậm tiến đ , dư i ngân sách ộ ớ
- 1 dự án trước ti n đ , quá ngân sách ế ộ
- 1 dự án trước ti n đ , dư i ngân sách ế ộ ớ
Dưới đây là bảng thông tin tổng hợp 10 dự án cùng các dữ liệu chi tiết của từng dự án Các dự án này bao gồm nhiều lĩnh vực như quản lý gara ô tô, website bán phụ tùng ô tô và hệ thống chăm sóc khách hàng, tất cả đều được thu thập từ các nguồn đáng tin cậy.
Bảng 3.1 Bảng tổng hợp thông tin 10 dự án thực nghiệm
D ữ liệu đ u vào là 10 dự ầ án thực tế thu thập được , trong đó có các thông s ố thống kê được cho t ng tháng ừ
Bảng 2 Bảng tổng hợp thông số ủa dự3 c án 1, dự án2, dự án 3
Bảng 3 Bảng tổng hợp thông số ủa dự 3 c án 4, dựán 5, dự án 6
Bảng 4 Bảng tổng hợp thông số ự3 d án 7,8,9,10
Lập trình thuật toán Đánh giá kết tìm tham số cho mô hình tăng trư ng Gompezt đưở ợc th c ự hiện như mô tả ng n gọắ n dưới đây
Trước tiên, chúng ta cần tìm kiếm 10 bộ dữ liệu chứa thông tin về AT, PV, EV, AC của các dự án thực tế Những bộ dữ liệu này sẽ được lưu trữ dưới định dạng file xls và xlsx.
Chúng ta cần chuẩn hóa 10 bộ dữ liệu để đảm bảo tính nhất quán về hình thức và cấu trúc Việc này là cần thiết nhằm tạo ra một cấu trúc chung phục vụ cho các phép tính toán hiệu quả.
- T ừ các dữ liệu về ờ th i gian AT ta biến đ i hồi quy tích lũy về ổ 1.0
Các điểm sẽ được tính theo công thức / , Các điểm này đư c ợ thể ệ hi n giá trị tích lũy đư ng cong tănờ g trưởng (x_pred : hoành độ ờ th i gian)
Với dữ liệu chi phí AC và PV, chúng ta có thể chuyển đổi về đồ thị quy tích lũy bằng công thức |ớ|/|| Các điểm này sẽ được đánh giá thông qua giá trị y_pred (tọa độ) trên đồ thị đường cong tăng trưởng.
Using a parameter set that can be adjusted, we will apply algorithms such as Gradient Descent and Levenberg-Marquardt, along with functions like Least_square, Leastsq, and Curve function, to identify the parameters necessary for growth models.
Chúng tôi tiến hành tìm bộ tham số cho từng bộ dữ liệu bằng các phương pháp khác nhau, sử dụng các hàm toán học trong thư viện Scipy, cụ thể là hàm Least_square, Leastsq và Curve Hàm Least_square và Leastsq áp dụng thuật toán Gradient Descent để tối ưu hóa, trong khi hàm Curve sử dụng thuật toán Levenberg-Marquardt để ước lượng các tham số Chúng tôi chạy các thuật toán trên các mô hình tăng trưởng khác nhau để xác định thuật toán tối ưu nhất cho từng mô hình Cuối cùng, mỗi mô hình sẽ được chạy theo thuật toán tối ưu và so sánh kết quả để rút ra kết luận về mô hình tăng trưởng nào mang lại kết quả tối ưu nhất.
Khi xét hàm hai biến f tại điểm (x, y), hướng của ∇f cho thấy giá trị của hàm số sẽ thay đổi nhanh nhất Nếu hình dung đồ thị của hàm số này như một vùng đồi núi, thì tại điểm (x, y), hướng ∇f sẽ là hướng có độ dốc cao nhất.
Thuật toán Gradient Descent là một phương pháp tối ưu hóa dựa trên nguyên tắc rằng nếu hàm số f(x) xác định và khả vi tại điểm a, thì giá trị của f sẽ giảm nhanh nhất khi di chuyển theo hướng ngược với gradient của f tại a, tức là -f'(a).
Và γ đủ nh thì ta sẽ f(ỏ có ) f(≥ )
Nếu chọn điểm xuất phát x0 và áp dụng công thức trên, chúng ta sẽ tìm được điểm gần nhất đến giá trị cực tiểu địa phương của hàm f Tuy nhiên, điểm cực tiểu này không nhất thiết phải là giá trị nhỏ nhất của hàm.
Thuật toán Levenberg-Marquardt (L-M) [20] dựa trên triển khai bậc 2 của khai triển Taylor:
Trong đó: p là khoảng lân cận trong khai triển; G(W) là vector gradient của E theo công thức sau:
H(W) là ma trận đ o hàm bậc 2 ạ g( ) =
Tại đi m cần tìm g(W)=0 và H(W) xác định dương ể
( )= ( ( ) ) g( ( ) ) Để tránh bư c d ch chuy n quá lớ ị ể ớn:
Here is a rewritten paragraph that complies with SEO rules:"Khi triển khai Taylor bậc cao hơn, chúng ta có thể đạt được tốc độ hội tụ nhanh hơn Tuy nhiên, các công thức phức tạp và khó khăn trong tính toán khiến chúng ta chỉ dừng lại ở các khai triển bậc 2 trong thực tế."
Dự đoán chi phí hoàn thành dự án CEAC
Công thức dự đoán chi phí hoàn thành theo mô hình tăng trưởng
• AC(x): là chi phí thực tế ở ờ th i đi m d đoán x ể ự
• GM(1.0): giá trị ủ c a mô hình tăng trư ng t i x=1 (hoàn thành 100% ở ạ d ự án), nó có xu hướng tiế ớn t i giá tr ti m c n α ị ệ ậ
• GM(x): giá trị ủ c a mô hình tăng trư ng t i thở ạ ời đi m d đoán x ể ự
• GM là một hàm s đã biết trướố c (tùy thu c vào mô hình hồi quy được ộ chọn)
2.3 Kết hợp chi phí dự đoán với mô hình tăng trưởng (Growth Model
- GM) Áp dụng mô hình tăng trưởng ta thu được CEAC theo công th c sau: ứ
( ) = ( ) + [ ( ) ( )] PT 2 13 Áp dụng mô hình Logistic, ta thu được CEAC theo công thức sau:
( ) = ( ) + [ ( / ( )) – PT 2 14 Áp dụng mô hình Bass, ta thu được CEAC theo công thức sau:
CEAC(x) = AC(x) +[ BM (1/SPI(t)) – BM(x)]*BAC PT 2 15 Áp dụng mô hình Richards , ta thu được CEAC theo công thức sau:
CEAC(x) được tính theo công thức CEAC(x) = AC(x) + [RM(1/SPI(t)) – RM(x)]*BAC, theo mô hình Von-Bertanflt Tương tự, CEAC cũng có thể được xác định bằng công thức CEAC(x) = AC(x) + [BM(1/SPI(t)) – BM(x)]*BAC.
AC(x) là thời đi m d đoán x ể ự
GM(1/SP(t)), BM(1/SP(t)), và LM(1/SPI(t)) là giá trị ủ c a mô hình tăng trưởng t i th i điểạ ờ m d kiến hoàn thành dự ự án
GM(x) BM(x) , và LM(x) là giá trị ủ c a mô hình tăng trư ng t i th i đi m ở ạ ờ ể d ự đoán x
2.4 So sánh các mô hình tăng trưởng và phương pháp dựa trên chỉ số
Sai số ph n trăm d a trên giá trị chi phí ước tính CEAC và giá trịầ ự thu đư c ợ CAC [20]:
• PE : Sai số ph n trăm dựầ a trên đánh giá d chính xác giá trị ướộ c tính CEAC
• MAPE : phần trăm tuyệ ốt đ i trung bình
• n : số ự d án thu th p được ậ
Chương 2 giới thiệu năm mô hình tăng trưởng chính: Gompertz, Logistic, Bass, Richards và Von-Bertalanffy, cùng với các đặc tính toán học của chúng Những mô hình này thường được áp dụng để đánh giá tốc độ tăng trưởng một cách hiệu quả.
CHƯƠNG 3 CÀI ĐẶT THỬ NGHIỆM VÀ ĐÁNH GIÁ
3.1 Tổng quan phần mềm xây dựng
Để tiến hành thử nghiệm, tôi đã xây dựng dữ liệu đầu vào từ bộ dữ liệu của 10 dự án phần mềm đã hoàn thành Tất cả các dự án này đều là những dự án thực tế mà tôi đã thu thập được thông tin từ các doanh nghiệp tại Hà Nội.
Thời gian thực hiện dự án dao động từ 9 đến 20 tháng, với ngân sách từ 230 triệu đến 1.350 triệu Trong 10 dự án, chỉ có dự án 5 và dự án 10 hoàn thành đúng kế hoạch, trong khi các dự án còn lại đều chậm tiến độ.
- 7 dự án chậm tiến đ , vư t quá ngân sách ộ ợ
- 1 dự án chậm tiến đ , dư i ngân sách ộ ớ
- 1 dự án trước ti n đ , quá ngân sách ế ộ
- 1 dự án trước ti n đ , dư i ngân sách ế ộ ớ
Dưới đây là bảng thông tin tổng hợp 10 dự án cùng các dữ liệu chi tiết về từng dự án Các dự án này bao gồm nhiều lĩnh vực như quản lý gara ô tô, website bán phụ tùng ô tô, và hệ thống chăm sóc khách hàng, tất cả đều được thu thập từ các nguồn đáng tin cậy.
Bảng 3.1 Bảng tổng hợp thông tin 10 dự án thực nghiệm
D ữ liệu đ u vào là 10 dự ầ án thực tế thu thập được , trong đó có các thông s ố thống kê được cho t ng tháng ừ
Bảng 2 Bảng tổng hợp thông số ủa dự3 c án 1, dự án2, dự án 3
Bảng 3 Bảng tổng hợp thông số ủa dự 3 c án 4, dựán 5, dự án 6
Bảng 4 Bảng tổng hợp thông số ự3 d án 7,8,9,10
Lập trình thuật toán Đánh giá kết tìm tham số cho mô hình tăng trư ng Gompezt đưở ợc th c ự hiện như mô tả ng n gọắ n dưới đây
Trước tiên, cần thu thập 10 bộ dữ liệu chứa thông tin về AT, PV, EV và AC của các dự án thực tế Các bộ dữ liệu này sẽ được lưu trữ dưới định dạng file xls và xlsx.
Để đảm bảo tính nhất quán trong việc tính toán, chúng ta cần chuẩn hóa 10 bộ dữ liệu khác nhau, vì các bộ dữ liệu này hiện chưa đồng nhất về hình thức và cấu trúc Việc chuẩn hóa sẽ tạo ra một cấu trúc chung, giúp cải thiện hiệu quả xử lý và phân tích dữ liệu.
- T ừ các dữ liệu về ờ th i gian AT ta biến đ i hồi quy tích lũy về ổ 1.0
Các điểm sẽ được tính theo công thức / , Các điểm này đư c ợ thể ệ hi n giá trị tích lũy đư ng cong tănờ g trưởng (x_pred : hoành độ ờ th i gian)
Với dữ liệu chi phí AC và PV, chúng ta có thể chuyển đổi về hệ thống lũy thừa 1.0 bằng công thức |y|/|x| Các điểm này được đánh giá bằng giá trị y_pred (tung độ) trên đồ thị đường cong tăng trưởng.
Using the specified parameter set, we will apply algorithms such as Gradient Descent and Levenberg-Marquardt, along with the Least_square function, Leastsq function, and Curve function, to determine the parameters for growth models.
Chúng tôi tiến hành tìm bộ tham số cho từng bộ dữ liệu bằng các phương pháp khác nhau, sử dụng các hàm trong thư viện Scipy, cụ thể là hàm Least_square, Leastsq và Curve Hàm Least_square và Leastsq áp dụng thuật toán Gradient Descent để tối ưu, trong khi hàm Curve sử dụng thuật toán Levenberg-Marquardt để ước lượng các tham số Chúng tôi thử nghiệm các thuật toán với các mô hình tăng trưởng khác nhau nhằm tìm ra thuật toán tối ưu nhất cho từng mô hình Cuối cùng, mỗi mô hình sẽ được chạy theo thuật toán tối ưu và so sánh kết quả áp dụng để rút ra kết luận về mô hình tăng trưởng nào mang lại kết quả tối ưu nhất.
Chương trình thực hiện tìm tham số cho mô hình tăng trưởng Gompertz được cài đặt bằng ngôn ngữ Python, chạy trên hệ điều hành Windows 64-bit Nó sử dụng các gói thư viện toán học và thống kê như Numpy, Scipy, cùng với thư viện xử lý đồ họa Matplotlib để trực quan hóa kết quả.
Bảng 3.5 Thư viện sử ụng trong phần mề d m đềxuất
Mô Tả Tên Gói Thư Viện
Các gói thư viện tiện ích • math
Các gói thư viện xử lý toán học và đồ ọ h a
3.3 So sánh và tìm thuật toán tối ưu cho từng mô hình tăng trưởng
Từ phương pháp ước lượng tham số, có thể nhận xét rằng giá trị hàm tối ưu (fitness) phản ánh tham số cho mô hình tăng trưởng càng nhỏ càng tốt, phù hợp với yêu cầu của bài toán Nói cách khác, tham số ước lượng càng nhỏ thì đường cong tạo thành từ tham số tích lũy (PV và AC) và đường cong tăng trưởng càng tương đồng Đây chính là căn cứ để so sánh thuật toán nào là tối ưu nhất trong dữ liệu thu được.
Mô hình tăng trưởng Gompezt
Tiến hành cài đặt thực nghiệm phương pháp tìm tham số cho mô hình tăng trưởng Gompertz, chúng tôi đã thu được bảng trực quan kết quả hàm fitness của 10 bộ dữ liệu như sau:
Bảng 6 Kết quả hàm fitness thu được sau khi tối ưu hóa tham số cho 3 mô hình tăng trưởng Gompezt v i ba thu t toán ớ ậ
H(W) là ma trận đ o hàm bậc 2 ạ g( ) =
Tại đi m cần tìm g(W)=0 và H(W) xác định dương ể
( )= ( ( ) ) g( ( ) ) Để tránh bư c d ch chuy n quá lớ ị ể ớn:
Việc sử dụng triển khai Taylor bậc cao hơn có thể giúp đạt được độ chính xác nhanh hơn, nhưng các công thức sẽ trở nên phức tạp và khó áp dụng Do đó, trong thực tế, chúng ta thường chỉ sử dụng các khai triển bậc 2.
Dự đoán chi phí hoàn thành dự án CEAC
Công thức dự đoán chi phí hoàn thành theo mô hình tăng trưởng
• AC(x): là chi phí thực tế ở ờ th i đi m d đoán x ể ự
• GM(1.0): giá trị ủ c a mô hình tăng trư ng t i x=1 (hoàn thành 100% ở ạ d ự án), nó có xu hướng tiế ớn t i giá tr ti m c n α ị ệ ậ
• GM(x): giá trị ủ c a mô hình tăng trư ng t i thở ạ ời đi m d đoán x ể ự
• GM là một hàm s đã biết trướố c (tùy thu c vào mô hình hồi quy được ộ chọn)
2.3 Kết hợp chi phí dự đoán với mô hình tăng trưởng (Growth Model
- GM) Áp dụng mô hình tăng trưởng ta thu được CEAC theo công th c sau: ứ
( ) = ( ) + [ ( ) ( )] PT 2 13 Áp dụng mô hình Logistic, ta thu được CEAC theo công thức sau:
( ) = ( ) + [ ( / ( )) – PT 2 14 Áp dụng mô hình Bass, ta thu được CEAC theo công thức sau:
CEAC(x) = AC(x) +[ BM (1/SPI(t)) – BM(x)]*BAC PT 2 15 Áp dụng mô hình Richards , ta thu được CEAC theo công thức sau:
CEAC(x) được tính theo công thức CEAC(x) = AC(x) + [RM (1/SPI(t)) – RM(x)] * BAC, theo mô hình Von-Bertanflt Công thức này cũng có thể được biểu diễn dưới dạng CEAC(x) = AC(x) + [BM (1/SPI(t)) – BM(x)] * BAC.
AC(x) là thời đi m d đoán x ể ự
GM(1/SP(t)), BM(1/SP(t)), và LM(1/SPI(t)) là giá trị ủ c a mô hình tăng trưởng t i th i điểạ ờ m d kiến hoàn thành dự ự án
GM(x) BM(x) , và LM(x) là giá trị ủ c a mô hình tăng trư ng t i th i đi m ở ạ ờ ể d ự đoán x
2.4 So sánh các mô hình tăng trưởng và phương pháp dựa trên chỉ số
Sai số ph n trăm d a trên giá trị chi phí ước tính CEAC và giá trịầ ự thu đư c ợ CAC [20]:
• PE : Sai số ph n trăm dựầ a trên đánh giá d chính xác giá trị ướộ c tính CEAC
• MAPE : phần trăm tuyệ ốt đ i trung bình
• n : số ự d án thu th p được ậ
Chương 2 của bài viết giới thiệu năm mô hình tăng trưởng quan trọng: Gompertz, Logistic, Bass, Richards và Von-Bertalanffy, cùng với các đặc tính toán học của chúng Những mô hình này thường được áp dụng để đánh giá tốc độ tăng trưởng, nhờ vào khả năng phân tích và dự đoán hiệu quả.
CHƯƠNG 3 CÀI ĐẶT THỬ NGHIỆM VÀ ĐÁNH GIÁ
3.1 Tổng quan phần mềm xây dựng
Để tiến hành thử nghiệm, tôi đã sử dụng bộ dữ liệu từ 10 dự án phần mềm đã hoàn thành Tất cả các dự án này đều là những dự án thực tế mà tôi đã thu thập dữ liệu từ các doanh nghiệp tại Hà Nội.
Thời gian thực hiện dự án dao động từ 9 đến 20 tháng, với ngân sách từ 230 triệu đến 1.350 triệu Trong 10 dự án, chỉ có dự án 5 và dự án 10 hoàn thành đúng kế hoạch, trong khi các dự án còn lại đều chậm tiến độ.
- 7 dự án chậm tiến đ , vư t quá ngân sách ộ ợ
- 1 dự án chậm tiến đ , dư i ngân sách ộ ớ
- 1 dự án trước ti n đ , quá ngân sách ế ộ
- 1 dự án trước ti n đ , dư i ngân sách ế ộ ớ
Dưới đây là bảng tổng hợp thông tin của 10 dự án cùng dữ liệu chi tiết, bao gồm các lĩnh vực như quản lý gara ô tô, website bán phụ tùng ô tô và hệ thống chăm sóc khách hàng Tất cả thông tin đã được thu thập từ các nguồn đáng tin cậy.
Bảng 3.1 Bảng tổng hợp thông tin 10 dự án thực nghiệm
D ữ liệu đ u vào là 10 dự ầ án thực tế thu thập được , trong đó có các thông s ố thống kê được cho t ng tháng ừ
Bảng 2 Bảng tổng hợp thông số ủa dự3 c án 1, dự án2, dự án 3
Bảng 3 Bảng tổng hợp thông số ủa dự 3 c án 4, dựán 5, dự án 6
Bảng 4 Bảng tổng hợp thông số ự3 d án 7,8,9,10
Lập trình thuật toán Đánh giá kết tìm tham số cho mô hình tăng trư ng Gompezt đưở ợc th c ự hiện như mô tả ng n gọắ n dưới đây
Trước tiên, chúng ta cần tìm kiếm 10 bộ dữ liệu chứa thông tin về AT, PV, EV, và AC của các dự án thực tế Những bộ dữ liệu này sẽ được lưu trữ dưới định dạng file xls và xlsx.
Chúng ta cần chuẩn hóa 10 bộ dữ liệu, vì hiện tại chúng chưa đồng nhất về hình thức và cấu trúc Việc này là cần thiết để đảm bảo có một cấu trúc chung, phục vụ cho quá trình tính toán hiệu quả.
- T ừ các dữ liệu về ờ th i gian AT ta biến đ i hồi quy tích lũy về ổ 1.0
Các điểm sẽ được tính theo công thức / , Các điểm này đư c ợ thể ệ hi n giá trị tích lũy đư ng cong tănờ g trưởng (x_pred : hoành độ ờ th i gian)
Với dữ liệu chi phí AC và PV, chúng ta tiến hành biến đổi về tổng hợp lũy thừa 1.0 theo công thức | ớ |/ | | Các điểm này được đánh giá giá trị y_pred (tọa độ) trên đồ thị đường cong tăng trưởng.
Using the specified parameter set, we will apply algorithms such as Gradient Descent and Levenberg-Marquardt, along with functions like Least_square, Leastsq, and Curve function [21], to identify the parameters for growth models.
Chúng tôi thực hiện tìm bộ tham số cho từng bộ dữ liệu bằng các phương pháp khác nhau, sử dụng các hàm trong thư viện Scipy, cụ thể là hàm Least_square, Leastsq và Curve Hàm Least_square và Leastsq áp dụng thuật toán Gradient Descent để tối ưu, trong khi hàm Curve sử dụng thuật toán Levenberg-Marquardt để ước lượng các tham số Chúng tôi chạy các thuật toán với mô hình tăng trưởng để xác định thuật toán tối ưu nhất cho từng mô hình Cuối cùng, mỗi mô hình sẽ được chạy theo thuật toán tối ưu, so sánh kết quả áp dụng của từng mô hình tăng trưởng nhằm rút ra kết luận về mô hình nào mang lại kết quả tối ưu nhất.
Chương trình tìm tham số cho mô hình tăng trưởng Gompertz được cài đặt bằng ngôn ngữ Python, chạy trên hệ điều hành Windows 64-bit Nó sử dụng các gói thư viện toán học và thống kê như Numpy, Scipy, cùng với thư viện xử lý đồ họa Matplotlib.
Bảng 3.5 Thư viện sử ụng trong phần mề d m đềxuất
Mô Tả Tên Gói Thư Viện
Các gói thư viện tiện ích • math
Các gói thư viện xử lý toán học và đồ ọ h a
3.3 So sánh và tìm thuật toán tối ưu cho từng mô hình tăng trưởng
Từ phương pháp ước lượng tham số, ta nhận thấy rằng giá trị hàm tối ưu (fitness) phản ánh tham số cho mô hình tăng trưởng càng nhỏ càng tốt, phù hợp với yêu cầu của bài toán Cụ thể, tham số ước lượng càng nhỏ thì đường cong tạo thành từ tham số tích lũy (PV và AC) và đường cong tăng trưởng càng tương đồng Đây là cơ sở để so sánh thuật toán nào là tối ưu nhất trong dữ liệu thu được.
Mô hình tăng trưởng Gompezt
Tiến hành cài đặt thực nghiệm phương pháp tìm tham số cho mô hình tăng trưởng Gompertz, chúng tôi đã thu được bảng trực quan kết quả hàm fitness từ 10 bộ dữ liệu như sau:
Bảng 6 Kết quả hàm fitness thu được sau khi tối ưu hóa tham số cho 3 mô hình tăng trưởng Gompezt v i ba thu t toán ớ ậ
Tiếp theo, chúng ta sẽ tiến hành phân tích kết quả thu được thông qua việc sử dụng biểu đồ trực quan Các biểu đồ sẽ so sánh tỷ lệ thu được kết quả tốt hơn của ba phương pháp khác nhau.
Hình 3.1 Biểu đồ so sánh tỉ ệ l thu được giá trị hàm tối ưu tốt nh t gi a ấ ữ ba thuật toán đề xu t vấ ới mô hình Gompezt
V mề ặt giá trị, ta cũng đã thực nghiệm để so sánh tỉ ệ l giá tr hàm t i ị ố ưu của ba phương pháp đề xuất dướ ại d ng biểu đ c t như sau ồ ộ
Hình 3.2 Biểu đồ so sánh giá trị hàm tối ưu tốt nh t giấ ữa ba phương pháp đề xu t ấ
T ừ các số liệu và qua việc phân tích các biểu đ trên, luận văn rút ra ồ được nh n xét sau : ậ
- Hàm least_square cho tỉ ệ ố l t i ưu hàm mất mát t t nh t v i 5/10 b (5 ố ấ ớ ộ b ộ cho ra kết quả thấp nhất ) least_square 50% leastsq 17% curve 33%
Giá trị hàm tối ưu least_square leastsq curve
• AC(x): là chi phí thực tế ở ờ th i đi m d đoán x ể ự
• GM(1.0): giá trị ủ c a mô hình tăng trư ng t i x=1 (hoàn thành 100% ở ạ d ự án), nó có xu hướng tiế ớn t i giá tr ti m c n α ị ệ ậ
• GM(x): giá trị ủ c a mô hình tăng trư ng t i thở ạ ời đi m d đoán x ể ự
• GM là một hàm s đã biết trướố c (tùy thu c vào mô hình hồi quy được ộ chọn)
2.3 Kết hợp chi phí dự đoán với mô hình tăng trưởng (Growth Model
- GM) Áp dụng mô hình tăng trưởng ta thu được CEAC theo công th c sau: ứ
Áp dụng mô hình Logistic, ta thu được CEAC theo công thức sau:
Áp dụng mô hình Bass, ta thu được CEAC theo công thức sau:
CEAC(x) = AC(x) +[ BM (1/SPI(t)) – BM(x)]*BAC PT 2 15 Áp dụng mô hình Richards , ta thu được CEAC theo công thức sau:
CEAC(x) được tính theo công thức CEAC(x) = AC(x) + [RM (1/SPI(t)) – RM(x)] * BAC, áp dụng mô hình Von-Bertanflt Tương tự, CEAC cũng có thể được xác định bằng công thức CEAC(x) = AC(x) + [BM (1/SPI(t)) – BM(x)] * BAC.
AC(x) là thời đi m d đoán x ể ự
GM(1/SP(t)), BM(1/SP(t)), và LM(1/SPI(t)) là giá trị ủ c a mô hình tăng trưởng t i th i điểạ ờ m d kiến hoàn thành dự ự án
GM(x) BM(x) , và LM(x) là giá trị ủ c a mô hình tăng trư ng t i th i đi m ở ạ ờ ể d ự đoán x
2.4 So sánh các mô hình tăng trưởng và phương pháp dựa trên chỉ số
Sai số ph n trăm d a trên giá trị chi phí ước tính CEAC và giá trịầ ự thu đư c ợ CAC [20]:
• PE : Sai số ph n trăm dựầ a trên đánh giá d chính xác giá trị ướộ c tính CEAC
• MAPE : phần trăm tuyệ ốt đ i trung bình
• n : số ự d án thu th p được ậ
Chương 2 giới thiệu năm mô hình tăng trưởng quan trọng: Gompertz, Logistic, Bass, Richards và Von-Bertalanffy, cùng với các đặc tính toán học của chúng Những mô hình này thường được áp dụng để đánh giá tốc độ tăng trưởng, nhấn mạnh vai trò của chúng trong phân tích và dự đoán sự phát triển.
CHƯƠNG 3 CÀI ĐẶT THỬ NGHIỆM VÀ ĐÁNH GIÁ
3.1 Tổng quan phần mềm xây dựng
Để thực hiện thử nghiệm, tôi đã sử dụng bộ dữ liệu từ 10 dự án phần mềm đã hoàn thành Tất cả các dự án này đều là những dự án thực tế mà tôi đã thu thập thông tin từ các doanh nghiệp tại Hà Nội.
Thời gian thực hiện dự án dao động từ 9 đến 20 tháng, với ngân sách từ 230 triệu đến 1 tỷ 350 triệu Trong số 10 dự án, chỉ có dự án 5 và dự án 10 hoàn thành đúng kế hoạch, trong khi các dự án còn lại đều chậm tiến độ.
- 7 dự án chậm tiến đ , vư t quá ngân sách ộ ợ
- 1 dự án chậm tiến đ , dư i ngân sách ộ ớ
- 1 dự án trước ti n đ , quá ngân sách ế ộ
- 1 dự án trước ti n đ , dư i ngân sách ế ộ ớ
Dưới đây là bảng tổng hợp thông tin về 10 dự án cùng các dữ liệu chi tiết Các dự án này bao gồm nhiều lĩnh vực như quản lý gara ô tô, website bán phụ tùng ô tô và hệ thống chăm sóc khách hàng, được thu thập từ các nguồn đáng tin cậy.
Bảng 3.1 Bảng tổng hợp thông tin 10 dự án thực nghiệm
D ữ liệu đ u vào là 10 dự ầ án thực tế thu thập được , trong đó có các thông s ố thống kê được cho t ng tháng ừ
Bảng 2 Bảng tổng hợp thông số ủa dự3 c án 1, dự án2, dự án 3
Bảng 3 Bảng tổng hợp thông số ủa dự 3 c án 4, dựán 5, dự án 6
Bảng 4 Bảng tổng hợp thông số ự3 d án 7,8,9,10
Lập trình thuật toán Đánh giá kết tìm tham số cho mô hình tăng trư ng Gompezt đưở ợc th c ự hiện như mô tả ng n gọắ n dưới đây
Trước tiên, chúng ta cần tìm 10 bộ dữ liệu chứa thông tin về AT, PV, EV, AC của các dự án thực tế Những bộ dữ liệu này sẽ được lưu trữ dưới dạng file xls và xlsx.
Tiếp theo, chúng ta sẽ tiến hành chuẩn hóa 10 bộ dữ liệu, vì các bộ dữ liệu này chưa đồng nhất về hình thức và cấu trúc Việc chuẩn hóa sẽ tạo ra một cấu
- T ừ các dữ liệu về ờ th i gian AT ta biến đ i hồi quy tích lũy về ổ 1.0
Các điểm sẽ được tính theo công thức / , Các điểm này đư c ợ thể ệ hi n giá trị tích lũy đư ng cong tănờ g trưởng (x_pred : hoành độ ờ th i gian)
Với dữ liệu chi phí AC và PV, chúng ta có thể chuyển đổi về tỷ lệ tích lũy 1.0 bằng công thức |ớ|/|| Các điểm này được đánh giá thông qua giá trị y_pred (tung độ) trên đồ thị đường cong tăng trưởng.
Using the parameter set that we can modify, we will apply optimization algorithms such as Gradient Descent and Levenberg-Marquardt, along with Least_square function, Leastsq function, and Curve function, to identify the parameters necessary for growth models.
Chúng tôi thực hiện tìm bộ tham số cho từng bộ dữ liệu bằng các phương pháp khác nhau, sử dụng các hàm toán học trong thư viện Scipy, cụ thể là các hàm: Least_square, Leastsq và Curve Hàm Least_square và Leastsq áp dụng thuật toán Gradient Descent để tối ưu hóa, trong khi hàm Curve sử dụng thuật toán Levenberg-Marquardt để ước lượng các tham số Chúng tôi thử nghiệm các thuật toán với các mô hình tăng trưởng khác nhau nhằm xác định thuật toán tối ưu nhất cho từng mô hình Cuối cùng, mỗi mô hình sẽ được chạy theo thuật toán tối ưu, so sánh kết quả áp dụng của từng mô hình tăng trưởng để rút ra kết luận về mô hình nào mang lại kết quả tối ưu nhất.
Chương trình thực hiện tìm tham số cho mô hình tăng trưởng Gompertz được cài đặt bằng ngôn ngữ Python, chạy trên hệ điều hành Windows 64-bit Chương trình sử dụng các thư viện xử lý toán học và thống kê như Numpy, Scipy, cùng với thư viện Matplotlib để xử lý đồ họa.
Bảng 3.5 Thư viện sử ụng trong phần mề d m đềxuất
Mô Tả Tên Gói Thư Viện
Các gói thư viện tiện ích • math
Các gói thư viện xử lý toán học và đồ ọ h a
3.3 So sánh và tìm thuật toán tối ưu cho từng mô hình tăng trưởng
Từ phương pháp ước lượng tham số, chúng ta nhận thấy rằng giá trị hàm tối ưu (fitness) phản ánh tham số cho mô hình tăng trưởng càng nhỏ càng tốt, phù hợp với yêu cầu của bài toán Nói cách khác, tham số ước lượng càng nhỏ thì đường cong tạo thành từ tham số tích lũy (PV và AC) và đường cong tăng trưởng càng đồng nhất Điều này chính là cơ sở để so sánh thuật toán nào là tối ưu nhất trong dữ liệu thu được.
Mô hình tăng trưởng Gompezt
Tiến hành cài đặt thực nghiệm phương pháp tìm tham số cho mô hình tăng trưởng Gompertz, chúng tôi đã thu được bảng kết quả hàm fitness từ 10 bộ dữ liệu như sau:
Bảng 6 Kết quả hàm fitness thu được sau khi tối ưu hóa tham số cho 3 mô hình tăng trưởng Gompezt v i ba thu t toán ớ ậ
Tiếp theo, chúng ta sẽ tiến hành phân tích kết quả thu được thông qua các biểu đồ trực quan Các biểu đồ này sẽ so sánh tỷ lệ thu được kết quả tốt hơn của ba phương pháp sử dụng khác nhau.
Hình 3.1 Biểu đồ so sánh tỉ ệ l thu được giá trị hàm tối ưu tốt nh t gi a ấ ữ ba thuật toán đề xu t vấ ới mô hình Gompezt
V mề ặt giá trị, ta cũng đã thực nghiệm để so sánh tỉ ệ l giá tr hàm t i ị ố ưu của ba phương pháp đề xuất dướ ại d ng biểu đ c t như sau ồ ộ
Hình 3.2 Biểu đồ so sánh giá trị hàm tối ưu tốt nh t giấ ữa ba phương pháp đề xu t ấ
T ừ các số liệu và qua việc phân tích các biểu đ trên, luận văn rút ra ồ được nh n xét sau : ậ
- Hàm least_square cho tỉ ệ ố l t i ưu hàm mất mát t t nh t v i 5/10 b (5 ố ấ ớ ộ b ộ cho ra kết quả thấp nhất ) least_square 50% leastsq 17% curve 33%
Giá trị hàm tối ưu least_square leastsq curve
Hàm leastsq được sử dụng để tối ưu hóa hàm mục tiêu, nhưng chỉ đạt được kết quả thấp nhất với 1/10 bộ dữ liệu Do đó, không nên áp dụng hàm này để tìm tham số của mô hình tăng trưởng Gompertz, vì nó chỉ cung cấp một kết quả tối thiểu không đáng tin cậy.
- Hàm least_square cho kết quả ố t t nhất v i mô hình Gompertz.ớ
Mô hình tăng trưởng Bass
• PE : Sai số ph n trăm dựầ a trên đánh giá d chính xác giá trị ướộ c tính CEAC
• MAPE : phần trăm tuyệ ốt đ i trung bình
• n : số ự d án thu th p được ậ
Chương 2 giới thiệu năm mô hình tăng trưởng chính: Gompertz, Logistic, Bass, Richards và Von-Bertalanffy, cùng với các đặc tính toán học của chúng Những mô hình này thường xuyên được áp dụng để đánh giá tốc độ tăng trưởng.
CHƯƠNG 3 CÀI ĐẶT THỬ NGHIỆM VÀ ĐÁNH GIÁ
3.1 Tổng quan phần mềm xây dựng
Để thực hiện thử nghiệm, tôi đã xây dựng dữ liệu đầu vào từ bộ dữ liệu của 10 dự án phần mềm đã hoàn thành Tất cả các dự án này đều là những dự án thực tế mà tôi đã thu thập được thông tin từ các doanh nghiệp tại Hà Nội.
Thời gian thực hiện dự án dao động từ 9 đến 20 tháng, với ngân sách từ 230 triệu đến 1.350 triệu đồng Trong số 10 dự án, dự án 5 và dự án 10 đã hoàn thành đúng kế hoạch, trong khi các dự án còn lại đều chậm tiến độ.
- 7 dự án chậm tiến đ , vư t quá ngân sách ộ ợ
- 1 dự án chậm tiến đ , dư i ngân sách ộ ớ
- 1 dự án trước ti n đ , quá ngân sách ế ộ
- 1 dự án trước ti n đ , dư i ngân sách ế ộ ớ
Dưới đây là bảng tổng hợp thông tin về 10 dự án, bao gồm các dữ liệu chi tiết từ nhiều lĩnh vực như quản lý gara ô tô, website bán phụ tùng ô tô và hệ thống chăm sóc khách hàng Tất cả thông tin này đã được thu thập từ các nguồn đáng tin cậy.
Bảng 3.1 Bảng tổng hợp thông tin 10 dự án thực nghiệm
D ữ liệu đ u vào là 10 dự ầ án thực tế thu thập được , trong đó có các thông s ố thống kê được cho t ng tháng ừ
Bảng 2 Bảng tổng hợp thông số ủa dự3 c án 1, dự án2, dự án 3
Bảng 3 Bảng tổng hợp thông số ủa dự 3 c án 4, dựán 5, dự án 6
Bảng 4 Bảng tổng hợp thông số ự3 d án 7,8,9,10
Lập trình thuật toán Đánh giá kết tìm tham số cho mô hình tăng trư ng Gompezt đưở ợc th c ự hiện như mô tả ng n gọắ n dưới đây
Trước tiên, chúng ta cần tìm kiếm 10 bộ dữ liệu chứa thông tin về AT, PV, EV, và AC của các dự án thực tế Các bộ dữ liệu này sẽ được lưu trữ dưới định dạng file xls và xlsx.
Chúng ta cần chuẩn hóa 10 bộ dữ liệu, vì các bộ dữ liệu này chưa đồng nhất về hình thức và cấu trúc Việc chuẩn hóa sẽ tạo ra một cấu trúc chung, phục vụ cho quá trình tính toán hiệu quả hơn.
- T ừ các dữ liệu về ờ th i gian AT ta biến đ i hồi quy tích lũy về ổ 1.0
Các điểm sẽ được tính theo công thức / , Các điểm này đư c ợ thể ệ hi n giá trị tích lũy đư ng cong tănờ g trưởng (x_pred : hoành độ ờ th i gian)
Với dữ liệu chi phí AC và PV, chúng ta có thể chuyển đổi về tỷ lệ quy tích lũy 1.0 thông qua công thức | ớ |/ | | Các điểm này được sử dụng để đánh giá giá trị y_pred (tung độ) trên đồ thị đường cong tăng trưởng.
Using the specified parameter set, we will apply optimization algorithms such as Gradient Descent and Levenberg-Marquardt, along with Least_square function, Leastsq function, and Curve function, to identify the parameters for growth models.
Chúng tôi thực hiện tìm bộ tham số cho từng bộ dữ liệu bằng các phương pháp khác nhau, sử dụng các hàm toán học trong thư viện Scipy, cụ thể là các hàm Least_square, Leastsq và Curve Hàm Least_square và Leastsq áp dụng thuật toán Gradient Descent để tối ưu, trong khi hàm Curve sử dụng thuật toán Levenberg-Marquardt để ước lượng các tham số Chúng tôi chạy các thuật toán với các mô hình tăng trưởng khác nhau nhằm xác định thuật toán tối ưu nhất cho từng mô hình Cuối cùng, mỗi mô hình sẽ được chạy theo thuật toán tối ưu và so sánh kết quả để rút ra kết luận về mô hình tăng trưởng nào mang lại kết quả tối ưu nhất.
Chương trình tìm tham số cho mô hình tăng trưởng Gompertz được cài đặt bằng ngôn ngữ Python, chạy trên hệ điều hành Windows 64-bit Nó sử dụng các thư viện toán học và thống kê như Numpy, Scipy, cùng với thư viện đồ họa Matplotlib để xử lý và trực quan hóa dữ liệu.
Bảng 3.5 Thư viện sử ụng trong phần mề d m đềxuất
Mô Tả Tên Gói Thư Viện
Các gói thư viện tiện ích • math
Các gói thư viện xử lý toán học và đồ ọ h a
3.3 So sánh và tìm thuật toán tối ưu cho từng mô hình tăng trưởng
Từ phương pháp ước lượng tham số, giá trị hàm tối ưu (fitness) phản ánh tham số cho mô hình tăng trưởng càng nhỏ càng tốt, phù hợp với yêu cầu của bài toán Điều này có nghĩa là tham số ước lượng càng nhỏ thì đường cong tích lũy (PV và AC) và đường cong tăng trưởng càng tương đồng Đây là cơ sở để so sánh thuật toán nào là tối ưu nhất trong dữ liệu thu được.
Mô hình tăng trưởng Gompezt
Tiến hành cài đặt thực nghiệm phương pháp tìm tham số cho mô hình tăng trưởng Gompertz, chúng tôi đã thu được bảng kết quả hàm fitness từ 10 bộ dữ liệu như sau:
Bảng 6 Kết quả hàm fitness thu được sau khi tối ưu hóa tham số cho 3 mô hình tăng trưởng Gompezt v i ba thu t toán ớ ậ
Tiếp theo, chúng ta sẽ tiến hành phân tích kết quả thu được thông qua việc sử dụng biểu đồ trực quan Các biểu đồ này sẽ so sánh tỷ lệ thu được của ba phương pháp khác nhau, cho thấy kết quả tốt hơn của từng phương pháp.
Hình 3.1 Biểu đồ so sánh tỉ ệ l thu được giá trị hàm tối ưu tốt nh t gi a ấ ữ ba thuật toán đề xu t vấ ới mô hình Gompezt
V mề ặt giá trị, ta cũng đã thực nghiệm để so sánh tỉ ệ l giá tr hàm t i ị ố ưu của ba phương pháp đề xuất dướ ại d ng biểu đ c t như sau ồ ộ
Hình 3.2 Biểu đồ so sánh giá trị hàm tối ưu tốt nh t giấ ữa ba phương pháp đề xu t ấ
T ừ các số liệu và qua việc phân tích các biểu đ trên, luận văn rút ra ồ được nh n xét sau : ậ
- Hàm least_square cho tỉ ệ ố l t i ưu hàm mất mát t t nh t v i 5/10 b (5 ố ấ ớ ộ b ộ cho ra kết quả thấp nhất ) least_square 50% leastsq 17% curve 33%
Giá trị hàm tối ưu least_square leastsq curve
Hàm leastsq chỉ cung cấp kết quả tối ưu tồi nhất cho tỷ lệ ố l với 1/10 bộ dữ liệu Do đó, không nên sử dụng hàm này để tìm tham số của mô hình tăng trưởng Gompertz, vì nó chỉ cho phép xác định một kết quả thấp nhất mà không đảm bảo tính chính xác.
- Hàm least_square cho kết quả ố t t nhất v i mô hình Gompertz.ớ
Mô hình tăng trưởng Bass
Chúng tôi đã tiến hành cài đặt phương pháp tìm tham số cho mô hình tăng trưởng Bass và thu được bảng kết quả quan trọng về hàm fitness của 10 bộ dữ liệu như dưới đây.
Bảng 7 Kết quả hàm fitness thu được sau khi tối ưu hóa tham số cho 3 mô hình tăng trưởng Bass v i ba thu t toán.ớ ậ
Bộ dữ liệu least_squares leastsq curve_fit
T bừ ảng dữ liệu trên ta thu được bi u đ giá tr t i ưu như hình dư i đây:ể ồ ị ố ớ
Hình 3.3 Biểu đồ so sánh tỉ ệ l thu được giá trị hàm tối ưu tốt nh t gi a ấ ữ ba thuật toán đề xu t v i mô hình Bass ấ ớ
T ừ các số liệu và qua việc phân tích các biểu đ trên, luận văn rút ra ồ được nh n xét sau : ậ
- Hàm least_square cho tỉ ệ ố l t i ưu hàm mất mát t t nh t vớố ấ i 7/10 b ộ
- Hàm leastsq cho tỉ ệ ố l t i ưu hàm m t mát tồi nhất với 1/10 bộấ Vì v y ậ không nên sử ụ d ng hàm này cho việc tìm tham số ủ c a mô hình tăng trưởng Bass
Kết Luậ : hàm least_square được lựn a ch n cho mô hình tăng trưởng ọ Bass