Tải bản đầy đủ (.doc) (16 trang)

Bài giảng về tin học văn phong: Phần 5 - Giải toán

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 (416.17 KB, 16 trang )

Chương 6

Giải toán trên EXCEL
6.1. ĐẠI SỐ MA TRẬN
Xét các ma trận A, B và C ở bảng tính sau:

1. Lập ma trận chuyển vị (Transpose Matrix) của A: AT
Các bước thực hiện:
Quét chọn khối ma trận A (vùng A3:D5)
Thực hiện lệnh Edit – Copy (hoặc gõ Ctrl+C)
Chọn vị trí lập ma trận chuyển vị (ô A15)
Dùng lệnh Edit – Paste Special. Xuất hiện hộp thoại
Chọn Transpose, và OK.
Ta có kết quả:

2. Lập ma trận nghịch đảo (Inverse Matrix) của C: C-1
Các bước thực hiện:
Chọn vị trí lập ma trận nghịch đảo (ô A22)
Dùng lệnh MINVERSE (hoặc Click biểu tượng
Trig, rồi chọn lệnh Minverse). Xuất hiện hộp thoại:
159

trên Toolbar. Chọn Math &


Chọn vùng xác định ma trận C (A8:C10) trong khung Array.
Click OK.
Lưu ý: Sau khi Click OK,
tại vị trí con trỏ ô hiện
hành (ô A22) chỉ xuất
hiện số hạng ở dịng 1,


cột 1 của C-1. Để hiển thị
tồn bộ ma trận C-1, ta
phải quét chọn khối xuất
hiện của C-1(3 dòng và 3
cột), bắt đầu từ số đầu
tiên vừa xuất hiện (ở đây
ta quét chọn khối
A22:C24). Tiếp đến gõ F2, rồi thực hiện đồng thời: Ctrl + Shift + Enter.
Ta có kết quả:

3. Nhân (multiply) hai ma trận A và B: A.B
Các bước thực hiện:
Chọn vị trí lập ma trận tích (ô A27)
Dùng lệnh MMULT (hoặc Click biểu tượng
Trig, rồi chọn lệnh MMULT). Xuất hiện hộp thoại:

160

trên Toolbar. Chọn Math &


Chọn vùng xác định ma trận A (A3:D5) trong khung Array1; Chọn vùng xác
định ma trận B (F3:H6) trong khung Array2.
Click OK.
Lưu ý: Sau khi Click OK, tại vị trí con trỏ ô hiện hành (ô A27) chỉ xuất hiện số hạng ở dòng
1, cột 1 của ma trận AB. Để hiển thị toàn bộ ma trận AB, ta phải quét chọn khối xuất hiện
của AB (3 dòng và 3 cột, vì A cấp 3x3 – B cấp 4x3 ), bắt đầu từ số đầu tiên vừa xuất hiện.
Tiếp đến gõ F2, rồi thực hiện đồng thời: Ctrl + Shift + Enter.
Ta có kết quả:


4. Tính định thức của ma trận (Matrix determinant) vuông C: Det C
Các bước thực hiện:
Chọn vị trí tính định thức (ơ F9)
Dùng lệnh MDETERM (hoặc Click biểu tượng
Trig, rồi chọn lệnh MDETERM). Xuất hiện hộp thoại:

trên Toolbar. Chọn Math &

Chọn vùng xác định ma trận C (A8:C10) trong khung Array.
Click OK.

161


6.2. GIẢI HỆ PHƯƠNG TRÌNH TUYẾN TÍNH
Dùng lệnh Solver trong Menu Tools của Excel. Nếu trong trường hợp trong Menu Tools
chưa có lệnh này, ta thực hiện các thao tác sau:
Dùng lệnh: Tools | Add-Ins…

Xuất hiện hộp thoại Add-Ins:



Click chọn mục Solver Add-in.



Click nút OK.

Trong Menu Tools sẽ xuất hiện lệnh Solver.

Ví dụ: Giải hệ phương trình tuyến tính:

y

z
2
2 x


y

3 z
5
 x


5 y

z

7
 x
2 x

3 y

3 z

14



a) Trình bày bài tốn trên bảng tính Excel:

162


