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

Giải bài toán tối ưu hóa ứng dụng bằng matlab maple tối ưu hóa tĩnh và điều khiển tối ưu phần 1

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 (3.22 MB, 60 trang )

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)";



=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


×