- Định nghĩa: quy hoạch tuyến tính là lĩnh vực toán học nghiên cứu các bài toán tối ưu mà hàm mục tiêu vấn đề được quan tâm và các ràng buộc điều kiện của bài toán đều là hàm và các
Trang 1TRƯỜNG ĐẠI HỌC CỬU LONG KHOA TẠI CHỨC & LIÊN THÔNG
MÔ HÌNH TÀI CHÍNH
ĐỀ TÀI
MÔ HÌNH TỐI ƯU HÓA
TUYẾN TÍNH
Trang 2
CHƯƠNG 1 : GIỚI THIỆU 1
1.1 Giới thiệu bài toán quy hoạch tuyến tính 1
1.2 Lý do chọn đề tài: 1
CHƯƠNG 2: MÔ HÌNH TOÁN HỌC 3
2.1 Tóm tắt dữ kiên bài toán 3
2.2 Tìm mô hình toán học cho bài toán: 3
CHƯƠNG 3: MÔ HÌNH EXCEL 5
3.1 Mô hình ban đầu: 5
3.2 Lập công thức: 6
3.3 Công cụ hỗ trợ 7
TÀI LIỆU THAM KHẢO 14
Trang 3Hình 1: Mô hình đầu tiên của bài toán 5
Hình 2: Mô hình chứa công thức 6
Hình 3: Mô hình sau khi lập công thức chứa giá trị 7
Hình 4: Hộp thoại Solver Parameters 8
Hình 5: Mô hình khi nhập giá trị chứa hàm mục tiêu và chứa biến 9
Hình 6: Hộp thoại Add Contraint chứa ràng buộc thứ nhất 10
Hình 7: Hộp thoại Add Contraint chứa ràng buộc thứ hai 10
Hình 8: Hộp thoại Add Contraint chứa ràng buộc thứ ba 10
Hình 9: Hộp thoại Add Contraint chứa ràng buộc thứ tư 11
Hình 10: Hộp thoại Add Contraint chứa ràng buộc cuối cùng 11
Hình 11: Hộp thoại Solver Parameters chứa các ràng buộc 12
Hình 12: Hộp thoại SolverResults 13
Hình 13: Bảng kết quả cuối cùng của bài toán 13
Trang 4CHƯƠNG 1 : GIỚI THIỆU
1.1 Giới thiệu bài toán quy hoạch tuyến tính.
- Định nghĩa: quy hoạch tuyến tính là lĩnh vực toán học nghiên cứu các bài toán tối ưu
mà hàm mục tiêu ( vấn đề được quan tâm ) và các ràng buộc ( điều kiện của bài toán ) đều là hàm và các phương trình hoặc bất phương trình tuyến tính
- Mọi mô hình quy hoạch tuyến tính đều có 2 đặc điểm quan trọng: một hàm mục tiêu được tối đa hóa hoạc tối thiểu hóa và các điều kiện ràng buộc
như sau:
a Xác định vấn đề cần giải quyết, thu thập dữ liệu
b Lập mô hình toán học
c Xây dựng các thuật toán để giải bài toán đã mô hình hóa bằng ngôn ngữ thuận lợi cho việc lập trình cho máy tính
d Tính toán thử và điều chỉnh mô hình nếu cần
e Áp dụng giải các bài toán thực tế
1.2 Lý do chọn đề tài:
- Loài người xuất hiện trên trái đất cách đây hàng triệu năm, nhưng chỉ cách đây khoảng 5 hoặc 6 nghìn năm con người mới bắt đầu có những hoạt động trí óc Từ khi ngôn ngữ ra đời con người đã biết đến những khái niệm cơ bản ban đầu về toán học Cùng với sự tiến bộ về kinh tế - xã hội của loài người đã thúc đẩy toán học từng bước phát triển nhảy vọt Nhất là khi con người biết tạo ra sản phẩm cần thiết để phục vụ cho nhu cầu đời sống xã hội thì việc trao đổi hàng hóa cần có sự tính toán
- Không những thế, ngay từ khi con người biết suy nghĩ để tìm cách hành động sao cho
có lơi nhất cho mình theo những mục đích xác định Những yêu cầu cấp bách của sự phát triển nền kinh tế và quốc phòng lại càng làm nảy sinh những ý nghĩa tương tự Do đó đã xuất hiện một bài toán cần giải quyết, đó là bài toán về tìm phương án tối ưu
- Trong những năm gần đây, các phương pháp tối ưu hóa ngày càng được áp dụng sâu rộng và hiệu quả vào các ngành kinh tế, kỹ thuật, công nghệ thông tin và các ngành khoa học khác Các phương pháp tối ưu là công cụ đắc lực giúp người làm quyết định có những giải pháp tốt nhất về định lượng và định tính
Trang 5- Một trong những lớp bài toán tối ưu đầu tiên được nghiên cứu trọn vẹn cả về lý thuyết lẫn thuật toán là bài toán quy hoạch tuyến tính hay còn gọi là bài toán tối ưu hóa tuyến tính
- Quy hoạch tuyến tính ngay từ khi ra đời (vào cuối năm 30 của thế kỷ XX) đã chiếm
vị trí quan trọng trong tối ưu hóa Mô hình tuyến tính là mô hình rất phổ biến trong thực
tế vì sự phụ thuộc tuyến tính là sự phụ thuộc đơn giản và dễ hiểu nhất
- Các thuật toán giải quy hoạch tuyến tính là công cụ quan trọng trong việc nghiên cứu giải các bài toán phức tạp hơn.Để tìm hiểu rõ hơn về các lĩnh vực tính toán tối ưu tìm
được lợi nhuận lớn nhất hoặc nhỏ nhất nên em chọn đề tài: “ Mô hình tối ưu hóa tuyến
tính ”
- Đi sâu vào tìm hiểu về mô hình bài toán tối ưu tuyến tính em xin nêu một ví dụ cụ thể sau đây:
- Một trại chăn nuôi định nuôi 3 loại bò: bò sữa, bò thịt, bò cày Số liệu điều tra được cho trong bảng sau:
Đơn vị tính: ngàn đồng/con
- Tìm số bò mỗi loại cần nuôi sao cho tổng tiền lời là lớn nhất Biết rằng số bò sữa không quá 20 con, bò thịt không quá 30 con
- Bài toán này nhằm tìm giá trị lớn nhất trong mô hình tối ưu hóa tuyến tính.
- Nhằm mục đích giúp trại chăn nuôi đạt được lợi nhuận lớn nhất và để hiểu rõ trang bị
thêm kiến thức cơ bản về lý thuyết và thực tiễn về mô hình tối ưu hóa tuyến tính khi áp dụng thực tế nên em quyết định chọn đề tài này
Trang 6CHƯƠNG 2: MÔ HÌNH TOÁN HỌC
2.1 Tóm tắt dữ kiên bài toán.
Một trại chăn nuôi định nuôi 3 loại bò: Bò sữa, Bò thịt, Bò cày
+ Bò sữa: 60 ngàn đồng/con
+ Bò thịt: 50 ngàn đồng/con
+ Bò cày: 70 ngàn đồng/con
+ Bò sữa: 150 ngàn đồng/con
+ Bò thịt: 160 ngàn đồng/con
+ Bò cày: 180 ngàn đồng/con
+ Bò sữa: 20 ngàn đồng/con
+ Bò thịt: 15 ngàn đồng/con
+ Bò cày: 20 ngàn đồng/con
không quá 20 con, Bò thịt không quá 30 con
2.2Tìm mô hình toán học cho bài toán:
nhất
Điều kiện: x, y, z ≥ 0
- Tìm X = ( x1, x2,…, x n ) sao cho
f (X) = ( x1, x2,…, x n ) → max (min)
- Hàm mục tiêu chính là tiền lời thu được : f (x) = f(x, y, z) = 60x + 50y + 57z
- Để đạt được tiền lời lớn nhất, ta có bài toán tối ưu:
f (x) = f (x, y, z) = 60x + 50y =57z → max
Thỏa các ràng buộc
Trang 7g j (X) = a j ,1 x1+ a j ,1 x2+ … +a j ,1 x n= ( ≤ , ≥) b j, j = 1, 2,…,m, và các ràng buộc về dấu
x i ≥ 0 , i = 1, 2,…,m ,
- Chi phí vốn để nuôi bò là : 150x + 160y + 180z
Để chi phí Vốn không vượt quá chi phí dự trữ ta có ràng buộc:
150x + 160y + 180z ≤ 9500
- Chi phí chăn nuôi là : 20x + 15y + 20z
Để chi phí chăn nuôi không vượt quá chi phí dự trữ ta có ràng buộc:
20x + 15y + 20z ≤ 900
- Do số lượng bò không thể là số âm, ta được ràng buộc về dấu
x, y, z ≥ 0
Số bò sữa nuôi không quá 20 con, bò thịt không quá 30 con nên ta được các ràng buôc {x ≤20 y ≤ 30
Tóm lại bài toán trên được quy về bài toán quy hoạch tuyến tính:
Tìm X = (x,y) sao cho
f (x, y, z) = 60x + 50y =57z → max
thỏa các ràng buộc
{150 x +160 y +180 z ≤ 9500 20 x +15 y +20 z ≤ 900
x , y , z ≥ 0
x ≤20
y ≤ 30
CHƯƠNG 3: MÔ HÌNH EXCEL
Trang 83.1 Mô hình ban đầu:
Đây là mô hình đầu tiên của bài toán
Hình 1: Mô hình đầu tiên của bài toán
nuôi không vượt quá chi phí dự trữ
3.2 Lập công thức:
- Cho giá trị các biến x, y, z khởi đầu bằng 0.
Trang 9- Ta nhâp công thức tính giá trị hàm mục tiêu cũng như vế trái các ràng buộc tương ứng Chẳng hạn với màn hình Excel nêu trên, ta có công thức ở các ô:
Giá trị hàm mục tiêu (ô E3) :
= B3*B2 + C3*C2 + D3*D2
và Vế trái các ràng buộc (các ô E5:E6) :
= B5*B2 + C5*C2 + D5*D2
= B6*B2 + C6*C2 + D6*D2 Chú ý rằng ta có thể dùng hàm Sumproduct() (tổng của các tích) để tính các giá trị nêu trên
Ô D3 :
= SumProduct(B2:D2,B3:D3)
Ô E5 :
= SumProduct($B$2:$D$2,B5:D5)
Ô E6 :
= SumProduct($B$2:$D$2,B6:D6)
Ta được màn hình Excel
Hình 2: Mô hình chứa công thức
Ô E3: giá trị hàm mục tiêu là tiền lời thu được từ việc nuôi 3 loại bò: bò sữa, bò thịt, bò cày
Ô E5: các ràng buộc để chi phí vốn không vượt quá chi phí dự trữ
Ô E6: các ràng buộc để chi phí chăn nuôi không vượt quá chi phí dự trữ
Trang 10Sau khi nhâp công thức chứa các giá trị hàm mục tiêu, các ràng buộc, ta nhấn Enter ra hộp thoại chứa giá trị
Đây là mô hình sau khi nhập công thức chứa giá trị
Hình 3: Mô hình sau khi lập công thức chứa giá trị
3.3 Công cụ hỗ trợ
- Đối với việc tìm lời giải cho bài toán tối ưu khó khăn lớn nhất khi đã biết được
thuật toán là chi phí tính toán rất lớn do dữ liệu cần xử lý (tính toán) và số phương án ứng viên quá nhiều Vì vậy, việc tính toán thủ công để tìm phương án tối ưu trong thực
tế là không khả thi
- Để giải quyết khó khăn này, MS Excel đã xây dựng công cụ Solver giúp giải các
bài toán quy hoạch tuyến tính nói riêng, bài toán tối ưu hóa tổng quát hay hệ phương trình tổng quát nói chung
Quy trình để giải các bài toán tối ưu sử dụng công cụ Solver thực hiện theo các bước sau:
Công cụ Solver
Trang 11Hình 4: Hộp thoại Solver Parameters
Ý nghĩa các nút lệnh trong hộp thoại Solver Parameters:
muốn ô đích bằng một giá trị nhất định
đích (target cell) trỏ đến
hình đã ghi hoặc nhập các lựa chọn khác cho việc giải bài toán
định
Trang 12Để giải bài toán quy hoach tuyến tính trên dùng ta dùng chức năng Solver của Excel và nhập các tham số cần thiết
Đầu tiên truy cập menu Data/Solver Xuất hiện cửa sổ Solver Parameters, nhập các tham số cho trình Solver
Ô mục tiêu (Target Cell) chính là ô chứa giá trị hàm mục tiêu, trường hợp này là ô E3
Ta đặt ô này (Set Target Cell) về Max vì bài toán khảo sát tìm giá trị lớn nhất của hàm mục tiêu
Ô thay đổi (By Changing Cells) chính là ô chứa giá trị các biến, trong trường hợp này là
ô $B$2:$D$2
Hình 5: Mô hình khi nhập giá trị chứa hàm mục tiêu và chứa biến.
Tiếp theo ta nhấn Add xuất hiện hộp thoại Add Contraint, nhập vào các ràng buộc
B2:D2 ≥0
Ô Cell Reference: ta nhập B2:D2
Ô Contraint: nhập vào số 0 ( ràng buôc x, y, x ≥ 0 )
Trang 13Hình 6: Hộp thoại Add Contraint chứa ràng buộc thứ nhất.
Nhấn Add nhập ràng buộc thứ hai được khai báo bởi
Hình 7: Hộp thoại Add Contraint chứa ràng buộc thứ hai
Hình 8: Hộp thoại Add Contraint chứa ràng buộc thứ ba
Tiếp tục nhấn Add nhập ràng buộc thứ tư được khai báo bởi:
C2 ≤30
Trang 14Hình 9: Hộp thoại Add Contraint chứa ràng buộc thứ tư.
Vì giá trị biến cần tìm là số nguyên nên ta có ràng buộc cuối cùng
Hình 10: Hộp thoại Add Contraint chứa ràng buộc cuối cùng.
Sau khi nhập các ràng buộc ta nhấn OK xuất hiện hộp thoại chứa các tất cả các ràng buộc
đã nhập
Trang 15Hình 11: Hộp thoại Solver Parameters chứa các ràng buộc
Giải thích các tham số trong hộp thoại:
được khai báo bởi:
B2:D2 ≥0,
B2:D2 = integer
B2 ≤ 20
C2 ≤ 30
CHƯƠNG 4: KẾT LUẬN
Trang 16Nhấn hộp thoại Solve, ta được màn hình
Hình 12: Hộp thoại SolverResults.
Và chấp nhận kết quả (Keep Solver Solution), ta được
Hình 13: Bảng kết quả cuối cùng của bài toán.
Kết quả này cho thấy x = 20, y = 30, z = 2 và f (x, y, z) = 2814
Kết luận: cần nuôi 20 con Bò sữa, 30 con Bò thịt và 2 con Bò cày Khi đó trại chăn nuôi
sẽ đạt tiền lời sẽ đạt lớn nhất là 2814 ngàn đồng
TÀI LIỆU THAM KHẢO
Trang 17@&? ….
3 http://cophieu68.com/bookprice.php?currentPage=2