A1:E1 và B7:C7 là dòng tiêu đề.
A2:A5 là các hệ số của x; B2:B5 là các hệ số của y, C2:C5 là các hệ số của z.
B8:B10 là tên các ẩn số.
C8:C10 là giá trị ban đầu của ẩn số. Sau khi giải xong, vùng này là nghiệm của
phương trình tương ứng với các ẩn số.
Cột trái để trống.
Cột phải (E2:E5) là các giá trị vế phải của hệ phương trình.
b) Các bước giải bài tốn:

Bước 1:
Đánh dấu khối cột trái (D2:D5).
Dùng lệnh nhân ma trận: MMULT(A2:C5,C8:C10) (hoặc Click biểu tượng
trên Toolbar. Chọn Math & Trig, rồi chọn lệnh MMULT), gõ F2, rồi ấn tổ hợp phím
Ctrl + Shift + Enter.

Bước 2:
Click chuột vào ô D2.
Gọi Solver từ menu Tools. Nhập các tham số trong cửa sổ Solver parameters
như sau:

163


Set Target Cell: Do chúng ta để ô định vị tại D2, nên sẽ hiển thị $D$2. Nếu chưa đúng phải

gõ chính xác địa chỉ tuyệt đối này.
Equal To: Click chuột đánh dấu Value of, và gõ vào khung bên cạnh giá trị là 2 (vì chúng ta
phải giải sao cho vế bên trái bằng vế bên phải).
Subject to the Constraints: Đây là nơi ta xác định các điều kiện ràng buộc để thoả mãn cách
giải bài toán trên (điều kiện là toàn bộ giá trị cột trái bằng giá trị cột phải). Click nút Add,
xuất hiện hộp thoại Add Constraints, và nhập vào các tham số như sau:

Click OK để trở lại hộp Solver Parameters.
Sau khi đưa vào các tham số của hộp thoại Solver, Click vào nút chọn Solver.
Nếu kết quả tốt, Excel thông báo là “found a solution”:

Hãy chọn Keep Solver Solution để lưu kết quả trên bảng tính (nếu chọn Restore Original
Values sẽ huỷ kết quả Solver vừa tìm được và trả lại giá trị khởi động của các biến).

164


Kết quả trên bảng tính như sau:

Nhìn trên bảng tính, ta thấy các giá trị trong cột trái bằng đúng các giá trị trong cột
phải. Cột khởi động đã thay đổi, mỗi giá trị mới ứng với mỗi ẩn số. Vậy nghiệm của hệ
phương trình là: x = 1; y = -2, z = 2.

6.3. QUI HOẠCH TUYẾN TÍNH
Qui hoạch tuyến tính là bài tốn tìm cực tiểu (hay cực đại) của một hàm tuyến tính f(x)
trên tập hợp D  Rn được xác định bởi một hệ các phương trình và/hoặc bất phương trình
tuyến tính cho trước.

1. Bài tốn QHTT tởng qt
Tìm các biến số x1, x2,..., xn sao cho:

n

f(x) =

c

j

x j  min (hay max)

(6.1)

j 1

thỏa mãn điều kiện
n

a

ij

x j  bi, i = 1, ... , m1,

(6.2)

j 1

n

a


ij

x j  bi, i = m1 + 1, ... , m1 + m2,

j 1

(6.3)
n

a

ij

x j = bi, i = m1 + m2 + 1, ... , m,

(6.4)

j 1

xj  0, j = 1,..., n1, xj  0, j = n1 + 1,..., n1 + n2  n.

(6.5)

Trong bài toán trên:
f gọi là hàm mục tiêu, mỗi hệ thức ở (6.2) - (6.5) gọi là một ràng buộc.
Điểm x = (x1, x2, ..., xn)  Rn thỏa mãn mọi ràng buộc gọi là một phương án.
Tập hợp tất cả các phương án, gọi là miền ràng buộc.

165



Một phương án thoả mãn (6.1) gọi là phương án tới ưu hay một lời giải của bài tốn
đã cho.

2. Giải bài toán QHTT bằng Excel
Dùng lệnh Solver trong Menu Tools của Excel.

