You are on page 1of 27

MỤC LỤC

PHẦN 1: BÀI TẬP............................................................................................................1

CHƯƠNG 1: NHẬP MÔN CƠ SỞ TOÁN HỌC...........................................................1

CHƯƠNG 2: BÀI TOÁN TỐI ƯU HÓA........................................................................2

CHƯƠNG 3: BÀI TOÁN TỐI ƯU HÓA KHÔNG RÀNG BUỘC................................3

CHƯƠNG 4: QUY HOẠCH TUYẾN TÍNH (LINEAR PROGRAMMING)..............12

PHẦN 2: BÁO CÁO........................................................................................................17

1. Giới thiệu bài toán Quy hoạch tuyến tính................................................................17

2. Phương pháp giải.....................................................................................................17

2.1. Phương pháp đồ thị (Interior – Point Method).....................................................17

2.2. Phương pháp đơn hình (Simplex Method)...........................................................18

3. Ví dụ minh họa........................................................................................................21

3.1. Phương pháp đồ thị..............................................................................................21

3.1.1. Ví dụ 1........................................................................................................21
3.1.2. Ví dụ 2........................................................................................................22
3.2. Phương pháp đơn hình.........................................................................................24

3.2.1. Ví dụ 1........................................................................................................24
3.2.2. Ví dụ 2........................................................................................................25
Toán Nâng Cao GVHD: TS Trần Thị Minh Dung

PHẦN 1: BÀI TẬP


CHƯƠNG 1: NHẬP MÔN CƠ SỞ TOÁN HỌC
Bài 1.1: Is the quadratic form

Positive definite, positive semidefinite, negative definite, negative semidefinite, or


indefinite?
Ma trận chưa đối xứng:

Suy ra ma trận không xác định (indefinite)

Bài 1.2: Let


Show that although all leading principal minors of A are nonnegative, A is not positive
semidefinite.

 Ma trận không phải là xác định nửa dương (not positive semidefinite)

1
Toán Nâng Cao GVHD: TS Trần Thị Minh Dung
 Ma trận không xác định (indefinite)
CHƯƠNG 2: BÀI TOÁN TỐI ƯU HÓA
Bài 2.1: Xác định giá trị lớn nhất và giá trị nhỏ nhất của hàm số sau:
5 4 3
F ( x )=12 x −45 x + 40 x +5

Sử dụng phương pháp truyền thống


f ' ( x )=60 x 4 −180 x 3 +120 x 2

f ' ( x )=0  60 x 4−180 x 3 +120 x 2=0

 x 4 −3 x 3 +2 x 2=0

