Đặ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
Vinh 2010
Trang 3MụC LụC
Trang
Mở đầu.……… 1
Ch-ơng 1 Bài toán quy hoạch tuyến tính……… 3
1.1 Bài toán……… 3
1.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
Trang 4Mở Đầ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 đủ nh-ng 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 doanh 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 đ-ợc tổ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, trong
phầ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ối thiể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-ợng rấ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-ời dù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
Trang 5trong 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ài liệ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ẫn hoặc ch-a 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 6Ch-¬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:
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 quy
ho¹ch tuyÕn tÝnh d¹ng chÝnh t¾c t-¬ng ®-¬ng nhê c¸c quy t¾c sau ®©y
Trang 7Ta cã bµi to¸n: min CX
víi ®iÒu kiÖn
Ta cã bµi to¸n: min <C,X>
víi ®iÒu kiÖn
Trang 8Tậ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 9Đị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
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
Trang 10Với giả thiết đã nêu ta có ph-ơng án cực biên Xo có dạng
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).
Chứng minh: xem [2], tr 73
1.3.2.3 Định lý Nếu tại ph-ơng án cực biên X o , tồn tại k > 0 và tồn tại x ik > 0
thì xây dựng đ-ợc ph-ơng án cực biên mới X 1 tốt hơn X o
Trang 11Vấ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 ’
a sk nếu i = k
x 0 i - x
0 s
Nếu có, chuyển sang b-ớc 6
Nế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
Trang 12NÕu kh«ng, chuyÓn sang b-íc 3
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 13Tr-êng hîp 2 XÐt bµi to¸n d¹ng chÝnh t¾c
Trang 14với điều kiện
Khi ma trận A = (a ij ) ch-a 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:
đặ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ó ph-ơng án tối -u X =(X, )
b) Nếu bài toán (M) có ph-ơng án tối -u X , trong đó chứa ẩn giả tạo x n+i > 0 thì tập ph-ơng án của bài toán (1.1 ’ )-(1.3 ’ ) rỗng
Chứng minh: xem [2], tr 85
ở đây (X, ) ký hiệu cho vector n + m chiều, m tọa độ cuối bằng 0
Nhận xét:
Trang 15+ Trong bài toán (M), j có dạng j = j + j M Vì vậy hàng m + 1 của
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ì
Trang 16
T¹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
Trang 17Trì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):
Hì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)
Trang 18H×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 19Hì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ạnh
nế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 20Xó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 Solver Options (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ài toá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ìm tố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 21Mứ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án quy 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ác nhau 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ộ
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ên
quan 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ó
Trang 22thể 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ới bà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 quy hoạch phi tuyến Solver dùng ph-ơng pháp giảm gradient để tìm một cực trị địa ph-ơng
Xét bài toán quy hoạch
(j = 1 … n)
Trong đó Q là một trong các phép toán quan hệ ≥, ≤, =, thứ tự các phép toán quan 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 quy hoạch tuyến tính thông th-ờng, quy hoạch tuyến tính nguyên hay quy hoạch boolean
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]