a. BÀI TOÁN LẬP KẾ HOẠCH SẢN XUẤT
Một xí nghiệp dự định sản xuất hai loại sản phẩm là S 1 và S2. Để làm được một đơn vị
S1 cần 4 đơn vị vật liệu V 1, 5 đơn vị vật liệu V2. Để làm được 1 đơn vị S 2 cần 3 đơn vị V 1, 2
đơn vị V 2. Giá bán một đơn vị S 1 là 50 ngàn
đồng, một đơn vị S2 là 30 ngàn đồng.
Hỏi xí nghiệp nên sản xuất bao nhiêu
đơn vị sản phẩm S1 và S2 để tổng thu nhập là
lớn nhất, biết rằng xí nghiệp chỉ có 1200
đơn vị vật liệu V 1 và 1080 đơn vị vật liệu
V2.
Mơ hình tốn học.
Gọi x1, x2 lần lượt là số đơn vị sản phẩm S 1, S2 cần sản xuất. Số đơn vị vật liệu V 1 cần
có là 4x1 + 3x2. Do xí nghiệp chỉ có 1200 đơn vị vật liệu V1 nên x1 và x2 phải thỏa mãn
4x1 + 3x2  1200.
Tương tự, số đơn vị vật liệu V2 cần có là 5x1 + 2x2, vì thế x1 và x2 phải thoả mãn
5x1 + 2x2  1080.
Tất nhiên ta còn phải có x1  0 và x2  0.
Tổng thu nhập của xí nghiệp (cần làm cực đại) sẽ là f = 50x1 + 30x2 (ngàn đồng).
Vậy bài toán đặt ra được phát biểu thành: Tìm các biến số x1 và x2 sao cho
f = 50x1 + 30x2  max,
với các điều kiện
4x1 + 3x2  1200,

5x1 + 2x2  1080,
x1  0, x2  0.
Giải pháp bảng tính:
Để giải được một bài tốn quy hoạch tuyến tính, đầu tiên ta phải xây dựng mơ hình
bài tốn vào bảng tính. Bảng tính này phải thể hiện rõ các biến số đầu vào, các hạn chế, các
ràng buộc của các biến số đó.
Bước 1: Xây dựng mơ hình sản xuất trên bảng tính và nhập vào một giải pháp ban đầu bất kỳ:

166


Ta nhập vào một giải
pháp ban đầu (S1,S2) =
(10,10). Nhập lần lượt giá trị
10 vào các ô C2, D2. Kết quả
cho thấy tổng thu nhập của
giải pháp sản xuất này đạt
800 ngàn (tuy nhiên vẫn
chưa sử dụng hết vật liệu
trong kho).

Bước 2: Tối ưu hoá.
Gọi Solver từ menu Tools. Nhập vào mục tiêu và các ràng buộc của bài toán trong cửa sổ
Solver parameters như sau:

Tóm tắt tham số yêu cầu của Solver
167


Thành phần của Solver


Tham số nhập vào

1

Set Target Cell

Hàm mục tiêu

2

Equal To

Max, Min, Value of
(loại bài toán)

3

By Changing Cells

Các biến

4

Subject to the Constraints

Các ràng buộc

Nằm trong ô
C9

Max
C2:D2
E6:E7, B6:B7

Sau khi đưa vào các tham số của hộp thoại Solver, Click vào nút chọn Solver để Excel bắt
đầu giải bài toán.
Kết quả tìm được ở hình sau:

b. BÀI TOÁN XÁC ĐỊNH KHẨU PHẦN THỨC ĂN
Một xí nghiệp chăn ni cần mua hai loại thức ăn tổng hợp T 1, T2 cho gia súc với tỉ lệ
chế biến: 1 kg T 1 chứa 3 đơn vị dinh dưỡng D 1 (chất béo), 1 đơn vị dinh dưỡng D 2 (Hyđrat
cacbon) và 1 đơn vị dinh dưỡng D 3 (Protein); 1 kg T2 chứa 1 đơn vị D1, 1 đơn vị D2 và 2 đơn
vị D3. Mỗi bữa ăn cho gia súc cần tối thiểu 60 đơn vị D1, 40 đơn vị D2 và 60 đơn vị D3.
Hỏi xí nghiệp cần mua
bao nhiêu kg T1, T2 cho mỗi bữa
ăn, sao cho vừa đảm bảo tốt dinh
dưỡng cho bữa ăn của gia súc,
vừa để tổng số tiền chi mua thức
ăn là nhỏ nhất. Cho biết 1 kg T 1
giá 20 ngàn đồng, 1 kg T 2 giá 15
ngàn đồng.
a) Mơ hình tốn học.
168


