Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 97 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
97
Dung lượng
1,35 MB
Nội dung
Đại Học Quốc Gia Thành Phố Hồ Chí Minh Trường Đại Học Bách Khoa PHAN THỊ NGỌC MAI MỘT GIẢI PHÁP TOÁN HỌC CHO VIỆC PHÂN PHỐI TÀI NGUYÊN TRONG ĐỘ TIN CẬY PHẦN MỀM Chuyên ngành: Khoa học Máy tính LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng 06 năm 2008 ĐẠI HỌC QUỐC GIA TP HCM CỘNG HOÀ XÃ HỘI CHỦ NGHIÃ VIỆT NAM TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc Lập - Tự Do - Hạnh Phúc oOo Tp HCM, ngày 30 tháng 06 năm 2008 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên : Phan Thị Ngọc Mai Giới tính : Nam / Nữ ; Ngày, tháng, năm sinh : 1978 Nơi sinh : Bến Tre Chuyên ngành : Khoa học Máy tính Khoá : 15 1- TÊN ĐỀ TÀI : MỘT GIẢI PHÁP TOÁN HỌC CHO VIỆC PHÂN PHỐI TÀI NGUYÊN TRONG ĐỘ TIN CẬY PHẦN MỀM 2- NHIỆM VỤ LUẬN VĂN : 3- NGÀY GIAO NHIỆM VỤ : 4- NGÀY HOÀN THÀNH NHIỆM VỤ : 5- HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN : TS Nguyễn Văn Minh Mẫn Nội dung đề cương Luận văn thạc sĩ Hội Đồng Chuyên Ngành thơng qua CÁN BỘ HƯỚNG DẪN CHỦ NHIỆM BỘ MƠN (Họ tên chữ ký) QUẢN LÝ CHUYÊN NGÀNH (Họ tên chữ ký) TS Nguyễn Văn Minh Mẫn TS Đinh Đức Anh Vũ CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH Cán hướng dẫn khoa học : TS Nguyễn Văn Minh Mẫn Cán chấm nhận xét : Cán chấm nhận xét : Luận văn thạc sĩ bảo vệ HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày tháng năm 2008 Một giải pháp toán học cho việc phân phối chi phí độ tin cậy phần mềm LỜI CAM ĐOAN Tôi cam đoan rằng, ngoại trừ kết tham khảo từ cơng trình khác ghi rõ luận văn, công việc trình bày luận văn tơi thực chưa có phần nội dung luận văn nộp để lấy cấp trường trường khác Ngày 30 tháng 06 năm 2008 Phan Thị Ngọc Mai Phan Thị Ngọc Mai Trang i Một giải pháp toán học cho việc phân phối chi phí độ tin cậy phần mềm LỜI CẢM ƠN Tôi xin gởi lời cảm ơn chân thành đến TS Nguyễn Văn Minh Mẫn, người tận tình hướng dẫn, giúp đỡ tơi suốt q trình thực luận văn tạo điều kiện để hồn thành luận văn Xin gởi lời cảm ơn đến Thầy Cô dạy thời gian qua Tôi xin cảm ơn bạn đồng môn đồng nghiệp quan tâm, chia suốt trình học làm luận văn Xin cảm ơn gia đình dành cho tơi tình thương u hỗ trợ tốt Phan Thị Ngọc Mai Trang ii Một giải pháp toán học cho việc phân phối chi phí độ tin cậy phần mềm TĨM TẮT LUẬN VĂN Đánh giá độ tin cậy phần mềm vấn đề quan trọng việc đánh giá chất lượng phần mềm Quá trình thường thực giai đoạn thiết kế phần mềm, kiểm tra lỗi phần mềm Công việc kiểm tra lỗi phần mềm triển khai xuyên suốt giai đoạn phát triển phần mềm, công việc giúp giảm chi phí nâng cao chất lượng phần mềm triển khai cho khách hàng Trong thời gian hệ thống kiểm tra, việc đo lường độ tin cậy phần mềm tiêu chuẩn quan trọng có tác dụng định có nên cơng bố phần mềm phần hay khơng Ngoài ra, vấn đề quan trọng định thành bại phần mềm làm đau đầu nhà quản lý dự án Đó làm để phân phối chi phí cách hiệu nhằm tạo phần mềm có tính tin cậy cao Đã có số phương pháp giải tốn thực theo số mơ hình toán học Phương pháp kết hợp quy hoạch nguyên quy hoạch phi tuyến giải pháp hữu hiệu để giải vấn đề Đề tài trình bày giải pháp toán học đa bước để phân phối tài nguyên cho độ tin cậy phần mềm Sử dụng quy hoạch nguyên nhị phân để thực việc phân phối chi phí cho module mua Sử dụng quy hoạch phi tuyến để thực hiệc việc phân phối chi phí cho module phát triển cơng ty Thông qua việc kết hợp này, luận văn xây dựng giải pháp cho phép giải toán theo hai hướng: tìm độ tin cậy lớn có phần mềm mà khơng vượt q giới hạn chi phí cho ngược lại tìm chi phí nhỏ để phần mềm có độ tin cậy giá trị xác định trước Chương trình thực cung cấp lời giải với độ xác tương đối cho số minh họa cụ thể Từ khoá: Algorithm, Binary Integer Programming, Branch and Bound, Developed module, In-house Integration module, Nonlinear programming, Resource allocation, Programming modules, Purchased module, Software reliability Phan Thị Ngọc Mai Trang iii Một giải pháp toán học cho việc phân phối chi phí độ tin cậy phần mềm MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii TÓM TẮT LUẬN VĂN iii DANH MỤC HÌNH vi DANH MỤC BẢNG vii Chương GIỚI THIỆU .1 1.1 1.2 1.3 Giới thiệu Sơ lược việc phân phối độ tin cậy phần mềm Kết cấu luận văn Chương Các Mơ Hình Phân Phối Chi Phí Cho Độ Tin Cậy Phần Mềm .6 2.1 2.2 2.3 2.3.1 2.3.2 2.3.3 2.4 Giới thiệu Phân loại module phần mềm Mơ hình định trước Độ tin cậy module đơn phát triển công ty Độ tin cậy module mua Độ tin cậy module tích hợp Mơ hình tổng qt .14 Chương Phương Pháp Giải Bài Toán Quy Hoạch Nguyên .15 3.1 3.2 3.3 3.4 Giới thiệu 15 Sự cần thiết toán quy hoạch nguyên 15 Phương pháp giải toán quy hoạch nguyên .16 Phương pháp giải toán quy hoạch nguyên nhị phân 19 Chương Phương Pháp Giải Bài Toán Quy Hoạch Phi Tuyến 23 4.1 4.2 4.3 4.3.1 4.3.2 4.3.3 4.4 4.4.1 4.4.2 4.4.3 4.4.4 Giới thiệu 23 Những điều kiện tối ưu 25 Tính lồi hàm nhiều biến 26 Tập lồi .26 Định nghĩa hàm lồi 26 Đặc trưng hàm lồi .26 Các phương pháp giải toán quy hoạch phi tuyến 27 Giải tốn tối ưu khơng có điều kiện ràng buộc 27 Giải toán tối ưu với điều kiện ràng buộc biến lớn 28 Giải toán tối ưu với điều kiện ràng buộc phương trình tuyến tính 30 Giải tốn tối ưu với điều kiện ràng buộc phương trình phi tuyến 34 Chương Giải Quyết Bài Toán 36 5.1 5.2 5.3 Phân hoạch toán 36 Bài tốn tối ưu hóa module mua 37 Bài toán tối ưu hóa module phát triển cơng ty .39 Phan Thị Ngọc Mai Trang iv Một giải pháp toán học cho việc phân phối chi phí độ tin cậy phần mềm 5.4 5.4.1 5.4.2 Sự kết hợp module mua module phát triển cơng ty 40 Bài tốn A 41 Bài toán B 46 Chương Một số kết quả, kết luận 51 6.1 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.2.6 6.2.7 6.2.8 6.3 Sơ lược chương trình 51 Một số kết chạy chương trình 51 Bài tốn ví dụ 3.4 51 Bài tốn ví dụ 4.1.1 51 Bài tốn ví dụ 4.3.1 52 Bài toán ví dụ 4.3.4 52 Bài toán cho phần mềm gồm có module .54 Bài toán cho phần mềm gồm có 11 module .56 Bài tốn cho phần mềm gồm có 22 module .61 Bài toán cho phần mềm gồm có 37 module .67 Kết luận 74 Tài Liệu Tham Khảo 76 Phụ lục Bảng đối chiếu Thuật ngữ Anh - Việt 77 Phụ lục Bảng tóm tắt mơ hình đánh giá độ tin cậy phần mềm 78 Phụ lục Sơ lược MATLAB .80 Tham khảo Chỉ Mục 87 Phan Thị Ngọc Mai Trang v Một giải pháp toán học cho việc phân phối chi phí độ tin cậy phần mềm DANH MỤC HÌNH Hình 2.1: Độ tin cậy module phần mềm .8 Hình 2.2: Một hệ thống databate-indexing .11 Hình 3.1: Giá trị tối ưu LP làm tròn xa với giá trị tối ưu IP problem 16 Hình 3.2: Một liệt kê đầy đủ 17 Hình 3.3 : Cây tìm kiếm cho ví dụ 3.2 .22 Hình 4.1: Một giải pháp hình học cho ví dụ 4.1.1 24 Hình 4.2: Một giải pháp hình học cho ví dụ 4.1.2 25 Hình 5.1: Sự phân hoạch tốn 36 Hình 6.1: Mơ hình phần mềm có 11 module .56 Hình 6.2: Mơ hình phần mềm có 22 module .61 Hình 6.3: Mơ hình phần mềm có 37 module .67 Phan Thị Ngọc Mai Trang vi Một giải pháp toán học cho việc phân phối chi phí độ tin cậy phần mềm DANH MỤC BẢNG Bảng 2.1: Giải pháp cho nguồn ngân sách khác 13 Bảng 6.1: Kết chạy phần mềm có module cho toán A 54 Bảng 6.2: Kết chạy phần mềm có module cho toán B .55 Bảng 6.3: Kết chạy phần mềm có 11 module cho tốn A 59 Bảng 6.4: Kết chạy phần mềm có 11 module cho tốn B 60 Bảng 6.5: Kết chạy phần mềm có 22 module cho toán A 65 Bảng 6.6: Kết chạy phần mềm có 22 module cho toán B 66 Bảng 6.7: Kết chạy phần mềm có 37 module cho toán A 72 Bảng 6.8: Kết chạy phần mềm có 37 module cho tốn B 73 Phan Thị Ngọc Mai Trang vii Một giải pháp toán học cho việc phân phối tài nguyên độ tin cậy phần mềm Đối với toán B: Độ tin cậy phần mềm ( r37 ) B’ yij [ x6 ,…, x37 ] [r6 ,…, r36 ] Chi phí phần mềm (B) 100 [9.00, 5.00, 7.00, 6.00, 8.00, 6.00, 9.00, 7.00, 8.00, 6.00, 9.00, 5.00, 8.00, 7.50, 8.50, 9.00, 10.00, 10.00, 9.00, 8.00, 5.00, 7.00, 6.00, 9.00, 7.50, 6.50, 8.00, 9.00, 11.00, 7.00, 9.00, 15.00] [0.30, 0.50, 0.40, 0.30, 0.64, 0.40, 0.50, 0.40, 0.45, 0.40, 0.35, 0.40, 0.45, 0.50, 0.55, 0.30, 0.40, 0.22, 0.38, 0.30, 0.05, 0.19, 0.23, 0.02, 0.04, 0.09, 0.003, 0.01, 0.04, 0.32] 287 [9.00, 5.00, 15.36, 6.00, 8.00, 6.00, 9.00, 7.00, 10.48, 6.00, 9.00, 5.00, 12.30, 7.50, 8.50,14.82, 15.67, 10.00, 9.00, 8.25, 5.00, 7.00, 6.00, 9.00, 7.50, 8.16, 8.00, 9.00, 23.63, 7.62, 9.00,15.00] [0.30, 0.50, 0.89, 0.30, 0.64, 0.40, 0.50, 0.40, 0.77, 0.40, 0.35, 0.4, 0.84, 0.50, 0.55, 0.87, 0.91, 0.28, 0.45, 0.78, 0.07, 0.54, 0.63, 0.03, 0.10, 0.45, 0.004, 0.04, 0.38, 0.67, 0.29] 324.68 [9.00, 5.00, 16.66, 6.00, 8.00, 6.00, 9.00, 7.00, 15.32, 6.00, 9.00, 5.00, 14.85, 7.50, 8.50, 17.60, 16.81, 10.00, 9.00, 8.10, 5.00, 7.00, 7.70, 9.00, 7.50, 9.68, 8.00, 9.00, 40.89, 8.05, 9.00, 15.00] [0.30, 0.50, 0.90, 0.30, 0.64, 0.40, 0.50, 0.40, 0.93, 0.40, 0.35, 0.40, 0.90, 0.50, 0.55, 0.93, 0.93, 0.28, 0.45, 0.79, 0.07, 0.58, 0.66, 0.03, 0.11, 0.58, 0.004 0.04, 0.53, 0.59 0.45] 340.77 [9.00, 5.00, 18.47, 6.00, 8.00, 6.00, 9.00, 7.00, 16.47, 6.00, 9.00, 5.00, 15.76, 7.50, 8.50, 19.32, 17.39, 10.00, 9.00, 11.03, 5.00, 7.00, 8.27, 9.00, 7.50, 11.21, 8.00, 9.00, 47.29, 7.02, 9.05,15.00] [0.30, 0.50, 0.91, 0.30, 0.64, 0.40, 0.50, 0.40, 0.94, 0.40, 0.35, 0.40, 0.91, 0.50, 0.55, 0.94, 0.94, 0.27, 0.45, 0.84, 0.07, 0.58, 0.71, 0.03, 0.11, 0.65, 0.004 0.042, 0.59, 0.84, 0.5187] 378.91 1000 0.0014 33 100 100 10 001 0001 0.2 44 001 001 01 001 0001 0.3 44 001 001 01 001 0001 0.5 44 001 001 01 Bảng 6.8: Kết chạy phần mềm có 37 module cho tốn B Phan Thị Ngọc Mai Trang 73 Một giải pháp toán học cho việc phân phối tài nguyên độ tin cậy phần mềm 6.3 Kết luận Tự động hóa trình phân phối chi phí để đánh giá độ tin cậy phần mềm toán mở, nhiều phương pháp đưa để giải toán Phương pháp kết hợp quy hoạch nguyên quy hoạch phi tuyến hàm nhiều biến giải pháp đề xuất để giải vấn đề Đứng góc độ cơng trình nghiên cứu, luận văn cố gắng đưa hai giải pháp nhằm cung cấp thêm cách thức để giải toán Mơ hình tính tốn độ tin cậy phần mềm dựa vào phân phối chi phí Bằng việc sử dụng phương pháp quy hoạch nguyên nhị phân để thực việc phân phối chi phí cho module mua, kết hợp với phương pháp quy hoạch phi tuyến để giải hàm số mũ nhiều biến, để thực hiệc việc phân phối chi phí cho module phát triển Thông qua việc kết hợp này, luận văn dùng hàm Matlab để xây dựng hai giải pháp cho phép kết hợp toán quy hoạch nguyên quy hoạch phi tuyến cách tự động Chương trình thực cung cấp giải với độ xác tương đối cho số minh họa cụ thể Tuy nhiên, chương trình có vài hạn chế: Hiện mơ hình thực hàm phân phối mũ để tính độ tin cậy module Việc phân phối chi phí module mua module phát triển công ty cịn mang tính cảm tính, làm cho lời giải tốn chưa tối ưu Chương trình sử dụng hàm Matlab để thực việc tối ưu hóa, mà khơng can thiệp vào bên Do số liệu chương trình tự tạo kết chương trình chưa xác thực tế Đây hạn chế mà phạm vi luận văn chưa thể giải trọn vẹn Một số đề xuất hướng mở rộng dựa vào hạn chế vừa nêu: Xây dựng mơ hình khác mơ hình số mũ để giải việc phân phối chi phí Phan Thị Ngọc Mai Trang 74 Một giải pháp toán học cho việc phân phối tài nguyên độ tin cậy phần mềm Xây dựng giải thuật thực việc phân phối chi phí module mua module phát triển cách tối ưu Xây dựng hàm quy hoạch phi tuyến tồn biến nguyên biến thực để giải toán cách tối ưu Lấy liệu thực từ hãng phần mềm ứng dụng vào mơ hình Với mở rộng xây dựng giải pháp hữu hiệu cho tốn Đây hướng phát triển luận văn Phan Thị Ngọc Mai Trang 75 Một giải pháp toán học cho việc phân phối tài nguyên độ tin cậy phần mềm Tài Liệu Tham Khảo [1] Jonathan F.Bard “Practical Bilevel Optimization Algorithms and Applications” Springer 1999, ISBN 0-7923-5458-3 [2] John W Chinneck “Practical Optimization: A Gentle Introduction” Systems and Computer Engineering Carleton University Ottawa, Ontario K1S 5B6 Canada 74Hhttp://www.sce.carleton.ca/faculty/chinneck/po.html [3] Hoang Pham, “Software Reliability” Springer – Verlag Singapore Pte.Ltd.2000 [4] Lê Quang Hoàng Nhân, “Giáo trình Tốn Cao Cấp – Phần Giải Tích” Nhà xuất thống kê [5] Nguyễn Đức Thành, “MATLAB ứng dụng điều khiển” Nhà xuất Đại học Quốc gia Tp.HCM [6] Nguyễn Nhật Lệ - Phan Mạnh Dần “Giải toán tối ưu hoá ứng dụng MATLAB-MAPLE tối ưu hoá tĩnh điều khiển tối ưu” Nhà xuất Khoa học Kỹ thuật Hà Nội [7] O.Berman and M.Cutler, “Cost Allocation for Software Reliability, Recent Advances in Reliability and Quality Engineering”, Vol.2, Series on Quality, Reliability & Engineering Statistisc, Editor Hoang Pham, Word Scientific, 2001 0.2, 1.1 Phan Thị Ngọc Mai Trang 76 Một giải pháp toán học cho việc phân phối tài nguyên độ tin cậy phần mềm Phụ lục Bảng đối chiếu Thuật ngữ Anh - Việt Thuật ngữ Tiếng Anh Thuật ngữ Tiếng Việt Algorithm Giải thuật Bartitioning Sự phân chia Binary Integer Programming Quy hoạch nguyên nhị phân Branch and bound Nhánh cận Branching Sự phân nhánh Bounding Sự giới hạn Cost Allocation Phân phối chi phí Branching Sự phân nhánh In-house Developed module Module tự phát triển công ty Integation module Module tích hợp Fathoming Sự thăm dị Linear Programming Quy hoạch tuyến tính Mathematical Tốn học Mean Value Function Hàm giá trị trung bình Nonlinear Programming Quy hoạch phi tuyến Optimization Tối ưu Pruning Sự loại bỏ Purchased module Module mua Resource Allocation Phân phối tài nguyên Software system Hệ thống phần mềm Software Reliability Độ tin cậy phần mềm Solution Giải pháp Phan Thị Ngọc Mai Trang 77 Một giải pháp toán học cho việc phân phối tài nguyên độ tin cậy phần mềm Phụ lục Bảng tóm tắt mơ hình đánh giá độ tin cậy phần mềm Một vài mơ hình đánh giá độ tin cậy phần mềm dựa vào trình phân phối Poisson không đồng (Non-homogeneous Poisson Process - NHPP) NHPP nhóm mơ hình cung cấp q trình phân tích, mơ tả tượng lỗi phần mềm q trình kiểm tra Điểm mơ hình NHPP đánh giá hàm giá trị trung bình (Mean Value Function – MVF) số lượng lỗi tích lũy khoảng thời gian [3] t m(t ) = ∫ λ ( s )ds Hàm độ tin cậy phần mềm là: t R (t ) = e − m ( t ) = e Tên mô hình Goel-Okumoto (G-O) Delayed S-shaped ∫ − λ ( s ) ds Loại mơ MVF (m(t)) hình Concave S-shaped m(t ) = a (1 − e − bt ) a (t ) = a b(t ) = b m(t ) = a (1 − (1 + bt )e − bt ) a(t ) = a b(t ) = Inflection S-shaped Yamade exponential Concave Concave b 2t + bt a(1 − e − bt ) m(t ) = + βe −bt a(t ) = a b b(t ) = + βe −bt m(t ) = a(1 − e − rα (1−e a (t ) = a ( − βt ) ) ) b(t ) = rαβ te − βt Phan Thị Ngọc Mai Trang 78 Một giải pháp toán học cho việc phân phối tài nguyên độ tin cậy phần mềm m(t ) = a (1 − e −rα (1−e Yamada Rayleigh S-shaped ( − βt / ) ) ) a (t ) = a b(t ) = rαβ te − βt /2 ab (eαt − e −bt ) α +b a (t ) = aeαt m(t ) = Yamada imperfect debugging model (1) S-shaped b(t ) = b m(t ) = a[1 − e −bt ][1 − Yamada imperfect debugging model (2) S-shaped α b ] + αat a (t ) = aeαt b(t ) = b S-shaped Pham-Nordmann concave m(t ) = Pham-Zhang concave Phan Thị Ngọc Mai α b ] + αat + β −bt a(t ) = a (1 + αt ) b b(t ) = + βe −bt m(t ) = S-shaped a[1 − e −bt ][1 − 1+ β −bt [(c + a )(1 − e −bt ) a (e −αt − e −bt )] b −α a (t ) = c + a(1 − e −αt ) b b(t ) = + β e −bt − Trang 79 Một giải pháp toán học cho việc phân phối tài nguyên độ tin cậy phần mềm Phụ lục Sơ lược MATLAB MATLAB [4] có ngồn gốc từ chữ matrix laboratory, ngơn ngữ máy tính dùng để tính tốn kỹ thuật MATLAB sản phẩm công ty The Mathworks Inc, với địa www.mathworks.com sử dụng MATLAB phải có quyền Tuy nhiên, có nhiều hàm MATLAB viết người sử dụng phổ biến miễn phí mạng giúp cho MATLAB ngày phong phú Dưới trích hàm sử dụng chương trình [5][6] a) Hàm bintprog: tìm nghiệm tối ưu tốn lập trình số ngun nhị phân có dạng: Hàm mục tiêu: Minimize f y điều kiện ràng buộc: A y ≤ b Aeq y = beq đó: f , b, beq : vector A, Aeq : ma trận Các biến y bắt buộc phải biến nhị phân, nghĩa chúng nhận giá trị: Cú pháp: y = bintprog(f) y = bintprog(f, A, b) y = bintprog(f, A, b, Aeq, beq) [y, fval] = bintprog( ) [y,fval, exitflag] = bintprog( ) [y, fval, exitflag, output] = bintprog( ) Phan Thị Ngọc Mai Trang 80 Một giải pháp toán học cho việc phân phối tài nguyên độ tin cậy phần mềm Mô tả: y = bintprog(f): giải tốn lập trình số ngun nhị phân có dạng: Minimize f y y = bintprog(f, A, b): tìm nghiệm tối ưu tốn lập trình số ngun nhị phân có dạng: Min f y với điều kiện ràng buộc: A y ≤ b y = bintprog(f, A, b , Aeq, beq): tìm nghiệm tối ưu tốn lập trình số nguyên nhị phân có dạng: Minimize f y với điều kiện ràng buộc: A y ≤ b Aeq y = beq [y, fval] = bintprog( ) trả giá trị hàm mục tiêu fval , nghiệm tối ưu y ứng với hàm mục tiêu [y,fval, exitflag] = bintprog( ) tương tự trên, cộng thêm exitflag mơ trả trạng thái tốn bintprog Exitflag =1 : hàm hội tụ đến giải pháp y Exitflag =0 : số lượng lần lặp lặp lại vượt Options.MaxIter Exitflag =-2 : tốn khơng thể làm Exitflag =-4 : số lượng node vượt số lần lặp cực đại cho phép (Options.MaxIter) Exitflag =-5 : thời gian tìm kiếm vượt Options.Maxtime b) Hàm fmincon: tìm nghiệm tối ưu hàm nhiều biến có dạng: Hàm mục tiêu: f ( x) Phan Thị Ngọc Mai Trang 81 Một giải pháp toán học cho việc phân phối tài nguyên độ tin cậy phần mềm Các điều kiện ràng buộc: c( x) ≤ ceq( x) = A* x ≤ b Aeq * x = beq lb ≤ x ≤ ub Trong x, b, beq, lb, ub vector A, Aeq ma trận c( x), ceq( x) hàm trả vertor f ( x), c( x), ceq( x) phương trình phi tuyến Cú pháp: x = fmincon(fun,x0,A,b) x = fmincon(fun,x0,A,b,Aeq,beq) x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub) x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon) x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options) [x,fval] = fmincon( ) [x,fval,exitflag] = fmincon( ) [x,fval,exitflag,output] = fmincon( ) [x,fval,exitflag,output,lambda] = fmincon( ) [x,fval,exitflag,output,lambda,grad] = fmincon( ) [x,fval,exitflag,output,lambda,grad,hessian] = fmincon( ) Mơ tả: fmincon: cố gắng tìm cực tiểu thỏa mãn điều kiện ràng buộc phi tuyến tuyến tính Phan Thị Ngọc Mai Trang 82 Một giải pháp toán học cho việc phân phối tài nguyên độ tin cậy phần mềm x = fmincon(fun,x0,A,b): bắt đầu tìm kiếm x0 cố gắng tìm cực tiểu x để hàm mục tiêu đạt giá trị nhỏ thỏa mãn điều kiện ràng buộc A*x