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
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
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
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
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