PDA

View Full Version : Sử dụng Solver trong Excel 97-2010



TranThanhPhong
23-05-10, 04:34 PM
Loạt bài chào mừng sinh nhật GPE lần 4, năm 2010



Sử dụng Solver trong Excel 97-2010


1. Add-Ins Solver

Trước khi sử dụng, chúng ta cần phải thêm tiện ích này vào Excel. Tùy theo phiên bản Excel mà bạn đang sử dụng thì cách làm khác nhau đôi chút. Tuy nhiên, cách thực hiện Add-In Solver cho các phiên bản Excel 97-2003 là giống nhau và cách thực hiện Add-In Solver trong Excel 2007-2010 cũng tương tự nhau. Các hình minh họa trong bài này sẽ sử dụng phiên bản Excel 2003 và Excel 2007.

1.1. Add-In Solver cho Excel 2003

Các bước thực hiện Add-Ins Solver cho Excel 2003 như sau:

Bước 1. Vào Tools | chọn Add-Ins. Hộp thoại Add-Ins xuất hiện.


http://www.giaiphapexcel.com/video/Solver/h001.jpg

Hình 1. Chọn lệnh Add-Ins

Bước 2. Trong hộp thoại Solver, tích vào ô vuông Solver Add-In

http://www.giaiphapexcel.com/video/Solver/h002.jpg
Hình 2. Hộp thoại Add-Ins chứa các chức năng mở rộng của Excel

Bước 3. Nhấn nút OK đóng hộp Add-Ins

Bước 4. Khi đó trong thực đơn Tools sẽ xuất hiện thêm lệnh Solver

http://www.giaiphapexcel.com/video/Solver/h003.jpg
Hình 3. Lệnh Solver trong thực đơn Tools

1.2. Add-In Solver cho Excel 2007

Do giao diện Excel 2007 thay đổi nhiều so với các phiên bản Excel cũ nên các bước thực hiện Add-Ins sẽ khác đôi chút. Các bước thực hiện như sau:

Bước 1. Nhấp chuột vào nút Office | chọn Excel Options

http://www.giaiphapexcel.com/video/Solver/h004.jpg
Hình 4. Vào Excel Options trong Excel 2007 & Excel 2010

Bước 2. Trong hộp thoại Excel Options, chọn Add-Ins từ danh sách bên trái, danh sách các Add-Ins trong Excel được liệt kê trong hộp Add-Ins với các phân nhóm khác nhau.

http://www.giaiphapexcel.com/video/Solver/h005.jpg
Hình 5. Hộp thoại Excel Options

Bước 3. Tại Manage, chọn Excel Add-Ins từ danh sách và nhấn nút Go... để mở hộp thoại Add-Ins.

http://www.giaiphapexcel.com/video/Solver/h006.jpg
Hình 6. Solver Add-in

Bước 4. Chọn Solver Add-in từ danh sách Add-Ins avaiable và nhấn nút OK.



Bước 5. Trong ngăn Data xuất hiện thêm nhóm Analysis chứa lệnh Solver.


http://www.giaiphapexcel.com/video/Solver/h007.jpg
Hình 7. Lệnh Solver

TranThanhPhong
24-05-10, 10:27 AM
Loạt bài chào mừng sinh nhật GPE lần 4, năm 2010


2. Sử dụng Solver

2.1. Excel 97-2007

Để sử dụng tốt Solver ta cần nắm vững các yêu cầu thông số cần phải khai báo trong hộp thoại Solver Parameters:




http://www.giaiphapexcel.com/video/Solver/h008.jpg



Hình 1. Hộp thoại Solver Excel 97-2007



Set Target Cell: Nơi đây ta cần nhập vào địa chỉ của hàm mục tiêu.
Equal To: Hàm mục tiêu muốn đạt tới Max, Min hay Value of (bằng một giá trị mong muốn nào đó thì nhập giá trị vào.)
By Changing Cell: Nhập vào địa chỉ chứa các biến của bài toán cần giải.
Subject to the constraints: Nhập vào các ràng buộc của bài toán.

Cách làm của Solver là thay đổi giá trị của các biến tại By Changing Cell đến lúc nào đó làm cho giá trị hàm mục tiêu tại Set Target Cellđạt một giá trị qui định tại Equal To (Max, Min hoặc Value of) và đồng thời phải thõa mãn tập các ràng buộc tại Subject to the constraints.
Thiết lập các tùy chọn cho hộp thoại Solver Parameters ta nhấp chuột vào nút Options, hộp thoại Solver Options xuất hiện:




http://www.giaiphapexcel.com/video/Solver/h009.jpg



Hình 2. Thiết lập thông số cho Solver: Chế độ mặc định

http://www.giaiphapexcel.com/video/Solver/h009a.jpg

TranThanhPhong
25-05-10, 04:30 PM
Loạt bài chào mừng sinh nhật GPE lần 4, năm 2010



2.2. Excel 2010

Solver trong Excel 2010 đã được thiết kế lại về giao diện và tên gọi của các hộp khai báo thông số cũng như sắp xếp lại các thành phần trên hộp thoại. Solver trong Excel 2010 đã bổ sung thêm phương pháp tìm kiếm lời giải mới Evolutionary Solver dựa trên các thuật toán di truyền (genetic algorithms). Phương pháp này cho phép giải quyết những bài toán có sử dụng bất kỳ hàm nào trong Excel. Solver trong Excel 2010 được tối ưu cho việc giải quyết các bài toán tuyến tính và phi tuyến và bổ sung thêm 2 loại báo cáo kết quả Linearity và Feasibility.


http://www.giaiphapexcel.com/video/Solver/h010.jpg

Hình 10. Hộp thoại Solver Parameters của Excel 2010


Set Object: Nơi đây ta cần nhập vào địa chỉ của hàm mục tiêu.
To: Hàm mục tiêu muốn đạt tới Max, Min hay Value of (bằng một giá trị mong muốn nào đó thì nhập giá trị vào hộp bên cạnh)
By Changing Variable Cells: Nhập vào địa chỉ chứa các biến thay đổi của bài toán cần giải.
Subject to the constraints: Nhập vào các ràng buộc của bài toán.

http://www.giaiphapexcel.com/video/Solver/h011.jpg
Hình 11. Hộp thoại Solver Results

Báo cáo Linearity

Khi không tìm được lời giải trong các bài toán phi tuyến. Solver sẽ chỉ ra các điều kiện ràng buộc và các biến không thõa trong bài toán.

http://www.giaiphapexcel.com/video/Solver/h012a.jpg
http://www.giaiphapexcel.com/video/Solver/h012b.jpg
Hình 12. Báo cáo Linearity

Báo cáo Feasibility

Nếu không tìm được lời giải khả thi cho bài toán. Solver hiển thị thông báo không tìm được lời giải khả thi và báo cáo sẽ giúp ta xác định nguyên nhân của vấn đề không tìm được lời giải.

http://www.giaiphapexcel.com/video/Solver/h013.jpg
Hình 13. Báo cáo Feasibility

Bạn có thể tinh chỉnh các thông số cho quá trình giải bài toán bằng cách nhấn vào nút Options trong hộp thoại Solver Parameters. Hộp thoại Options xuất hiện và được tổ chức thành 3 ngăn All Methods, GRG Nonlinear và Evolutionary tương ứng với các phương pháp tìm kiếm lời giải.

http://www.giaiphapexcel.com/video/Solver/h014a.jpg
http://www.giaiphapexcel.com/video/Solver/h014b.jpg
Hình 14. Hộp thoại Options

TranThanhPhong
07-06-10, 03:09 PM
Loạt bài chào mừng sinh nhật GPE lần 4, năm 2010

3. Tìm nghiệm cho hệ phương trình

Tìm nghiệm cho hệ phương trình sau:

http://www.giaiphapexcel.com/video/Solver/h015.jpg

Các bước thực hiện:

Bước 1. Lập mô hình bài toán trên bảng tính trong vùng A7:F10 theo dạng sau:

http://www.giaiphapexcel.com/video/Solver/h015a.jpg
Hình 15. Lập mô hình bài toán trên bảng tính

Bước 2. Nhập các hệ số bên vế trái của các phương trình:


Trong vùng A8:C8 nhập các hệ số của phương trình thứ nhất
Trong vùng A9:C9 nhập các hệ số của phương trình thứ hai
Trong vùng A10:C10 nhập các hệ số của phương trình thứ ba

http://www.giaiphapexcel.com/video/Solver/h016.jpg
Hình 16. Nhập các hệ số bên trái của các phương trình

Bước 3. Nhập các giá trị ở vế phải của các phương trình vào các ô F8, F9 và F10 tương ứng với thứ tự của 3 phương trình.

http://www.giaiphapexcel.com/video/Solver/h017.jpg
Hình 17. Nhập các giá trị ở vế phải của các phương trình

