Đặc biệt, nếu tất cả các yếu tố biến số liên quan đến khả năng, mục đích và quyết định lựa chọn đều có mối quan hệ tuyến tính thì chúng ta hoàn toàn có thể sử dụng mô hình quy hoạch tuyế
Trang 1TR¦êNG §¹I HäC VINH
KHOA TO¸N
- -lª thÞ thu hiÒn
øNG DôNG PHÇN MÒM MICROSOFT OFFICE EXCEL
§Ó GI¶I BµI TO¸N QUY HO¹CH TUYÕN TÝNH
KHãA LUËN TèT NGHIÖP §¹I HäC
NGµNH TO¸N TIN Häc øNG DôNG
VINH 2010
Trang 2TR¦êNG §¹I HäC VINH
KHOA TO¸N
- -lª thÞ thu hiÒn
øNG DôNG PHÇN MÒM MICROSOFT OFFICE EXCEL
§Ó GI¶I BµI TO¸N QUY HO¹CH TUYÕN TÝNH
KHãA LUËN TèT NGHIÖP §¹I HäC
NGµNH TO¸N Tin häc øNG DôNG
C¸n bé híng dÉn khãa luËn Th.S NguyÔn ThÞ Thanh HiÒn
Sinh viªn thùc hiÖn: Lª ThÞ Thu HiÒn
Líp 47 B To¸n Tin häc øng dông
Trang 31.2 Tính chất bài toán quy hoạch tuyến tính……… 4
1.3 Phơng pháp đơn hình……… 6
Chơng 2 Giải bài toán quy hoạch tuyến tính trên Microsoft Office Excel 13
2.1 Công cụ Add – Ins Solver……… 13
2.2 Giải bài toán quy hoạch tuyến tính trên Microsoft Office Excell…… 18
2.3 Giải thích thuật ngữ……… 25
2.4 Hạn chế khi giải bài toán quy hoạch tuyến tính trong Excel………… 27
Chơng 3 Các bài toán mở rộng……… 28
3.1 Bài toán lập kế hoạch sản xuất……… 28
3.2 Bài toán vận tải……… 33
3.3 Giải bài toán quy hoạch phi tuyến……… 37
Kết luận……… 40
Tài liệu tham khảo……… 41
Mở ĐầU
Thực tế hiện nay, sự cạnh tranh trong hoạt động sản xuất kinh doanh luôn đòi hỏi các nhà quản lý doanh nghiệp phải thờng xuyên lựa chọn phơng án để đa ra các quyết định nhanh chóng, chính xác và kịp thời với những ràng buộc và hạn chế về các điều kiện liên quan tới tiềm năng của doanh nghiệp, điều kiện thị trờng, hoàn cảnh tự nhiên và xã hội Việc lựa chọn phơng án nào là tối u theo mục tiêu đã định trớc là hết sức quan trọng Đặc biệt, nếu tất cả các yếu tố (biến số) liên quan đến khả năng, mục đích và quyết định lựa chọn đều có mối quan hệ tuyến tính thì chúng ta hoàn toàn có thể sử dụng mô hình quy hoạch tuyến tính để mô tả, phân
tích và tìm lời giải cho vấn đề lựa chọn tối u Trong đó phơng pháp đơn hình đợc George Bemanrd Dantzig đa ra năm 1947 cùng lúc với việc khai sinh ra quy hoạch tuyến tính, phơng pháp này thực sự có hiệu quả để giải những bài toán quy hoạch tuyến tính cỡ lớn trong thực tế mà ta thờng gặp, nh để vận chuyển hàng hóa đầy đủ nhng có tổng chi phí là nhỏ nhất – đây chính là bài toán vận tải Hoặc trong kinh
Trang 4doanh phải lập kế hoạch sản xuất đối với các nguyên liệu và sản phẩm để thu đợctổng lợi nhuận là lớn nhất…
Tuy nhiên, trong thực tế công việc này lại khá phức tạp, gây không ít khó khăn
và lúng túng cho những đối tợng quan tâm đến nó Để giải quyết vấn đề này, trongphần mềm ứng dụng Microsoft Office Excel sử dụng một công cụ cài thêm là
Sover có thể giải các bài toán tối u nhanh chóng Solver là một chức năng tính toán
trong Microsoft Excel Nó chủ yếu đợc sử dụng để xác định giá trị tối đa hay tốithiểu của một mục tiêu đợc xếp vào một ô trong bảng tính Excel Trong tối u hóa,Excel Solver là một công cụ rất mạnh mẽ Solver là một sự kết hợp của một số lợngrất nhiều các chơng trình Các chơng trình chức năng của nó gồm giao diện ngờidùng đồ họa (the Graphical User Interface - GUI), một ngôn ngữ mô hình đại số (ví
dụ nh phần mềm để xử lý số liệu có tên là General algebraic Modeling Systems(GAMS)), và tối u cho tuyến tính, phi tuyến tính, và các chơng trình số nguyên.Với những công cụ mạnh mẽ kết hợp với nhau, Solver có thể tìm thấy một giá trịtối u cho một ô trong bảng tính mục tiêu Để hiểu biết rõ hơn về phơng pháp cũng
nh cách thức giải một bài toán quy hoạch tuyến tính trong Microsoft Excel, chúng
tôi lựa chọn đề tài luận văn ứng dụng phần mềm Microsoft Office Excel để giải
bài toán quy hoạch tuyến tính Việc sử dụng phần mềm Microsoft Excel để giải
các bài toán quy hoạch tuyến tính đã đợc nhiều nhà toán học quan tâm và nhiều tàiliệu đề cập đến (xem [3], [5])
Nội dung khóa luận đợc trình bày thành ba chơng
Chơng 1 trình bày bài toán quy hoạch tuyến tính
Chơng 2 trình bày giải bài toán quy hoạch tuyến tính trên Microsoft Excel Chơng 3 trình bày các bài toán mở rộng
Khóa luận đợc viết dựa trên những tài liệu cở sở của Quy hoạch tuyến tính vànhững webside về phần mềm Microsoft Excel trên internet Tuy nhiên, do trình độbản thân còn hạn chế nên khóa luận không tránh khỏi những thiếu sót, nhầm lẫnhoặc cha hiểu sâu vấn đề Bản thân tác giả mong đợc sự góp ý, phê bình, tha thứ vàgiúp đỡ của các thầy cô giáo giảng dạy và hớng dẫn viết luận văn, cũng nh ban chủnhiệm khoa Toán – Trờng Đại học Vinh
Tác giả xin chân thành cảm ơn sự giúp đỡ hớng dẫn tận tình của các thầy côgiáo trong tổ Xác xuất thống kê và Toán ứng dụng – Khoa Toán, đặc biệt là côgiáo Nguyễn Thị Thanh Hiền đã giành nhiều thời gian và sự quan tâm nhiệt tình h-ớng dẫn giúp đỡ tác giả hoàn thành khóa luận này
Tác giả
Trang 5Chơng 1 BàI TOáN QUY HOạCH TUYếN TíNH 1.1 Bài toán
Xét bài toán quy hoạch tuyến tính tổng quát:
min {f(X) =}
với điều kiện
Trong trờng hợp đặc biệt, bài toán quy hoạch tuyến tính có dạng:
min{f(X)=} (1.1)
với điều kiện
Bài toán có dạng (1.1)(1.2)(1.3) đợc gọi là bài toán quy hoạch tuyến tính dạng chính tắc.
Chú ý rằng bài toán quy hoạch tuyến tính tổng quát có thể đa về bài toán quyhoạch tuyến tính dạng chính tắc tơng đơng nhờ các quy tắc sau đây
+ Nếu có bất đẳng thức hoặc thì ta đa thêm ẩn phụ x n+i ≥ 0, với hệ số hàm mụctiêu c n+i = 0 để có
hoặc b i + Nếu có ẩn x k cha ràng buộc về dấu, thì có thể thay nó bởi hai biến mới vàkhông âm, với x k = -
Để thuận lợi trong trình bày, chúng ta đa ra các cách viết khác nhau của bài toán(1.1)(1.2)(1.3) nh sau:
* Dạng ma trận: Ký hiệu ma trận hàng C = ( c 1 c 2 … c n ) 1ì n
Các ma trận cột: X = (x 1 x 2 … x n ) T
nì1 ;b = (b 1 b 2 … b m ) T
m ì 1 và ma trận A=(a ij )m ìn
Ta có bài toán: min CX
với điều kiện
* Dạng vector: Ký hiệu các vector
C = (c 1 , c 2 , …, c n ), X = (x 1 , x 2 , …, x n ),
A o = (b 1 , b 2 , …,b m ), A j = (a1j , a2j , , a nj ), j=1, 2, …, n.
Trang 6Ta có bài toán: min <C,X>
với điều kiện
1.2 Tính chất bài toán quy hoạch tuyến tính
+ m < n, (trong trờng hợp m ≥ n thì tập phơng án có nhiều nhất một điểm, do
vậy việc tốt u là tầm thờng)
Ký hiệu M là tập phơng án của bài toán (1.1)(1.2)(1.3).
1.2.2 Định lý M là một tập lồi
Chứng minh: xem [1], tr 21.
Định nghĩa Ta gọi điểm cực biên của tập lồi các phơng án là phơng án cực
biên.
Phơng án X = (x j) đợc gọi là bị chặn nếu tồn tại số thực q hữu hạn sao cho 0≤x j
≤ q, ∀ j = 1, 2, …, n Tập phơng án M là bị chặn nếu mọi phơng án đều bị chặn.
Tập phơng án M ≠∅ và bị chặn đợc gọi là đa diện lồi
1.2.3 Tính chất của bài toán quy hoạch tuyến tính
1.2.3.1 Định lý Nếu tập phơng án của bài toán quy hoạch tuyến tính là đa
diện lồi thì tồn tại phơng án cực biên tối u.
Chứng minh: xem [2], tr 40.
Trong trờng hợp tổng quát với M nào đó, ta có định lý:
1.2.3.2 Định lý Nếu bài toán quy hoạch tuyến tính có phơng án tối u, thì có ít
nhất một phơng án cực biên tối u.
Hệ quả Số tọa độ dơng của phơng án cực biên có tối đa là m.
Số phơng án cực biên của M là hữu hạn.
Chứng minh: xem [2], tr 45.
Trang 7Định nghĩa Phơng án cực biên có đủ m tọa độ dơng đợc gọi là không suy biến
(hay không thoái hóa).
Bài toán quy hoạch tuyến tính có tất cả các phơng án cực biên không suy biến
đ-ợc gọi là bài toán không suy biến.
Hệ m vector {A j} độc lập tuyến tính tơng ứng với phơng án cực biên X nh đã nêu
trong định lý 1.2.3.3 gọi là cơ sở liên kết của X.
Trên cơ sở định lý 1.2.3.3 và hệ quả, ta có thể xem đó là tiêu chuẩn sàng lọc đểgiữ lại hữu hạn phơng án cực biên và đi tìm phơng án tối u trên tập hữu hạn này
Xét bài toán
min CX (1.1)
với điều kiện
Với các giả thiết đã nêu, nay ta giả thiết thêm rằng:
- Bài toán (1.1)-(1.3) không suy biến
- Biết trớc một phơng án cực biên xuất phát Xo
Không mất tính tổng quát, giả sử ma trận A chứa cơ sở là ma trận đơn vị A1A2…
Am Khi đó mỗi vector Aj biểu diễn qua cơ sở có tọa độ là A j = (x ij)
Chú ý: Trong trờng hợp cơ sở đơn vị thì x ij = a ij
Với giả thiết đã nêu ta có phơng án cực biên Xo có dạng
Xo = (x1 , x2 , …, xmo, 0, …, 0)với cơ sở liên kết A1A2…Am, có ma trận B = (A1A2…Am) hạng m.
Ký hiệu XB* = (x1 , x2 , …, xmo), C* = (c1, c2, …, cm).
∆j = C*Xj - c j = - c j (1.4)trong đó x ij là tọa độ thứ i của vector Aj trong cơ sở B.
Chú ý rằng trong trờng hợp B là hệ cơ sở đơn vị thì x ij = a ij
1.3.2 Cơ sở lý luận
1.3.2.1 Định lý (Dấu hiệu tối u) Nếu tại phơng án cực biên X o , có mọi ∆j ≤0, j
= 1, 2, …, n thì X o tối u.
Trang 8Chứng minh: xem [2], tr 71.
Khi không xảy ra mọi ∆j ≤ 0, tức là tồn tại ∆k > 0, thì Xo cha khẳng định đợctối u
1.3.2.2 Định lý Nếu tại phơng án cực biên X o , tồn tại ∆k > 0 và mọi x ik ≤ 0 (i
= 1, 2, …, m) thì bài toán không có phơng án tối u (hàm mục tiêu không bị chặn trên tập phơng án).
b) Chọn vector A ℓ ra khỏi cơ sở nhờ vào việc xác định: λo = =
Lúc này phơng án cực biên mới sẽ có cơ sở là A1…A s-1 A s+1…AmAk.
Vấn đề đặt ta là: tại phơng án cực biên Xo, biết đợc các đại lợng x i o , x ij , ∆j và
f(Xo) Tại phơng án cực biên X1, chúng ta cần tính đại lợng tơng ứng x i 1 , x ’
Trang 9Nếu không, chuyển sang bớc 2.
Bớc 2 Kiểm tra tồn tại ∆j > 0 mà ∀x ij ≤ 0 ?
Nếu có, chuyển sang bớc 6
Nếu không, chuyển sang bớc 3
Bớc 3 Chọn ∆k = ∆j, đa A k vào cơ sở
Bớc 4 Tìm = , đa A s ra khỏi cơ sở
Bớc 5 Xây dựng phơng án cực biên X1 theo công thức đã nêu
Gán Xo := X1 rồi trở lại bớc 1.
Bớc 6 Dừng lại, trả lời có hay không có phơng án tối u
1.3.3 Định lý Nếu bài toán quy hoạch tuyến tính không suy biến thì thật toán
Trang 10Trờng hợp 2 Xét bài toán dạng chính tắc
min{f(X)=} (1.1’)
với điều kiện
Khi ma trận A = (a ij) cha chứa ma trận đơn vị, ta đa thêm ẩn giả tạo x n+i ≥ 0 với
hệ số hàm mục tiêu c n+i = M > 0 đủ lớn để có bài toán giả tạo (M) nh sau:
min{f(X)=+ M()} (1.9)
với điều kiện
Lúc này bài toán (M) có ma trận chứa ma trận đơn vị nh đã nêu trong trờng hợp
1, có thể chọn cơ sở đơn vị {A n+i} với các ẩn cơ sở x n+i, i = 1, 2, …, m, ta đợc phơng
án cực biên xuất phát
= (0, 0, …, 0, b 1, b 2, …, b m) ∈ϒn+m Xuất phát từ , có thể giải bài toán (M) bằng phơng pháp đơn hình Vấn đề đặt ra
là giữa bài toán (1.1)-(1.3) đã cho và bài toán (M) có mối quan hệ nh thế nào? Định
lý sau đây sẽ cho ta câu trả lời
Định lý Có thể tìm đợc số M o > 0 đủ lớn, sao cho với mọi M > M o thì
a) Bài toán (1.1 ’ )-(1.3 ’ ) có phơng án tối u X khi và chỉ khi bài toán (M) có
Trang 11∆j ta nên tách làm hai hàng ghi αj và βj Để đánh giá ∆j, trớc hết chú ý xét tới βj, sau
đó nếu cần thiết mới xét đến αj
+ Khi ẩn giả tạo x n+i = 0 với mọi i, tức là A n+i không tham gia trong cơ sở nữa thì
ta không cần tính cột n +i.
Ví dụ 2 Xét bài toán
max (f = x1 + 2x2 – x3) với điều kiện
Thay max f(X) bởi min {- f(X)}, đa vào ẩn phụ x4, x5 ≥ 0, ta có bài toán tơng
đ-ơng sau
min (- f = - x1 – 2x2 + x3) với điều kiện
Ta mới có A4 là vector đơn vị Cần đa thêm hai ẩn giả tạo x6, x7 ≥ 0, để đợc bàitoán giả tạo (M):
Min (- x1 – 2x2 + x3 + Mx6 + Mx7) với điều kiện
Dễ dàng xác định phơng án cực biên của bài toán (M) với cơ sở liên kết đơn vị A4A6A7 là = (0, 0, 0, 6, 0, 6, 4)
Kết quả xem bảng sau đây:
Trang 12Tại bảng IV có ∆j ≤ 0, (j = 1, …, 5) nên ta có phơng án tối u là
Xt = (14/5, 12/5, 2/5, 0, 0), với fmax = 36/5.
Chơng 2 GIảI BàI TOáN QUY HOạCH TUYếN TíNH TRÊN MICROSOFT
OFFICE EXCEL 2.1 Công cụ Add-Ins Solver
2.1.1 Cài đặt
Trình cài thêm (Add-Ins) Solver thờng có mặt trong gói phần mềm Microsoft
Office khi cài đặt với lựa chọn Complete (đầy đủ) hoặc khi lựa chọn Custom (theo
ý ngời sử dụng) với lựa chọn cho Excel là Run all from my computer (cài đặt Excel
với đầy đủ các thành phần)
Để cài thêm Solver, ta tiến hành các bớc nh sau:
1 Lắp đĩa nguồn cài đặt Office gốc vào ổ CD-ROM hoặc ổ DVD
2 Mở một file Excel
3 Truy cập menu Tools/ Add-Ins (xem hình 2.1):
Trang 13H×nh 2.1.Menu Tools trªn thanh c«ng cô chän Add-Ins.
XuÊt hiÖn b¶ng Add-Ins nhÊp chän Solver Add-in (xem h×nh 2.2)
H×nh 2.2.Hép tho¹i Add-Ins chøa c¸c chøc n¨ng më réng cña Excel.
XuÊt hiÖn th«ng b¸o, chän
2.1.2.1 Hép tho¹i Solver Parameters
Truy cËp menu Tools/ Solver XuÊt hiÖn cöa sæ Solver Parameters (xem h×nh
2.4)
Trang 14Hình 2.4 Hộp thoại Solver Parameters để nhập các tham số cho bài toán.
Các thuật ngữ trong hộp thoại Solver Parameters trình bày trong bảng 1
Bảng 1 ý nghĩa các nút lệnh trong hộp thoại Solver Parameters
Set Target Cell Ô chứa địa chỉ tuyệt đối của hàm mục tiêu (ô đích)
Equal To Max Chọn mục này khi cần tìm max của hàm mục tiêu
Equal To Min Chọn mục này khi cần tìm min của hàm mục tiêu
Equal To Value of Chọn mục này và nhập giá trị vào ô hình chữ nhật bên cạnhnếu muốn ô đích bằng một giá trị nhất định.
By Changing Cells Ô chứa các địa chỉ tuyệt đối của các biến của bài toán.Subject to the
Constrains Mục này dùng để nhập các ràng buộc của bài toán.
Để đoán giá trị trong các ô không chứa công thức do công thức trong ô đích chỉ đến
Hiển thị hộp thoại Add Constraint để thêm các ràng buộc (xem phần 2.1.2.2)
Hiển thị hộp thoại Change Constrait để thay đổi các ràng buộc
Để xóa ràng buộc đã chọn
Thực hiện việc giải toán
Đóng hộp thoại Solver Parameters mà không tiến hành giải bài toán
Hiển thị hộp thoại Solver Options để ghi mô hình bài toán, nạp lại mô hình đã ghi hoặc nhập các lựa chọn khác (xem phần 2.1.2.3)
Trang 15Xóa các thiết lập cho bài toán hiện tại và khôi phục các thiết lập ngầm định.
Hiển thị trợ giúp cho Solver
Cách làm của Solver là thay đổi giá trị của các biến tại By Changing Cells cho
đến khi giá trị của hàm mục tiêu tại Set Target Cell đạt một giá trị quy định tại
Equal To và đồng thời thỏa mãn tập các ràng buộc tại Subject to the Constraints.
2.1.2.2 Hộp thoại Solver Options
Khi chọn Options trong hộp thoại Solver Parameters xuất hiện hộp thoại SolverOptions (xem hình 2.5), Solver cho phép chọn một số tùy chọn để tiến hành giải bàitoán nh thời gian giải bài toán, số lần lặp, độ chính xác của kết quả, thật toán tìmtối u… Bảng 2 trình bày ý nghĩa của các lựa chọn này
Hình 2.5 Thiết lập các thuộc tính cho Solver.
Bảng 2 ý nghĩa các nút trong hộp thoại Solver Options
Thời gian giải bài toán Ngầm định là 100s Giá trị tối đa là32767s
Số lần lặp Ngầm định là 100 Số lần lặp tối đa là 32767
Độ chính xác Giá trị này luôn nằm trong khoảng [0, 1] để
điều chỉnh sai số cho các ràng buộc Giá trị càng gần 0 càng đòi hỏi độ chính xác càng cao của các ràng buộc
Giá trị này tính bằng (%) và có tác dụng đối với các bài toán có ràng buộc nguyên Giá trị lựa chọn (sai số) càng lớn thì tốc độ giải càng nhanh
Trang 16Mức độ hội tụ của hàm mục tiêu Giá trị này nằm trong khoảng [0, 1] Lựa chọn này chỉ có ý nghĩa đối với bài toánquy hoạch phi tuyến Sau 5 lần lặp cuối cùng, nếu thay đổi trong ô chứa hàm mục tiêu nhỏ hơn giá trị này thì Solver dừng quá trình tính toán Giá trị này càng nhỏ thì thồi gian tính toán càng dài.
Khi tất cả quan hệ trong mô hình là tuyến tính thì chọn mục này để tăng tốc độ giải bài toán
Giả thiết các biến không âm Chọn mục này khi có ràng buộc về dấu của các biến
Chọn mục này khi giá trị đầu vào và kết quả có độ lớn khácnhau Solver sẽ tự động điều chỉnh các biến để tìm ra lời giải Chẳng hạn nh bài toán tối đa % lợi nhuận trên hàng triệu vốn đầu t
Chọn mục này nếu muốn Solver tạm dừng lại và hiển thị kết quả sau mỗi lần lặp
Chọn phơng án cho Solver ớc lợng các biến Tangent: Sử dụng cách xấp xỉ tuyến tính bậc nhất
Quandratic: Sử dụng cấp xỉ bậc hai Lựa chọn này cho độ chính xác cao hơn đối với bài toán quy hoạch phi tuyến Chọn cách để ớc lợng hàm mục tiêu và các ràng buộc Rorward: Dùng khi giá trị của các ràng buộc thay đổi
chậm (đợc dùng phổ biến)
Central: Dùng khi giá trị của các ràng buộc biến đổi
nhanh và khi Solver báo không thể cải tiến kết quả đợc.Quy định cho Solver giải thuật tìm kiếm kết quả cho bài toán
Newton: Là phơng pháp mặc định, sử dụng nhiều bộ
nhớ nhng có số lần lặp ít Conjugate: Cần ít bộ nhớ nhng số lần lặp nhiều hơn.Đợc
sử dụng khi giải các bài toán phức tạp và bộ nhớ máy tính
có giới hạn
Chọn nơi lu mô hình toán Sử dụng khi muốn lu nhiều mô hình trên một worksheet Mô hình đầu tiên đã lu tự động.Hiển thị hộp thoại Load modle để xác định vùng địa chỉ của mô hình bài toán cần nạp vào
2.2 Giải bài toán quy hoạch tuyến tính trên Microsoft Excel
Excel Solver có thể tìm cực đại hay cực tiểu của một hàm số đặt trong một ô gọi
là ô đích Solver chỉnh sửa một nhóm các ô (gọi là các ô có thể chỉnh sửa) có liênquan trực tiếp hay gián tiếp đến công thức nằm trong ô đích để tạo ra kết quả Ta cóthể thêm vào các ràng buộc để hạn chế các giá trị mà Solver có thể dùng Đối vớibài toán quy hoạch tuyến tính Solver dùng phơng pháp đơn hình, đối với bài toán
Trang 17quy hoạch phi tuyến Solver dùng phơng pháp giảm gradient để tìm một cực trị địaphơng.
Xét bài toán quy hoạch
min {f(X) = c1x1 + c2x2 + … + cnxn} (2.1) với điều kiện
Trong đó Q là một trong các phép toán quan hệ ≥, ≤, =, thứ tự các phép toánquan hệ trong các ràng buộc là tùy ý Nh vậy bài toán (2.1) có thể là bài toán quyhoạch tuyến tính thông thờng, quy hoạch tuyến tính nguyên hay quy hoạchboolean
Cách bố trí dữ liệu trên bảng tính:
c[1] c[2] … c[n] ∑ c[i] x[j]
a[1,1] A[1,2] … a[1,n] ∑ a[1,j] x[j] b[1]
a[2,1] A[2,2] … a[2,n] ∑ a[2,j] x[j] b[2]
Các bớc thực hiện để giải bài toán:
Bớc 1 Nhập dữ liệu bài toán vào bảng tính dới dạng sau:
Hình 2.6. Tổ chức bài toán trên bảng tính .