Tải bản đầy đủ (.pdf) (12 trang)

CÁC MÔ HÌNH VÀ PHẦN MỀM TỐI ƯU - CHƯƠNG 3 doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (332.03 KB, 12 trang )


40
Chương III
BÀI TOÁN QUY HOẠCH PHI TUYẾN

1. PHƯƠNG PHÁP RST2ANU GIẢI BÀI TOÁN TỐI ƯU
PHI TUYẾN TOÀN CỤC HỖN HỢP NGUYÊN
1.1. Đặt vấn đề
Dạng chính tắc của bài toán tối ưu một mục tiêu được biểu diễn như sau:
Min (Max) f(X) , X = (x
1
, x
2
, …, x
n
)

R
n
, với các điều kiện ràng buộc
(i) g
j
(X) ≤ 0,

j = 1, 2, …, k,
(ii) g
j
(X) = 0, j = k+1, k+2, …, .m.
Trong các bài toán thực tế có thể bổ sung thêm các ràng buộc
(iii) a
i


≤ x
i
≤ b
i
, i = 1, 2, …, n.
Trong trường hợp hàm mục tiêu f(X) hay có ít nhất một trong các hàm ràng buộc
g
j
(X), j = 1, 2, …, m, là hàm phi tuyến, chúng ta có bài toán tối ưu phi tuyến. Khi tất cả
các toạ độ x
i
đều bắt buộc nhận các giá trị nguyên, i = 1, 2, …, n, thì ta có bài toán tối
ưu nguyên. Còn nếu chỉ có một số toạ độ (nhưng không phải tất cả các toạ độ) bắt buộc
nhận giá trị nguyên thì ta có bài toán tối ưu hỗn hợp nguyên.
Ký hiệu D là miền các phương án (miền ràng buộc) cho bởi các ràng buộc (i),
(ii) và / hoặc (iii) thì bài toán tối ưu trên đây có thể viết gọn hơn như sau:
f(X)

Min
(Max) với X

D.
Lúc này, đối với bài toán cực tiểu hoá, X
*
∈ D được gọi là phương án tối ưu toàn
cục nếu
∀ X∈D ta luôn có: f(X
*
)


≤ f(X). Trong trường hợp f(X
*
) ≤ f(X) chỉ đúng với
∀X∈D trong một lân cận nào đó của X
*
thì X
*
được gọi là phương án tối ưu địa
phương. Một cách tương tự, ta có thể định nghĩa khái niệm phương án tối ưu toàn cục /
địa phương cho bài toán cực đại hoá. Nếu chúng ta chỉ quan tâm tới việc tìm kiếm
phương án tối ưu toàn cục thì ta có
bài toán tối ưu toàn cục.
Các phương pháp giải bài toán tối ưu toàn cục phi tuyến đơn mục tiêu được
phân ra thành hai lớp: phương pháp tất định và phương pháp ngẫu nhiên (
deterministic
and stochastic methods
). Phương pháp tất định sử dụng các tính chất giải tích của hàm
mục tiêu và các hàm ràng buộc. Một số dạng bài toán tối ưu toàn cục với những tính
chất giải tích nhất định của hàm mục tiêu và các hàm ràng buộc có thể giải được bằng
các phương pháp tất định thích hợp, chẳng hạn như phương pháp quy hoạch toàn
phương, quy hoạch tách, quy hoạch lồi, quy hoạch d.c… Trong các trường hợp đó
phương án tố
i ưu toàn cục có thể tìm được sau một số hữu hạn bước tính toán với độ
chính xác chọn trước.
Tuy nhiên, đối với nhiều lớp bài toán tối ưu toàn cục phương pháp tất định tỏ ra
không có hiệu quả. Trong khi đó, các phương pháp ngẫu nhiên như: phương pháp đa
khởi tạo (
multistart), mô phỏng tôi (simulated annealing), thuật giải di truyền (genetic

41

algorithm)… có thể áp dụng để giải các bài toán tối ưu toàn cục dạng bất kỳ, không đòi
hỏi các tính chất đặc biệt của hàm mục tiêu hay các hàm ràng buộc. Các phương pháp
ngẫu nhiên đặc biệt tỏ ra có hiệu quả đối với các bài toán tối ưu phi tuyến nguyên và
hỗn hợp nguyên. Tuy nhiên, các phương pháp này thường chỉ cho phương án “gần” tối
ưu khá tốt sau một số hữu hạn bước mà không kiểm soát được độ chính xác củ
a phương
án tìm được.
Như vậy, hiện tại có nhiều phương pháp tối ưu toàn cục được đề xuất. Tuy nhiên
chưa có một phương pháp nào tỏ ra hữu hiệu cho mọi bài toán tối ưu, đặc biệt là các bài
toán tối ưu với biến nguyên hay hỗn hợp nguyên. Hơn nữa, các phương pháp tối ưu cần
phải được lập trình để đóng gói thành các phần mềm thân thiện đối với ngườ
i sử dụng.
Đây là một đòi hỏi rất thực tế của các kĩ sư, các nhà khoa học, các doanh nghiệp trong
nhiều lĩnh vực công nghiệp cũng như nông nghiệp. Trong bài báo này, chúng tôi trình
bày một phần mềm tính toán khoa học (RST2ANU) có thể đáp ứng được phần nào các
đòi hỏi nêu trên đối với người sử dụng để giải các bài toán tối ưu phi tuyến toàn cục với
các biến liên tục, nguyên hoặc hỗn hợ
p nguyên. Phần mềm này được xây dựng dựa trên
phương pháp tìm kiếm ngẫu nhiên có kiểm soát (cùng tên gọi RST2ANU) do Mohan và
Nguyễn Hải Thanh đề xuất (Xem “A controlled random search technique incorporating
the simulated annealing concept for solving integer and mixed integer global
optimization problems”,
Computational Optimization and Applications, Vol. 14, pp.
103-132, 1999). Đây là một phương pháp tối ưu đã được chạy kiểm thử trên hàng trăm
bài toán mẫu và nhiều bài toán thực tế với độ tin cậy rất cao và tốc độ tính toán chấp
nhận được.
1.2. Thuật giải tìm kiếm ngẫu nhiên có kiểm soát RST2ANU
Thuật giải RST2ANU là thuật giải lặp, bao gồm hai pha, pha địa phương và pha
toàn cục.
Trong pha toàn cục, một số lượng thích hợp đủ lớn các phương án chấp nhận

được được phát sinh ra một cách ngẫu nhiên và lưu trữ trong mảng có tên A. Đánh dấu
hai điểm có giá trị hàm mục tiêu lớn nhất và nhỏ nhất tương ứng là M và L.
Trong pha địa phương, các phương án được xử lý nhằm thu được giá trị ước
lượng tốt hơn của hàm mục tiêu. Trong pha này, thuật giải xác định X* là điểm được
nội suy bậc hai dựa trên phương án L và hai phương án khác được chọn ngẫu nhiên
trong mảng A. Nếu như X* chấp nhận được thì với f(X*) ≤ f(M), M sẽ được thay thế
bởi X* trong mảng A, còn với f(X*)>f(M) M sẽ được thay thế bởi X* với xác suất
p=
exp(-β(f(X*)-f(M))/(f(X*)-f(L))) , trong đó β >0 là tham số được lựa chọn thích hợp.
Nếu X* không phải là phương án chấp nhận được, bỏ qua X* và chọn hai phương án
khác trong A một cách ngẫu nhiên rồi cùng với L tiếp tục sinh ra phương án mới. Quá
trình cứ thế tiếp diễn như vậy cho tới khi tập hợp các phương án trong A sẽ có xu hướng
co cụm lại xung quanh một phương án tối ưu toàn cục.
Lưu đồ thuật giải RST2AN được thể hiệ
n trên hình minh hoạ, trong đó:
• n, f(X), g(j), a
i
, b
i
, … là các đầu vào.

42
• A = RandomNSolution (N) phát sinh N phương án ngẫu nhiên chấp nhận
được, đồng thời tính giá trị của hàm mục tiêu và trả về kết quả cho mảng A.
Như vậy, mảng A chứa luôn cả giá trị hàm mục tiêu tương ứng với từng
phương án.

Lưu đồ thuật giải RST2ANU
• Arrange(A) sắp xếp mảng A theo thứ tự tăng dần của hàm mục tiêu.
r = random(0,1)

p=exp(-beta(f(X*)-f(M))/(f(X*)-f(L)))
N

43
• Max(A), Min(A) trả về phương án có giá trị hàm mục tiêu lớn nhất và nhỏ
nhất trong A.

• Clustered(A, eps1, eps2) cho biết mảng A đã hội tụ theo hàm mục tiêu
hay chưa.
• Nếu (f(M) – f(L))/FM) < eps1 thì mảng A hội tụ, ngược lại chưa hội tụ,
với FM = f(M) nếu f(M) > eps2, ngược lại FM = 1.
• NewSolution() trả về một phương án mới được suy ra từ 3 điểm: L và hai
điểm được chọn ngẫu nhiên khác trong mảng A theo phương pháp nội suy.
• Feas(X) nhận giá trị TRUE nếu X chấp nhận được, ngược lại nhận giá trị
FALSE
• Random(0,1) trả về giá trị ngẫu nhiên nằm trong khoảng (0,1).
• Replace(A, M, X*) thay thế M trong A bởi X* kèm theo cả giá trị hàm
mục tiêu sao cho không cần phải sắp xếp lại mảng A mà vẫn đảm bảo các
điểm được sắp xếp theo thứ tự giá trị hàm mục tiêu tăng dần.
• Kết thúc 1: Số lần tìm kiếm liên tiếp mà không cải thiện được giá trị hàm
mục tiêu vượt quá số lần cho phép. Thuật giải dừng với giá trị tốt nhất của
hàm mục tiêu tìm được là FL tương ứng với phương án L.
• Kết thúc 2: Phương án tối ưu toàn cục đã đạt được là L với giá trị hàm
mục tiêu là FL.
• Kết thúc 3: Số lần nội suy liên tiếp mà không tìm được phương án thay
thế M trong A vượt quá số lần cho phép. Thuật giải dừng với giá trị tốt nhất
của hàm mục tiêu tìm được là FL tương ứng với phương án L.
• Kết thúc 4: Số lần lặp vượt quá số lần cho phép. Thuật giải dừng với giá
trị tốt nhất của hàm mục tiêu tìm được là FL tương ứng với phương án L.
1.3. Một số nhận xét về phiên bản nâng cấp của phần mềm

Phần mềm tính toán khoa học RST2ANU đã được thiết kế và xây dựng có thể sử
dụng để giải quyết nhiều mô hình tối ưu phát sinh trong lĩnh vực nông nghiệp, hỗ trợ
cho giảng dạy và nghiên cứu khoa học nông nghiệp cũng như trong các lĩnh vực khác.
Phần mềm này đã được nâng cấp có tính thân thiện với người sử dụng và tránh
được sao chép, có thể được phổ cập có bản quyền mộ
t cách rộng rãi. Việc tạo ra các
giao diện thân thiện cho phép dễ dàng nhập các hàm mục tiêu và ràng buộc của nhiều
dạng bài toán tối ưu phi tuyến là một vấn đề khá phức tạp đã được giải quyết thành công
trong phần mềm này.
Trong tình hình hiện tại, khi các phần mềm tối ưu phi tuyến không có sẵn trên
thị trường trong và ngoài nước, phần mềm RST2ANU nên được triển khai sử dụng để
giải quyết các bài toán tối
ưu trong các lĩnh vực khác nhau, bao gồm cả các bài toán
nguyên và hỗn hợp nguyên. Các nghiên cứu cần tiếp tục được triển khai và được hỗ trợ

44
về mặt tài chính để tích hợp RST2ANU vào các gói phần mềm trong điều khiển tự động
hóa hay trong các hệ hỗ trợ ra quyết định.

2. MỘT SỐ VÍ DỤ ÁP DỤNG RST2ANU
2.1. Bài 1: Bài toán xác định tham số sàng phân loại
Sau đây là cách viết chương trình con tính giá trị hàm mục tiêu và kiểm tra tính
khả thi của phương án đã được phát sinh khi thực hiện chương trình máy tính
RST2ANU.
float f()
{ float fv, g;
g= 0.05*cos(0+3.1417/18)+0.3*cos(x[0])+0.15*cos(x[1])+0.5*cos(x[2])-
0.365;
g=1000*g*g;
fv=g;

g= 0.05*sin(0+3.1417/18)+0.3*sin(x[0])+0.15*sin(x[1])+0.5*sin(x[2])-0.635;
g=1000*g*g;
fv=fv+g;
g=0.05*cos(0+3.1417/18)+0.3*cos(x[0])+1.075*cos(x[1]-
3.1417/8)+0.4*cos(x[3])-1.365;
g=1000*g*g;
fv=fv+g;
g=0.05*sin(0+3.1417/18)+0.3*sin(x[0])+1.075*sin(x[1]-
3.1417/8)+0.4*sin(x[3])-0.635;
g=1000*g*g;
fv=fv+g;
return(fv);
}
int feas()
{int flag=1;
return(1);
}
File vào v1.in
1 4 0 4 0.000001 0.000001
10000 2000 0 2000
0 0 1 0 0 0 0
0 1 2 3
0 3.1417 0 3.1417 0 3.1417 0 3.1417
123 234 345 456 567

