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

Báo cáo khoa học: "NGHIÊN CỨU ỨNG DỤNG HÀM SOLVER GIẢI CÁC BÀI TOÁN KỸ THUẬT" 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 (374.47 KB, 5 trang )


NGHIÊN CỨU ỨNG DỤNG HÀM SOLVER
GIẢI CÁC BÀI TOÁN KỸ THUẬT

TS. LƯƠNG XUÂN BÍNH
ThS. ĐỖ XUÂN QUÝ
Bộ môn Sức bền Vật liệu
Khoa Công trình
Trường Đại học Giao thông Vận tải

Tóm tắt: Hàm Solver là một trong những nội hàm của Microsoft Excel, cho phép tìm cực
trị hoặc giá trị hàm số một biến hay nhiều biến với những điều kiện ràng buộc nhất định.
Trong ngành Xây dựng công trình cũng như Cơ khí chuyên dụng thì bài toán tìm cực trị của
hàm nhiều biến, bài toán tối ưu hóa hoặc giải hệ phương trình phi tuyến là khá phổ biến. Việc
giải các bài toán này khá phức tạp và tốn nhiều thời gian. Trong bài báo này, tác giả sẽ giới
thiệu một số mô hình bài toán và thuật toán giải với ứng dụng của hàm Solver. Từ các thuật
toán này, có thể mở rộng cho nhiều bài toán kỹ thuật chuyên ngành. Giới thiệu căn bản về hàm
Solver, một số mô hình bài toán, thuật toán ứng dụng hàm Solver sẽ được trình bày trong bài
báo này.
Summary: Solver function is one of the add-in functions of Microsoft Excel, making it
possible to determine extremes of single-variant or multi-variant functions with some
constraints. There are many problems associated with optimization of multi-variant functions,
non-linear equation system etc., in civil engineering and mechanical engineering. To solve
these problems is quite complicated and takes much time. This paper introduces some models
for solving engineering problems and algorithsm together with the application of Solver
function. Essential information on Solver and illustration of using Solver to solve engineering
problems are demonstrated.
TCT2
1. Đặt vấn đề
Solver là một trong những nội hàm của Microft Excel, được xây dựng và đưa vào sử dụng
từ phiên bản Microft Excel 97. Với Solver, người dùng có thể giải các bài toán sau đây thông


qua bảng tính Excel: giải các hệ phương trình tuyến tính, phi tuyến, các phương trình đại số bậc
cao, siêu việt, hàm mũ ; tìm các tham số của hàm giải tích xấp xỉ của tập dữ liệu thống kê,
quan sát nhằm phục vụ cho việc tính toán dự báo; giải các bài toán quy hoạch tối ưu [1]. Các
hướng dẫn căn bản và một số ứng dụng hàm Solver đã được giới thiệu trong [2]. Nhờ đó, tính
ứng dụng của nội hàm này càng trở nên phổ biến hơn. Tuy nhiên, những ứng dụng này chưa
thực sự tương ứng với thế mạnh và tiềm năng của nội hàm Solver. Trên thực tế, Solver chỉ hỗ
trợ những nội dung tính toán căn bản, còn việc ứng dụng Solver để giải quyết các bài toán kỹ
thuật là hoàn toàn phụ thuộc vào khả năng xây dựng các mô hình bài toán và thuật toán giải
quyết các bài toán đó.
Giới thiệu và xây dựng các thuật toán ứng dụng hàm Solver giải các bài toán chuyên ngành
xây dựng công trình và cơ khí chuyên dụng là cần thiết để hỗ trợ các kỹ sư, nhà nghiên cứu
trong công việc tính toán chuyên ngành. Trong bài báo này, các tác giả mong muốn giới thiệu
Hàm Solver và xây dựng một số thuật toán giải các bài toán kỹ thuật nói trên.


2. Giới thiệu Hàm Solver và các tham số cơ bản
Hàm Solver có hai phiên bản
chính: Solver chuẩn (Standard
Solver) và Solver hoàn thiện
(Premium Solver). Solver chuẩn
có thể giải các bài toán quy hoạch
tuyến tính với quy mô 400 biến và
200 ràng buộc cộng với 800 ràng
buộc cận đặt trên biến. Solver
hoàn thiện cho phép toàn cục từng
đoạn để dùng cho các bài toán tối
ưu hoá toàn cục.
Để khởi động Solver, vào
Menu Tools rồi chọn Solver. Sau
khi khởi động, hộp thoại "Các

