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

5 921 8
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

Đang tải... (xem toàn văn)

Thông tin tài liệu

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♦ . 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à. 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. 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

Ngày đăng: 06/08/2014, 18:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan