TRUONG BAI HOC BACH KHOA HA NOI
NAM XAY DUNG VA PHATTRIEN
0k
.
KHOA CƠ KHÍ
NGUYÊN NHẬT LỆ - PHAN MẠNH DẦN:
TỐI ƯU HÚA
ỨNG DỤNG
BANG MATLAB - MAPLE
TỐI UU HÓA TĨNH và DIEU KHIEN TOI UU
THU’ VIEN
AS HOC NMA TRANG
a
519.6
Ng 527 L
as
TRƯỜNG DAI HOC BACH KHOA HA NOI
Bách K!9AÌ - 50 NĂM XÂY DỰNG VA PHAT TRIEN
1956
- 2006
KHOA CƠ KHÍ
NGUYỄN NHẬT LỆ, PHAN MẠNH DẦN
GIẢI BÀI TOÁN
TOI UU HOA UNG DUNG
BANG MATLAB, MAPLE
Tối ưu hoá tĩnh và Điều khiển tối ưu
“hài
|
gh 022650
NHÀ XUẤT BẢN KHOA HỌC VÀ KỸ THUẬT
HÀ NỘI
LOI NOI DAU
Quyển sách này cùng uới quyển Tối ưu hoá ứng dụng của Nguyễn Nhật Lệ tạo
thành một bộ sách dùng cho sinh in đại học tà cao học các ngành kỹ thuật. Bộ sách nay
cũng có thể làm tài liệu tham khảo cho sinh vién các ngành khác hoặc các bạn đọc có quan
tâm đến các bài tốn Tối tru hoá ứng dụng.
Phần I của quyển sách đề cập đến một số bài toán cơ bản của Tối wu hod tĩnh. Phần
1I là tề một số bài toán cơ bản của Điều khiển tối ưu. Phần Phụ lục giới thiệu hai phần mềm
MATLAB, Maple tới những hàm được sử dung trong quyển sách. Trong phần I vt Il, các
bài toán cơ bản của Tối ưu hoá ứng dụng được phân loại, phát biểu tổng quát. Các thi du
không phức tạp được giải cụ thể bằng MATLAB tà Maple, hai phần mềm thông dụng trong
khoa họcuà kỹ thuật. Cuối mỗi chương có một số bài tap dé van dung.
Khi gặp bài tốn chun ngành phức tạp, bạn đọc có thể đưa ề các bài toán cơ bản
tà giải lrên máu tính bằng phương pháp tương tự như các thí dụ. Nếu bạn đọc chỉ quan
tâm đến các loại bài tốn phương pháp giải trên máu tính thì có thể chỉ dùng quyển sách
này.
Chúng tôi chân thành cảm ơn các đồng nghiệp đã góp nhiều ý kiến trong quá trình
biên soạn, đặc biệt PGS. TS. Đỉnh Văn Phong ở Bộ môn Cơ học ứng dụng, Đại học Bách
khoa Hà Nội đã đọc bản thảo va góp ý cho các tác giả.
Chúng tôi mong nhận được những nhận xét, phê bình của các đồng nghiệp tà bạn
đọc để quyển sách được hoàn thiện hơn trong những lần xuất bản sau. Các nhận xét xin gửi
vé Nha Xudt bản Khoa học tà Kỹ thuật hoặc Bộ môn Cơ học ứng dụng, Khoa Cơ khí,
Trường Đại học Bách khoa Hà Nội, Email: hoặc điện thoại:
04 868 0469.
Các tác giả
MUC LUC
LỜI NÓI ĐẦU
MỤC LỤC
KÝ HIỆU
CHƯƠNG 1: QUY HOẠCH TUYẾN TÍNH
BÀI TỐN
1. Dạng tổng qt
2. Dạng chính tắc (canonical)
3. Dạng chuẩn (standard))
4. Dạng đối ngẫu (dual) của bài tốn chuẩn.
Thí dụ 1.1. Đưa bài tốn max về bài tốn min
Thí dụ 1.2. Lập và giải bài tốn đối ngẫu
Thí dụ 1.3. Đưa bài tốn về dạng chuẩn và giải
Thí dụ 1.4.
Đưa bài tốn về đạng chính tắc và giải
Thí dụ 1.5. Giải bài tốn quy hoạch tuyến tính tng qt
Thí du 1.6. Giải
bài tốn quy hoạch tuyến tính bằng MAPLE.
Thí dụ 1.7. Vẽ miền rằng buộc và các đường mức.
BÀI TẬP
CHƯƠNG 2: QUY HOẠCH LỎI VÀ QUY HOẠCH TOÀN PHƯƠNG
1.QUY HOẠCH LỎI
Thí dụ 2.1. Hàm lỗi và tập lồi
Thí dụ 2.2. Định lý Kuhn-Tucker
1I.QUY HOẠCH TOÀN PHƯƠNG
Thi du 2.3. Quy hoạch tồn phương
Thí dụ 2.4. Vẽ miễn ràng buộc và các đường mức
BÀI TẬP.
CHƯƠNG 8: QUY HOẠCH PHI TUYẾN
BÀI TỐN
KHƠNG BỊ RÀNG BUỘC.
1
13
13
13
13
13
1
14
15
16
17
19
20
21
26
2%
BRR
PHAN I: TOI UU HOA TĨNH
30
32
32
Thí dụ 3.1. Xác định loại điểm dừng
Thí dụ 3.2. Tìm min của hàm gián đoạn
Thí dụ 3.3. Tìm min của hàm phi tuyến hai biến
Thí dụ 3.4. Tìm min hàm Rosenbrock
Thi dy 3.5. Tim min va vẽ hàm phi tuyến hai biến.
Thí dụ 3.6. Giải thí dụ 3.5 bằng Maple
BÀI TẬP
CHƯƠNG 4: QUY HOẠCH PHI TUYẾN BỊ RÀNG BUỘC
1. BÀI TỐN MỘT MỤC TIÊU
Thí dụ 4.1. Ràng buộc bất đẳng thức.
Thí dụ 4.2. Ràng buộc bắt đẳng thức và đẳng thức.
Thí dụ 4.3. Nhiều ràng buộc dạng bắt đẳng thức
Thí dụ 4.4. Quy hoạch phi tuyến có rằng buộc dùng gradient
11. BÀI TOÁN MINIMAX
Thi dy 4.5. Nhiều hàm mục tiêu.
Thi dy 4.6. Giải bài toán quy hoạch phi tuyến bằng Maple
BÀI TẬP
CHƯƠNG 5: QUY HOẠCH THỰC NGHIỆM
1. BÀI TOÁN BÌNH PHƯƠNG NHỎ NHẮT TUYẾN TÍNH
Thí dụ 5.1. Ràng buộc tuyến tính, sai số có dạng tổng bình phương,
II. XẮP XỈ ĐƯỜNG CONG BẰNG ĐA THỨC
Thí dụ 5.2. Xắp xỉ đa thức y(x)
1. xAP xi DUONG CONG THEO HAM SO CHON TRƯỚC
Thi du 5.3. Xắp xỉ theo hàm chọn trước.
Thí dụ 5.4. Tìm biểu thức của dao động tắt dần
Thí dụ 5.4. Giải bài toán quy hoạch thực nghiệm bằng Maple
BÀI TẬP
PHAN II: ĐIỀU KHIỂN TỐI ƯU
CHƯƠNG 6: ĐIỀU KHIỂN TỐI ƯU HỆ MỞ
BÀI TỐN
Thí dụ 6.1. Điểm cuối cố định
Thí dụ 6.2. Điểm cuối cố định, tối ưu về năng lượng
Thí dụ 6.3. Điều khiển vận tốc chất điểm.
Thí dụ 6.4. Điểm cuối không cố định, điều kiện transversality
32
3
36
36
38
38
39
41
4
41
4
4
44
46
48
4
53
53
53
54
54
55
55
57
59
61
65
65
66
70
76
Thí dụ 6.5. Điểm cuối cho trong phiém hàm mục tiêu, phải xác định
giá trị biên của biến liên hợp.
79
chưa xác định
Thí dụ 6.7. Khơng dùng được phép tính biến phân
82
85
bị giới hạn
Thí dụ 6.9. Lập trình giải bài tốn điều khiển tối wu.
Phương pháp biến phân
89
Thí dụ 6.6. Mục tiêu là giá trị cuối của biến trạng thái, điểm cuối
Thí dụ 6.8. Xác định miền điều khiển cho phép khi điều khiển
GIẢI BÀI TOÁN THEO PHƯƠNG PHÁP LẶP ĐIỀU KHIỂN
Thí dụ 6.10. Giải bài tốn điều khiển tối ưu theo phương pháp.
lặp điều khiển
GIAI NGUQC THEO THỜI GIAN HỆ PHƯƠNG TRÌNH VI PHÂN
Thí dụ 6.11. Giải xi và giải ngược phương trình vi phân
BÀI TẬP.
CHUONG 7: DIEU KHIỂN TỐI ƯU VỀ THỜI GIAN
BÀI TỐN
Thí dụ 7.1. Tối ưu về thời gian đối với hệ mở, tìm u(), điều kiện
transversality
Thi du 7.2. Tối ưu về thời gian đối với hệ có phản hỏi. Tìm u(x)
theo phương pháp giải tích
Thí dụ 7.3. Điều khiển chuyển động của chất điểm hoặc vật tịnh tiến.
Thí dụ 7.4. Cho trước các thời điểm chuyển mạch.
BÀI TẬP
CHUONG 8: DIEU KHIỂN HỆ TUYẾN TÍNH CĨ PHAN HOI.
TIEU CHUAN TOI UU CO DANG TOAN PHUONG
BÀI TOÁN
1. THỜI GIAN ĐIỀU KHIỂN VƠ HẠN
Thí dụ 8.1. Điều khiển chuyển động con lắc đơn
Thí
dụ 8.2. Điều khiển chuyển động con lắc kép
II. THỜI GIAN ĐIỀU KHIỂN HỮU HẠN
Thí dụ 8.3. Điều khiển chuyển động chất điểm.
BÀI TẬP
PHU LUC: SU DUNG CAC PHAN MEM MATLAB VA MAPLE
GIẢI CÁC BÀI TOÁN TỐI ƯU HÓA
9
96
98
105
106
108
11
11
1H
112
118
119
120
122
122
123
123
125
129
129
131
133
A. Phan mém MATLAB
1. Giới thiệu
Il, Céc ham giai bài tốn tối ưu
Các bài tốn tìm cực tiểu
Giải phương trình
Bài tốn bình phuong bé nhit (x4p xi dng cong)
1. Ham fminbnd
2. Ham fminunc
3, Ham fminsearch
4. Hàm linprog.
5, Ham quadprog
6. Hàm fmincon
7. Ham fgoalattain
8, Hàm fminimax
9, Ham lsqcurvefit
10. Ham Isqlin
11. Hàm lsqnonlin
12, Ham Isqnonneg
B. Phan mềm Maple
1. Giới thiệu
IL. Cac hàm giải bài toán tối ưu
1. Ham dual
2, Ham convert (equality)
3, Ham extrema
4. Hàm leastsqrs
5, Ham maximize
6, Ham minimize
7. Hàm standardize
TÀI LIỆU THAM KHẢO.
BANG CHi MUC
134
134
135
135
136
136
136
137
139
139
140
142
13
144
145
146
148
149
151
151
152
152
152
153
153
154
154
155
156
157
KY HIEU
Tài liệu này sử dụng những ký hiệu theo quy ước sau:
x- chữ nhỏ in đậm được dùng để ký hiệu véctơ đại số (véctơ cột).
A- chit hoa in đậm được dùng để ký hiệu ma trận
AT- chuyển vị của ma trận A, cT- chuyển vị của véctơ c
<a,b >- tích vơ hướng hai véctơ a và b
Vf(x) - gradient của hàm f(x)
Ngoài ra, trong một số phần, để thuận lợi cho việc tính tốn bằng phần mềm
MATLAB, một số ký
hiệu sau cũng được sử dụng:
A,A.„- lần lượt là các ma trận của ràng buộc bắt đẳng thức và đẳng thức.
bự b,„ - lan lượt là các véctơ về phải của ràng buộc bắt đẳng thức và đẳng thức.
Ib, ub- lin lugt la các véctơ giới hạn dưới và giới hạn trên.
PHAN: TOI UU HỐ TĨNH
¢ Quy hoach tuyến tính
e Quy hoạch phi tuyển
se Quy hoạch thực nghiệm
1
eth
kymợr
wel
TAD
thet eA)
«
CHƯƠNG 1: QUY HOẠCH TUYẾN TÍNH
(Linear Programming)
BAI TOAN
1. Dang téng quat
Ham muc tiéu c6 dang tuyén tinh:
f=<c€,x>=c'x
Rang buéc có dang tuyén tinh:
Axsb;
Ag
X=be
Ibsxsub
Tim nghiém téi uu x" sao cho mục tiêu và các ràng buộc được thoả man.
Trong đó:
x- véctơ các biến trạng thái.
e- véctơ các hệ số của hàm mục.
€T- véctơ e chuyển vị.
bự b„„ - véctơ về phải của rằng buộc bắt đẳng thức, đẳng thức (equality)
Ib, ub - véctơ giới hạn dưới (Iower bound) „ giới han trén (upper bound)
A, Aqq- ma trận của rằng buộc bắt đẳng thức, đẳng thức.
2. Dạng chính tắc (canonical)
Hàm mục tiêu: Í = cT.x
=> min.
Các ràng buộc được đưa về dạng phương trình đại s6: Ax=b; x20.
3. Dạng chuẩn (standard)
Ham muc ti
Các ràng buộc
: f=e".x—>min
được đưa vẻ dạng bắt phương trình đại số: A.x<b; x>0.
4. Dạng đỗi ngẫu (dual) của bài toán chuẩn
Hàm mục tiêu: V = b" y=<b,y>>
max.
13
Các ràng buộc được đưa về dạng bắt phương trình đại sé: AT y2e; y20
Quan hệ giữa hai bài toán: Giá trị tối ưu của f cũng là giá trị tối ưu của V, nghĩa
làc”x =bŸ.y`.
Chú ú:
* Khi có bài tốn tìm max của hàm mục tiêu, ta đặt:
f, =f => max(f) =-min(f,).
* Khic6 rang bude A.x2b, ta dua vé dang Ax
Thí dụ 1.1. Đưa bài tốn max uễ bài toán min
feo
Cho hàm mục tiêu: f=x, +x; — max. Rằng buộc A.x < b;0
Hãy tìm giá trị của x và f.
Giải
Ta
Bài toán được giải bằng MATLAB như sau:
8 Chuyen bai toan max => bai toan min
max(£) = - min(-£)
8 Objective function max £ = xl+x2;
`
; 4x1+3x2<=!
$ Simplex Method:Xae đỉnh min(-f)
e = [-1; -11;
a
[3 4; 431;
b= (4; 5];
1b = zeros(2,1); Aeq #[ ]; beq = [ ]; ub = [ ];
1b, ub)
[x,£va1,exitflag,output,lambda] = linprog(c,A,b,Aeq,beq
,
toi uu:
$ Xac dinh max(f)va nghiem
max £ = -fval
xopt = x
SAVE: Linprog_standard
& Nhan xet:
& * exitflag >0: function converged to a solution x
% * lambda >0: active constraint
Kếtquả tính
>> Optimization terminated succ
1.1429
0.1429
fval =
~1.2857
14
sfully.
exitflag =
1
output
iterations:
cgiterations:
algorithm:
lambda =
ineqlin: [2x1
eqlin: [0x1
upper: [2x1
lower: [2x1
max_f =
1.2857
x_opt =
1.1429
0.1429
9
0
‘large-scale: interior point!
double}
double]
double]
double]
Thí dụ 1.2. Lập va giải bài tốn đỗi ngẫu.
Cho ham muc tiéu: f =x, +x, > max.
Các
Hãy
Giải
Mục
Ràng
Hay
ràng buộc: 3x, +4x; <4; 4x, +3x; <5
xây dựng bài toán đối ngẫu (dual problem) va giải bài toán đối ngẫu.
tiêu: V = 4y, +5y;
buộc:
3y,+4y;>1;
4y,+3y;>1
~3y,~4y;<-l; =4y,~3y;<~1
Tìm min của V bằng MATLAB như sau:
4 MATLAB.Standard Problei
®% Objective function max £ =x1+x2
& Constraints:
3x1+4x2<=4; 4x1+3x2<=5;
& Dual Problem:
4 Objective function: min V = 4y1+5y2
* Constraints: -3yl-4y2 <=-1; -4y1-3y2
* Simplex Method: Dual Probl
b
(4 ; 5];
A = [~3 -4; -4 -3];
e=[-1; -1];
1b = zeros(2,1); Aeq = [ ];¡ beq = [ ]; ub = (1;
ly, Wal ,exitflag,output,
lambda] = linprog(b,A,c,Aeq,beq,
1b, ub)
$ SAVE:Linprog Dual
$ Nhan xet:
15
®% * exitflag >0: function converged to a solution y
$ * lambda >0: active constraint
>> Optimization terminated successfully.
Kết quả tính
v
0.1429
0.1429
Wal =
1.2857
exitflag =
1
output =
iterations: 10
egiterationa:
0
algorithm:
lambda =
ảneglin: [2x1
eqlin: [0x1
upper: [2x1
lower: [2x1
‘large-scale: interior point!
double]
double]
double]
double]
Thi dụ 1.3. Đưa bài toán uễ dạng chuẩn uà giải
Cho hàm mục tiêu và các ràng buộc:
£=30x, + 45x, > max
3x, -x,20
2,5x, +2x, 2 2400
1000
< x, < 4000
Giải
Để giải bài toán min, ta lập hàm mục tiêu í
Axsb:
~f=~30x, ~45x; > min
3x, +x, $0
=2,5x, -2x, $-2400
x, $6000
-x, $1000
x; $ 4000
=x, $1000
16
=-f và đưa các ràng buộc về dạng
Bài toán được giải bằng MATLAB như sau:
$ Objective function: Max f = 30x1 +45x2
$ Constraints:
$ x1<=6000; x2<=4000; 2.5x1+2x2<=2400 ;x1>=1000 ;x2>=1000;
$ 3x1- x2>=0; 2.5x1+2x2 >=10000
% Simplex Method:
Xac dinh Min(-£); Dua ve dang standard Ax<=b.
e =[ ~30; -45];
A=[
1
°
2.5
„+
°
-3
“2.5
HH
b = [ 6000; 4000; 24000; -1000; -1000; 0 ;~10000];
Aeg = [ ]; beq = [ ]; 1b = [ ]; ub = [];
[x, fval,exitflag,output,lambda] = linprog(c,A,b,Aeq,beq,
1b, ub)
& Xac dinh max(f) va nghiem toi uu:
max_f = -fval
x_opt=x
$ SAVE: linprog 3a
$ RUN: linprog 3a
$ Nhan xet:
% * exitflag >0: function converged to a solution x
$ * lambda >0: active constraint
Optimization terminated successfully.
Kết quả tính
max_£ = 3.6000e+005
x_opt =
1.0e+003 *
6.0000
4.0000
Thí dụ 1.4. Đưa bài tốn uễ dạng chính tắc uà giải
Cho hàm mục tiêu và các rằng buộ
£ = 30x, + 45x, > max
x, $6000
x, $4000
2,5x, + 2x, $ 24000
x; 2 1000
x, 21000
Tun D
1
3x, -x, 20
2,5x, +2x; 210000
Hãy đưa bài tốn.về dạng chính. (canonical) và giải
Giải
Đối với các ràng buộc <0, ta thêm các biến bù: x;,x,,x;
Đối với các ràng buộc >0, ta thêm các biến bù: x„,x;,x„,x„ và các biển giả tạo
Xio,Xn,Xia,xịy- Khi đó ta có các rằng bụi
x; +X; = 6000
x; +x, = 4000
2,Bx, +2x; +x; = 24000
Xi TX, +X¡o 1000
X;—X; tXu = 000
3, ~X; —Xs +Xi =Ũ
2,84) +2; ~xs +xịy = 10000
Ham mục tiêu trở thành:
{=30x, +45x; +0 x; +ÚX, +ŨX; +ƯX/ +ÚX; + X; +0;
=Mxu Ms ~Máx =MaG;
trong đó M- là một số rất lớn, thường chọn M là số lớn nhất có trong bài tốn,
trong thí dụ này, ta tìm min của f, = -f và chọn M= 24000.
Bài toán được giải bằng MATLAB như sau:
& Objective function: Max £ = 30x1 +45x2 +0x3+0x4+0x5
$ +0x6+0x7+0x8+0x9-M. x10-M.x11~M. x12-M. x13,
$ Constraints:
% x1+x3=6000; x2+x4=4000; 2.5x1+2x2+x5-x(
4000 ;x1-x6+x10=1000
%_ x2-x7+x11=1000;3x1~x2-x8+x12=0 ;2. 5x1+2x2~
x9+x13=10000 ;xk>=0;k=1,...,13
4 Simplex Method: Tim min(-f).Dua bai toan ve dang canonical
& Reg=beq
© =[ -30; -45; 0; 0; 0; 0; 0; 0; 0; 24000; 24000; 24000; 24000 1;
Aeq =[
1
0 100000
00000
01010000
00000
25 2 001000
00000
1
000
0-1 00 01000
0
1000
0-10 00100
3-1 0000
0-1 00010
2.5 2 0 0 0 0 0 0-10001);
beq = [ 6000; 4000; 24000; 1000; 1000; 0 ;10000];
18
1b = zeros(13,1); A= (Jib = [ Jiub= (1;
(x, fval,exitélag,
output, lambda] = linprog(c,A,b,Aeq,beq,
1b, ub!
% Xac dinh max(f) va nghiem toi uu:
max_f=-fval
x_opt=x
SAVE: linprog_3b
$ Nhan xet:
4 * exitflag >0: function converged to a solution x
4 * lambda >0: active constraint
Kết quả tính
max£ = 3.6000e+005
x_opt =
1.0e+004 *
0.6000.
0.4000.
0.0000.
0.0000.
0.1000
0.5000
0.3000
1.4000
1.3000
0.0000
0.0000
0.0000
0.0000,
Nhận xét: Các biến giả tạo xạ; —> xị; đều có
tối ưu chấp nhận được.
trị bằng khơng . Do đó phương án
Thí dụ 1.5. Giải bài tốn quụ hoạch tuyén tính tổng quát
Cho hàm mục tiêu và các rằng buộc:
=~Âx, +X; =2; => min
2x, +4x,
-x, $10
3x,
“x, =X S—4
X)—X; +X; =2
x¡>0;j=1,2,3
Hãy tìm x, ; j=1,2,3 va giá trị của f.
Giải
Bài toán được giải trực tiếp
bằng MATLAB như sat
% Objective function: min £ = -3x1 + x2 - 2x3
% Constraints: 2x1#4x2-x3<=10; -3x1-x2-x3
4; xI-x2+x3=:
19
a
$ Simplex Method:
e= [-3; 1; -2]
a = 024-1; =:
b = [107 ~4];
Aeq = [ 1 ~1 1];
beq = [2];
3b = zeros(3,1);ub = [ ]; x0 = [ ];
[x,£va1,exit£lag,output,lanbda] =
linprog(c,A,b,Aeq,beq,
1b, ub, x0, optimset ('Display', 'iter'))
@ SAVE: Linprog4
& Xem ket qua tinh o cua so chinh MATLAB
& Nhan xe!
& * exitflag >0: function converged to a solution x
4 * lambda >0: active constraint
>>Optimization terminated successfully.
Kết quả tính
x
0.0100
3.9900
5.9801
fval =
~8.0000.
exitflag =
1
output
iterations: 6
egiterations: 0
algorithm: ‘large-scale: interior point’
[2x1 double}
2.3333
[3x1 double}
[3x1 double}
Thí dụ 1.6. Giải bài tốn quy hoạch tuyên tinh bang MAPLE
Cho hàm mục tiêu và các rằng buộc:
f =30x, +45x; — max
x; $6000
x; <4000
2,5x, +2x $ 24000
1000< x,
1000< x,
0<3x,~x;
10000 <2,5x, +2x,
Tìm giá trị các biến và giá trị tương ứng của hàm mục tiêu.
Giải
Bài toán được giải trực tiếp bằng Maple như sau:
> restart:
> with (Optimization’
># objective function :f=> max
> £:=30*x1+45*x2;
l0 xJ + 45 x2
># Constraints:
> g1:=x1<=6000;
g2 :=x2<=4000; g3: =2. 5*x1+2*x2<=24000
;g4:=-x1<=2g7:=~2..5*x1~2*x2<=~10000;
gl = x1 < 6000
92 = x2 < 4000
2.5 xf + 2.42 < 24000
g4 = -x1 <-1000
gs
số
>#
Tim
x2 < -1000
3x1 +x250
2.5 x1 ~ 2x2 < -10000
max:
Kết quả tinh
> LPSo1ve (£, (g1,g2, g3,g4,g5,
g6, g7,x1>=0 ,x2>=0) ,maximize) ;
{360000., [x7 = 6000.,
x2 = 4000. ] ]
Thí dụ 1.7. Vẽ miễn ràng buộc uà các đường mức
Ham mục tiêu: í=2xị + 5x; —> max.
Các ràng buộc:
2
Br =X) 44x, $24
82 =3x, +x; $21
8; =Xị +xy S9
Giải
x, 20
Bài toán được giải trực tiếp bằng Maple như sau:
> restart:
with (Optimization) :with (plots
> # objective function: f=>max
> ebj:z2*x1+5*x2;
obj := 2 xI + 5 x2
> # constraints:
> conatr:=[x1+4*x2<=24,3*x1+x2<=21,x1+x2<=9,x1>=0
,x2>=0] ;
constr := [xÌ + 4 x2 <24, 3 xI + x2 <21, xI + x2 <9, 0< xI,0
> # Ve mien rang buoc & duong muc:
10, optionsexcluded=(color=
> pl:sinequal (constr ,x1=0. .10,x:
white), optionsfeasible=(color=yellow)) :
p2 'contourplot (ob3 ,x1=0..10,x2: +10):
:=pointp1ot (( [0,101) ,symbelsiz‹
> # Tim max
3,eolor=green) :display (p1,p2,P3) ;
Kết quả tính
> LPSo1ve (obi,constr,maximize) ;
(33., [x/ = 4., x2 = 5.]]
># Save:LPSolve_6
BAI TAP
1.1 Mục tigu: f = 500x, +300x; +200x; +280x, => max
Các rằng buộc:
10x, +Šx; +4xy+2x,
<2000
8x, +ðx; +1,3x; +8,6x, < 1.800)
5x; +8x, +2,5x; +10x, $2.000
X) 20; j= Dew
Giải bài toán trên theo hai cách:
a) Trực tiếp (để nguyên các ràng buộc).
b) Đưa về dạng đối ngẫu (dual).
135,0, 110,105)";
f =118.900
1000y, + 1800y, + 2000y, => min
y,=37,4 y,=4,5 yy=18 V`=118900
1.2 Muc tiéu: f= 30x, + 45x; — max
Các ràng buộc:
1000
1.000
10.000 < 2, 5x, +2x, $24,000
3x) ~x; >0
Giải bài toán trên theo hai cách:
a) Trực tiếp.
Trả
b) Dua vé dang chinh tac (canonical).
a) x’ =(6.000, 4.000)";
f°
=360000
b) x, =6000 x, =4000 x,=1000 xj. =5000
xụ=3000 xạ =14000 xạ =13000 f =360000
1⁄3 Mục tiéu: f =x, + 3x, +2x; +3x, +5x5 > min
Các ràng buộc:
Xị #2X; —X; +X, —x; =~3
—X; ~X; +2, + 4x, > 18.
~x; =3; +2x, S10,
x¡>0;j=1,...5
Giải bài toán trên theo hai cách:
a) Đưa về dạng chính tắc.
b) Đưa về đạng đối ngẫu.
Trả lời:
a)
b)
x’ =(0,0,0,1,4,0,2)'; f =23
y =(1/3,4/3,0); V`=23
1.4 Muc tiéu: f = -2x, +3x, ~4x +3x, +X5 => min
Các ràng buộc:
~Xị +X;~2X;—Xg >~6
Xị +3X; +X) 2X, +2x, S21
2x, =X, +3x; +x, SỐ,
xị>0;
5
Giải bài toán trên theo hai cách:
a) Đưa về đạng chính tắc.
b) Đưa về dạng đối ngẫu.
Trả lời:
a)
b)
x`=(0,0,2,0,0,2,19)T;
y =(0,0,-4/3)'; VÌ=-8
-8
1⁄8 Mục tiêu: f=2xị ~3x, +X; +2x, — min
Các ràng buộc:
Xi#X;~3X, +2, =
2X; ~3K, +X, ty
3x, =X + 2x3 —X5
x20; j=
Tra : Khơng có nghiệm tối ưu.
1.6 Một nhà máy lọc dầu cần phân bồ sản phẩm sao cho chỉ phí là nhỏ nhất.
Mục tiêu là: f = 16,50x, +5,25x; + 5,25x, + 3,00x,; > min.
24
Các ràng buộc:
a) Nguyên liệu cho ca nha may: x, <750.000.
b)_ Cân bằng khối lượng các sản phẩm:
0,178x, ~x; —x
0/0đ8x, —x, —xX; —x,
0/069, —X; —X;
— Xạ
0,184X) — Xịo —Xịp —Xiz =
0, 241x, =xụy =xụ =Ũ
0, 266%; —Xi5 —Xig
c) Nhu cau timg loai san phim:
1. x, +0,865x, +0,85x, +0,373x,, = 124.400
HH. x5 +%7 + Xp = 18.800
TL, xg +Xy1 +X 5 = 90.700
IV, x,+x; +xị;y +0,331%i;
+Xụy +xịs = 291.600
đ)_ Yêu cầu chất lượng từng loại sản phẩm:
I. 15x, -6,75x3
-8,5x, -5,97x,3 $0
I, 10x, +10x,; -90x,, $0
IV. ~28,7x,~25,7x¿ ~16,Ixị;y=4,4x;y =5, 1x, +11,9Xi, $0
Trả lời:
,5212e+5;
,5938.e +6
xị
,4845.e+5
xị; =0,1512e+5
2
CHUONG 2: QUY HOACH LOI VA
QUY HOACH TOAN PHUONG
(Convex Programming - Quadratic Programming)
Các bài toán quy hoạch lỗi (Convex Programming) và quy hoạch tồn phương,
(Quadratic Programming) có nghiệm tìm được la tdi uu toan cuc (global optimum).
I. QUY HOACH LOI
Tim x’ sao cho ham muc tiéu: f(x)» min
Các ràng buộc: xeC; g,(x)<0; i=1,2,..m
trong đó: C - tập lỗi;
f(x) , g(x) ~ các hàm lỗi trên C.
Một số phương pháp giải:
1) Dùng định lý Kuhn-Tucker. 2) Dùng gradient.
Thi dy 2.1. Hàm lỗi vd tap Idi
a) Cho h(x) =3`h¡g,(x)
; h, >0
Chứng minh: g, (x) ; i=1,2,....m là các hàm lỗi trên tập lỗi C thì h(x) cũng là hàm lỗi
trên C,
b) Cho g, (x) là các hàm lỗi và miễn D bị giới hạn bởi g,(x)
< bụ; ¡ =1,2,....m
Chứng minh: D là miễn lỗi.
Giải
a) Lay x,,x, eC:
h[Ax; +(1~2)x;
hịg,[Ax; +(1~A)x,]
<Š`hJDg/(6;)+(1~3)80x)]
<®ŠŸh
ot g.)+0-1)Š`đhgG)]
=Ah(x,)+(1~A)h(x,).
b) Lay x,,x,€C:
26
81(%;) Sbys1=1,2,..,m
(2) $b,;1=1,2,...,m
Khi
0
BilAxa + (1-2)x,]
SAB (X2) + (1-2) 8,2)
SAb, +(1-A)b, =b,
Vậy đoạn Ax; +(1—2)x; thuộc vào tập các điểm cho phép của tập lỗi.
Thí dụ 2.2. Định lọ Kuhn-Tucker
Hàm mục tiêu: f(x) = 3xj + 4x,X; + 5X)
Các rằng buộc: xị >0; x; >0; xị +x; >4
Dùng định lý Kuhn -Tucker, tim x’ sao cho f(x) > min. Vé mién cho phép va cdc
đường mức.
Giải
* Theo định lý Kuhn- Tucker, điều kiện cần để f(x) > min khi g,(x) < b,:
8(x)
i=1,2,.„m
^Ig,(&)~b,]=0
2,20
(Đối với f(x) max thi 4, <0)
* Đưa các ràng buộc vẻ dạng g,(x) < b,:
Bị
=—Xị SŨ; 8ạ =—X; SÚ; 8ạ =—Xị =X; S~—4
* Các điều kiệt
6x +4x; ~Ài 2s =
4xị +10x;
=À; =À; =0
~x, $0; -x, $0;-x, -x, $-4
AjX, =0;22x; =0; Aa(4~xị ~x;)=0)
Xu2y,A; >0
Các điều kiện trên được thoả mãn khi:
xy =3;x, =1; Ay =0;A, =Ú;
À =22
Các đường mức của f(x) là các ellip:
3x] + 4x,x, +5x3 =c=const
7