tham số của Solver (Solver
Parameters)" xuất hiện như trên
hình 1.
CT 2
Hàm mục tiêu (Set Target
Cell). Giá trị trong ô của bảng tính
Excel có địa chỉ ghi trong khung
Set Target Cell được gọi là hàm
mục tiêu.
Biến và tham số (Changing
Cells). Địa chỉ của các ô trong
bảng tính Excel ghi trong khung
Changing Cells xác định các biến
của hàm mục tiêu. Giá trị các biến
này sẽ bị thay đổi để đạt được giá trị hàm mục tiêu mong muốn.
Hình 1. Hộp thoại Solver.
Hình 2. Hộp thoại Solver Options.
Ràng buộc (Constraints). Trong quá trình biến đổi các biến số để đạt được giá trị hàm mục
tiêu mong muốn, các biến hoặc các tham số của bài toán phải thoả mãn những quan hệ ràng
buộc nhất định nào đó. Các ràng buộc này được mô tả trong khung Subject to the Constraints.
Việc thêm vào, thay đổi hay loại bỏ bớt đi một ràng buộc được thực hiện nhờ các chức năng
Add, Change hay Delete.
Các lựa chọn trong hộp thoại "Solver Options" được thể hiện trong hình 2.
Thời gian tính lớn nhất (Max time). Giá trị trong khung Max Time xác định thời gian lớn
nhất tính theo giây để Solver sẽ chạy trước khi dừng. Thời gian này bao gồm thời gian sắp xếp
(setup time) và thời gian tìm nghiệm tối ưu. Đây là một trong những điều kiện dừng của Solver.
Số bước tính lặp (Interations). Giá trị trong khung Interactions xác định số bước tính lặp
lớn nhất Solver có thể thực hiện trên một bài toán. Mỗi bước tính lặp tính ra một nghiệm mới.
Đây cũng là một trong những điều kiện dừng của Solver.
Độ chính xác (Precision). Con số nhập vào ô này xác định giá trị tính toán của vế trái ràng

buộc phải xấp xỉ phù hợp với vế phải như thế nào để các ràng buộc được thoả mãn. Độ chính
xác không nên nhỏ quá và không nên lớn quá. Thông thường nằm trong phạm vi 1.0E-6 đến
1.0E-4.


Dung sai và hội tụ (Tolerance và Convergence). Lựa chọn dung sai xác định một nghiệm
nguyên dự kiến phải gần sát một nghiệm nguyên tối ưu đích thực như thế nào trước khi Solver
dừng. Lựa chọn hội tụ kiểm soát điều kiện dừng của Solver để dẫn đến thông báo "Solver đã hội
tụ đến nghiệm hiện hành".
Giả thiết mô hình tuyến tính (Assume Linear Model). Khi đánh dấu ô này, thuật toán
Simplex Solver được sử dụng, nếu không thuật toán Generalized Reduced Gradient mặc định
được dùng.
Giả thiết không âm (Assume Non-Negative). Khi khung này được đánh dấu, bất kỳ biến
quyết định nào không có ràng buộc cận dưới sẽ được cho cận dưới bằng zero khi giải bài toán.
Sử dụng tỷ lệ tự động (Use Automatic Scaling). Khi khung này được đánh dấu, Solver sẽ cố
gắng định tỷ lệ giá trị hàm mục tiêu và ràng buộc để giảm thiểu ảnh hưởng của mô hình có các
đại lượng với giá trị độ lớn khác biệt.
Hiển thị kết quả bước tính lặp (Show Iteration Results). Khi chức năng này được lựa chọn,
kết quả từng bước lặp sữe được hiển thị trong bản tính của Solver.
Các lựa chọn thuật giải: Ước lượng (Estimate), Sai phân (Derivatives), Tìm kiếm (Search).
Ước lượng có hai lựa chọn: tiếp tuyến (Tangent) dùng để ngoại suy tuyến tính từ đường
tiếp tuyến đến hàm mục tiêu đã rút gọn, toàn phương (Quadratic) dùng để ngoại suy cực tiểu
hoặc cực đại của một hàm toàn phương thích hợp với hàm mục tiêu tại điểm hiện hành.
Đạo hàm có hai lựa chọn: sai phân tiến (forward), sai phân trung tâm (central).
Có hai lựa chọn để xác định hướng tìm kiếm: phương pháp Newton, và phương pháp liên
hợp (Conjugate).
TCT2
3. Ứng dụng Solver giải các bài toán kỹ thuật
3.1. Giải gần đúng phương trình vi phân
Phần lớn các bài toán kỹ thuật chuyên ngành

gắn liền với các phương trình vi phân. Việc giải
các bài toán này đòi hỏi phải giải các phương
trình vi phân. Một số trường hợp, phương trình vi
phân không ở dạng chính tắc thông thường, việc
giải phương trình vi phân là khá phức tạp. Ở đây,
tác giả xây dựng thuật toán giải gần đúng phương
trình vi phân bằng hàm Solver với ứng dụng
phương pháp bình phương nhỏ nhất. Để dễ minh họa, tác giả chọn một bài toán cụ thể của cơ
học, tính dầm chịu uốn ngang như trong hình 3.
l
q
h
b
Hình 3.
Trong thí dụ này, chương trình tối ưu hóa được ứng dụng để giải gần đúng phương trình vi
phân đường đàn hồi của một dầm như trên hình vẽ. Các số liệu tính toán: q = 10 daN/cm
2
, l =
600 cm, b = 8 cm, h = 12 cm, E = 2.10
6
daN/cm
2
.
Phương trình vi phân đường đàn hồi của dầm:

