Ứng dụng: Trong thực tế Solver cú rất nhiều ứng dụng, tuy nhiờn ứng dụng lớn nhất của Solver đú là để giải cỏc bài toỏn tối ƣu (cú liờn quan đến quản lý).
Bài toỏn tối ƣu: Cỏc bài toỏn tối ƣu mà chỳng ta hay gặp đú là bài toỏn về lập kế hoạch sản xuất; bài toỏn quản lý vật tƣ; bài toỏn phõn cụng. Bài toỏn tối ƣu tổng quỏt cú dạng nhƣ sau:
-f(x1, x2, ...,xj) min (hoặc max)
-Với hệ cỏc ràng buộc {g(x1, x2,...,xi)<>bi} -Trong đú:
f(x1, x2, ...,xj) đƣợc gọi là Hàm mục tiờu
g(x1, x2,...,xi) đƣợc gọi là Cỏc ràng buộc
Vớ dụ 1: Bài toỏn lập kế hoạch sản xuất.
-Bỏc Ba Phi muốn trồng lỳa gạo và ngụ, nhƣng khổ 1 nỗi bỏc lại bị hạn chế về diện tớch đất canh tỏc, nƣớc tƣới và nhõn cụng trồng trọt, cỏc hạn chếđƣợc cho trong bảng dƣới. Cõu hỏi của Bỏc là nờn trồng bao nhiờu tấn lỳa gạo là lỳa mỡ đểcú đƣợc lợi nhuận lớn nhất với điều kiện hạn chếnhƣ đó nờu.
TT Số liệu Lỳa gạo Lỳa mỡ Hạn chế
1 Diện tớch (ha/tấn) 2 3 50
7 Lợi nhuận (đồng/tấn) 18 21
Bảng 3.10. Cỏc điều kiện ràng buộc để sản xuất của bỏc Ba Phi
-Muốn biết đƣợc Bỏc sẽ trồng gạo và mỡ nhƣ thếnào đểđƣợc lợi nhuận lớn nhất ta sử dụng tớnh năng Solver, cỏc bƣớc thực hiện nhƣ sau:
-Gọi x và y là số tấn lỳa gạo và lỳa mỡ Bỏc phải sản xuất.
-Hàm mục tiờu: ởđõy chớnh là lợi nhuận mong muốn đạt đƣợc max: 18*x + 21*y
max. -Cỏc ràng buộc: Ràng buộc về diện tớch: 2*x + 3*y <=50 Ràng buộc vềlƣợng nƣớc: 6*x + 4*y <=90 Ràng buộc về nhõn cụng: 20*x + 5*y<=250 Ràng buộc về giỏ trị biến: x,y>=0
Hỡnh 3.7: Minh hoạ cỏch sử dụng Solver để bài toỏn lập kế hoạch sản xuất (vớ dụ 1)
Hỡnh 3.8: Hộp thoại Solver Parameters trợ giỳp nhập cỏc thụng số cho vớ dụ 1
TT Thao tỏc Giải thớch
1 Gừ cỏc nội dung nhƣ hỡnh trờn vào cỏc ụ từ A1 A6
Nội dung cỏc ụ từ A1 A6 chỉ mang ý nghĩa minh hoạ cho cỏc ụ từ B1 B6, cỏc ụ này cú thể khụng gừ vào cũng đƣợc vỡ nú chỉ giải thớch khụng cú ý nghĩa tớnh toỏn.
2 Gừ vào ụ B1 giỏ trị 1 ễ B1 là ụ chứa giỏ trị của ẩn X, gừ giỏ trị
tuỳ ý (khụng nhất thiết phải là số 1)
3 Gừ vào ụ B2 giỏ trị 1 ễ B2 là ụ chứa giỏ trị của ẩn Y, gừ giỏ trị tuỳ ý (khụng nhất thiết phải là số 1)
4 Gừ vào B3 =18*B1+21*B2
ễ B3 là ụ chứa Hàm mục tiờu, nơi chứa cụng thức tớnh lợi nhuận (với B1 là ẩn X, B2 là Y)
5 Gừ vào B4 = 2*B1+3*B2 ễ B4 là ụ chứa ràng buộc về diện tớch
6 Gừ vào B5 = 6*B1+4*B2 ễ B5 là ụ chứa ràng buộc về lƣợng nƣớc
7 Gừ vào B6 = 20*B1+5*B2 ễ B6 là ụ chứa ràng buộc về nhõn cụng
8 Vào menu Tool / Solver Sử dụng tớnh năng Solver để tớnh toỏn
9 Xuất hiện hộp thoại Solver Bắt đầu điền vào cỏc thụng số
11 Chọn Max
Giỏ trị Max chớnh là giỏ trị mà ụ B3 sẽ nhận, ở trong vớ dụ này chớnh là ta mong muốn lợi nhuận phải là cao nhất.
12 Trong hộp By changing cell gừ $B$1:$B$2
B1 và B2 là địa chỉ của cỏc ụ chứa giỏ trị sẽ thay đổi khi ụ B3 đạt Max, ở vớ dụ này B1 là ẩn X, B2 là ẩn Y (số lỳa gạo và số lỳa mỡ cần sản xuất)
13 Kớch cho Add Chuẩn bị nhập cỏc ràng buộc
14 Xuất hiện hộp thoại Add Constraint Nhập vào ràng buộc thứ 1 15 Tại Cell Reference gừ $B$4 Ràng buộc về diện tớch
16 Chọn <= Nhỏ hơn hoặc bằng
17 Tại Constrain gừ 50 Ràng buộc về diện tớch <=50 theo đầu bài
18 Kớch Add Nhập vào ràng buộc thứ 2
19 Tại Cell Reference gừ $B$5 Ràng buộc về lƣợng nƣớc
20 Chọn <= Nhỏ hơn hoặc bằng
21 Tại Constrain gừ 90 Ràng buộc về diện tớch <=90 theo đầu bài
22 Kớch Add Nhập vào ràng buộc thứ 3
24 Tại Cell Reference gừ $B$6 Ràng buộc về nhõn cụng
25 Chọn <= Nhỏ hơn hoặc bằng
26 Tại Constrain gừ 250 Ràng buộc về nhõn cụng <=250 theo đầu bài
27 Kớch Add Nhập vào ràng buộc thứ 4
28 Tại Cell Reference gừ $B$1 Ràng buộc về số lỳa gạo sản xuất
29 Chọn >= Lớn hơn hoặc bằng
30 Tại Constrain gừ 0 Số lỳa gạo sản xuất phải lớn hơn =0
31 Kớch Add Nhập vào ràng buộc thứ 5
34 Tại Constrain gừ 0 Số lỳa mỡ sản xuất phải lớn hơn =0 35 Chọn OK Kết thỳc việc nhập cỏc ràng buộc
36 Kớch Solver Xem kết quả
37
Để giữ kết quả Solver trờn bảng tớnh, kớch Keep Solver Solution trong hộp thoại Solver Results
Giữ kết quả
38 Để khụi phục lại dữ liệu gốc, kớch
Restore Original Values Xem qua kết quả, giữ nguyờn giỏ trị gốc
39
Để lƣu trữ kết quả nhƣ một Scenario thỡ kớch Save Scenario. Gừ tờn của Scenario vào hộp Scenario name
Lƣu trữ kiểu Scenario, khi cần cú thể xem lại
40 Kết thỳc chọn OK Kết thỳc toàn bộ, kết quả là 7 tấn lỳa gạo và 12 tấn lỳa mỡ
Bảng 3.11. Cỏc bƣớc thực hiện dựng tớnh năng Solver Parameters trợ giỳp nhập cỏc thụng số cho vớ dụ 1
Vớ dụ 2: Bài toỏn sử dụng vật tƣ
-Cụng ty REDWALL lập kế hoạch sản xuất cỏc cấu kiện bờ tụng đỳc sẵn. Cụng ty dự định sản xuất 3 loại cấu kiện đỳc sẵn là Tấm đan; Cột điện, Panen. Định mức về xi măng, thộp và đỏ cho mỗi loại cấu kiện đƣợc cho ở bảng dƣới. Hiện tại lƣợng vật tƣ cũn lại trong kho là: Xi măng cũn 3.400 kg; thộp cũn 1.800 kg; đỏ cũn 22 m3. Vậy cụng ty nờn sản xuất Tấm đan; Cột điện; Panen nhƣ thế nào để tận dụng 1 cỏch tốt nhất lƣợng vật tƣ cũn lại trong kho.
TT Số liệu Tấm đan Cột điện Panel
1 Xi măng (kg) 300 100 200
5 Thộp (kg) 100 100 200
6 Đỏ (m3) 1 3 2
Bảng 3.12. Số liệu thống kờ vật tƣ cũn lại trong kho
-Gọi x là số lƣợng Tấm đan cần sản xuất. -Gọi y là số lƣợng Cột điện cần sản xuất.
-Hàm mục tiờu: ở đõy khụng nhất thiết phải cú, tuy nhiờn ta sẽ chọn Hàm mục tiờu là 1 trong 3 phƣơng trỡnh dƣới đõy
-Cỏc ràng buộc:
Ràng buộc về xi măng: 300*x+100*y+200*z=3400 Ràng buộc về thộp: 100*x+100*y+200*z=1800 Ràng buộc về nhõn cụng: x+3*y+2*z=22
Ràng buộc về giỏ trị biến: x,y,z>=0
Hỡnh 3.9: Minh hoạ cỏch sử dụng Solver để bài toỏn sử dụng vật tƣ (vớ dụ 2)
1 Gừ cỏc nội dung nhƣ hỡnh trờn vào cỏc ụ từ A1 A6
Nội dung cỏc ụ từ A1 A6 chỉ mang ý nghĩa minh hoạ cho cỏc ụ từ B1 B6, cỏc ụ này cú thể khụng gừ vào cũng đƣợc vỡ nú chỉ giải thớch khụng cú ý nghĩa tớnh toỏn. 2 Gừ vào ụ B1 giỏ trị 1 ễ B1 là ụ chứa giỏ trị của ẩn X, gừ giỏ trị tuỳ ý (khụng nhất thiết phải là số 1) 3 Gừ vào ụ B2 giỏ trị 1 ễ B2 là ụ chứa giỏ trị của ẩn Y, gừ giỏ trị tuỳ ý (khụng nhất thiết phải làsố 1) 4 Gừ vào ụ B3 giỏ trị 1 ễ B3 là ụ chứa giỏ trị của ẩn Z, gừ giỏ trị tuỳ ý (khụng nhất thiết phải là số 1)
5 Gừ vào B4
=300*B1+100*B2+200*B3 ễ B4 là ụ chứa ràng buộc về xi măng
6 Gừ vào B5 =
100*B1+100*B2+200*B3 ễ B5 là ụ chứa ràng buộc về thộp
7 Gừ vào B6 = B1+3*B2+2*B3 ễ B6 là ụ chứa ràng buộc về đỏ
8 Vào menu Tool / Solver Sử dụng tớnh năng Solver để tớnh toỏn
9 Xuất hiện hộp thoại Solver Bắt đầu điền vào cỏc thụng số 10 Trong hộp By changing cell gừ
$B$1:$B$3
B1, B2, B3 là địa chỉ của cỏc ụchứa giỏ trị sẽ thay đổi khi ta nhập cỏc ràng buộc bằng 0, ở vớ dụ này đú là cỏc ẩn X, Y, Z
11 Kớch cho Add Chuẩn bị nhập cỏc ràng buộc
12 Xuất hiện hộp thoại Add Constraint Nhập vào ràng buộc thứ 1 13 Tại Cell Reference gừ $B$4 Ràng buộc về xi măng
14 Chọn = Bằng
15 Tại Constrain gừ 3400 Ràng buộc về xi măng nhƣ đầu bài
16 Kớch Add Nhập vào ràng buộc thứ 2
17 Tại Cell Reference gừ $B$5 Ràng buộc về lƣợng thộp
18 Chọn = Bằng
21 Tại Cell Reference gừ $B$6 Ràng buộc về đỏ
22 Chọn = Bằng
23 Tại Constrain gừ 22 Ràng buộc về đỏ nhƣ đầu bài
24 Kớch Add Nhập vào ràng buộc thứ 4
25 Tại Cell Reference gừ $B$1 Ràng buộc về số lƣợng Tấm đan
26 Chọn >= Lớn hơn hoặc bằng
27 Tại Constrain gừ 0 Số tấm đan sản xuất phải lớn hơn =0
28 Kớch Add Nhập vào ràng buộc thứ 5
29 Tại Cell Reference gừ $B$2 Ràng buộc về số lƣợng Cột điện
30 Chọn >= Lớn hơn hoặc bằng
31 Tại Constrain gừ 0 Số cột điện sản xuất phải lớn hơn =0
32 Kớch Add Nhập vào ràng buộc thứ 6
33 Tại Cell Reference gừ $B$3 Ràng buộc về số lƣợng Panen
34 Chọn >= Lớn hơn hoặc bằng
35 Tại Constrain gừ 0 Số panen sản xuất phải lớn hơn =0 36 Chọn OK Kết thỳc việc nhập cỏc ràng buộc
37 Kớch Solver Xem kết quả
38
Để giữ kết quả Solver trờn bảng tớnh, kớch Keep Solver Solution
trong hộp thoại Solver Results Giữ kết quả 39 Để khụi phục lại dữ liệu gốc, kớch
Restore Original Values Xem qua kết quả, giữ nguyờn giỏ trị gốc
40
Để lƣu trữ kết quả nhƣ một Scenario thỡ kớch Save Scenario. Gừ tờn của Scenario vào hộp Scenario name
Lƣu trữ kiểu Scenario, khi cần cú thể xem lại
41 Kết thỳc chọn OK Kết thỳc toàn bộ, kết quả là 8 tấm đan, 2 cột điện và 4 panen
Vớ dụ 3: Giải hệ phƣơng trỡnh tuyến tớnh 2*x+5*y+z=35
3*x+2*y+4*z=30 x+y+2*z=13
-Hàm mục tiờu: ở đõy khụng nhất thiết phải cú, tuy nhiờn ta sẽ chọn Hàm mục tiờu là 1 trong 3 phƣơng trỡnh
-Cỏc ràng buộc:
Ràng buộc của phƣơng trỡnh thứ 1: 2*x+5*y+z=35 Ràng buộc của phƣơng trỡnh thứ 2: 3*x+2*y+4*z=30 Ràng buộc của phƣơng trỡnh thứ 3: x+y+2*z=13
Hỡnh 3.12: Hộp thoại Solver Parameters trợ giỳp nhập cỏc thụng số cho vớ dụ 3
TT Thao tỏc Giải thớch
1 Gừ cỏc nội dung nhƣ hỡnh trờn vào cỏc ụ từ A1 A6
Nội dung cỏc ụ từ A1 A6 chỉ mang ý nghĩa minh hoạ cho cỏc ụ từ B1 B6, cỏc ụ này cú thể khụng gừ vào cũng đƣợc vỡ nú chỉ giải thớch khụng cú ý nghĩa tớnh toỏn. 2 Gừ vào ụ B1 giỏ trị 1 ễ B1 là ụ chứa giỏ trị của ẩn X, gừ giỏ trị
tuỳ ý (khụng nhất thiết phải là số 1)
3 Gừ vào ụ B2 giỏ trị 1 ễ B2 là ụ chứa giỏ trị của ẩn Y, gừ giỏ trị tuỳ ý (khụng nhất thiết phải là số 1)
4 Gừ vào ụ B3 giỏ trị 1 ễ B3 là ụ chứa giỏ trị của ẩn Z, gừ giỏ trị tuỳ ý (khụng nhất thiết phải là số 1)
5 Gừ vào B4 =2*B1+5*B2+B3 ễ B4 là ụ chứa phƣơng trỡnh thứ 1
6 Gừ vào B5 =3*B1+2*B2+4*B3 ễ B5 là ụ chứa phƣơng trỡnh thứ 2
7 Gừ vào B6 =B1+B2+2*B3 ễ B6 là ụ chứa phƣơng trỡnh thứ 3
8 Vào menu Tool / Solver Sử dụng tớnh năng Solver để tớnh toỏn
10 Trong hộp By changing cell gừ $B$1:$B$3
B1, B2, B3 là địa chỉ của cỏc ụ chứa giỏ trị sẽ thay đổi khi ta nhập cỏc ràng buộc bằng 0, ở vớ dụnày đú là cỏc ẩn X, Y, Z
11 Kớch cho Add Chuẩn bị nhập cỏc ràng buộc
12 Xuất hiện hộp thoại Add Constraint Nhập vào ràng buộc thứ 1
13 Tại Cell Reference gừ $B$4 Ràng buộc cho phƣơng trỡnh thứ 1
14 Chọn = Bằng
15 Tại Constrain gừ 35 Ràng buộc nhƣ đầu bài
16 Kớch Add Nhập vào ràng buộc thứ 2
17 Tại Cell Reference gừ $B$5 Ràng buộc cho phƣơng trỡnh thứ 2
18 Chọn = Bằng
19 Tại Constrain gừ 30 Ràng buộc nhƣ đầu bài
20 Kớch Add Nhập vào ràng buộc thứ 3
21 Tại Cell Reference gừ $B$6 Ràng buộc cho phƣơng trỡnh thứ 3
22 Chọn = Bằng
23 Tại Constrain gừ 13 Ràng buộc nhƣ đầu bài
36 Chọn OK Kết thỳc việc nhập cỏc ràng buộc
37 Kớch Solver Xem kết quả
38
Để giữ kết quả Solver trờn bảng tớnh, kớch Keep Solver Solution trong hộp thoại Solver Results
Giữ kết quả
39 Để khụi phục lại dữ liệu gốc, kớch
40
Để lƣu trữ kết quả nhƣ một Scenario thỡ kớch Save Scenario. Gừ tờn của Scenario vào hộp Scenario name
Lƣu trữ kiểu Scenario, khi cần cú thể xem lại
41 Kết thỳc chọn OK Kết thỳc toàn bộ, kết quả X=4, Y=5, Z=2
Bảng 3.14. Cỏc bƣớc thực hiện sử dụng Solver để giải hệphƣơng trỡnh