Bước 4. Nhập các giá trị nghiệm khởi tạo cho các biến x, y, z trong các ô D8, D9 và D10 các giá trị tùy ý. Ví dụ bạn nhập vào là 1 cho tất cả các ô.

http://www.giaiphapexcel.com/video/Solver/h018.jpg
Hình 18. Nghiệm khởi tạo

Bước 5. Tính toán kết quả cho vế trái bằng việc nhân các hệ số của phương trình với các nghiệm x, y, z khởi tạo. Có nhiều cách tính:

Cách 1. Nhân cơ bản:

· Tại ô E8 nhập vào công thức =A8*$D$8+B8*$D$9+C8*$D$10
· Sao chép công thức xuống cho các ô E9 và E10. Khi đó:

o E9 có công thức là =A9*$D$8+B9*$D$9+C9*$D$10
o E10 có công thức là =A10*$D$8+B10*$D$9+C10*$D$10
Cách 2. Sử dụng hàm Sumproduct kết hợp hàm Transpose để tính vế trái:

· Tại E8 nhập vào công thức =Sumproduct(A8:C8,Transpose($D$8:$D$10))
· Sao chép công thức từ ô E8 cho các ô E9 và E10

http://www.giaiphapexcel.com/video/Solver/h019.jpg
Hình 19. Tính vế trái

Bước 6. Vào Data | nhóm Analysis | chọn lệnh Solver, hộp thoại Solver Parameters xuất hiện. Chúng ta tiến hành khai báo các thông số:


Tại By Changing Cells nhập vào địa chỉ của các nghiệm khởi tạo D8:D10

http://www.giaiphapexcel.com/video/Solver/h020.jpg
Hình 20. Khai báo By Changing Cells


Tại hộp Subject to the Constraints, nhấp nút Add để thêm ràng buộc vào hộp thoại Add Contraint như hình sau:

http://www.giaiphapexcel.com/video/Solver/h021.jpg
Hình 21. Thêm ràng buộc


Nhấp nút OK sau khi khai báo xong ràng buộc, hộp thoại Solver Parameters như sau:

http://www.giaiphapexcel.com/video/Solver/h022.jpg
Hình 22. Khai báo thông số cho Solver

Bước 7. Nhấp vào nút Solve để bắt đầu tìm nghiệm hệ phương trình. Khi Solver tìm được nghiệm thì hộp thoại Solver Results xuất hiện như hình sau:

http://www.giaiphapexcel.com/video/Solver/h023.jpg
Hình 23. Hộp thoại Solver Results

Bước 8. Chọn kiểu báo cáo:


Chọn Keep Solver Solution để lưu kết quả tìm được trên bảng tính.
Chọn Restore Original Values để hủy kết quả Solver vừa tìm được và trả các biến về tình trạng ban đầu.
Chọn Save Scenario… để lưu kết quả vừa tìm được thành một tình huống để có xem lại sau này. Ngoài ra bạn còn có thể chọn 3 loại báo cáo bổ sung là Answer, Sensitivity và Limits.

Bước 9. Chọn OK để hoàn tất quá trình chạy Solver.

http://www.giaiphapexcel.com/video/Solver/h024.jpg
Hình 10. Các nghiệm của hệ phương trình

Nghiệm của hệ phương trình giải bằng Solver trong bài trên có độ chính xác một phần triệu, chúng ta có thể tăng độ chính xác lênh bằng cách chỉnh lại Precision trong Options của hộp thoại Solver Parameters.

TranThanhPhong
01-07-10, 06:07 AM
Chuyên đề Solver trong Microsoft Excel 97-2010
Biên soạn: Trần Thanh Phong


Nội dung

1. Add-Ins Solver
1.1. Add-In Solver cho Excel 2003
1.2. Add-In Solver cho Excel 2007
2. Sử dụng Solver
2.1. Trường hợp Excel 97-2007
2.2. Trường hợp Excel 2010
3. Tìm nghiệm cho hệ phương trình
4. Bài toán tối ưu và qui hoạch tuyến tính
4.1. Tối ưu một mục tiêu
4.2. Qui hoạch nguyên
4.3. Bài toán đầu tư
5. Lựa chọn danh mục đầu tư
5.1. Giới thiệu bài toán
5.2. Xác định các biến quyết định
5.3. Xác định mục tiêu
5.4. Xác định các ràng buộc
5.5. Triển khai mô hình lên bảng tính
5.6. Nhận xét
5.7. Giải quyết mâu thuẫn giữa lợi nhuận và rủi ro

http://www.giaiphapexcel.com/video/Solver/ChuyendeSolver.jpg