x
4
4
JE
q

z
v
−=


(1)
Ở đây ta sử dụng phương pháp bình nhương nhỏ nhất để giải gần đúng phương trình.


Giả định hàm độ võng là một đa thức bậc 4:
(2)
edzczbzazv
234
++++=
Quá trình tính toán được thể hiện trong bảng sau:
Bảng 1
Z (cm) VP (1) VT (1) (VT(1)-VP(1))
2
0 -q/EJx 24a (24a+q/EJx)
2
100 -q/EJx 24a (24a+q/EJx)
2
200 -q/EJx 24a (24a+q/EJx)
2
300 -q/EJx 24a (24a+q/EJx)
2
400 -q/EJx 24a (24a+q/EJx)
2
500 -q/EJx 24a (24a+q/EJx)
2

600 -q/EJx 24a (24a+q/EJx)
2
F = Tổng bình phương tối thiểu
F = Σ(24a+q/EJx)
2
Mô hình bài toán tối ưu:
F → min với các biến số là a, b, c, d, e.
Các điều kiện ràng buộc là: Độ võng góc quay ở hai đầu thanh bằng 0.
Kết quả thu được phương trình đường đàn hồi của dầm như sau:
v = -(1.81E-10)z
4
+ (2.17E-07).z
3
- (6.51E-05)z
2
Biểu đồ độ võng của dầm được thể hiện trên hình 4.
CT 2
Biểu đồ độ võng v(z) của dầm
-1.6
-1.4
-1.2
-1
-0.8
-0.6
-0.4
-0.2
0
0
30
60

90
120
150
180
210
240
270
300
330
360
390
420
450
480
510
540
570
600
Chiều dài z (cm)
Độ võng v(z) (cm)

Hình 4. Biểu đồ độ võng của dầm
3.2. Giải bài toán tối ưu hoá
Tối ưu hóa đường đỏ (mặt đường thiết kế) khi thiết kế trắc dọc tuyến đường. Ở đây xét bài
toán cho một kilômét.


Mô hình bài toán: Thiết kế đường đỏ sao cho tổng khối lượng đào đắp là nhỏ nhất. Giả sử
cao độ cọc đầu tiên của tuyến đã được ấn định (34 m), cao độ các cọc còn lại được tính toán từ
cao độ cọc đầu tiên và cọc 500, cọc 1000 thông qua độ dốc dọc của các đoạn. Các biến số ở đây

là cao độ các cọc 500 và 1000. Hàm mục tiêu là tổng khối lượng đào đắp là nhỏ nhất. Điều kiện
ràng buộc là độ dốc dọc của các đoạn tuyến không vượt quá quy định của quy trình (ở đây lấy
giá trị khống chế là 4%). Số liệu bài toán và kết quả tối ưu hóa được thể hiện trên hình 5.
Trắc dọc tim đường
0
5
10
15
20
25
30
35
40
45
50
0 100 200 300 400 500 600 700 800 900 1000
Khoảng cách cộng dồn (m)
Cao độ (m)
Mặt đường thiết kế chưa tối ưu hóa
Mặt đất tự nhiên
Mặt đường thiết kế sau khi tối ưu hóa
Mặt đường thiết kế sau khi tối ưu hoá
Mặt đường thiết kế trước khi tối ưu hoá
Mặt đất thiên nhiên
TCT2

Hình 5. Thiết kế tối ưu xác định đường đỏ

4. Kết luận
Các tác giả đã giới thiệu căn bản về Hàm Solver và các tham số kỹ thuật của nó. Các thông

tin này là cầu nối người sử dụng với Hàm Solver đến bài toán kỹ thuật.
Các thuật toán giải gần đúng phương trình vi phân, tối ưu hoá hàm nhiều biến đã được xây
dựng để giải các bài toán kỹ thuật chuyên ngành.
Trên cơ sở các thuật toán đã xây dựng, người sử dụng có thể ứng dụng cho nhiều bài toán
chuyên ngành khác.
Với các công dụng của hàm Solver, người sử dụng chỉ cần kỹ năng tính toán trên Excel, đã
có thể giải quyết được những bài toán phức tạp với thời gian ngắn, thực sự hiệu quả cho công
tác tính toán thiết kế và nghiên cứu.

Tài liệu tham khảo
[1]. Premium Solver Platform For use with Microsoft Excel, Frontline Systems, Inc. USA.
[2]. Trần Trí Dũng: Excel-Solver cho kỹ sư, Nhà xuất bản Khoa học và Kỹ thuật, 2005♦


×