You are on page 1of 6

Hướng dẫn giải một số bài tập mẫu Solver

Bài tập B7.1:


Tìm giá trị cực đại của biểu thức 50x1+30x2+25x3+30x4 với các ràng buộc sau:
2x1+2.5x2+3x3+1.8x4 <=800 (1)
1.2x1+x2+2x3+0.8x4 <=400 (2)
1.5x1+1.2x2+1.5x3+0.8x4 <=380 (3)
x2 >=50 (4)
x3 >=30 (5)
x1, x2, x3, x4 >=0 (6)
Bước 1: Xác định biến của bài toán. Bài toán có 4 biến từ x 1 đến x4. Nhập giá trị
giả định bất kì cho 4 ô từ B4 đến E4.

Bước 2: Xác định hàm tối ưu. Hàm tối ưu của bài toán chính là giá trị F =
50x1+30x2+25x3+30x4. Nhập giá trị hàm tối ưu tại ô B9.

Bước 3: Xác định các ràng buộc. Bài toán có 6 ràng buộc được đánh số từ (1)
đến (6) ở trên. Nhập công thức cho các ràng buộc (1) (2) (3) tại các ô B16, B17, B18.

Thực hiện việc nhập các tham số vào hộp thoại Solver Parameters như sau:

1
Sau khi hoàn tất các bước trên, nhấn nút Solve, kết quả trả về như sau:

Từ bảng kết quả nhận được có thể kết luận giá trị tối ưu của hàm mục tiêu là
12409 tương ứng với bộ giá trị (x1, x2, x3, x4) là (24.545, 50, 30, 297.73).

2
Một số lưu ý đối với các chọn lựa trong mục Options của hộp thoại Solver
Parameters:

Constraint Precision: độ chính xác của giải thuật Solver. Số được thiết lập càng
nhỏ, độ chính xác càng cao.
Use Automatic Scaling: khi mục này được lựa chọn, Solver sẽ co giãn các giá trị
của biến, hàm mục tiêu, các ràng buộc một lượng tương tự nhau để tránh tác động của
các giá trị quá lớn hoặc quá nhỏ lên độ chính xác của quá trình thực hiện Solver.
Show Iteration Results: khi mục này được lựa chọn, Solver sẽ hiển thị giá trị cho
mỗi giải pháp thử (trial solution). Trong quá trình chạy Solver, hộp thoại Show Trial
Solution sẽ hiển thị, nhấn Continue để tiếp tục quá trình Solver hoặc nhấn Stop để
dừng quá trình chạy Solver và hiển thị kết quả.
Solving with Integer Constraints
Ignore Integer Constraints: khi mục này được lựa chọn, các ràng buộc giá trị
nguyên, giá trị nhị phân sẽ được bỏ qua khi thực hiện Solver.
Integer Optimality (%): khi giá trị được thiết lập là a, Solver cho phép giá trị tìm
được của bài toán nằm trong phạm vi sai số a% so với giá trị tối ưu thực sự. Nếu
muốn Solver tìm đúng giá trị tối ưu thực sự, thiết lập giá trị của lựa chọn này về 0.
Max Time (Seconds): thiết lập thời gian tối đa (giây) giải thuật Solver được phép
thực thi.
Iterations: Thiết lập số vòng lặp tối đa giải thuật được thực thi.

Bài tập B7.2:

3
Xem xét bài toán sau về lựa chọn chế độ ăn tối ưu. Bốn loại thức ăn được xem xét:
Khoai lang, thịt gà ta, chuối tiêu, giá đậu xanh. Giá trị dinh dưỡng và chi phí cho mỗi
100gr thức ăn được liệt kê trong bảng sau.
Khoai lang Thịt gà ta Chuối tiêu Giá đậu xanh
Calories 139 188 87 45
Đạm (gr) 0.8 20.3 1.5 5.5
Béo (gr) 0.2 13.1 0.2 0
Bột (gr) 28.5 0 22.2 5.3
Xơ (gr) 1.3 0 0.8 2.0
Chi phí (nghìn đồng) 1.5 30 1.6 0.8
Hãy tính toán chế độ ăn với chi phí thấp nhất sao cho vẫn đảm bảo chế độ dinh
dưỡng, biết rằng người bình thường mỗi ngày cần 2000 calories, 50gr đạm, 65gr chất
béo, 300gr chất bột, 25gr chất xơ.
Bước 1: Xác định biến của bài toán. Bài toán có 4 biến, chính là lượng thức ăn
nạp vào của mỗi loại thức ăn. Tiến hành nhập giá trị lượng thức ăn nạp vào (giá trị bất
kì) cho 4 ô từ B4 đến E4.

Bước 2: Xác định hàm tối ưu. Hàm tối ưu của bài toán chính là hàm chi phí (chi
phí thấp nhất). Nhập giá trị chi phí của mỗi loại thức ăn tại 4 ô từ B8 đến E8. Tính
tổng chi phí (hàm tối ưu) tại ô B9. Giá trị của hàm tối ưu được tính như sau:
B9 = B4*B8+C4*C8+D4*D8+E4*E8
= SUMPRODUCT(B4:E4, B8:E8)

Bước 3: Xác định các ràng buộc. Ràng buộc của bài toán chính là lượng calories,
lượng các chất đạm, béo, bột, xơ cần đảm bảo hàng ngày cho mỗi người. Nhập giá trị
dinh dưỡng của mỗi loại thức ăn và tính toán lượng dinh dưỡng tổng cộng theo lượng
thức ăn nạp vào như bảng sau:

4
Trong đó:
F13 = SUMPRODUCT($B$4:$E$4,B13:E13) – tổng lượng calories nạp vào
F14 = SUMPRODUCT($B$4:$E$4,B14:E14) – tổng lượng đạm nạp vào
F15 = SUMPRODUCT($B$4:$E$4,B15:E15) – tổng lượng chất béo nạp vào
F16 = SUMPRODUCT($B$4:$E$4,B16:E16) – tổng lượng chất bột nạp vào
F17 = SUMPRODUCT($B$4:$E$4,B17:E17) – tổng lượng chất xơ nạp vào
Ràng buộc cần đảm bảo:
F13 >=2000
F14 >=50
F15 >= 65
F16 >= 300
F17 >= 25
B4:E4 >=0
Thực hiện việc nhập các tham số vào hộp thoại Solver Parameters theo mẫu sau:

Nhấn nút Solve. Bài toán sẽ cho ra kết quả như sau:
5
Từ kết quả nhận được, có thể kết luận lượng thức ăn cần nạp vào tương ứng là
932.95gr khoai lang; 481,94gr thịt gà ta, không cần ăn chuối tiêu và 643.58gr giá đỗ
xanh là đủ năng lượng cũng như lượng chất đạm, béo, bột, xơ cho cả ngày.

Một số bài tập đề nghị


Bài tập B7.3:
Giải bài toán qui hoạch tuyến tính
f = 12x1 + 9x2 + 10x3 + 8x4  min (max)
với các ràng buộc:
3x1 - 2x2 + x3 + x4 =< 15
x1 + 2x2 + 2x3 + 3x4 =< 10
2x1 + x2 + 2x3 + x4 >= 12
xi > 0 vớ i = 1, 2, 3, 4
Bài tập B7.4:
Tìm cực tiểu
y = 10 + (x1 – 0.5)2 + (x2 + 2)2
với các ràng buộc:
π(x12 + x22) >= 10
x1 – 1.25 x2 =< 0
x1.x2 > 0
Bài tập B7.5:
Tìm cực đại
y = 10 + (x1 – 0.5)2 + (x2 + 2)2
với các ràng buộc:
π(x12 + x22) =< 10
x1 – 1.25 x2 >= 0
x1.x2 > 0

You might also like