[
2
x =0
 2
x −3 x +2=0

[
x=0
 x=1
x=2

f ( 0 )=5

f ( 1 ) =12

f ( 2 )=−11

Vậy giá trị lớn nhất cùa f(x) là 12, giá trị nhỏ nhất f(x) là -11

Bài 2.2: Tìm ?

- Tìm đạo hàm của

- Giải suy ra các nghiệm cần tìm


- Tìm nghiệm x* sao cho f(x*) là nhỏ nhất

2
Toán Nâng Cao GVHD: TS Trần Thị Minh Dung

CHƯƠNG 3: BÀI TOÁN TỐI ƯU HÓA KHÔNG RÀNG BUỘC

Bài 3.1: Tìm điểm hội tụ của hàm với và


Pseudo code
1. Khai báo công thức hàm mục tiêu f(x)

2. Khai báo giới hạn: a = - 0.6, b = -0.75 và sai số cho phép eps = 1E-4

3. Tính điểm giữa


4. : c không phải nghiệm phương trình đã cho
5. : nghiệm không nằm trong [a, b]
6. : nghiệm nằm trong [a, b]
Lặp lại cho đến khi tìm được giá trị hội tụ của f(x)
Matlab

Kết quả

Bài 3.2: Tìm giá trị nhỏ nhất của hàm mục tiêu sau

Với giá trị ban đầu

3
Toán Nâng Cao GVHD: TS Trần Thị Minh Dung
Pseudo code
Input
1. Chọn
2. Set k = 0
3. Khai báo giá trị ban đầu
4. Khai báo hàm mục tiêu

5. Hàm gradient

6. Khai báo mảng A lưu các giá trị thu được


7. Điều kiện: While k < 100
8. Lưu giá trị vào mảng A
9. Tinh gradient

10. Cập nhật giá trị:


11. Tăng giá trị k lên 1 đơn vị: k = k + 1
Output
12. Trả về giá trị min của f(x): Min(A(:,3))
Matlab
Hàm cost

Hàm gradient

Hàm chính

4
Toán Nâng Cao GVHD: TS Trần Thị Minh Dung

Kết quả

Đồ thị

5
Toán Nâng Cao GVHD: TS Trần Thị Minh Dung

Bài 3.3. Tìm giá trị nhỏ nhất của hàm:


Pseudo code
Input
1. Chọn
2. Set k = 0
3. Khai báo giá trị ban đầu
4. Khai báo hàm mục tiêu

5. Hàm gradient

6. Khai báo mảng A lưu các giá trị thu được


7. Điều kiện: While k < 100
8. Lưu giá trị vào mảng A
9. Tính gradient

10. Cập nhật giá trị:


11. Tăng giá trị k lên 1 đơn vị: k = k + 1
Output
12. Trả về giá trị min của f(x): Min(A(:,3))
Matlab
Hàm cost

Hàm gradient

6
Toán Nâng Cao GVHD: TS Trần Thị Minh Dung
Hàm chính

Kết quả

Đồ thị

7
Toán Nâng Cao GVHD: TS Trần Thị Minh Dung

Bài 3.4.

,
Pseudo code
Input
1. Chọn
2. Set k = 0
3. Khai báo giá trị ban đầu
4. Khai báo hàm mục tiêu

5. Hàm gradient

6. Khai báo mảng A lưu các giá trị thu được


7. Điều kiện: While k < 100
8. Lưu giá trị vào mảng A
9. Tính gradient

10. Cập nhật giá trị:


11. Tăng giá trị k lên 1 đơn vị: k = k + 1
Output
12. Trả về giá trị min của f(x): Min(A(:,3))
Matlab
Hàm cost

Hàm gradient

Hàm chính

8
Toán Nâng Cao GVHD: TS Trần Thị Minh Dung

Kết quả

Đồ thị

9
Toán Nâng Cao GVHD: TS Trần Thị Minh Dung

Bài 3.5. Tìm giá trị nhỏ nhất của hàm


Pseudo code
Input
1. Khai báo hàm f(x)

2. Khai báo hàm f’(x)

3. Chọn giá trị ban đầu x0 = 1


4. Số lần lặp tối đa N = 10
5. Sai số cho phép tol = 1E-6
6. Set giá trị ban đầu x(1) = x0
7. Lưu trữ lần lặp cuối cùng nếu đạt được kết quả trước N lần lặp: nfinal =N+ 1
While (n <= N + 1)
8. Tính f(x(n-1))

9. Tính f’(x(n-1))

10.
Nếu , nfinal = n
Thoát vòng lặp
11. Tăng N thêm 1 giá trị
Output: Giá trị fmin
Matlab

10
Toán Nâng Cao GVHD: TS Trần Thị Minh Dung

Kết quả

Đồ thị

11
Toán Nâng Cao GVHD: TS Trần Thị Minh Dung

CHƯƠNG 4: QUY HOẠCH TUYẾN TÍNH (LINEAR PROGRAMMING)

Bài 4.1: Tìm

Subject to
2 2 2 2
L ( x , y , λ )=x + y −2 x−6 y +14−λ∗(x + y −16)
∇ x L=2 x−2−2 x λ=2 x ( 1−λ ) −2

∇ y L=2 y−6−2 y λ=2 y ( 1−λ ) −6


2 2
∇ λ L=−x − y +16

{
1

{ {
x=
∇ x L=0 2 x ( 1−λ ) −2=0 1−λ
Ta có : ∇ y L=0 ⇔ 2 y ( 1−λ )−6=0 ⇔ 3
2 2
y=
∇ λ L=0 −x − y +16=0 1−λ
−x − y 2 +16=0
2

( ) ( )
2 2
1 3
⇒− − +16=0
1−λ 1−λ
⇔ λ=1.79 hoặc λ=0.209

Khi λ=1.79 Khi λ=0.209

{x=−1.27
y=−3.8
⇒f min =55.39 {x=1.27
y=3.8
⇒f min =4.69

Vậy = 4,69 tại x= 1,27 và y= 3,8

Bài 4.2: Tìm

Subject to
L ( x , y , λ )= √ xy− λ(20 x +10 y−200)
y
∇ x L= −20 λ
2 √ xy
x
∇ y L= −10 λ
2 √ xy
∇ λ L=−20 x−10 y +200

12
Toán Nâng Cao GVHD: TS Trần Thị Minh Dung

{
y

{
−20 λ=0

{
∇ x L=0 2 √ xy x=5
Ta có : ∇ y L=0 ⇔ x ⇔ y =10
−10 λ=0
∇ λ L=0 2 √ xy λ=0.035
−20 x−10 y +200=0

Vậy max √ xy= √50tại x=5 và y=10


x, y

Bài 4.3: Tìm

Subject to

2 2 2
L ( x , y , z , λ )= x+ y + z− λ(x + y + z −1)
∇ x L=1−2 λx

∇ y L=1−2 λy

∇ z L=1−2 λz
2 2 2
∇ λ L=−x − y −z +1

{
1
x=

{ {
∇ x L=0 1−2 λx =0 1
y=
∇ y L=0 1−2 λy =0 2λ
Ta có: ⇔ ⇔
∇ z L=0 1−2 λz=0 1
2 2 2 z=
∇ λ L=0 −x − y −z +1=0 2 λ

( ) ( ) ( )
2 2
1 1 1 2
− − − +1=0
2λ 2λ 2λ

( )
2
1
⇒3 + 1=0

⇔ λ=0 , 87 hoặc λ=−0 , 87

Khi λ=0 , 87 Khi λ=−0 , 87


⇒ x= y=z=0.575 ⇒ x= y=z=−0.575 (loại)
⇒ f max =1.725
Vậy max x + y + z=1.725tại x= y =z=0.575
x, y

Bài 4.4:

13
Toán Nâng Cao GVHD: TS Trần Thị Minh Dung
Code Matlab:

Kết quả

14
Toán Nâng Cao GVHD: TS Trần Thị Minh Dung
Bài 4.5: minimize −x 1−x 2
Subject to x 1+ 2 x 2 ≤3
2 x1 + x 2 ≤3

x1 , x2 ≥ 0

Code matlab:

Kết quả
Bài 4.6: It’s required to conver machines from factories A,B,C to warehouse X,Y,Z.
There’re 5 required at X, 4 at Y and 3 at Z. There’re 8 available at A, 5 at B and 3 at C.
The transport cost in $ between the sites is as follows
X Y Z
A 50 60 30
B 60 40 20
C 40 70 30
Dựa vào yêu cầu bài toán, ta tìm được phương trình ràng buộc như sau:
Min 50 x 11 +60 x 12+30 x 13+ 60 x 21 +40 x 22+ 20 x 23 +40 x 31+70 x 32+ 30 x 33
Subject to: x 11 + x 12+ x 13 ≤ 8

x 21+ x 22 + x 23 ≤5

x 31+ x 32+ x33 ≤3

x 11 + x 21+ x 31 ≥ 5

x 12+ x 22 + x 32 ≥ 4

x 13+ x 23 + x 33 ≥ 3

15
Toán Nâng Cao GVHD: TS Trần Thị Minh Dung
xi , j ≥ 0

Code matlab

16
Toán Nâng Cao GVHD: TS Trần Thị Minh Dung
PHẦN 2: BÁO CÁO
1. Giới thiệu bài toán Quy hoạch tuyến tính
- Quy hoạch tuyến tính (Linear programming): là một trong những dạng bài toán tối
ưu cơ bản nhất. Dạng bài toán này yêu cầu chúng ta phải tối ưu hóa một hàm mục tiêu
tuyến tính và phải thỏa mãn một số ràng buộc tuyến tính.
- Tổng quát:
Hàm mục tiêu Z(x)
Bất phương trình
H(x)

- Xác định x1, x2,…, xn sao cho:


+ Cực tiểu (cực đại) của hàm mục tiêu Z(x):

+ Đồng thời thõa mãn các ràng buộc H(x):

+ Trong đó z và h là biểu thức tuyến tính đối với .


2. Phương pháp giải
2.1. Phương pháp đồ thị (Interior – Point Method)
- Thuật toán:

Bước 1: Biểu diễn các điều kiện buộc của bài toán lên mặt phẳng toạ độ vuông góc
. Xác định miền ràng buộc D.

Bước 2: Vẽ đồ thị đường mức (*) với một giá trị .

Bước 3: Xác định véc tơ pháp tuyến và dịch chuyển song song các đường
mức theo hướng của véc tơ , cho tới vị trí tới hạn (vị trí tới hạn là vị trí mà
đường mức vẫn còn cắt miền D, nhưng nếu tiếp tục dịch chuyển sẽ không cắt miến D
nữa).
Bước 4: Điểm (hoặc nhiều điểm) của D nằm trên giao điểm của đường mức ở vị trí tới
hạn với miền D, là lời giải của bài toán.

17
Toán Nâng Cao GVHD: TS Trần Thị Minh Dung

- Bài toán đặt ta có thể phát biểu như sau: trong số cấc đường mức cắt tập D, tìm
đường mức có giá trị mức nhỏ nhất.
- Ta nhận thấy nếu dịch chuyển song song các đường mức theo dịch chuyển vector

pháp tuyến thì giá trị mức sẽ tăng, nếu dịch chuyển theo hướng ngược lại thì
giá trị mức sẽ giảm.
- Do đó, bài toán đặt ra có thể tiến hành như sau: bắt đầu từ một đường mức cắt D, ta

dịch chuyển song song các đường mức theo hướng ngược hướng với vector
cho đến khi nào việc dịch chuyển tiếp theo làm cho đường mức không còn cắt D nữa thì
dừng.
- Các điểm của D nằm trên đường mức cuối cùng này sẽ là các lời giải cần tìm, còn
giá trị của nó chính là giá trị tối ưu của bài toán.
- Nhận xét: ta chú ý rằng, sẽ luôn luôn có một nghiệm tối ưu là đỉnh của hình đa giác
tạo nên bởi miền tối ưu. Đây là một quan sát rất quan trọng và là nguồn cảm hứng
cho thuật toán đơn hình (Simplex Algorithm) dùng để giải bài toán quy hoạch tuyến
tính.
2.2. Phương pháp đơn hình (Simplex Method)
Phương pháp đơn hình giải bài toán Quy hoạch tuyến tuyến dựa trên hai tính chất
quan trọng sau đây của bài toán:
a. Nếu bài toán quy hoạch tuyến tính chính tắc có phương án tối ưu thì cũng có
phương án cực biên tối ưu, nghĩa là có ít nhất một đỉnh của miền ràng buộc là lời
giải của bài toán.
b. Mỗi điểm cực tiểu địa phương của hàm tuyến tính trên miền ràng buộc D (một tập
hợp lồi) là một điểm cực tiểu tuyệt đối.

18
Toán Nâng Cao GVHD: TS Trần Thị Minh Dung
- Vì thế phương pháp đơn hình bắt đầu từ một phương án cực biên nào đó (tùy ý) của
bài toán (tức là một đỉnh của miền ràng buộc). Tiếp đó kiểm tra xem phương án hiện có
đã phải là phương án tối ưu hay chưa, bằng cách so sánh giá trị hàm mục tiêu tại đỉnh đó
với giá trị hàm mục tiêu tại các đỉnh kề với nó. Nếu đúng thì dừng quá trình tính toán.
Trái lái, phương pháp này sẽ cho cách tìm một phương án cực biên tốt hơn. (với giá trị
hàm mục tiêu nhỏ hơn) mà nó là một đỉnh kề của đỉnh trước đó. Quá trình này tiến hành
cho tới khi tìm được Phương án tối ưu hoặc phát hiện bài toán đã cho không có lời giải.
- Như vậy, phương pháp đơn hình tiến hành khảo sát các đỉnh của miền ràng buộc để
tìm ra đỉnh tối ưu. Mặc dù số đỉnh của bài toán nói chung rất lớn, nhưng trên thực thế
phương pháp này chỉ đòi hỏi kiểm tra một phần tương đối nhỏ các đỉnh. Chính điều đó
thể hiện qua thực tế của phương pháp đơn hình.
- Thuật toán: để giải bài toán quy hoạch tuyến tính bằng phương pháp đơn hình ta
thực hiện các bước dưới đây.
Bước chuẩn bị: Đưa (G) về dạng chính tắc chuẩn (N) nếu cần.
Bước 1: Xác định PACB x0 xuất phát, chỉ ra các biến và các hệ số cơ sở. (Nếu bài toán
dạng (N) thì một PACB được tìm dễ dàng từ ma trận con sơ cấp của A – trong bảng đơn
hình ở bước 2, ma trận con sơ cấp được đánh giả định là ma trận đơn vị cấp m tạo thành
từ m dòng và m cột đầu tiên, khi đó PACB xuất phát chính là x0 = (b1, b2,.., bm, 0 ,.., 0)).

Bước 2: Lập bảng đơn hình, tính giá trị của hàm mục tiêu và các số ước lượng .

Hệ số Biến Phương
… …
cơ sở cơ sở án

1 0 … 0 …
0 1 … 0 …
… … … … … … … … … …
… … … … … … … … … …
… … … … … … … … … …
0 0 … 1 …

Bảng 1 0 0 … 0 … …

19
Toán Nâng Cao GVHD: TS Trần Thị Minh Dung

Ở đây

.
Bước 3: Kiểm tra điều kiện tối ưu (đối với bài toán MIN).

- Nếu mọi phương án đang xét tối ưu → STOP.


- Nếu tồn tại mà mọi thì hàm mục tiêu không bị chặn, do đó bài toán đã
cho vô nghiệm → STOP.
- Nếu tồn tại và với mỗi đều có ít nhất một thì phương án đang xét
chưa tối ưu → Làm tiếp bước 4.
Bước 4: Cải tiến PACB đang xét để được PACB tốt hơn (đối với bài toán MIN).

- Chọn biến cơ bản mới sao cho để đưa vào.

- Chọn biến cơ bản cũ sao cho để đưa vào.


- Tiếp theo chọn dòng thứ r làm dòng xoay, cột thứ v làm cột xoay, phần tử làm phẩn
tử xoay rồi biến đổi sơ cấp để được bảng đơn hình mới với PACB mới tốt hơn.
CHÚ Ý 1: ở bước 3 khi kiểm tra điều kiện tối ưu đối với bài toán MAX, ta làm như sau:

- Nếu mọi phương án đang xét tối ưu → STOP.


- Nếu tồn tại mà mọi thì hàm mục tiêu không bị chặn, do đó bài toán đã
cho vô nghiệm → STOP.
- Nếu tồn tại và với mỗi đều có ít nhất một thì phương án đang xét
chưa tối ưu → Làm tiếp bước 4.
CHÚ Ý 2:
- Cũng có thể quy bài toán MAX về bài toán MIN hoặc ngược lại bằng cách đổi dấu hàm
mục tiêu.
- Dấu hiệu bài toán vô số nghiệm: khi kiểm tra điều kiện tối ưu ở bước 3 nếu mọi
(đối với bài toán MIN) hoặc (đối với bài toán MAX) đồng thời tồn tại một
ứng với biến phi cơ sở thì bài toán có vô số nghiệm.

20
Toán Nâng Cao GVHD: TS Trần Thị Minh Dung

Ví dụ minh họa
2.3. Phương pháp đồ thị
2.3.1. Ví dụ 1
Giải bài toán sau bằng phương pháp hình học:

Giải:

Biểu diễn các ràng buộc của bài toán lên mặt phẳng tọa độ , ta được miền
ràng buộc D là đa giác lồi OABCD.

Đường thẳng đi qua 2 điểm E(0;3.5) và F(3.5; 0).

Đường thẳng đi qua 2 điểm A(0; 3) và G(6; 0).

21
Toán Nâng Cao GVHD: TS Trần Thị Minh Dung

Đường thẳng đi qua điểm C(2; 0).


Giao điểm của 2 đường thẳng d1 và d2 là:

Giao điểm của 2 đường thẳng d1 và d3 là:

Các điểm cực trị thu được:

Giải theo phương pháp đồ thị vừa mô tả ta thu được lời giải tối lưu của bài toán

tương ứng với các điểm A(0,3): , với giá trị tối ưu .
2.3.2. Ví dụ 2
Giải bài toán sau bằng phương pháp hình học:

Giải:

Biểu diễn các ràng buộc của bài toán lên mặt phẳng tọa độ , ta được miền
ràng buộc D là đa giác lồi ABCD.

22
Toán Nâng Cao GVHD: TS Trần Thị Minh Dung

Đường thẳng đi qua 2 điểm C(3.5; 0) và E(0;4).


Đường thẳng đi qua 2 điểm A(0; 2) và D(-1; 0).
Đường thẳng đi qua điểm C(2; 0).
Đường thẳng đi qua điểm A(0; 2).
Giao điểm của 2 đường thẳng d1 và d4 là:

.
Giao điểm của 2 đường thẳng d4 và Ox1 là:

.
Các điểm cực trị thu được:

23
Toán Nâng Cao GVHD: TS Trần Thị Minh Dung
Giải theo phương pháp đồ thị vừa mô tả ta thu được lời giải tối lưu của bài toán

tương ứng với các điểm D(-1,0): , với giá trị tối ưu .
3.2. Phương pháp đơn hình
3.2.1. Ví dụ 1
Giải bài toán quy hoạch tuyến tính sau:

Giải:
Đưa vào ba biến giả x5, x6, x7 0 với hệ số giả M > 0 (đủ lớn) ta được bài toán (N).

Ta giải bài toán (N) bằng phương pháp đơn hình, xuất phát từ phương án cực biên
Quá trình giải bài toán (N) được ghi toán tắt trong bảng sau.

Biến Phương
CB
cơ sở án 3 -3 1 -1 M M M
M 2 -1 1 2 1 1 0 0 2
M 6 1 1 -1 -1 0 1 0 6
M 9 3 2 -6 3 0 0 1 4.5
3M+
Bảng 1 17M 3M-3 4M+3 <0 0 0 0
1
-3 2 -1 1 2 1 0 0
M 4 2 0 -3 -2 1 0 2
M 5 5 0 -10 1 0 1 1
Bảng 2 9M-6 7M 0 <0 <0 0 0

24
Toán Nâng Cao GVHD: TS Trần Thị Minh Dung

-3 3 0 1 0 6/5 0 0
M 2 0 0 1 -12/5 1
3 1 1 0 -2 1/5 0 2
Bảng 3 2M-6 0 0 M-7 <0 0
-3 3 0 1 0 6/5
1 2 0 0 1 -12/5
3 5 1 0 0 -23/5
Bảng 4 8 0 0 0 -94/5

Vậy ta thấy với mọi k = 1, 2, 3, 4 nên phương án cho ở bảng này x = (5, 3, 2,
0, 0, 0, 0) là phương án tối ưu của bài toán (M). Vậy x * = (5, 3, 2, 0) là phương án tối ưu
của bài toán ban đầu với fmin = 8.
3.2.2. Ví dụ 2
Giải bài toán quy hoạch tuyến tính sau:

Giải:

Bài toán tìm được thay thế bằng bài toán tìm .
Đưa vào ba biến giả x4, x5, x6 0 với hệ số giả M > 0 (đủ lớn) ta được bài toán (N).

Ta thay bằng với cùng cÁC điều kiện như trên.


Xuất phát từ phương án cực biên Quá trình giải bài toán (N)
được ghi toán tắt trong bảng sau.

25
Toán Nâng Cao GVHD: TS Trần Thị Minh Dung

Biến Phươn
CB
cơ sở g án 3 -3 1 -1 M M
0 7 -1 3 1 1 0 0
0 10 3 -4 8 0 1 0 10/3
0 12 4 -2 0 0 0 1 3
Bảng 1 0 3 -1 -2 0 0 1
0 10 0 5/2 1 1 0 1/4 4
0 1 0 -5/2 8 0 1 -3/4
-3 3 1 -1/2 0 0 0 1/4
Bảng 2 -9 0 1/2 -2 0 0 -3/4
1 4 0 1 2/5 2/5 0 1/10
0 11 0 0 0 1 1 -1/2
-3 5 1 0 1/5 1/5 0 3/10
Bảng 3 -11 0 0 -11/5 -1/5 0 -4/5

Giải bài toán bằng phương pháp Đơn hình (Bảng 1-3) ta thu được lời giải là
với . Từ đó .

26

You might also like