Gọi x1, x2 lần lượt là số kg thức ăn T 1, T2 cần mua cho mỗi bữa ăn. Số đơn vị chất D 1
có trong mỗi bữa ăn là 3x1 + x2, vì thế x1 và x2 cần thỏa mãn
3x1 + x2  60,
Tương tự, để đáp ứng nhu cầu về chất D2 và D3 cho mỗi bữa ăn, x1 và x2 cần thỏa mãn
x1 + x2  40,

x1 + 2x2  60,
Tất nhiên, ta cũng đòi hỏi
x1  0 và x2  0.
Số tiền chi mua thức ăn (cần làm cực tiểu) bằng f = 20x1 + 15x2 (ngàn đồng).
Vậy bài toán nêu trên được phát biểu thành: Tìm các biến số x1 và x2 sao cho
f = 20x1 + 15x2  min,
với các điều kiện
3x1 +

x2  60,

x1 +

x2  40,

x1 + 2x2  60,
x1  0, x2  0.
b) Giải pháp bảng tính:
Bước 1: Xây dựng mơ hình bài tốn trên bảng tính và nhập vào một giải pháp ban đầu bất kỳ:

Ta nhập vào một giải pháp ban đầu (T1, T2) = (20,20). Kết quả cho thấy tổng số tiền chi mua
thức ăn của giải pháp này đạt 700 ngàn.
Bước 2: Tối ưu hoá.

169


Gọi Solver từ menu Tools. Nhập vào mục tiêu và các ràng buộc của bài toán trong
cửa sổ Solver parameters như sau:


Kết quả tìm được ở hình sau:

170


c. BÀI TOÁN PHA CẮT VẬT LIỆU
Trong thực tế ta thường phải cắt những vật liệu dài (thanh thép, ống nước, băng giấy ...)
có độ dài cho trước thành những đoạn ngắn hơn với số lượng nhất định để sử dụng. Nên cắt
như rhế nào cho tốn ít vật liệu nhất ?
Ví dụ: Phân xưởng thép của cơng ty xây lắp mua thép xây dựng từ Trung tâm gang thép Thái
Ngun phục vụ nhu cầu xây lắp cơng trình. Thép được cung cấp dưới dạng từng thanh,
chiều dài là 20 m.
Theo yêu cầu của bộ phận xây dựng, Phân xưởng thép phải cung cấp 150 đoạn thép
dài 5 mét, 200 đoạn thép dài 7 mét, 300 đoạn thép dài 9 mét. Để thực hiện yêu cầu này, Phân
xưởng phải cắt mỗi thanh thép 20 mét ra làm nhiều đoạn con có chiều dài hoặc 5 mét, hoặc 7
mét, hoặc 9 mét. Việc cắt này sẽ để lại các mẫu thép thừa khơng thể sử dụng. Có 6 phương
án cắt được trình bày trong bảng sau:

Hỏi phân xưởng cần nhập về bao nhiêu thanh thép 20 mét và cắt theo phương án nào để
thép thừa là ít nhất.
a) Mơ hình tốn học. Gọi xj (j = 1,…,6) là số thanh thép (dài 20 m) cần cắt theo phương án j.
Bài toán trên sẽ được phát biểu thành: Tìm các biến số x1, x2, x3, x4, x5, x6 sao cho
f (tổng số thép thừa) = 4x1 + 3x2 + x3 + x5 + 2x6  min,
với các điều kiện
2x2 + 2x3 + 4x4 + x5 = 150.
x1 + x2 + 2x5 = 200,
x1 + x3 + 2x6 = 300,
xj  0, j =1, …,6.
b) Giải pháp bảng tính:
Bước 1: Xây dựng mơ hình bài tốn trên bảng tính và nhập vào một giải pháp ban đầu bất kỳ


171


Bước 2: Tối ưu hoá.
Gọi Solver từ menu Tools. Nhập vào mục tiêu và các ràng buộc của bài toán trong
cửa sổ Solver parameters như sau:

Kết quả tìm được ở hình sau:

172