45
3 3 0.01
0 0
File ra v1.out
PROBLEM No 1

**crs2.c
n=4,nc=0,nint=4,epsilon=0.000001,eps1=0.000001,iterlast=10000
ifailast=2000,imlast=0,islast=2000,iprint=0,id=0,imp=1,ipat=0
noninteger variables are:
x[0] x[1] x[2] x[3]
guess=0,nguess=0,lppatt=0
lower and upper bounds of coordinates:
xmin[0]=0.000000,xmax[0]=3.141700
xmin[1]=0.000000,xmax[1]=3.141700
xmin[2]=0.000000,xmax[2]=3.141700
xmin[3]=0.000000,xmax[3]=3.141700
itnlast=3,istnlast=3,eps2=0.010000
***CRS
SOLUTION FOR NLPP by type 1 as usually
**case 1 na=50
seed[0]=*, s*,f=0.000000,fm=0.000001,iter=763,ifun=1664,t1=0
*, s*,f=0.000000,fm=0.000001,iter=1069,ifun=1619,t1=0
*, s*,f=0.000000,fm=0.000001,iter=1026,ifun=1557,t1=0
*,f*,f=4.300038,fm=4.300157,iter=1941,ifun=25813,t1=0
t*, f= 0.000000,iter2=4799 ifun2=30653,t2=0
fopt=0.000000
0.198735,0.550661,1.784750,1.670850,
seed[1]=*,f*,f=4.300035,fm=4.300137,iter=1891,ifun=32299,t1=0
*,f*,f=4.300043,fm=4.300156,iter=1705,ifun=31407,t1=0
*,f*,f=4.300050,fm=4.300186,iter=967,ifun=21132,t1=1
*, s*,f=0.000000,fm=0.000001,iter=938,ifun=1481,t1=0
t*, f= 0.000000,iter2=5501 ifun2=20783,t2=1
fopt=0.000000
0.198752,0.550653,1.784751,1.670846,
seed[2]=*,f*,f=4.300051,fm=4.300158,iter=1168,ifun=-27879,t1=0

*, s*,f=0.000000,fm=0.000001,iter=933,ifun=1398,t1=0
*,f*,f=4.300040,fm=4.300148,iter=1295,ifun=-32336,t1=0
*, s*,f=0.000000,fm=0.000001,iter=1063,ifun=1643,t1=0
t*, f= 0.000000,iter2=4459 ifun2=8362,t2=0
fopt=0.000000
0.198742,0.550658,1.784749,1.670847,
seed[3]=*, s*,f=0.000000,fm=0.000001,iter=943,ifun=1430,t1=0

46
*, s*,f=0.000000,fm=0.000001,iter=868,ifun=1345,t1=0
*, s*,f=0.000000,fm=0.000001,iter=1048,ifun=1634,t1=0
*,f*,f=4.300054,fm=4.300150,iter=2354,ifun=-30714,t1=0
t*, f= 0.000000,iter2=5213 ifun2=-26305,t2=0
fopt=0.000000
0.198741,0.550658,1.784751,1.670850,
seed[4]=*, s*,f=0.000000,fm=0.000001,iter=1216,ifun=1905,t1=0
*, s*,f=0.000000,fm=0.000001,iter=1191,ifun=1859,t1=0
*,f*,f=4.300034,fm=4.300148,iter=1659,ifun=27170,t1=0
*, s*,f=0.000000,fm=0.000001,iter=801,ifun=1234,t1=0
t*, f= 0.000000,iter2=4867 ifun2=32168,t2=0
fopt=0.000000
0.198742,0.550658,1.784751,1.670848,
***b1=1196,b2=1883,***
***a1=4967,a2=25,***

