Một vài mô hình đánh giá độ tin cậy phần mềm dựa vào quá trình phân phối Poisson không đồng nhất (Non-homogeneous Poisson Process - NHPP). NHPP là nhóm các mô hình cung cấp một quá trình phân tích, mô tả hiện tượng lỗi phần mềm trong quá trình kiểm tra. Điểm chính của mô hình NHPP là đánh giá hàm giá trị trung bình (Mean Value Function – MVF) số lượng lỗi được tích lũy trong một khoảng thời
gian [3].
94 trang |
Chia sẻ: Kuang2 | Lượt xem: 899 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Luận văn 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, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
min)
∑ c
i
m
(max)
< B' < ∑ ci
thì chuyển sang bước 4, ngược lại yêu cầu nhập lại.
Bước 3: Nhập độ tin cậy phần mềm, chuyển sang bước 4
i =1
i =1
Bước 4: Tính ra độ tin cậy và chi phí cho từng module mua, chuyển sang bước 5.
Bước 5: Thiết lập mối quan hệ và các ràng buộc giữa các module đơn và module tích hợp, chuyển sang bước 6.
Bước 6: Tìm chi phí nhỏ nhất của các module trong phần mềm và độ tin cậy của các module ứng với chi phí đó. Nếu tìm ra chi phí thỏa mãn điều kiện thì chuyển sang bước 8, ngược lại chuyển sang bước 7.
Bước 7: Nhập giai đoạn hiệu chỉnh. Khi Y=0 thì chuyển sang bước 1 và thực hiện lại bài toán, khi Y=1 thì chuyển sang bước 2, khi Y=2 thì chuyển sang bước 3.
Bước 8: (Kết thúc) Xuất tổng chi phí của phần mềm, độ tin cậy của các module, chi phí của các module.
Sơ đồ giải thuật
0
Begin
Nhập các thông số của module chương trình
1
Nhập chi phí để mua các module (B’)
∑ c
m
(min)
i
m _
(max)
≤ B' ≤ ∑ ci
2
Y=0,1,2
i =1
i =1
+
Nhập độ tin cậy của phần mềm (R)
Yêu cầu chỉnh sửa (Y)
Tính chi phí và độ tin cậy của các module mua
Thiết lập mối quan hệ, các điều kiện ràng buộc giữa các module đơn và module tích hợp
Tìm chi phí nhỏ nhất và độ tin cậy của các module trong phần mềm
_
Chi phí cung cấp thỏa mãn yêu
cầu
+
Xuất:
Tổng chi phí phần mềm, chi phí và độ
tin cậy của các module
End
Hình 5.3: Sơ đồ giải thuật cho bài toán B
Chương 6. Một số kết quả, kết luận
Chương này trình bày một số kết quả đạt được của phần mềm trên 6 module, 11 module, 22 module, 37 module.
6.1. Sơ lược về chương trình
Bài toán được chia thành nhiều bài toán nhỏ để giải quyết. Vì thế để chọn một ngôn ngữ lập trình phù hợp cũng cần được tính đến. Trong luận văn này ngôn ngữ được chọn để viết và kiểm nghiệm đó là ngôn ngữ MATLAB (xem phần phụ lục 3). MATLAB cung cấp một công cụ tính toán toán học và lập trình bậc cao dễ sử dụng, hiệu quả và thân thiện với người dùng.
6.2. Một số kết quả chạy chương trình
6.2.1. Bài toán trong ví dụ 3.4
Trong phần 3.4 chúng ta đã trình bày các bước để tìm lời giải cho ví dụ 3.4. Trong phần này xin trình bày cách thức để giải bài toán trong Matlab cho ví dụ 3.4 như
sau:
function vidu3_4
f = [5; 7; 10; 3; 1];
A = [-1 3 -5 -1 4; 2 -6 3 2 -2;0 1 -2 3 1];
b = [-2;0;-1];
[x, fval] = bintprog(f,A,b)
Ta thu được kết quả như sau: x = 0 1 1 0 0, fval = 17. Trùng với kết quả đạt được trong phần 3.4.
6.2.2. Bài toán trong ví dụ 4.1.1
Tương tự như trên, trong phần 4.1 chúng ta đã trình bày các bước để tìm lời giải cho ví dụ 4.1.1 Trong phần này xin trình bày chương trình cho ví dụ 4.1.1 như sau:
function Vidu4_1_1 lb=[0 0 0]; ub=[]; x0=[0;0;0];
[x,fval] = fmincon(@myfun,x0,[],[],[],[],lb,ub,@fun)
function f=myfun(x)
f = (x(1)-3)^2+(x(2)-2)^2;
end
function [c, ceq]=fun(x) c(1)=x(1)^2-x(2)-3; c(2)=x(2)^2-1; ceq=[];
end end
Ta thu được kết quả như sau: x = (2.0000,1.0000), và hàm mục tiêu đạt giá trị
fval = 2.0000. Trùng với kết quả đạt được trong ví dụ 4.1.1.
6.2.3. Bài toán trong ví dụ 4.3.1
Ta có thể xây dựng một chương trình giải bài toán quy hoạch phi tuyến của hàm nhiều biến trong Matlab cho bài toán trong ví dụ 4.3.1 như sau:
function Vidu4_3_2
A=[-1 0 0;0 -1 0;0 0 -1];
b=[0;0;0]; x0=[0;0;0]; [x,fval,exitflag]=fmincon(@myfun,x0,A,b) function f=myfun(x)
f = 3*x(1)^2+x(2)^2+x(3)^2-2*x(1)*x(2)-2*x(1)*x(3)-2*x(1);
end
end
Ta thu được kết quả như sau: x = 1.0000 1.0000 1.0000, và hàm mục tiêu
đạt giá trị fval = -1.0000. Trùng với kết quả đạt được trong ví dụ 4.3.1.
6.2.4. Bài toán trong ví dụ 4.3.4
Ta xây dựng chương trình cho ví dụ 4.3.4 như sau
function Vidu4_3_4
A=[1 1 2]; b=[16]; Aeq=[1 1 0]; beq=[3]; lb=[0 0 0]; ub=[]; x0=[0;0;0];
[x,fval] = fmincon(@myfun,x0,A,b,Aeq,beq,lb,ub,@fun)
function f=myfun(x)
f = 2*x(1)^2+x(2)^2+0.2*x(3)^2+x(1)*x(3)-x(1)*x(2)+x(1)-0.5*x(3);
end
function [c, ceq]=fun(x) c=x(1)^2+x(2)^2-x(3); ceq=[];
end end
Sau khi chạy chương trình ta thu được nghiệm của bài toán:
x =(1.0000, 2.0000, 5.0000)
và hàm mục tiêu đạt giá trị fval = 12.5000. Kết quả này trùng với kết quả đạt
được trong ví dụ 4.3.4.
6.2.5. Bài toán cho một phần mềm gồm có 6 module
Như đã trình bày trong ví dụ 5.1 và 5.2, trong phần này sẽ chạy phần mềm có 6 module, ta thu được các kết quả sau:
Đối với bài toán A:
B
B’
y11 y12
y21 y22
[ x x ]
[r r ]
Độ tin cậy
tối ưu
( r6 )
25
12
1010
[2, 4, 4, 3]
0.5300, 0.5725, 0.3985
0.1183
26
13
0110
2, 4, 4, 3
0.5300, 0.5725, 0.3985
0.1521
30
14
0101
[3.3822, 5.6178, 4, 3]
0.6318, 0.7285, 0.5537
0.2519
35
14
0101
[5.0354, 6.9367, 4.8520, 4.1759]
0.7093, 0.7988,0.6362
0.3491
40
14
0101
[6.1630, 7.9788, 6.3025, 5.5557]
0.7093, 0.7988, 0.6362
0.4267
45
14
0101
[7.0692, 9.0706, 7.9018, 6.9584]
0.7093, 0.7988, 0.6362
0.4863
50
14
0101
[8.9192, 9.8961, 9.2542, 7.9305]
0.7924, 0.8690 0.7812
0.5317
55
14
0101
[10.186, 10.8559, 10.8019,
9.1562]
0.8043, 0.8789 0.8045
0.5639
60
14
0101
[11.4559, 11.8187, 12.3789,
10.3465]
0.8124, 0.8856, 0.8206
0.5868
80
14
0101
[16.6108, 15.6124, 18.6015,
15.1754]
0.8263, 0.8969, 0.8476
0.6270
100
14
0101
[16.0927, 30.7139, 23.2710,
15.9224]
0.8256, 0.9000, 0.8536
0.6317
150
14
0101
[35.6548, 65.0458, 16.9591,
18.3404]
0.8300, 0.9000, 0.8483
0.6324
200
14
0101
[49.2676, 89.9183, 22.2423,
24.5718]
0.8300, 0.9000, 0.8532
0.6372
3 6 3 5
Bảng 6.1: Kết quả chạy phần mềm có 6 module cho bài toán A
Đối với bài toán B:
11 12
Độ tin cậy phần mềm ( r6 )
B’
y y y21 y22
[r r ]
[ x x ]
Tổng chi phí (B)
0.1183
12
1010
[0.5300, 0.5727, 0.3986]
[2.0000, 4.0013,
4.0000, 3.0000]
25.0013
0.2
12
1010
[0.6687, 0.7621, 0.5304,]
[4.0674, 6.1620,
4.0000, 3.0947]
29.3241
0.25
13
0110
[0.6608, 0.7550, 0.5255]
[3.9086, 6.0367,
4.0000, 3.0000]
29.9453
0.3
14
0101
[0.6847, 0.7764, 0.5901]
[4.4172, 6.4370,
4.0000, 3.4445]
32.2987
0.35
14
0101
[0.7127, 0.8011, 0.6355]
[5.1295, 6.9932,
4.7705, 4.1570]
35.0502
0.4
14
0101
[0.7372, 0.8224, 0.6787]
[5.9117, 7.5989,
5.6860, 4.9391
38.1356
0.45
14
0101
[0.7596, 0.8415, 0.7193]
[6.8300, 8.3047,
6.7667, 5.8568]
41.7582
0.5
14
0101
[0.7801, 0.8588, 0.7577]
[7.9797, 9.1827
8.1267, 7.0065]
46.2957
0.55
14
0101
[0.7992, 0.8747, 0.7942]
[9.5842, 10.4007
10.0340, 8.6112]
52.6301
0.6
14
0101
[0.8170, 0.8894, 0.8290]
[12.4556, 12.5681,
13.4632, 11.4833]
63.9701
3 5 3 6
Bảng 6.2: Kết quả chạy phần mềm có 6 module cho bài toán B
6.2.6. Bài toán cho một phần mềm gồm có 11 module
Giả sử ta cần phân phối chi phí cho độ tin cậy phần mềm của một bài toán có 11 module có cấu trúc như hình 6.1:
Module (11)
Module (7)
Module (10)
Module (6)
Module (2) Module (9) Module (5)
Version 21
Version 22
Module (8) Module (3)
Module (1)
Module (4)
Version 31
Version 32
Version 32
Version 11
Version 12
Version 13
Version 14
Hình 6.1: Mô hình một phần mềm có 11 module
Các thông số ngẫu nhiên được chọn cho bài toán:
r11 = 0.7, c11 = 5; r12 = 0.75, c12 = 6; r13 = 0.8, c13 = 7; r14 = 0.9, c14 = 8
r21 = 0.77, c21 = 5.5; r22 = 0.92, c22 = 8;
r31 = 0.75, c31 = 6.5; r32 = 0.79, c32 = 7; r33 = 0.93, c33 = 8
r (max) = 0.97, r (0) = 0.55,á
= 0.4, x(0) = 5
4 4 4 4
r (max) = 0.98, r ( 0) = 0.47,á
= 0.35, x(0) = 4.5
5 5 5 5
r (max) = 0.9, r (0) = 0.4,á
= 0.45, x(0) = 3.5
6 6 6 6
r (max) = 0.97, r (0) = 0.35,á
= 0.3, x(0) = 5.5
7 7 7 7
8
q8 = 0.9,á8
= 0.35, x(0) = 6.5
9
q9 = 0.95,á9
= 0.4, x(0) = 6
10
q10
q
= 0.97,á10
= 0.98,á
= 0.33, x( 0) = 7
= 0.3, x( 0) = 8
11 11 11
Trong đó module 11 là module gốc, độ tin cậy phần mềm cũng là độ tin cậy của module gốc.
a) Bài toán A
Đối với các module mua:
Hàm mục tiêu:
max r11 y11 + r12 y12 + r13 y13 + r14 y14 + r21 y21 + r22 y22 + r31 y31 + r32 y32 + r33 y33
Các điều kiện ràng buộc:
c11 y11 + c12 y12 + c13 y13 + c14 y14 + c21 y21 + c22 y22 + c31 y31 + c32 y32 + c33 y33 ≤ B'
y11 + y12 + y13 + y14 = 1
y21 + y22 = 1
y31 + y32 + y33 = 1
yij = 0 or 1
Đối với các module phát triển trong công ty:
Hàm mục tiêu:
11
max (r
(max)
− r (min)
)e−á11
( x11
− x ( 0 ) )
11 11
Các điều kiện ràng buộc:
11
∑ xi ≤ B − B'
i = 4
r (max) = r r r ;
r (0) = q
r (max)
11 6 7 10
11 11 11
( 0 )
r = (r (max) − r (0) )e−á ( x − x )
6 6 6
6 6 6
( 0 )
r = (r (max) − r ( 0) )e−á ( x − x )
7 7 7
7 7 7
10
r = (r (max) − r ( 0) )e−á10
( x10
− x ( 0 ) ) , r (max) = r r r ;
r ( 0) = q
r (max)
10 10 10
10 2 5 9
10 10 10
( 0 )
r = (r (max) − r (0) )e−á ( x − x )
5 5 5
5 5 5
( 0 )
r = (r (max) − r ( 0) )e−á ( x − x ) , r (max) = r r ;
r (0) = q r (max)
9 9 9
9 9 9
9
3 8 9 9 9
( 0 )
r = (r (max) − r (0) )e−á ( x − x ) , r (max) = r r ;
r (0) = q r (max)
8 8 8
8 8 8
8
1 4 8 1 4
( 0 )
r = (r (max) − r (0) )e−á ( x − x )
4 4 4
i
i
x ≥ x(0)
4 4 4
b) Bài toán B
Đối với module mua cách xây dựng giống như bài toán A
Hàm mục tiêu:
max r11 y11 + r12 y12 + r13 y13 + r14 y14 + r21 y21 + r22 y22 + r31 y31 + r32 y32 + r33 y33
Các điều kiện ràng buộc:
c11 y11 + c12 y12 + c13 y13 + c14 y14 + c21 y21 + c22 y22 + c31 y31 + c32 y32 + c33 y33 ≤ B'
y11 + y12 + y13 + y14 = 1
y21 + y22 = 1
y31 + y32 + y33 = 1
yij = 0 or 1
Đối với các module phát triển trong công ty:
Hàm mục tiêu:
11
Minimize∑ xi
i =4
Các điều kiện ràng buộc:
( 0 )
(r (max) − r (min) )e −á11 ( x11 − x11 ) = R
11 11
r (max) = r r r ;
r (0) = q
r (max)
11 6 7 10
11
( 0 )
11 11
r = (r (max) − r (0) )e −á 6 ( x6 − x6 )
6 6 6
( 0 )
r = (r (max) − r (0) )e −á 7 ( x7 − x7 )
7 7 7
( 0 )
r = (r (max) − r ( 0) )e −á10 ( x10 − x10 ) , r (max) = r r r ;
r (0) = q
r (max)
10 10 10
10 2 5 9
10 10 10
( 0 )
r = (r (max) − r (0) )e−á ( x − x )
5 5 5
5 5 5
( 0 )
r = (r (max) − r ( 0) )e−á ( x − x ) , r (max) = r r ;
r (0) = q r (max)
9 9 9
9 9 9
9
3 8 9 9 9
( 0 )
r = (r (max) − r (0) )e−á ( x − x ) , r (max) = r r ;
r (0) = q r (max)
8 8 8
8 8 8
8
1 4 8 1 4
( 0 )
r = (r (max) − r (0) )e−á ( x − x )
4 4 4
i
i
x ≥ x(0)
4 4 4
Đối với bài toán A:
B
B’
yij
[ x4 ,, x11 ]
[ r4 ,, r10 ]
Độ tin
cậy tối ưu ( r11 )
63
17
1000
10
100
[5.0000, 4.5000, 3.5000,
5.5000, 6.5000, 6.0000,
7.0000, 8.0000]
[0.5500, 0.4700,
0.4000, 0.3500, 0.3465,
0.2469, 0.0867]
0.0119
70
20
0 0 0 1
1 0
1 0 0
[5.5223, 5.3832, 4.6907,
6.9038, 6.5000, 6.0000,
7.0000, 8.0000]
[0.6292, 0.6056,
0.6074, 0.5631, 0.5266,
0.3752, 0.1697]
0.0569
74
24
0 0 0 1
0 1
0 0 1
[5.5222, 5.3830, 4.6909,
6.9039, 6.5000, 6.0000,
7.0000, 8.0000]
[0.6292, 0.6056,
0.6074, 0.5631, 0.5266,
0.4753, 0.2568]
0.0861
100
24
0 0 0 1
0 1
0 0 1
[10.9424, 11.4615, 9.5807,
13.7723, 8.7156, 6.5276,
7.0000, 8.0000]
[0.9310, 0.9354,
0.8676, 0.9182, 0.8260,
0.7529, 0.6285]
0.4906
150
24
0 0 0 1
0 1 0 0
1
[17.5120, 16.5985, 19.3349,
19.8284, 15.0859, 11.8486,
12.9279, 12.8637]
[0.9672, 0.9726,
0.8996, 0.9616, 0.8950,
0.8462,0.7539]
0.6492
200
24
0 0 0 1
0 1
0 0 1
[21.2336, 20.7994, 29.8264,
27.5359, 18.1905, 20.7486,
16.7201, 20.9455]
[0.9694, 0.9783,
0.9000, 0.9692, 0.9000,
0.8549, 0.7685]
0.6700
300
24
0 0 0 1
0 1
0 0 1
[22.0069, 29.0034, 52.0196,
43.1512, 36.0382, 54.5076,
23.1430, 16.1301]
[0.9695, 0.9799,
0.9000, 0.9700, 0.9017,
0.8566, 0.7721]
0.6729
350
24
0 0 0 1
0 1
0 0 1
[24.0681, 32.3711, 60.4994,
48.7129, 42.4632, 70.6509,
28.4370, 18.7973]
[ 0.9698, 0.9800,
0.9000, 0.9700, 0.9019,
0.8568, 0.7725]
0.6738
500
24
0 0 0 1
0 1
0 0 1
[30.3506, 42.4782, 85.3626,
65.2857, 56.4704, 122.4443,
45.4385, 27.3941]
[0.9700, 0.9800,
0.9000, 0.9700, 0.9021,
0.8570, 0.7727]
0.6745
Bảng 6.3: Kết quả chạy phần mềm có 11 module cho bài toán A
Đối với bài toán B:
Độ tin cậy phần mềm
( r11 )
B’
yij
[ x4 ,, x11 ]
[ r4 ,, r10 ]
Tổng chi phí (B)
0.0119
17
1 0 0 0
1 0
1 0 0
[5.0000, 4.5000, 3.5014,
5.5000,6.5000,6.0000,7.0000,
8.0000]
[0.5500, 0.4700,
0.4003,0.3500, 0.3465,
0.2469, 0.0867]
63.0014
0.0569
20
0 0 0 1
1 0
1 0 0
[5.5226, 5.3812, 4.6918,
6.9052, 6.5000, 6.0000,
7.0000, 8.0000]
[0.6292, 0.6054, 0.6076,
0.5633, 0.5267, 0.3752,
0.1697]
70.0008
0.0861
24
0 0 0 1
0 1
0 0 1
[5.5224, 5.3811, 4.6917,
6.9050, 6.5000, 6.0000,
7.0000 8.0000]
[0.6292, 0.6053, 0.6075,
0.5632, 0.5266, 0.4753,
0.2568]
74.0001
0.1
24
0 0 0 1
0 1
0 0 1
[5.6953, 5.5693, 4.8513,
7.1121, 6.5000, 6.0000,
7.0000, 8.0000]
[0.6520, 0.6292, 0.6278,
0.5877, 0.5457, 0.4925
0.2765]
74.7280
0.4
24
0 0 0 1
0 1
0 0 1
[9.4220, 9.7276, 8.2280,
11.8163, 7.0149, 6.0000,
7.0000, 8.0000]
[0.8984, 0.8982, 0.8404,
0.8768, 0.7657, 0.6911,
0.5539]
91.2089
0.5
24
0 0 0 1
0 1
0 0 1
[11.1105, 11.6428,
9.7386,14.0293, 8.9305,
6.7146,7.0000 8.0000]
[0.9335, 0.9381, 0.8698,
0.9220, 0.8311, 0.7599,
0.6362]
101.1662
0.6
24
0 0 0 1
0 1
0 0 1
[13.7900, 14.6956,12.1266,
17.5757,11.9833, 9.3944,
8.9911, 8.5262]
[ 0.9575, 0.9656,
0.8897, 0.9534, 0.8774,
0.8228, 0.7196]
121.0829
0.65
24
0 0 0 1
0 1
0 0 1
[16.6578, 17.9688, 14.6775,
21.3879, 15.2558, 12.2612,
12.4612, 12.3396]
[0.9660, 0.9754, 0.8967,
0.9647, 0.8942, 0.8460,
0.7555]
147.0098
Bảng 6.4: Kết quả chạy phần mềm có 11 module cho bài toán B
6.2.7. Bài toán cho một phần mềm gồm có 22 module
Giả sử ta cần phân phối chi phí cho độ tin cậy phần mềm của một bài toán có 22 module có cấu trúc như hình 6.2
Module (22)
Module (21)
Module (20)
Module (12)
Module (19)
Module (18)
Module (11)
Module (10)
Module (17)
Module (9)
Module (16)
Module (8)
Module (15)
Module (7)
Module (6)
Module (2) Module (14) Module (4)
Version 21
Version 22
Module (13) Module (3)
Module (1)
Version 11
Version 12
Version 13
Version 14
Module (5)
Version 31
Version 32
Version 32
Version 41
Version 42
Version 42
Version 42
Hình 6.2: Mô hình một phần mềm có 22 module
Các thông số ngẫu nhiên được chọn cho bài toán:
r11 = 0.77, c11 = 8; r12 = 0.8, c12 = 8.5; r13 = 0.85, c13 = 9; r14 = 0.9, c14 = 10
r21 = 0.75, c11 = 5.5; r22 = 0.89, c22 = 8;
r31 = 0.65, c21 = 6.5; r12 = 0.79, c12 = 7; r13 = 0.95, c13 = 8
r41 = 0.55, c41 = 6; r42 = 0.82, c42 = 6.5; r43 = 0.87, c43 = 7; r44 = 0.9, c44 = 9
r (max) = 0.97, r ( 0) = 0.37,á
= 0.3, x(0) = 4
5 5 5 5
r (max) = 0.96, r (0) = 0.56,á
= 0.4, x( 0) = 3
6 6 6 6
r (max) = 0.99, r (0) = 0.49,á
= 0.5, x(0) = 5
7 7 7 7
r (max) = 0.95, r ( 0) = 0.5,á
= 0.4, x(0) = 7
8 8 8 8
r (max) = 0.97, r ( 0) = 0.35,á
= 0.35, x( 0) = 8
9 9 9 9
r (max) = 0.98, r ( 0) = 0.55,á
= 0.25, x(0) = 6
10 10
10 10
r (max) = 0.99, r (0) = 0.46,á
= 0.45, x(0) = 5
11 11
11 11
r (max) = 0.97, r (0) = 0.35,á
= 0.4, x(0) = 7.5
12 12
12 12
q13
= 0.9,á13
= 0.25, x( 0) = 6.5
14
q14
= 0.95,á14
= 0.35, x( 0) = 6
15
q15
q
= 0.97,á15
13
= 0.98,á
= 0.3, x( 0) = 6.5
= 0.23, x(0) = 8
16 16 16
17
q17
= 0.9,á17
= 0.34, x(0) = 6.5
18
q18
= 0.95,á18
= 0.33, x(0) = 6
19
q19
= 0.97,á19
= 0.31, x( 0) = 8
20
q20
q21
q22
= 0.96,á 20
= 0.98,á 21
= 0.99,á 22
= 0.34, x( 0) = 7
21
= 0.35, x( 0) = 9
22
= 0.37, x(0) = 10
Trong đó module 22 là module gốc, độ tin cậy phần mềm cũng là độ tin cậy của module gốc.
a) Bài toán A
Đối với các module mua:
Hàm mục tiêu:
max r11 y11 + r12 y12 + r13 y13 + r14 y14 + r21 y21 + r22 y22 + r31 y31 + r32 y32 + r33 y33 +
r41 y41 + r42 y42 + r43 y43 + r44 y44
Các điều kiện ràng buộc:
c11 y11 + c12 y12 + c13 y13 + c14 y14 + c21 y21 + c22 y22 + c31 y31 + c32 y32 + c33 y33 +
c41 y41 + c42 y412 + c43 y43 + c44 y44 ≤ B'
y11 + y12 + y13 + y14 = 1, y21 + y22 = 1
y31 + y32 + y33 = 1, y41 + y42 + y43 + y44 = 1, yij = 0 or 1
Đối với các module phát triển trong công ty:
Hàm mục tiêu:
Maximize (r
(max)
− r (min)
)e−á 22
( x22
− x ( 0 ) )
22 22
Các điều kiện ràng buộc:
22
∑ xi ≤ B − B'
i = 5
r (max) = r r
, r (0) = q
r (max)
22 20 20 22
22 22
( 0 )
22
r = (r (max) − r (0) )e−á 20 ( x20 − x20 ) , r (max) = r r
, r (0) = q
r (max)
20 20 20
20
( 0 )
17 18 20
20 20
r = (r (max) − r (0) )e−á 21 ( x13 − x21 ) , r (max) = r r
, r (0) = q
r (max)
21 21 21
19
( 0 )
11 19 21
21 21
r = (r (max) − r ( 0) )e−á19 ( x19 − x19 ) , r (max) = r r
, r ( 0) = q
r (max)
19 19 19
19
( 0 )
9 17 19
19 17
r = (r (max) − r (0) )e−á18 ( x18 − x18 ) , r (max) = r r
, r (0) = q
r (max)
18 18 18
18
( 0 )
10 16 18
18 18
r = (r (max) − r (0) )e−á17 ( x17 − x17 ) , r (max) = r r , r ( 0) = q
r (max)
17 17 17
17
( 0 )
5 8 17
17 17
r = (r (max) − r ( 0) )e−á16 ( x16 − x16 ) , r (max) = r r , r ( 0) = q
r (max)
16 16 16
16
( 0 )
6 7 16
16 16
r = (r (max) − r (0) )e−á15 ( x15 − x15 ) , r (max) = r r r
, r (0) = q
r (max)
15 15 15
15
( 0 )
2 4 14 15
15 15
r = (r (max) − r ( 0) )e−á14 ( x14 − x14 ) , r (max) = r r
, r ( 0) = q
r (max)
14 14 14
14
( 0 )
3 13 14
14 14
r = (r (max) − r (0) )e−á13 ( x13 − x13 ) , r (max) = r r , r ( 0) = q
r (max)
13 13 13
13
( 0 )
1 5 13
13 13
( 0 )
r = (r (max) − r (0) )e−á 5 ( x5 − x5
) , r
= (r (max) − r (0) )e−á 6 ( x6 − x6 )
5 5 5
6 6 6
( 0 )
( 0 )
r = (r (max) − r (0) )e−á 7 ( x7 − x7
) , r
= (r (max) − r ( 0) )e−á 8 ( x8 − x8 )
7 7 7
8 8 8
( 0 )
( 0 )
r = (r (max) − r (0) )e−á 9 ( x9 − x9
) , r
= (r (max) − r (0) )e−á10 ( x10 − x10 )
9 9 9
10 10 10
( 0 )
( 0 )
r = (r (max) − r (0) )e−á11 ( x11 − x11 ) , r
= (r (max) − r (0) )e−á12 ( x12 − x12 )
11 11 11
12 12 12
i
i
x ≥ x(0) , i = 5,22
b) Bài toán B
Đối với các module mua giống như bài toán A
Đối với các module phát triển trong công ty: Hàm mục tiêu:
22
Minimize∑ xi
i =5
Các điều kiện ràng buộc:
( 0 )
(r (max) − r (min) )e−á 22 ( x22 − x22 ) = R
22 22
r (max) = r r
, r (0) = q
r (max)
22 20 20 22
22 22
( 0 )
r = (r (max) − r ( 0) )e−á 20 ( x20 − x20 )
20 20 20
r (max) = r r
, r (0) = q
r (max)
20 17 18 20
20 20
( 0 )
r = (r (max) − r ( 0) )e−á 21 ( x13 − x21 )
21 21 21
r (max) = r r
, r ( 0) = q
r (max)
19 11 19 21
21 21
( 0 )
r = (r (max) − r ( 0) )e−á19 ( x19 − x19 ) , r (max) = r r
, r (0) = q
r (max)
19 19 19
19
( 0 )
9 17 19
19 17
r = (r (max) − r (0) )e−á18 ( x18 − x18 ) , r (max) = r r
, r (0) = q
r (max)
18 18 18
18
( 0 )
10 16 18
18 18
r = (r (max) − r ( 0) )e−á17 ( x17 − x17 ) , r (max) = r r , r (0) = q
r (max)
17 17 17
17
( 0 )
5 8 17
17 17
r = (r (max) − r ( 0) )e−á16 ( x16 − x16 ) , r (max) = r r , r (0) = q
r (max)
16 16 16
16
( 0 )
6 7 16
16 16
r = (r (max) − r (0) )e−á15 ( x15 − x15 ) , r (max) = r r r
, r (0) = q
r (max)
15 15 15
15
( 0 )
2 4 14 15
15 15
r = (r (max) − r ( 0) )e−á14 ( x14 − x14 ) , r (max) = r r
, r ( 0) = q
r (max)
14 14 14
14
( 0 )
3 13 14
14 14
r = (r (max) − r (0) )e−á13 ( x13 − x13 ) , r (max) = r r , r (0) = q
r (max)
13 13 13
13
( 0 )
1 5 13
13 13
( 0 )
r = (r (max) − r (0) )e−á 5 ( x5 − x5
) , r
= (r (max) − r (0) )e−á 6 ( x6 − x6 )
5 5 5
6 6 6
( 0 )
( 0 )
r = (r (max) − r (0) )e−á 7 ( x7 − x7
) , r
= (r (max) − r ( 0) )e−á 8 ( x8 − x8 )
7 7 7
8 8 8
( 0 )
( 0 )
r = (r (max) − r ( 0) )e−á 9 ( x9 − x9
) , r
= (r (max) − r (0) )e−á10 ( x10 − x10 )
9 9 9
10 10 10
( 0 )
( 0 )
r = (r (max) − r ( 0) )e−á11 ( x11 − x11 ) , r
= (r (max) − r ( 0) )e−á12 ( x12 − x12 )
11 11 11
12 12 12
i
i
x ≥ x(0) , i = 5,6,,22
Đối với bài toán A:
B
B’
yij
[ x5 ,, x22 ]
[r5 ,, r21 ]
Độ tin cậy
tối ưu
( r22 )
145
26
1 0 0 0
1 0
1 0 0
1 0 0 0
[4.00, 3.00, 5.00,7.00, 8.00,
6.00, 5.00, 7.50, 6.50, 6.00,
6.50, 8.00, 6.50, 6.00, 8.00,
7.00, 9.00,10.00]
[0.30, 0.56, 0.49, 0.50,
0.35, 0.55, 0.46, 0.35,
0.21, 0.13, 0.05, 0.27,
0.02, 0.09, 0.26, 0.04,
0.09]
0.0035
200
35
0 0 0 1
0 1
0 0 1
0 0 0 1
[4.00, 9.52, 12.40,7.00, 16.20,
14.37, 11.67, 15.16, 6.50, 6.00,
6.50, 8.00, 6.50, 6.90, 8.00,
7.28, 9.00, 10.00]
[0.30, 0.93, 0.98, 0.50,
0.93, 0.86, 0.96, 0.94,
0.24, 0.22, 0.17, 0.89,
0.08, 0.80, 0.81, 0.75,
0.75]
0.55
250
35
0 0 0 1
0 1
0 0 1
0 0 0 1
[4.00, 16.23, 24.49, 7.00,
19.06, 20.23, 14.21, 18.50,
6.50, 6.00, 6.50, 9.31, 6.50,
11.09, 11.54, 11.67, 11.53,
10.64]
[0.30, 0.96, 0.99, 0.50,
0.96, 0.89, 0.98, 0.96,
0.24, 0.22, 0.17, 0.93,
0.08, 0.89, 0.87, 0.86,
0.83]
0.71
300
35
0 0 0 1
0 1
0 0 1
0 0 0 1
[4.00, 17.80, 28.33, 7.00,
23.14, 26.21, 21.02, 20.11,
6.50, 6.00, 6.50, 16.52,
6.50,14.53, 15.69, 14.51, 5.29,
15.35]
[0.30, 0.96, 0.99, 0.50,
0.97, 0.90, 0.99, 0.97,
0.24, 0.22, 0.17, 0.95,
0.08, 0.91, 0.89, 0.90,
0.85]
0.77
400
35
0 0 0 1
0 1
0 0 1
0 0 0 1
[4.00, 34.63, 49.65, 7.00,
29.58, 34.46, 19.64, 31.98,
6.50, 6.00, 6.50, 20.00, 6.50,
21.01, 23.57, 22.67, 22.33
18.97]
[0.30, 0.96, 0.99, 0.50,
0.97, 0.90, 0.99, 0.97,
0.24, 0.22, 0.17, 0.95,
0.08, 0.92, 0.89, 0.91,
0.86]
0.7856
500
35
0 0 0 1
0 1
0 0 1
0 0 0 1
[4.00, 46.04, 62.22, 7.00,
35.48, 41.33, 23.38, 38.70,
6.50, 6.00, 6.50, 37.30, 6.50,
20.67, 32.59, 24.98, 33.11,
32.70]
[0.30, 0.96, 0.99, 0.50,
0.97, 0.90, 0.99, 0.97,
0.24, 0.22, 0.17, 0.95,
0.08, 0.92, 0.89, 0.91,
0.86]
0.7882
Bảng 6.5: Kết quả chạy phần mềm có 22 module cho bài toán A
Đối với bài toán B:
Độ tin cậy phần mềm
( r22 )
B’
yij
[ x5 ,, x22 ]
[r5 ,, r21 ]
Tổng chi phí (B)
0.0035
26
1 0 0 0
1 0
1 0 0
1 0 0 0
[4.00, 3.00, 5.00, 7.00,
8.00, 6.00, 5.00, 7.50,
6.50, 6.00, 6.50, 8.00,
6.50, 6.00, 8.00, 7.00,
9.00,10.00]
[0.30, 0.56, 0.49, 0.50,
0.35, 0.55, 0.46, 0.35,
0.21, 0.13, 0.05, 0.27,
0.02, 0.09, 0.26, 0.04,
0.09]
135.00
0.1
35
0 0 0 1
0 1
0 0 1
0 0 0 1
[4.00, 4.20, 7.84, 7.00,
10.32, 6.34, 6.82, 9.77,
6.50, 6.00, 6.50, 8.00,
6.50, 6.00, 8.00, 7.00,
9.00, 30.33]
[0.30, 0.71, 0.87, 0.50,
0.69, 0.58, 0.76, 0.72,
0.24, 0.22, 0.17, 0.61,
0.08, 0.40, 0.49, 0.29,
0.34]
154.78
0.2
35
0 0 0 1
0 1
0 0 1
0 0 0 1
[4.00, 5.21, 8.76, 7.00,
11.43, 7.77, 7.74, 10.78,
6.50, 6.00, 6.50, 8.00,
6.50, 6.00, 8.00, 7.00,
9.00, 38.21]
[0.30, 0.79, 0.91, 0.50,
0.78, 0.68, 0.84, 0.80,
0.24, 0.22, 0.17, 0.71,
0.08, 0.53, 0.60, 0.42,
0.47]
161.19
0.3
35
0 0 0 1
0 1
0 0 1
0 0 0 1
[4.00, 6.15, 9.59, 7.00,
12.49, 9.17, 8.59, 11.72,
6.50, 6.00, 6.50, 8.00,
6.50, 6.00, 8.00, 7.00,
9.00, 38.66]
[0.30, 0.85, 0.94, 0.50,
0.84, 0.74, 0.88, 0.86,
0.24, 0.22, 0.17, 0.78,
0.08, 0.62, 0.68, 0.53,
0.57]
167.23
0.5
35
0 0 0 1
0 1
0 0 1
0 0 0 1
[4.00, 8.59, 11.63, 7.00,
15.24, 12.89, 10.77,
14.16, 6.50, 6.00, 6.50,
8.00, 6.50, 6.00, 8.00,
7.00, 9.00, 43.05]
[0.30, 0.92, 0.97, 0.50,
0.92, 0.84, 0.95, 0.93,
0.24, 0.22, 0.17, 0.87,
0.08, 0.76, 0.79, 0.70,
0.72]
182.78
0.7
35
0 0 0 1
0 1
0 0 1
0 0 0 1
[4.00, 12.54
14.84, 7.00, 19.75,
19.14, 14.30, 18.11, 6.50,
6.00, 6.50, 9.02, 6.50,
10.57, 11.01, 10.86,
10.85, 47.95]
[0.30, 0.95, 0.98, 0.50,
0.96, 0.88, 0.98, 0.96,
0.24, 0.22, 0.17, 0.92,
0.08, 0.87, 0.86, 0.85,
0.82]
222.50
Bảng 6.6: Kết quả chạy phần mềm có 22 module cho bài toán B
6.2.8. Bài toán cho một phần mềm gồm có 37 module
Giả sử ta cần phân phối chi phí cho độ tin cậy phần mềm của một bài toán có 30 module có cấu trúc như hình 6.3
M_3
M_35 M_36
M_32
M_19
M_20
M_33
M_21
M_34
M_22
M_29
M_15
M_16
M_30
M_17
M_31
M_18
M_11
M_26
M_12
M_27
M_13
M_14
M_28
M_1
M_23
M_9
M_24
M_10
M_4
M_25
M_2
M_6
M_3
M_7
M_8
M_5
V 11
V 12
V 13
V 21
V 22
V 23
V 31
V 32
V 33
V 34
V 51
V 51
V 52
V 52
V 53
Hình 6.3: Mô hình một phần mềm có 37 module
Các thông số ngẫu nhiên được chọn cho bài toán:
r11 = 0.77, c11 = 8; r12 = 0.8, c12 = 8.5; r13 = 0.85, c13 = 9;
r21 = 0.76, c11 = 5.5; r22 = 0.89, c22 = 8; r23 = 0.94, c23 = 9;
r31 = 0.8, c31 = 7; r32 = 0.84, c32 = 8.5; r33 = 0.89, c33 = 9; r34 = 0.95, c34 = 10;
r41 = 0.81, c41 = 6; r42 = 0.86, c42 = 7; r43 = 0.9, c43 = 9;
r51 = 0.83, c41 = 6.6; r52 = 0.96, c52 = 8;
r (max) = 0.95, r (0) = 0.5,á
= 0.35, x ( 0) = 4
6 6 6 6
r (max) = 0.98, r (0) = 0.3,á
= 0.4, x ( 0) = 5
7 7 7 7
r (max) = 0.93, r (0) = 0.4,á
= 0.3, x (0) = 7
8 8 8 8
r (max) = 0.97, r (0) = 0.3,á
= 0.35, x (0) = 6
9 9 9 9
r (max) = 0.98, r (0) = 0.33,á
= 0.25, x (0) = 8
10 10
10 10
r (max) = 0.96, r (0) = 0.4,á
= 0.35, x(0) = 6
11 11
11 11
r (max) = 0.98, r ( 0) = 0.5,á
= 0.35, x( 0) = 9
12 12
12 12
r (max) = 0.95, r ( 0) = 0.4,á
= 0.3, x( 0) = 7
13 13
13 13
r (max) = 0.96, r (0) = 0.45,á
= 0.4, x(0) = 8
14 14
14 14
r (max) = 0.96, r (0) = 0.4,á
= 0.3, x(0) = 6
15 15
15 15
r (max) = 0.97, r (0) = 0.35,á
= 0.36, x(0) = 9
16 16
16 16
r (max) = 0.96, r (0) = 0.4,á
= 0.34, x(0) = 5
17 17
17 17
r (max) = 0.95, r ( 0) = 0.45,á
= 0.35, x(0) = 8
18 18
18 18
r (max) = 0.9, r (0) = 0.5,á
= 0.4, x(0) = 7.5
19 19
19 19
r (max) = 0.95, r ( 0) = 0.55,á
= 0.3, x( 0) = 8.5
20 20
20 20
r (max) = 0.96, r (0) = 0.3,á
= 0.35, x(0) = 9
21 21
21 21
r (max) = 0.97, r (0) = 0.4,á
= 0.4, x( 0) = 10
22 22
22 22
24
q23
= 0.98,á 23
= 0.32, x( 0) = 10, q
= 0.95,á 24
= 0.33, x(0) = 9
26
q25
= 0.91,á 25
= 0.35, x( 0) = 8, q
= 0.99,á 26
= 0.4, x( 0) = 5
q27
q
= 0.97,á 27
= 0.98,á
= 0.35, x(0) = 7, q
= 0.33, x(0) = 9, q
= 0.94,á 28
23
25
27
28
= 0.94,á
= 0.37, x(0) = 6
24
26
28
= 0.32, x( 0) = 7.5
29 29
29 30
30 30
q = 0.93,á
= 0.34, x(0) = 8.6, q
= 0.96,á
= 0.36, x(0) = 8
31 31
31 32
32 32
q = 0.95,á
= 0.38, x(0) = 9, q
= 0.93,á
= 0.39, x(0) = 11
33 33
33 34
34 34
q = 0.97,á
= 0.33, x( 0) = 7, q
= 0.98,á
= 0.3, x( 0) = 9
35
q37
35
= 0.99,á37
35 36
37
= 0.33, x( 0) = 15
36 36
Trong đó module 37 là module gốc, độ tin cậy phần mềm cũng là độ tin cậy của module gốc.
a) Đối với bài toán A
Đối với các module mua:
Hàm mục tiêu:
Max r11 y11 + r12 y12 + r13 y13 + r21 y21 + r22 y22 + r23 y23 + r31 y31 + r32 y32 + r33 y33 +
r34 y34 + r41 y41 + r42 y42 + r43 y43 + r52 y52 + r52 y52
Các điều kiện ràng buộc:
c11 y11 + c12 y12 + c13 y13 + c21 y21 + c22 y22 + c23 y23 + c31 y31 + c32 y32 + c33 y33c34 y34
+ c41 y41 + c42 y42 + c43 y43 + c52 y52 + c52 y52 ≤ B'
y11 + y12 + y13 = 1
y21 + y22 + y23 = 1
y31 + y32 + y33 + y34 = 1
y41 + y42 + y43 = 1
y51 + y52 = 1
yij = 0 or 1
Đối với các module phát triển trong công ty:
Hàm mục tiêu:
max (r
(max)
− r (min)
)e−á11
( x37
37
− x( 0 ) )
37 37
Các điều kiện ràng buộc:
37
∑ xi ≤ B − B'
i = 6
r (max) = r r
, r (0) = q
r (max)
37 35 36 37
37 37
( 0 )
r = (r (max) − r ( 0) )e−á 36 ( x36 − x36 ) ; r (max) = r r r
, r ( 0) = q
r (max)
36 36 36
36
( 0 )
21 22 34 36
36 36
r = (r (max) − r (0) )e−á 35 ( x35 − x35 ) ; r (max) = r r r r
, r (0) = q
r (max)
35 35 35
35
( 0 )
19 20 32 33 35
35 35
r = (r (max) − r ( 0) )e−á 34 ( x34 − x34 ) ; r (max) = r r
, r ( 0) = q
r (max)
34 34 34
34
( 0 )
18 31 34
34 34
r = (r (max) − r (0) )e−á 33 ( x33 − x33 ) ; r (max) = r r
, r (0) = q
r (max)
33 33 33
33
( 0 )
17 30 33
33 33
r = (r (max) − r ( 0) )e−á 32 ( x32 − x32 ) ; r (max) = r r r
, r ( 0) = q
r (max)
32 32 32
32
( 0 )
15 16 29 32
32 32
r = (r (max) − r ( 0) )e−á 31 ( x31 − x31 ) ; r (max) = r r
, r (0) = q
r (max)
31 31 31
31
( 0 )
14 28 31
31 31
r = (r (max) − r ( 0) )e−á 30 ( x30 − x30 ) ; r (max) = r r r
, r ( 0) = q
r (max)
30 30 30
30
( 0 )
12 13 27 30
30 30
r = (r (max) − r (0) )e−á 29 ( x29 − x29 ) ; r (max) = r r
, r ( 0) = q
r (max)
29 29 29
29
( 0 )
11 26 29
29 29
r = (r (max) − r ( 0) )e−á 28 ( x 28 − x28 ) ; r (max) = r r
, r (0) = q
r (max)
28 28 28
28
( 0 )
4 25 28
28 28
r = (r (max) − r (0) )e−á 27 ( x27 − x27 ) ; r (max) = r r
, r (0) = q
r (max)
27 27 27
27
( 0 )
10 24 27
27 27
r = (r (max) − r (0) )e−á 26 ( x26 − x26 ) ; r (max) = r r r
, r (0) = q
r (max)
26 26 26
26
( 0 )
1 9 23 26
26 26
r = (r (max) − r ( 0) )e−á 25 ( x 25 − x25 ) ; r (max) = r r , r (0) = q
r (max)
25 25 25
25
( 0 )
5 8 25
25 25
r = (r (max) − r (0) )e−á 24 ( x24 − x24 ) ; r (max) = r r , r ( 0) = q
r (max)
24 24 24
24
( 0 )
3 7 24
24 24
r = (r (max) − r ( 0) )e−á 23 ( x23 − x23 ) ; r (max) = r r , r (0) = q
r (max)
23 23 23
23 2 6 23
23 23
( 0 )
r = (r (max) − r ( 0) )e−á 27 ( x 27 − x 27 ) ; r (max) = r r
, r ( 0) = q
r (max)
27 27 27
27
( 0 )
10 24 27
27 27
r = (r (max) − r ( 0) )e−á 26 ( x26 − x26 ) ; r (max) = r r r
, r (0) = q
r (max)
26 26 26
26
( 0 )
1 9 23 26
26 26
r = (r (max) − r (0) )e−á 25 ( x25 − x 25 ) ; r (max) = r r , r ( 0) = q
r (max)
25 25 25
25
( 0 )
5 8 25
25 25
r = (r (max) − r ( 0) )e−á 24 ( x24 − x24 ) ; r (max) = r r , r ( 0) = q
r (max)
24 24 24
24
( 0 )
3 7 24
24 24
r = (r (max) − r (0) )e−á 23 ( x 23 − x 23 ) ; r (max) = r r , r (0) = q
r (max)
23 23 23
23
( 0 )
2 6 23
23 23
( 0 )
r = (r (max) − r (0) )e−á 5 ( x5 − x5
) , r
= (r (max) − r (0) )e−á 6 ( x6 − x6 )
5 5 5
6 6 6
( 0 )
( 0 )
r = (r (max) − r (0) )e−á 7 ( x7 − x7
) , r
= (r (max) − r ( 0) )e−á 8 ( x8 − x8 )
7 7 7
8 8 8
( 0 )
( 0 )
r = (r (max) − r ( 0) )e−á 9 ( x9 − x9
) , r
= (r (max) − r (0) )e−á10 ( x10 − x10 )
9 9 9
10 10 10
( 0 )
( 0 )
r = (r (max) − r ( 0) )e−á11 ( x11 − x11 ) , r
= (r (max) − r ( 0) )e−á12 ( x12 − x12 )
11 11 11
12 12 12
( 0 )
( 0 )
r = (r (max) − r (0) )e−á13 ( x13 − x13 ) , r
= (r (max) − r (0) )e−á14 ( x14 − x14 )
13 13 13
14 14 14
( 0 )
( 0 )
r = (r (max) − r (0) )e−á15 ( x15 − x15 ) , r
= (r (max) − r (0) )e−á16 ( x16 − x16 )
15 15 15
16 16 16
( 0 )
( 0 )
r = (r (max) − r ( 0) )e−á17 ( x17 − x17 ) , r
= (r (max) − r ( 0) )e−á18 ( x18 − x18 )
17 17 17
18 18 18
( 0 )
( 0 )
r = (r (max) − r ( 0) )e−á19 ( x19 − x19 ) , r
= (r (max) − r (0) )e−á 20 ( x20 − x20 )
19 19 19
20 20 20
( 0 )
( 0 )
r = (r (max) − r ( 0) )e−á 21 ( x 21 − x21 ) , r
= (r (max) − r (0) )e−á 23 ( x23 − x23 )
21 21 21
23 23 23
i
i
x ≥ x(0) , i = 6,,37
Trong đó module 37 là module gốc, độ tin cậy của module này cũng là độ tin cậy của phần mềm.
a) Đối với bài toán B
Đối với các module mua tương tự như bài toán A:
Hàm mục tiêu:
Maximizer11 y11 + r12 y12 + r13 y13 + r21 y21 + r22 y22 + r23 y23 + r31 y31 + r32 y32 + r33 y33 +
r34 y34 + r41 y41 + r42 y42 + r43 y43 + r52 y52 + r52 y52
Các điều kiện ràng buộc:
c11 y11 + c12 y12 + c13 y13 + c21 y21 + c22 y22 + c23 y23 + c31 y31 + c32 y32 + c33 y33c34 y34
+ c41 y41 + c42 y42 + c43 y43 + c52 y52 + c52 y52 ≤ B'
y11 + y12 + y13 = 1
y21 + y22 + y23 = 1
y31 + y32 + y33 + y34 = 1
y41 + y42 + y43 = 1
y51 + y52 = 1
yij = 0 or 1
Đối với các module phát triển trong công ty:
Hàm mục tiêu:
37
Min∑ xi
i = 6
Các điều kiện ràng buộc:
( 0 )
(r (max) − r (min) )e−á11 ( x37 − x37 ) = R
37 37
r (max) = r r
, r (0) = q
r (max)
37 35 36 37
37 37
( 0 )
r = (r (max) − r ( 0) )e−á 36 ( x36 − x36 ) ; r (max) = r r r
, r (0) = q
r (max)
36 36 36
36
( 0 )
21 22 34 36
36 36
r = (r (max) − r (0) )e−á 35 ( x35 − x35 ) ; r (max) = r r r r
, r ( 0) = q
r (max)
35 35 35
35 19 20 32 33 35
35 35
( 0 )
r = (r (max) − r (0) )e−á 34 ( x34 − x34 ) ; r (max) = r r
, r ( 0) = q
r (max)
34 34 34
34
( 0 )
18 31 34
34 34
r = (r (max) − r ( 0) )e−á 33 ( x33 − x33 ) ; r (max) = r r
, r ( 0) = q
r (max)
33 33 33
33
( 0 )
17 30 33
33 33
r = (r (max) − r (0) )e−á 32 ( x32 − x32 ) ; r (max) = r r r
, r ( 0) = q
r (max)
32 32 32
32
( 0 )
15 16 29 32
32 32
r = (r (max) − r ( 0) )e−á 31 ( x31 − x31 ) ; r (max) = r r
, r ( 0) = q
r (max)
31 31 31
31
( 0 )
14 28 31
31 31
r = (r (max) − r (0) )e−á 30 ( x30 − x30 ) ; r (max) = r r r
, r (0) = q
r (max)
30 30 30
30
( 0 )
12 13 27 30
30 30
r = (r (max) − r (0) )e−á 29 ( x29 − x29 ) ; r (max) = r r
, r ( 0) = q
r (max)
29 29 29
29
( 0 )
11 26 29
29 29
r = (r (max) − r ( 0) )e−á 28 ( x28 − x28 ) ; r (max) = r r
, r (0) = q
r (max)
28 28 28
28
( 0 )
4 25 28
28 28
r = (r (max) − r ( 0) )e−á 27 ( x27 − x27 ) ; r (max) = r r
, r (0) = q
r (max)
27 27 27
27
( 0 )
10 24 27
27 27
r = (r (max) − r (0) )e−á 26 ( x26 − x26 ) ; r (max) = r r r
, r (0) = q
r (max)
26 26 26
26
( 0 )
1 9 23 26
26 26
r = (r (max) − r ( 0) )e−á 25 ( x25 − x 25 ) ; r (max) = r r , r ( 0) = q
r (max)
25 25 25
25
( 0 )
5 8 25
25 25
r = (r (max) − r (0) )e−á 24 ( x24 − x24 ) ; r (max) = r r , r (0) = q
r (max)
24 24 24
24
( 0 )
3 7 24
24 24
r = (r (max) − r (0) )e−á 23 ( x 23 − x 23 ) ; r (max) = r r , r (0) = q
r (max)
23 23 23
23
( 0 )
2 6 23
23 23
( 0 )
r = (r (max) − r ( 0) )e−á 5 ( x5 − x5
) , r
= (r (max) − r ( 0) )e−á 6 ( x6 − x6 )
5 5 5
6 6 6
( 0 )
( 0 )
r = (r (max) − r (0) )e−á 7 ( x7 − x7
) , r
= (r (max) − r (0) )e−á 8 ( x8 − x8 )
7 7 7
8 8 8
( 0 )
( 0 )
r = (r (max) − r (0) )e−á 9 ( x9 − x9
) , r
= (r (max) − r ( 0) )e−á10 ( x10 − x10 )
9 9 9
10 10 10
( 0 )
( 0 )
r = (r (max) − r (0) )e−á11 ( x11 − x11 ) , r
= (r (max) − r (0) )e−á12 ( x12 − x12 )
11 11 11
12 12 12
( 0 )
( 0 )
r = (r (max) − r (0) )e−á13 ( x13 − x13 ) , r
= (r (max) − r ( 0) )e−á14 ( x14 − x14 )
13 13 13
14 14 14
( 0 )
( 0 )
r = (r (max) − r ( 0) )e−á15 ( x15 − x15 ) , r
= (r (max) − r ( 0) )e−á16 ( x16 − x16 )
15 15 15
16 16 16
( 0 )
( 0 )
r = (r (max) − r ( 0) )e−á17 ( x17 − x17 ) , r
= (r (max) − r ( 0) )e−á18 ( x18 − x18 )
17 17 17
18 18 18
( 0 )
( 0 )
r = (r (max) − r (0) )e−á19 ( x19 − x19 ) , r
= (r (max) − r ( 0) )e−á 20 ( x20 − x20 )
19 19 19
20 20 20
( 0 )
( 0 )
r = (r (max) − r (0) )e−á 21 ( x21 − x21 ) , r
= (r (max) − r (0) )e−á 23 ( x23 − x23 )
21 21 21
23 23 23
i
i
x ≥ x(0) , i = 6,,37
Đối với bài toán A:
B
B’
yij
[ x6 ,, x37 ]
[r6 ,, r36 ]
Độ tin
cậy tối ưu ( r37 )
288
33
100
1000
100
100
10
[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]
0.0014
299
44
001
0001
001
001
01
[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.28, 0.45, 0.35, 0.07, 0.19, 0.28,
0.03, 0.04, 0.11, 0.004, 0.01,
0.05, 0.37]
0.0054
500
44
001
0001
001
001
01
[9.00, 5.00, 45.76, 6.00,
8.00, 6.00, 9.00, 7.00,
24.55, 6.00, 9.00, 5.00,
24.64,7.50, 8.50, 31.15,
28.09, 10.00, 9.00, 25.14,
5.00, 7.00, 17.78, 9.00,
7.50, 38.53, 8.00, 9.00,
31.37, 7.00, 13.70, 17.79]
[0.30, 0.50, 0.93, 0.30, 0.64,
0.40, 0.50, 0.40, 0.96, 0.40, 0.35,
0.40, 0.95, 0.50, 0.55, 0.96, 0.97,
0.28, 0.45, 0.89, 0.07, 0.60, 0.77,
0.03, 0.11, 0.74, 0.004, 0.04,
0.70, 0.87]
0.5574
600
44
001
0001
001
001
01
[9.00, 5.00, 56.17, 6.00,
8.00, 6.00, 9.00, 7.00,
28.18, 6.00, 9.00, 5.00,
28.74, 7.50, 8.50, 34.89,
31.53, 10.00, 9.00, 37.78,
5.00, 7.00, 26.99, 9.00,
7.50, 66.35, 8.00, 9.00,
49.74, 7.00, 17.88, 20.24]
[0.30, 0.50, 0.93, 0.30, 0.64,
0.40, 0.50, 0.40, 0.96, 0.40, 0.35,
0.40, 0.95, 0.50, 0.55, 0.96, 0.97,
0.28, 0.45, 0.89, 0.07, 0.60, 0.77,
0.03, 0.11, 0.74, 0.004, 0.04,
0.70, 0.87]
0.5625
1000
44
001
0001
001
001
01
[9.00, 5.00, 90.95,
6.00, 8.00, 6.00, 9.00,
7.00, 40.04, 6.00, 9.00,
5.00, 42.30,7.50, 8.50,
46.64, 42.57, 10.00, 9.00,
83.81, 5.00, 7.00, 62.63,
9.00, 7.50, 158.31, 8.00,
9.00, 115.17, 7.00, 35.90,
30.82]
[0.30, 0.50, 0.93, 0.30, 0.64,
0.40, 0.50, 0.40, 0.96, 0.40, 0.35,
0.40, 0.95, 0.50, 0.55, 0.96, 0.97,
0.28, 0.45, 0.89, 0.07, 0.60, 0.77,
0.03, 0.11, 0.74, 0.004, 0.04,
0.70, 0.87]
0.5647
Bảng 6.7: Kết quả chạy phần mềm có 37 module cho bài toán A
Đối với bà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)
0.0014
33
100
1000
100
100
10
[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
0.2
44
001
0001
001
001
01
[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
0.3
44
001
0001
001
001
01
[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
0.5
44
001
0001
001
001
01
[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
Bảng 6.8: Kết quả chạy phần mềm có 37 module cho bài toán B
6.3. Kết luận
Tự động hóa quá trình phân phối chi phí để đánh giá độ tin cậy phần mềm là một bài toán mở, nhiều phương pháp đã được đưa ra để giải quyết bài toán. Phương pháp kết hợp quy hoạch nguyên và quy hoạch phi tuyến của hàm nhiều biến là một giải pháp được đề xuất để giải quyết vấn đề này. Đứng trên góc độ của một công trình nghiên cứu, luận văn cố gắng đưa ra hai giải pháp nhằm cung cấp thêm một cách thức để giải quyết bài toán này.
Mô hình đã tính toán độ tin cậy của 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 hiện việc phân phối chi phí cho các module mua, kết hợp với phương pháp quy hoạch phi tuyến để giải quyết hàm số mũ nhiều biến, để thực hiệc việc phân phối chi phí cho các module phát triển. Thông qua việc kết hợp này, luận văn đã dùng các hàm trong Matlab để xây dựng được hai giải pháp cho phép kết hợp giữa bài toán quy hoạch nguyên và quy hoạch phi tuyến một cách tự động. Chương trình hiện thực đã cung cấp được giải với độ chính xác tương đối cho một số minh họa cụ thể.
Tuy nhiên, chương trình cũng có một vài hạn chế:
Hiện tại mô hình chỉ được thực hiện hàm phân phối mũ để tính độ tin cậy của các module.
Việc phân phối chi phí giữa module mua và module phát triển trong công ty còn mang tính cảm tính, đều này làm cho lời giải của bài toán có thể chưa được tối ưu.
Chương trình chỉ sử dụng các hàm trong Matlab để thực việc tối ưu hóa, mà chúng ta không can thiệp vào bên trong nó.
Do số liệu trong chương trình là tự tạo cho nên kết quả của chương trình có thể chưa xác thực tế.
Đây là những hạn chế mà trong phạm vi luận văn này chưa thể giải quyết trọn vẹn. Một số đề xuất và hướng mở rộng dựa vào những hạn chế vừa nêu:
Xây dựng các mô hình khác mô hình số mũ để giải quyết việc phân phối chi phí.
Xây dựng một giải thuật thực hiện việc phân phối chi phí giữa các module mua và module phát triển một cách tối ưu nhất.
Xây dựng một hàm quy hoạch phi tuyến tồn tại cả biến nguyên và biến thực để giải quyết bài toán một cách tối ưu nhất.
Lấy dữ liệu thực từ các hãng phần mềm ứng dụng vào mô hình này.
Với những sự mở rộng này chúng ta có thể xây dựng một giải pháp hữu hiệu hơn cho bài toán. Đây chính là hướng phát triển của luận văn.
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 74H
[3] Hoang Pham, “Software Reliability” Springer – Verlag Singapore Pte.Ltd.2000
[4] Lê Quang Hoàng Nhân, “Giáo trình Toán Cao Cấp – Phần Giải Tích” Nhà xuất bản thống kê.
[5] Nguyễn Đức Thành, “MATLAB và ứng dụng trong điều khiển” Nhà xuất bản
Đại học Quốc gia Tp.HCM.
[6] Nguyễn Nhật Lệ - Phan Mạnh Dần “Giải bài toán tối ưu hoá ứng dụng bằng MATLAB-MAPLE tối ưu hoá tĩnh và điều khiển tối ưu” Nhà xuất bản 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
Phụ lục 1. 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 và 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 trong 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
Toá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
Phụ lục 2. Bảng tóm tắt các 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 quá trình phân phối Poisson không đồng nhất (Non-homogeneous Poisson Process - NHPP). NHPP là nhóm các mô hình cung cấp một quá trình phân tích, mô tả hiện tượng lỗi phần mềm trong quá trình kiểm tra. Điểm chính của mô hình NHPP là đánh giá hàm giá trị trung bình (Mean Value Function – MVF) số lượng lỗi được tích lũy trong một khoảng thời
gian [3].
t
m(t ) = ∫ ë (s)ds
0
Hàm độ tin cậy của phần mềm là:
R(t ) = e− m (t ) = e
t
− ∫ ë ( s ) ds
0
Tên mô hình
Loại mô hình
MVF (m(t))
Goel-Okumoto (G-O)
Concave
m(t) = a(1 − e−bt )
a(t) = a b(t) = b
Delayed S-shaped
S-shaped
m(t ) = a(1 − (1 + bt )e−bt )
a(t) = a
b 2t b(t ) =
1 + bt
Inflection S-shaped
Concave
a(1 − e−bt )
m(t) =
1 + âe−bt
a(t) = a
b(t) = b
1 + âe−bt
Yamade exponential
Concave
( − ât )
m(t ) = a(1 − e− rá (1−e ) )
a(t ) = a
b(t ) = ráâte −ât
Yamada Rayleigh
S-shaped
( − ât 2 / 2 )
m(t ) = a(1 − e −rá (1−e ) )
a(t ) = a
b(t ) = ráâte −ât 2 / 2
Yamada imperfect debugging model (1)
S-shaped
m(t ) = ab (eát − e−bt )
á + b
a(t ) = aeát
b(t) = b
Yamada imperfect debugging model (2)
S-shaped
m(t ) = a[1 − e−bt ][1 − á ] + áat b
a(t ) = aeát
b(t ) = b
Pham-Nordmann
S-shaped và concave
a[1 − e−bt ][1 − á ] + áat m(t) = b
1 + â −bt
a(t ) = a(1 + át)
b(t) = b
1 + âe −bt
Pham-Zhang
S-shaped và concave
m(t ) = 1 [(c + a)(1 − e −bt )
1 + â −bt
− a (e−át − e −bt )]
b − á
a(t ) = c + a(1 − e −át )
b(t ) = b
1 + âe−bt
Phụ lục 3. Sơ lược về MATLAB
MATLAB [4] có ngồn gốc từ chữ matrix laboratory, là ngôn ngữ máy tính dùng để tính toán kỹ thuật. MATLAB là sản phẩm của công ty The Mathworks Inc, với địa chỉ www.mathworks.com và sử dụng MATLAB phải có bản quyền. Tuy nhiên, có rất nhiều hàm MATLAB được viết bởi người sử dụng và phổ biến miễn phí trên mạng giúp cho MATLAB ngày càng phong phú hơn. Dưới đây trích các hàm sử dụng trong chương trình [5][6].
a) Hàm bintprog: tìm nghiệm tối ưu của bài toán lập trình số nguyên nhị phân có dạng:
Hàm mục tiêu:
Minimize f .y
các điều kiện ràng buộc:
A.y ≤ b
Aeq.y = beq
trong đó:
f , b, beq : các vector
A, Aeq
: các ma trận
Các biến y bắt buộc phải là các biến nhị phân, nghĩa là chúng chỉ nhận các giá trị: 0 hoặc 1.
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(...)
Mô tả:
y = bintprog(f): giải quyết bài toán lập trình số nguyên nhị phân có dạng:
Minimize f .y
y = bintprog(f, A, b): tìm nghiệm tối ưu của bài toán lập trình số nguyên
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 của bài toá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ả về giá trị hàm mục tiêu fval , và nghiệm tối ưu y
ứng với hàm mục tiêu đó.
[y,fval, exitflag] = bintprog(...) tương tự như trên, cộng thêm exitflag mô trả trạng thái của bài toán bintprog.
9 Exitflag =1 : hàm hội tụ đến 1 giải pháp y.
9 Exitflag =0 : số lượng lần lặp đi lặp lại vượt quá Options.MaxIter
9 Exitflag =-2 : bài toán không thể làm được.
9 Exitflag =-4 : số lượng node vượt quá số lần lặp cực đại được cho phép (Options.MaxIter).
9 Exitflag =-5 : thời gian tìm kiếm vượt quá Options.Maxtime. b) Hàm fmincon: tìm nghiệm tối ưu của hàm nhiều biến có dạng:
Hàm mục tiêu:
min f ( x)
Các điều kiện ràng buộc:
c( x) ≤ 0
ceq( x) = 0
A * x ≤ b
Aeq * x = beq lb ≤ x ≤ ub
Trong đó
x, b, beq, lb, ub là các vector
A, Aeq là các ma trận.
c( x), ceq( x) là các hàm trả về các vertor
f ( x), c( x), ceq( x) có thể là các 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 một cực tiểu thỏa mãn các điều kiện ràng buộc phi tuyến hoặc tuyến tính.
x = fmincon(fun,x0,A,b): bắt đầu tìm kiếm tại x0 và cố gắng tìm một cực tiểu x để hàm mục tiêu đạt giá trị nhỏ nhất thỏa mãn điều kiện ràng buộc A*x <= b, trong đó x0 có thể là một vector hoặc matrix.
x = fmincon(fun,x0,A,b,Aeq,beq) tương tự như trên, thiết lập thêm điều kiện ràng buộc Aeq*x = beq và A*x <= b. Có thể thiết lập A=[] và b=[] khi không tồn tại các ràng buộc phi tuyến.
x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub) tương tự như trên, thiết lập thêm một tập điều kiện lb <= x <= ub. Có thể thiết lập Aeq=[] và beq=[] khi không tồn tại các ràng buộc tuyến tính.
x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon) tương tự như trên, thiết lập thêm một tập điều kiện các phương trình tuyến tính c(x) or hoặc phi tuyến ceq(x) được định nghĩa trong nonlcon. Có thể thiết lập lb=[] and/or ub=[] nếu không tồn tại.
[x,fval] = fmincon(...) trả về giá trị hàm mục tiêu và giá trị của các biến
ứng với hàm mục tiêu đó.
[x,fval,exitflag] = fmincon(...) tương tự như trên, thêm một giá trị exitflag
cho biết trạng thái của hàm fmincon.
[x,fval,exitflag,output] = fmincon(...) trả về một cấu trúc output với thông tin về sự tối ưu hoá.
[x,fval,exitflag,output,lambda] = fmincon(...) trả về một cấu trúc lambda
trong Lagrange multipliers tại giải pháp tìm ra giá trị x.
[x,fval,exitflag,output,lambda,grad] = fmincon(...) trả về giá trị gradient
của fun tại giải pháp x.
[x,fval,exitflag,output,lambda,grad,hessian] = fmincon(...)trả về giá trị của ma trận Hessian tại giải pháp x.
Tham khảo Chỉ Mục
B
Biến nhị phân, 9, 14, 15, 16, 17, 19, 39
Branch and bound, 5, 18, 78
C
Cấu trúc đặc biệt, 18
Chi phí, 1, 5, 7, 8, 9, 11, 14, 37, 38, 39,
40, 41, 44, 45, 49, 50, 75
Chi phí khởi tạo, 7
Cực tiểu cục bộ, 25
Cực tiểu toàn cục, 30
Cực trị, 28, 32
D
Điểm dừng, 27, 30, 31, 33, 34, 35
Điều kiện ràng buộc, 15, 16, 19, 21, 23,
25, 27, 29, 30, 31, 32, 33, 34, 35, 38,
41, 58, 59, 63, 64, 65, 70, 71, 72
Độ tin cậy phần mềm, 1, 2, 5, 6, 7, 37,
41, 57, 62, 68, 79, 81
Độ tin cậy tối đa, 7, 9
Độ tin cậy tối thiểu, 7, 9
G
Giải pháp, 22, 78
Giải thuật, 5, 15, 18, 19, 22, 23, 76
H
Hàm lồi, 26
Hàm mục tiêu, 15, 19, 21, 23, 25, 27,
29, 30, 34, 35, 38, 39, 41, 44, 48, 49,
58, 59, 63, 64, 65, 69, 70, 71, 72
Hessian, 28, 30, 35
L
Lagrangian, 32
M
Ma trận, 28, 30, 31, 32, 33, 35, 36
Module đơn, 6, 7, 8, 9, 10, 12, 38, 40
Module mua, 2, 6, 7, 8, 9, 10, 12, 37,
38, 39, 40, 41, 58, 63, 65, 69, 71, 75,
76
Module phát triển, 2, 5, 7, 37, 38, 40,
41, 58, 59, 64, 65, 70, 71, 75, 76
Module tích hợp, 6, 7, 9, 10, 12, 13, 40,
41, 43
N
Ngân sách, 1, 9, 11, 13, 14, 39, 40
P
Phân hoạch, 37, 38
Phân phối chi phí, 2, 5, 6, 7, 8, 37, 39,
41, 57, 62, 68, 75, 76
Q
Quy hoạch nguyên, 2, 5, 15, 16, 18, 38,
75
Quy hoạch phi tuyến 5, 27, 53, 75, 76
S
Số lượng biến, 18
T
Tập lồi, 26
Tối ưu, 2, 15, 16, 17, 18, 21, 22, 23, 24,
25, 27, 29, 30, 33, 34, 38, 40, 41, 55,
56, 60, 61, 75, 76
Tổng chi phí, 38
V
Vector, 29, 31, 34, 35
Version, 7, 8, 9, 11, 14, 38, 39
X
Xác định dương, 27, 28, 30, 33, 35, 36
Các file đính kèm theo tài liệu này:
- 8097.doc