BÀI TẬP
Bài 1. Tìm ma trận chuyển vị của các ma trận:
a)

 2
A    1
 2

1
5
1

 2
2
3

3

4
6

2
4
B 
2

3

b)

3
 2
4
4

1
2 
 1

2

Bài 2. Tìm ma trận nghịch đảo (nếu có) của các ma trận:
a)

1
A  1
1


1
2
3

1
4
9 

;

b)

 3
B   2
 2

1
1
1

0
1 
4

;

Bài 3. Tìm ma trận tích AB và BA (khi chúng được xác định)
a)

1

A  3
 0

1
4
0

1

2

0
1
1

4

5

2
2
1 

b) A  3 1 0 2 ,


 1 

c) A   2 ,



 2

d) A  1
  3

 1
0 
4 

,

,

0
2
B 
2

1

1
1
1
2

 1
0 
 2


1 

 1
 2
B  
  1
 
 3
2
1
B 
0

1

1
B 
3

 2
4

 5
0 

Bài 4. Tính các định thức sau:
a)

3
1

 2

1
2
3
4

2
0
3

2
3
4
1

3
4
1
2

 4
 2
3

;

4
1
2

3

.

b)

3
1
1
1

1
3
1
1

1
1
3
1

1
1
;
1
3

c)

Bài 5. Giải các hệ phương trình tuyến tính sau:

a)


y

z

2
 x


y

2 z
6
2 x


2 y
 3z
2
 x

b)


3 y

z
5

 x


y

z
2
2 x

x

y

5 z
7

2 x

3 y

3z

14


Bài 6. Một xí nghiệp đóng tàu đánh cá cần đóng hai loại tàu 100 mã lực và 50 mã lực.
Trong xí nghiệp có ba loại thợ chính quyết định sản lượng kế hoạch. Thợ rèn có 2000 cơng,

173



thợ sắt có 3000 cơng và thợ mộc có 1500 công. Định mức lao động cho mỗi loại tàu được
cho trong bảng sau:
Định mức

Loại tàu

100 mã lực

50 mã lực

Loại thợ
Thợ sắt (3000)

150

70

Thợ rèn (2000)

120

50

Thợ mộc (1500)

80

40


lao động

(cơng/sản phẩm)
Hỏi xí nghiệp nên đóng tàu mỗi loại bao nhiêu để đạt tổng số mã lực cao nhất ?

Bài 7. Một xí nghiệp có thể sử dụng tối đa 510 giờ máy cán, 360 giờ máy tiện và 150 giờ
máy mài để chế tạo ba loại sản phẩm A, B và C. Để chế tạo một đơn vị sản phẩm A cần 9 giờ
máy cán, 5 giờ máy tiện, 3 giờ máy mài; một đơn vị sản phẩm B cần 3 giờ máy cán, 4 giờ
máy tiện; một đơn vị sản phẩm C cần 5 giờ máy cán, 3 giờ máy tiện, 2 giờ máy mài. Mỗi sản
phẩm A trị giá 48 ngàn đồng, mỗi sản phẩm B trị giá 16 ngàn đồng và mỗi sản phẩm C trị giá
27 ngàn đồng.
Vấn đề đặt ra là xí nghiệp cần chế tạo bao nhiêu đơn vị sản phẩm mỗi loại để tổng số
giá trị sản phẩm xí nghiệp thu được là lớn nhất, với điều kiện khơng dùng q số giờ hiện có
của mỗi loại máy
Bài 8. Một xưởng làm cửa sắt có những thanh thép dài 12 mét, cần cắt thành 8 đoạn dài 4
mét, 5 đoạn dài 5 mét và 3 đoạn dài 7 mét. Có 5 mẫu cắt sau:
Mẫu 1: 3 đoạn 4 mét, không thừa.
Mẫu 2: 1 đoạn 4 mét và 1 đoạn 5 mét, thừa 3 mét.
Mẫu 3: 1 đoạn 4 mét và 1 đoạn 7 mét, thừa 1 mét.
Mẫu 4: 2 đoạn 5 mét, thừa 2 mét.
Mẫu 5: 1 đoạn 5 mét và 1 đoạn 7 mét, không thừa.
Vấn đề đặt ra của xưởng là tìm các mẫu cắt tiết kiệm nhất?

174



×