2.2. Bài 2: Bài toán xác định cơ cấu đầu tư chăn nuôi cá
float f()
{ float fv;
fv=19.375*pow(x[0],0.236)*pow(x[1],0.104)*pow(x[2],0.096)*pow(x[3],0.056);
fv=fv*pow(x[4],0.056)*exp(0.168*x[5])*exp(0.066*x[6]);

return(fv);
}
int feas()
{ int flag=1;
float g;
g=x[0]+x[1]+x[2]+x[3]+x[4];
if(g>50)
{ flag=0;
goto LAST;
}
g=x[5]+x[6];
if(g>1)
{ flag=0;
goto LAST;
}
LAST:
if(flag==0) {return(0);}

47
else {return(1);}

File vào CUONG1.IN
1 7 2 5 0.001 0.001
10000 2000 0 2000
0 0 0 0 0 0 0
0 1 2 3 4
0 50 0 50 0 50 0 50 0 50
0 1 0 1
123 234 345 456 567
0 0 0.01

0 0

File ra CUONG1.OUT
PROBLEM No 1
**crs2.c
n=7,nc=2,nint=5,epsilon=0.001000,eps1=0.001000,iterlast=10000
ifailast=2000,imlast=0,islast=2000,iprint=0,id=0,imp=0,ipat=0
noninteger variables are:
x[0] x[1] x[2] x[3] x[4]
guess=0,nguess=0,lppatt=0
lower and upper bounds of coordinates:
xmin[0]=0.000000,xmax[0]=50.000000
xmin[1]=0.000000,xmax[1]=50.000000
xmin[2]=0.000000,xmax[2]=50.000000
xmin[3]=0.000000,xmax[3]=50.000000
xmin[4]=0.000000,xmax[4]=50.000000
xmin[5]=0.000000,xmax[5]=1.000000
xmin[6]=0.000000,xmax[6]=1.000000
itnlast=0,istnlast=0,eps2=0.010000
***CRS
***
SOLUTION FOR NLPP by type 1 as usually
**case 1 na=16
seed[0]=0*, s*,f=-88.334068,fm=-88.248016,iter=81,ifun=15061,t1=0
t*, f= -88.334068,iter2=81 ifun2=15061,t2=0
fopt=-88.334068
20.970308,9.272722,9.084186,5.446885,5.225899,1.000000,0.000000,
seed[1]=0*, s*,f=-88.360970,fm=-88.274643,iter=688,ifun=15912,t1=0
t*, f= -88.360970,iter2=688 ifun2=15912,t2=0
fopt=-88.360970

21.514578,9.515970,8.769965,5.103930,5.095558,1.000000,0.000000,
seed[2]=0*, s*,f=-88.360855,fm=-88.272774,iter=588,ifun=14737,t1=1
t*, f= -88.360855,iter2=588 ifun2=14737,t2=1
fopt=-88.360855

48
21.570715,9.461304,8.736217,5.097508,5.134254,1.000000,0.000000,
seed[3]=0*, s*,f=-88.359039,fm=-88.270882,iter=691,ifun=17550,t1=0
t*, f= -88.359039,iter2=691 ifun2=17550,t2=0
fopt=-88.359039
21.375309,9.651163,8.772411,5.121580,5.079536,1.000000,0.000000,
seed[4]=0*, s*,f=-88.360451,fm=-88.273888,iter=691,ifun=16477,t1=0
t*, f= -88.360451,iter2=691 ifun2=16477,t2=0
fopt=-88.360451
21.518408,9.449259,8.761295,5.180042,5.090996,1.000000,0.000000,
***t3=0/1***
***b1=547,b2=2840,***
***a1=547,a2=2840,***

3. TÍCH HỢP RST2ANU VỚI MATLAB
Trong Matlab không có lệnh nhảy vô điều kiện goto. Để xử lí vấn đề này cần lập
trình theo từng khối tuần tự, kết hợp với cách sử dụng các lời gọi hàm thông qua các file
chương trình, khối lệnh khác nhau.
Chương trình RST2ANU gồm nhiều file, mỗi file có thể là một chương trình
con, cũng có thể là một khối lệnh. Chương trình hoàn chỉnh được chứa trong thư mục
RST2ANU, file CRS là file chính và cũng là lệnh gọi chương trình từ
Matlab.
Nhập / lưu bài toán và các dữ kiện
Chạy chương trình bằng cách dùng lệnh crs từ dòng lệnh của Matlab. Khi chạy
sẽ thấy xuất hiện:

1. Enter the problem.
2. Load problem from file.
3. Exit.
Your choice:
Nhập dữ liệu cho bài toán có thể nhập từ file dữ liệu có sẵn (chọn 2), hoặc có thể
nhập lần lượt các tham số đầu vào (chọn 1), nếu chọn 3 là thoát khỏi chương trình.
3.1. Nhập từ bàn phím
Ví dụ. Xét bài toán tối ưu phi tuyến toàn cục hỗn hợp nguyên
z = x
1
0,6
+ x
2
0,6
+ x
3
0,4
+ 2x
4

+ 5x
5
− 4x
3


x
6
,
→ Min

với các ràng buộc:
x
2
− 3x
1
− 3x
4
= 0; x
3
− 2x
2
− 2x
5
= 0;
4x
4
– x
6
= 0; x
1
+ 2x
4
≤ 4;
x
2
+ x
5
≤ 4; x
3
+ x

6
≤ 6;
x
1
≤ 3; x
2
≤ 4; x
3
≤ 4; x
4
≤ 1; x
5
≤ 2; x
6
≤ 6;
x
1
, x
2
, x
3
, x
4
, x
5
, x
6
≥ 0; x
4
, x

5
, x
6
là các biến nguyên.
Your choice: 1

49
Sau đó lần lượt xuất hiện các dòng nhắc nhập dữ liệu đầu vào, ta lần lượt nhập
như sau:
+++++ THE PROBLEM +++++
Number of variables (N):6
Array to describe integer variables:[0 0 0 1 1 1]
Goal function f(x)=(X(1)^0.6)+(X(2)^0.6)+(X(3)^0.4)+2*X(4)+5*X(5)-4*X(3)-
X(6)
Feasible conditions: (Leave blank for none)
1. X(1)=(X(2)-3*X(4))/3
2. X(3)=2*(X(2)+X(5))
3. X(6)=4*X(4)
4. X(2)-3*X(1)-3*X(4)==0
5. X(3)-2*X(2)-2*X(5)==0
6. 4*X(4)-X(6)==0
7. X(1)+2*X(4)<=4
8. X(2)+X(5)<=4
9. X(3)+X(6)<=6
10.
Number of feasible conditions entered: 9
Array to describe min values of X: [0 0 0 0 0 0]
Array to describe max values of X: [3 4 4 1 2 6]
+++++ CONDITIONS FOR ALGORITHM +++++
Limit Random Trying to find one feasible solution to (1000): 1000

Number of solutions in array A (20): 30
Limit Number of Interactive to(1000): 1000
Limit Number of Consecutive searches to (500): 200
Limit Number of Improve Failures to (500): 200
Epsilon 1 (1e-6): 1e-006
Epsilon 2(1e-1): 0.1
Beta (1): 1
Enter file name to save this problem (*.mat, leave blank for unsave):demo_01.mat
Kết quả nhận được như sau:
===== Here is the result =====
Stop with number of failure on improve goal value exceed.
X* = 0.6667 2.0000 4.0000 0 0 0
f(X*) = -11.9591 ± 1.1959e-005

50
Total time:
6.875 second(s)
Source: demo_01.mat
Results saved to res.txt
End.
3.2. Nhập từ tệp
Bài toán xác định cơ cấu đầu tư
1. Enter the problem.
2. Load problem from file.
3. Exit
Your choice:2
Enter file name (*.mat):p01_50.mat
The problem is:
MIN f(X)=-
19.3753*X(1)^0.236*X(2)^0.104*X(3)^0.096*X(4)^0.056*X(5)^0.056*exp(0.168*X(6

))*exp(0.066*X(7))
1. X(5)=50-(X(1)+X(2)+X(3)+X(4));
2. X(6)+X(7)==1
3. X(1)+X(2)+X(3)+X(4)+X(5)==50
0 <= X(1) <= 50 real
0 <= X(2) <= 50 real
0 <= X(3) <= 50 real
0 <= X(4) <= 50 real
0 <= X(5) <= 50 real
0 <= X(6) <= 1 integer
0 <= X(7) <= 1 integer
Epsilon approximately: 0.0001%
Searching. Be patient
Searching completed.
===== Here is the result =====
Stop with epsilon approximately.
X* =
Columns 1 through 6
21.0902 9.4856 9.2223 5.0966 5.1052 1.0000
Column 7
0

51
f(X*)= -88.3465 ± 8.8346e-005
Total time:
5.217 second(s)
Source: p01_50.mat
Results saved to res.txt
End.
Chú ý:

– Để xoá màn hình dùng lệnh: clc

Để đọc tệp *.mat dùng lệnh: open(‘*.mat)

×