Professional Documents
Culture Documents
08 2010 1495 2
08 2010 1495 2
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 TCT2
function. Essential information on Solver and illustration of using Solver to solve engineering
problems are demonstrated.
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 Hình 1. Hộp thoại Solver.
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.
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.
CT 2
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 Hình 2. Hộp thoại Solver Options.
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.
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 q
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 h
trình vi phân. Một số trường hợp, phương trình vi
l
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, b
tác giả xây dựng thuật toán giải gần đúng phương Hình 3.
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.
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/cm2, l =
600 cm, b = 8 cm, h = 12 cm, E = 2.106 daN/cm2.
Phương trình vi phân đường đàn hồi của dầm:
∂4v q
4
=− (1)
∂z EJ x
Ở đâ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:
v = az 4 + bz 3 + cz 2 + dz + e (2)
Quá trình tính toán được thể hiện trong bảng sau:
Bảng 1
2
Z (cm) VP (1) VT (1) (VT(1)-VP(1))
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
150
180
210
240
270
300
330
360
390
420
450
480
510
540
570
600
30
60
90
0
-0.2
-0.4
Độ võng v(z) (cm)
-0.6
-0.8
-1
-1.2
-1.4
-1.6
50
45
40
35
Mặt
Mặtđất tự nhiên
đường thiết kế trước khi tối ưu hoá
25 Mặt đường thiết kế sau khi tối ưu hóa
20
15
10
0
0 100 200 300 400 500 600 700 800 900 1000
Khoảng cách cộng dồn (m) TCT2
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.