GIỚI THIỆU
Chương 2 đã trình bày cách xây dựng và giải quyết các bài toán quy hoạch tuyến tính (LP) với hai biến quyết định thông qua phương pháp đồ thị Mặc dù ít bài toán LP thực tế chỉ có hai biến, nhưng việc nghiên cứu các bài toán này cung cấp nền tảng quan trọng để hiểu và giải quyết các vấn đề LP phức tạp hơn Thảo luận về các bài toán hai biến giúp phát triển các chiến lược chung để xử lý nhiều loại bài toán LP khác nhau.
Mọi bài toán lập trình tuyến tính (LP) đều có một miền khả thi, và lời giải tối ưu có thể được tìm thấy tại các điểm cực trị của miền này, miễn là bài toán không phải là không giới hạn Điều này áp dụng cho tất cả các bài toán LP, bất kể số lượng biến quyết định Trong khi việc vẽ đồ thị vùng khả thi cho bài toán LP với hai biến là tương đối dễ dàng, việc hình dung hoặc vẽ đồ thị cho bài toán LP với ba biến trở nên phức tạp do tính chất ba chiều của nó Đối với các bài toán LP có nhiều hơn ba biến, việc hình dung hoặc vẽ đồ thị miền khả thi gần như là không thể, vì biểu đồ sẽ có nhiều hơn ba chiều.
Có một số kỹ thuật toán học giúp giải quyết các bài toán LP mà không cần phải trực quan hóa hoặc vẽ đồ thị các vùng khả thi Những kỹ thuật này đã được tích hợp vào các gói bảng tính, làm cho việc giải quyết bài toán LP trở nên đơn giản hơn Với phần mềm máy tính phù hợp, bạn có thể dễ dàng giải hầu hết các bài toán LP Thách thức lớn nhất là xây dựng bài toán LP một cách chính xác và truyền đạt công thức đó đến máy tính Chương này sẽ hướng dẫn bạn cách thực hiện điều này bằng cách sử dụng bảng tính.
SOLVER BẢNG TÍNH
Excel, Quattro Pro và Lotus 1-2-3 đều tích hợp tính năng Solver, cho thấy tầm quan trọng của tối ưu hóa trong bảng tính Cuốn sách này sử dụng Excel để minh họa cách Solver có thể giải quyết các bài toán tối ưu hóa, trong khi các khái niệm và kỹ thuật tương tự cũng áp dụng cho các gói bảng tính khác, mặc dù có thể có một số khác biệt trong chi tiết triển khai.
Bạn có thể giải quyết các bài toán tối ưu hóa mà không cần bảng tính bằng cách sử dụng các gói lập trình toán học chuyên dụng như LINDO, MPSX, CPLEX và MathPro Những gói này thường được các nhà nghiên cứu và doanh nghiệp sử dụng để xử lý các bài toán cực kỳ lớn mà bảng tính không thể đáp ứng.
GIẢI QUYẾT BÀI TOÁN LP TRONG BẢNG TÍNH
Chúng ta sẽ chứng minh cách sử dụng Solver trong Excel thông qua bài toán của Howie Jones, chủ sở hữu Blue Ridge Hot Tubs, công ty chuyên bán hai loại bồn tắm nước nóng: Aqua-Spa và HydroLux Howie mua vỏ bồn nước nóng bằng sợi thủy tinh và lắp đặt máy bơm cùng hệ thống ống cho mỗi sản phẩm Cụ thể, mỗi Aqua-Spa yêu cầu 9 giờ lao động và 12 feet ống, trong khi mỗi Hydro-Lux cần 6 giờ lao động và một lượng ống tương ứng.
Nhu cầu về sản phẩm 16 feet ống rất cao, với lợi nhuận 350 đô la cho mỗi Aqua-Spa và 300 đô la cho mỗi Hydro-Lux được sản xuất Công ty dự kiến sẽ có 200 máy bơm để đáp ứng nhu cầu này.
Frontline Systems, Inc has developed the Solver tool for Microsoft Excel, Lotus 1-2-3, and Corel Quattro Pro They promote advanced versions of this Spreadsheet Solver, which offer greater capacity, faster speeds, and user-friendly features To learn more about Frontline Systems and their products, visit their website at [http://www.solver.com](http://www.solver.com).
Trong chu kỳ sản xuất tiếp theo, có 1.566 giờ lao động và 2.880 feet ống sẵn có Nhiệm vụ là xác định số lượng tối ưu của Aqua-Spas và Hydro-Luxes để tối đa hóa lợi nhuận.
Chương 2 đã phát triển công thức LP cho bài toán của Howie, trong đó X1 là số lượng Aqua-Spa sản xuất và X2 là số lượng Hydro-Lux sản xuất.
Các ràng buộc: 1X1 + 1X2 ≤ 200 } ràng buộc về máy bơm
9X1 + 6X2 ≤ 1,566 } ràng buộc về giờ lao động 12X1 + 16X2 ≤ 2,880 } ràng buộc về ống
1X2 ≥ 0 } giới hạn dưới đơn giản
Để giải quyết bài toán trong bảng tính, bước đầu tiên là xây dựng mô hình cần thiết trong bảng.
CÁC BƯỚC THỰC HIỆN MÔ HÌNH QUY HOẠCH TUYẾN TÍNH (LP)
TUYẾN TÍNH (LP) TRONG BẢN G TÍNH
Bốn bước sau đây tóm tắt những gì phải được thực hiện để thực hiện bất kỳ bài toán LP nào trong một bảng tính
Để tổ chức dữ liệu cho mô hình trên bảng tính, bạn cần bao gồm các hệ số trong hàm mục tiêu, các hệ số trong các ràng buộc và các giá trị bên phải (RHS) của các ràng buộc Có nhiều cách để sắp xếp dữ liệu, nhưng nên tuân theo một số nguyên tắc chung Mục tiêu là làm cho dữ liệu trở nên rõ ràng và dễ hiểu, như một báo cáo quản lý nhằm truyền đạt các yếu tố quan trọng của bài toán Trước khi nhập giá trị vào bảng tính, hãy dành thời gian hình dung cách trình bày dữ liệu một cách hợp lý Sử dụng các nhãn mô tả để xác định rõ ràng các yếu tố dữ liệu khác nhau.
Cấu trúc hàng và cột trong dữ liệu mô hình có thể được sử dụng trong bảng tính để hỗ trợ thực hiện mô hình Một số hệ số và giá trị cho mô hình LP có thể được tính toán từ dữ liệu sơ cấp, vì vậy việc duy trì dữ liệu này trong bảng tính là cần thiết Sử dụng các công thức phù hợp để tính toán các hệ số và giá trị cần thiết sẽ giúp tự động cập nhật khi dữ liệu sơ cấp thay đổi.
Trong bảng tính, hãy dành các ô riêng biệt để biểu thị từng biến quyết định trong mô hình đại số Mặc dù bạn có thể sử dụng bất kỳ ô trống nào, việc sắp xếp các ô theo cấu trúc dữ liệu sẽ mang lại hiệu quả cao hơn Điều này giúp thiết lập các công thức cho hàm mục tiêu và các ràng buộc một cách dễ dàng hơn Nếu có thể, hãy giữ các ô đại diện cho các biến quyết định ở gần nhau để thuận tiện trong quá trình làm việc.
1 vùng giống nhau trong bảng tính Ngoài ra, bạn nên sử dụng nhãn mô tả để rõ ràng xác định ý nghĩa của các ô này
Tạo công thức trong ô bảng tính theo hàm mục tiêu trong mô hình đại số bằng cách tham chiếu đến các ô dữ liệu chứa các hệ số của hàm mục tiêu và các ô đại diện cho các biến quyết định.
Để xây dựng mô hình hiệu quả, hãy tạo một công thức cho mỗi ràng buộc trong ô riêng biệt bên trái của bảng tính Công thức này nên tham chiếu đến các ô dữ liệu chứa hệ số ràng buộc và các ô biến quyết định liên quan Nhiều công thức ràng buộc có cấu trúc tương tự, vì vậy bạn nên tạo ra các công thức có thể sao chép, giúp giảm công sức và hạn chế lỗi nhập liệu.
Mặc dù các bước triển khai mô hình LP trong bảng tính cần được thực hiện, nhưng không nhất thiết phải theo thứ tự đã chỉ định.
Trong quá trình thực hiện, người ta thường bắt đầu với bước 1, sau đó là bước 2 Tuy nhiên, thứ tự của bước 3 và bước 4 có thể thay đổi tùy thuộc vào từng bài toán cụ thể.
Để dễ dàng phân biệt giữa các ô đại diện cho dữ liệu thô và các yếu tố khác trong mô hình, nên sử dụng bóng đổ, màu nền và/hoặc đường viền cho các ô đại diện cho biến quyết định, ràng buộc và hàm mục tiêu Việc này giúp người dùng bảng tính nhận diện rõ ràng hơn các thành phần trong mô hình Chúng ta sẽ thảo luận về cách thiết kế và triển khai các mô hình bảng tính hiệu quả cho các bài toán lập kế hoạch tuyến tính (LP), nhưng trước tiên, hãy xem cách áp dụng các bước đã đề cập để triển khai mô hình bảng tính sử dụng bài toán ví dụ của chúng ta.
MÔ HÌNH BẢNG TÍNH CHO BÀI TOÁN BỒN TẮM NƯỚC NÓNG CỦA
Tổ chức dữ liệu
Một trong những bước quan trọng trong việc xây dựng mô hình bảng tính cho bài toán LP là tổ chức dữ liệu Chúng ta nhập dữ liệu về đơn vị lợi nhuận của Aqua-Spas và Hydro-Luxes vào ô B6 và C6 Tiếp theo, số lượng máy bơm, giờ lao động và chiều dài ống cần thiết để sản xuất từng loại bồn tắm nước nóng được nhập vào ô từ B9 đến C11 Cụ thể, ô B9 và C9 cho biết cần một máy bơm cho mỗi loại bồn tắm, ô B10 và C10 chỉ ra rằng mỗi Aqua-Spa cần 9 giờ lao động trong khi mỗi Hydro-Lux cần 6 giờ Thêm vào đó, ô B11 và C11 cho biết mỗi Aqua-Spa cần 12 feet ống và mỗi Hydro-Lux cần 16 feet Cuối cùng, số lượng máy bơm, giờ lao động và chiều dài ống có sẵn được nhập vào ô từ E9 đến E11, kèm theo các nhãn thích hợp để xác định các yếu tố dữ liệu trong bài toán.
Biểu diễn các biến quyết định
Trong mô hình đại số của chúng ta, các ô B5 và C5 đại diện cho các biến quyết định X1 và X2, được phân biệt bằng cách tô bóng và viền đứt nét Giá trị số 0 được đặt trong các ô này do chúng ta chưa xác định được số lượng cụ thể.
Mô hình bảng tính cho bài toán sản xuất bồn tắm nước nóng
LHS của ràng buộc thứ 1 =
B9×B5+C9×C5 LHS của ràng buộc thứ 2 =
B10×B5+C10×C5 LHS của ràng buộc thứ 3 =
Dự án Aqua-Spa và Hydro-Luxes cần được triển khai Trong thời gian tới, chúng ta sẽ sử dụng Solver để xác định các giá trị tối ưu cho các tế bào này Mối quan hệ giữa các biến quyết định trong mô hình đại số và các ô tương ứng trong bảng được tóm tắt trong hình 3.2.
Biểu diễn hàm mục tiêu
Bước tiếp theo trong việc giải bài toán LP là tạo công thức trong bảng tính để biểu diễn hàm mục tiêu Hàm mục tiêu được định nghĩa là 350X1 + 300X2, và có nhiều cách để nhập công thức này.
Để tối ưu hóa hàm mục tiêu trong bảng tính, bạn nên tham chiếu đến các hệ số trong ô B6 và C6 thay vì nhập trực tiếp các hằng số như 50*B5+300*C5 Việc này giúp bạn dễ dàng thay đổi hệ số mà không cần chỉnh sửa công thức mỗi lần Công thức hàm mục tiêu sẽ được nhập vào ô D6, giúp đảm bảo tính linh hoạt và chính xác trong quá trình tính toán.
Ô D6 ban đầu trả về giá trị 0 do ô B5 và C5 đều chứa số không, như thể hiện trong Hình 3.1 Hình 3.3 tóm tắt mối quan hệ giữa hàm mục tiêu đại số và công thức trong ô D6 Việc thực hiện hàm mục tiêu theo cách này cho phép mô hình bảng tính dễ dàng điều chỉnh khi lợi nhuận từ bồn tắm nước nóng thay đổi, từ đó giải quyết lại bài toán để xác định ảnh hưởng của sự thay đổi này đến giải pháp tối ưu Ô D6 được tô bóng và viền ngoài bằng đường viền kép để phân biệt với các phần tử khác trong mô hình.
Mối quan hệ giữa các biến quyết định và các ô tương ứng trong bảng tính
Mối quan hệ giữa các biến quyết định và ô tương ứng trong bảng tính
Thể hiện các ràng buộc
Bước tiếp theo trong việc xây dựng mô hình bảng tính là triển khai các ràng buộc của mô hình LP Mỗi ràng buộc trong mô hình đại số yêu cầu tạo một công thức trong ô bảng tính tương ứng với LHS của ràng buộc LHS của từng ràng buộc trong mô hình của chúng ta cần được xác định rõ ràng.
LHS của ràng buộc máy bơm
≤ 200 LHS của ràng buộc lao động
≤ 1.566 LHS của ràng buộc về ống
Để biểu diễn các công thức LHS cho ba ràng buộc, chúng ta cần tạo ba ô trong bảng tính Việc này được thực hiện bằng cách tham chiếu đến các ô dữ liệu chứa hệ số của các ràng buộc và các ô đại diện cho các biến quyết định LHS của ràng buộc đầu tiên sẽ được nhập vào ô D9.
Công thức cho ô D9: *B5+C9*C5 Tương tự, LHS của ràng buộc thứ 2 và thứ 3 được nhập vào các ô D10 và D11:
Công thức cho ô D10: 0*B5+C10*C5 Công thức cho ô D11: 1*B5+C11*C5
Các công thức trong bài viết này xác định số lượng máy bơm, số giờ lao động và chiều dài ống cần thiết để sản xuất số lượng bồn tắm nước nóng được chỉ định trong ô B5 và C5 Lưu ý rằng các ô D9 đến D11 được tô bóng và viền rõ ràng để phân biệt với các yếu tố khác trong mô hình.
Hình 3.4 minh họa mối quan hệ giữa các công thức LHS của các ràng buộc trong công thức đại số của mô hình và các biểu diễn bảng tính tương ứng.
Blue Ridge Hot Tubs sở hữu 200 máy bơm, 1.566 giờ lao động và 2.880 feet ống trong quy trình sản xuất tiếp theo của mình.
9 đại số của chúng ta về LP, các giá trị này đại diện cho các giá trị RHS cho ba ràng buộc
Chúng ta đã nhập số lượng máy bơm, số giờ lao động và số chân ống vào các ô E9, E10 và E11 Những thông tin này xác định các giới hạn tối đa cho giá trị trong các ô D9, D10 và D11.
Thể hiện các giới hạn về biến quyết định
Giới hạn dưới đơn giản cho các biến quyết định X1 và X2 được biểu thị bằng X1 ≥ 0 và X2 ≥ 0, được gọi là điều kiện không âm, cho phép các biến này chỉ nhận giá trị không âm Những điều kiện này tương tự như các ràng buộc trong bài toán lập trình tuyến tính (LP) và có thể được áp dụng như các ràng buộc khác Solver cho phép chỉ định giới hạn trên và dưới cho các biến quyết định bằng cách tham chiếu trực tiếp đến các ô đại diện cho chúng, tuy nhiên, hiện tại chúng ta chưa có thông tin cụ thể để triển khai các giới hạn này trong bảng tính.
CÁCH SOLVER XEM MÔ HÌNH
Sau khi triển khai mô hình trong bảng tính, chúng ta có thể sử dụng Solver để tìm ra giải pháp tối ưu cho bài toán Tuy nhiên, trước tiên, cần xác định ba thành phần chính của mô hình bảng tính trong Solver.
Công thức LHS cho giới hạn bơm: 1 X1 + 1 X2
Công thức LHS cho giới hạn lao động: 9 X1 + 6 X2
Công thức LHS cho giới hạn ống: 12 X1 + 16 X2
Mối quan hệ giữa công thức LHS của ràng buộc và bảng tính đại diện
Ô trong bảng tính thể hiện hàm mục tiêu trong mô hình, xác định liệu giá trị của nó cần được tối đa hóa hay giảm thiểu.
2 Các ô biến đổi (thay đổi): Các ô trong bảng tính đại diện cho các biến quyết định trong mô hình
Các ô ràng buộc trong bảng tính thể hiện các công thức LHS của ràng buộc trong mô hình, bao gồm cả các giới hạn trên và dưới áp dụng cho những công thức này.
Các thành phần trong mô hình LP tương ứng với các ô trong bảng tính đã thiết lập Cụ thể, ô mục tiêu được biểu thị bằng ô D6, biến số nằm ở ô B5 và C5, trong khi các ô ràng buộc được thể hiện qua ô D9, D10 và D11 Hình 3.5 minh họa các mối quan hệ này và ghi chú ô D6 để giải thích mục đích của nó Ghi chú ô là công cụ hiệu quả để mô tả chi tiết về chức năng của các ô trong mô hình.
So sánh Hình 3.1 và Hình 3.5 cho thấy mối liên hệ giữa việc xây dựng mô hình LP theo phương pháp đại số và cách mà Solver hiển thị bảng tính cho việc triển khai mô hình Các biến quyết định trong mô hình đại số tương ứng với các thành phần trong bảng tính.
Các ô biến đổi Ô mục tiêu
Solver trong bảng tính LP liên quan đến các ô biến số (Variable cells) và các ô ràng buộc (Constraint cells) tương ứng với các công thức LHS trong mô hình đại số Hàm mục tiêu trong mô hình đại số tương ứng với ô tập hợp (Set cell) trong Solver Mặc dù thuật ngữ sử dụng trong Solver có sự khác biệt so với thuật ngữ đại số, các khái niệm cơ bản vẫn giống nhau Hình 3.6 cung cấp một cái nhìn tổng quan về những khác biệt này.
Lưu ý rằng trong một số phiên bản của Solver, ô chứa hàm mục tiêu được gọi là ô mục tiêu ("target" cell), trong khi các phiên bản khác gọi là ô thiết lập ("set" cell) Tương tự, các ô đại diện cho các biến quyết định có thể được gọi là ô thay đổi ("changing cell") hoặc ô biến đổi ("variable cell") tùy theo phiên bản Do đó, trong cuốn sách này, chúng ta có thể hoán đổi thuật ngữ ô "mục tiêu" và ô "thiết lập" để chỉ ô chứa hàm mục tiêu, cũng như sử dụng các thuật ngữ ô "thay đổi" và ô "biến đổi" để chỉ các ô đại diện cho biến quyết định.
Thuật ngữ được sử dụng để mô tả các mô hình LP đại số
Các thuật ngữ tương ứng được Solver sử dụng để mô tả các mô hình LP bảng tính
Hàm mục tiêu Các biến quyết định Công thức LHS các ràng buộc Ô mục tiêu Các ô biến đổi Các ô ràng buộc
Thật dễ dàng để tạo các chú thích ô giống như chú thích được hiển thị cho ô D6 trong Hình 3.5 Để tạo bình luận cho một ô:
2 Chọn Review, New Comment (hoặc nhấn phím Shift và phím chức năng F2 đồng thời)
3 Nhập nhận xét cho ô, rồi chọn một ô khác
Có thể bật hoặc tắt hiển thị các nhận xét ô như sau:
2 Chọn tùy chọn thích hợp trong phần Comment
3 Nhấp vào nút OK Để sao chép một nhận xét ô từ một ô sang một loạt các ô khác:
1 Nhấp vào ô chứa nhận xét mà bạn muốn sao chép
2 Chọn lệnh Copy trên ribbon Home, Clipboard (hoặc nhấn tổ hợp phím Ctrl và phím C cùng một lúc)
3 Chọn các ô mà bạn muốn sao chép nhận xét
4 Chọn lệnh Paste Special trên thanh công cụ Home, Clipboard, Paste (hoặc nhấp chuột phải và chọn Paste Special).
5 Chọn nút tùy chọn Comment
Cuốn sách này đi kèm với Premium Solver for Education, phiên bản nâng cấp của Solver tiêu chuẩn trong Excel Để cài đặt, hãy chạy tệp PremSolv.exe từ đĩa CD-ROM đi kèm Sử dụng Windows Explorer để tìm tệp và nhấp đúp vào nó Nếu bạn đang sử dụng Excel trong môi trường mạng, hãy tham khảo ý kiến quản trị viên mạng Mặc dù hầu hết các ví dụ trong sách cũng có thể sử dụng Solver tiêu chuẩn, nhưng Premium Solver For Education cung cấp nhiều tính năng hữu ích được đề cập trong toàn bộ cuốn sách.
SỬ DỤNG SOLVER
Xác định ô mục tiêu
Trong hộp thoại Solver Parameters chỉ định vị trí của ô đại diện cho hàm mục tiêu bằng cách nhập nó vào hộp Set Cell box, như trong Hình 3.9
Ô D6 chứa công thức biểu thị hàm mục tiêu cho sự cố, và chúng tôi đã hướng dẫn Solver tối đa hóa giá trị này thông qua nút Tối đa (Max) Nếu bạn muốn Solver tìm giải pháp giảm thiểu giá trị của mục tiêu, hãy chọn nút Min Ngoài ra, nút Giá trị (Value) có thể được sử dụng để tìm giải pháp cho hàm mục tiêu đạt một giá trị cụ thể.
Dan Fylstra, chủ tịch của Frontline Systems, là người sáng lập ra Solver và đóng góp quan trọng trong việc phát hành VisiCalc, chương trình bảng tính đầu tiên Ông nhận bằng cử nhân tại MIT năm 1975 và tiếp tục lấy bằng thạc sĩ kinh doanh tại Trường Kinh doanh Harvard năm 1978, nơi ông được một giáo sư giới thiệu.
Fylstra đã hợp tác với sinh viên Harvard Dan Bricklin, người nảy ra ý tưởng về một phần mềm cho phép người dùng nhập số liệu vào bảng tính điện tử và tự động tính toán kết quả Bricklin đề xuất ý tưởng, trong khi bạn của anh, Bob Frankston, phụ trách viết chương trình Năm 1978, Fylstra đã cho Bricklin mượn máy tính Apple để phát triển phần mềm này.
Định nghĩa các ô biến đổi
Để giải quyết bài toán LP, cần xác định các ô đại diện cho các biến quyết định trong mô hình, được gọi là ô biến đổi Trong ví dụ của chúng ta, các ô B5 và C5 đại diện cho các biến quyết định, và Solver sẽ tìm ra giá trị tối ưu cho chúng Nếu các biến quyết định không nằm trong một phạm vi liền kề, chúng ta phải liệt kê riêng lẻ các ô này, phân tách bằng dấu phẩy Tuy nhiên, tốt nhất là sử dụng các ô liền kề để thể hiện các biến quyết định.
Xác định các ô ràng buộc
Để xác định các ô ràng buộc trong bảng tính, chúng ta cần áp dụng các công thức LHS cho từng ràng buộc trong mô hình Nhấp vào nút "Add" như trong Hình 3.10 và hoàn thành hộp thoại "Add" để thực hiện quá trình này.
Trong hộp thoại "Thêm Ràng Buộc", hãy nhấp vào nút "Thêm" để xác định các ràng buộc bổ sung Khi đã hoàn tất việc xác định các ràng buộc, nhấn nút "OK" để lưu lại.
Chỉ ra các ô biến đổi
Chỉ ra các ô ràng buộc
Chỉ định các ô ràng buộc
Các ô từ D9 đến D11 đại diện cho các ràng buộc có giá trị không được vượt quá giá trị trong các ô từ E9 đến E11 Nếu các ô giới hạn không nằm cạnh nhau trong bảng tính, cần xác định chúng nhiều lần Để tối ưu hóa các ô biến đổi, nên chọn các ô liền kề trong bảng tính để áp dụng các công thức LHS cho các ràng buộc trong mô hình.
Khi xác định nhiều ràng buộc cùng lúc, tất cả các ô ràng buộc phải cùng loại (≤, ≥ hoặc =) Do đó, nên nhóm các ràng buộc cùng loại trong các ô liền kề để dễ dàng chọn cùng một lúc Ví dụ, ba ô ràng buộc đã chọn đều là “nhỏ hơn hoặc bằng” (≤) Tuy nhiên, việc thiết lập bảng tính nên được ưu tiên để truyền đạt mục đích một cách rõ ràng nhất.
Xác định điều kiện không âm
Một thông số kỹ thuật quan trọng cho mô hình của chúng ta là các biến quyết định phải lớn hơn hoặc bằng 0 Chúng ta có thể áp đặt điều kiện này thông qua các ràng buộc, bằng cách thiết lập các hạn chế phù hợp lên các ô đại diện cho các biến quyết định, cụ thể là các ô B5 và C5 Để thực hiện điều này, chỉ cần thêm một tập hợp ràng buộc khác vào mô hình, như minh họa trong Hình 3.12.
Thêm điều kiện không âm cho bài toán
Các ô B5 và C5 trong mô hình của chúng ta phải có giá trị lớn hơn hoặc bằng 0, với giá trị bên phải (RHS) của ràng buộc này là một hằng số được nhập thủ công Nếu cần thiết, chúng ta có thể áp dụng ràng buộc tương tự để đặt giới hạn dưới cho các biến, chẳng hạn như yêu cầu sản xuất ít nhất 10 Aqua-Spa và 10 Hydro-Lux Để làm rõ các ràng buộc này, việc ghi chú số lượng sản xuất tối thiểu trên bảng tính là hợp lý, từ đó chúng ta có thể tham chiếu đến các ô đó khi xác định các giá trị RHS cho các ràng buộc.
Một cách khác để áp dụng các điều kiện không âm là đánh dấu vào hộp kiểm "Assume Non-Negative" trong hộp thoại Solver Options Nếu không chỉ định giới hạn dưới rõ ràng, giới hạn dưới sẽ tự động được thiết lập là 0.
Xem xét mô hình
Sau khi xác định tất cả các ràng buộc cho mô hình, hộp thoại "Solver Parameters" sẽ xuất hiện, như thể hiện trong Hình 3.13 Hộp thoại này cung cấp các tùy chọn cần thiết để điều chỉnh và tối ưu hóa mô hình.
Tóm tắt cách Solver mô hình
Trước khi giải mô hình, bạn nên xem lại 19 bản tóm tắt về cách Solver nhìn nhận mô hình để đảm bảo rằng tất cả các tham số đã được nhập chính xác và khắc phục bất kỳ lỗi nào.
Tùy chọn
Solver cung cấp nhiều tùy chọn để ảnh hưởng đến cách giải quyết bài toán, có thể truy cập qua hộp thoại Solver Options bằng cách nhấp vào nút Tùy chọn trong hộp thoại Solver Parameters Hộp thoại Solver Options cho thuật toán Simplex LP tiêu chuẩn được hiển thị trong hình 3.14 Chúng ta sẽ thảo luận về ý nghĩa của một số tùy chọn này trong quá trình tìm hiểu Để biết thêm thông tin chi tiết, bạn có thể nhấp vào nút Help trong hộp thoại Solver Options.
Giải mô hình
Sau khi nhập tất cả các tham số và chọn tùy chọn cho mô hình, bước tiếp theo là giải quyết bài toán bằng cách nhấp vào nút Solver trong hộp thoại Solver Parameters Khi Solver tìm thấy giải pháp tối ưu, hộp thoại Solver Results sẽ xuất hiện Nếu giá trị hiển thị không khớp với hình ảnh mẫu, hãy nhấp vào nút Restore Original.
Values, nhấp vào OK và thử lại
Hộp thoại Solver Results cho phép bạn chọn giữ giải pháp được tìm thấy hoặc khôi phục bảng tính về trạng thái ban đầu Thông thường, bạn nên giữ giải pháp trừ khi có vấn đề rõ ràng Ngoài ra, hộp thoại này cũng cung cấp tùy chọn tạo báo cáo về Câu trả lời, Độ nhạy và Giới hạn, được thảo luận chi tiết trong Chương 4.
Như thể hiện trong Hình 3.15, Solver đã xác định rằng giá trị tối ưu cho ô B5 là
Giá trị tối ưu cho ô C5 là 78, tương ứng với 122 Aqua-Spa và 78 Hydro-Luxes mà Blue Ridge Hot Tubs sản xuất Với sản lượng này, công ty dự kiến sẽ đạt lợi nhuận 66.100 đô la Giải pháp này sử dụng toàn bộ 200 máy bơm, 1.566 giờ lao động và 2.712 trong tổng số 2.880 feet ống có sẵn.
MỤC TIÊU & NGUYÊN TẮC THIẾT KẾ BẢNG TÍNH
Bây giờ bạn đã hiểu cách hoạt động của Solver và cách thiết lập mô hình LP trong bảng tính, chúng ta sẽ khám phá thêm một số ví dụ khác về việc lập mô hình.
LP và việc giải quyết chúng bằng Solver là một chủ đề quan trọng, thể hiện nhiều bài toán kinh doanh mà LP có thể áp dụng Bài viết này sẽ giới thiệu một số "thủ thuật thương mại" hữu ích giúp bạn giải quyết các bài toán ở cuối chương Việc nắm vững các kỹ thuật này sẽ hỗ trợ bạn trong việc tối ưu hóa quy trình ra quyết định trong kinh doanh.
Giải pháp tối ưu cho bài toán bồn tắm nước nóng
21 toán ở cuối chương, bạn sẽ đánh giá tốt hơn mức độ suy nghĩ cần thiết để tìm ra một cách tốt để thực hiện một mô hình nhất định
Khi thiết lập bài toán trong bảng tính, cần nhớ rằng có nhiều cách tiếp cận khác nhau Việc tạo ra các mô hình bảng tính truyền đạt mục đích một cách hiệu quả là một kỹ năng quan trọng Mặc dù bảng tính không có cấu trúc cố định, nhưng một số phương pháp lập mô hình vẫn hợp lý hơn những phương pháp khác Để đạt được thiết kế bảng tính tối ưu, nỗ lực lập mô hình nên hướng tới các mục tiêu cụ thể.
Mục đích chính của bảng tính là truyền đạt thông tin đến các nhà quản lý, do đó, thiết kế bảng tính cần tập trung vào việc trình bày các khía cạnh của bài toán một cách rõ ràng và hấp dẫn.
Độ tin cậy của bảng tính là yếu tố quan trọng, với đầu ra cần phải chính xác và nhất quán Sự chính xác này ảnh hưởng trực tiếp đến niềm tin của người quản lý đối với kết quả từ nỗ lực lập mô hình.
Khả năng kiểm toán cho phép người quản lý truy xuất lại các bước đã thực hiện để hiểu rõ mô hình và xác minh kết quả đầu ra Những mô hình được thiết kế theo bố cục hợp lý và hấp dẫn trực quan thường dễ dàng kiểm tra hơn.
Khả năng sửa đổi của bảng tính là rất quan trọng, vì dữ liệu và giả định có thể thay đổi thường xuyên Một bảng tính được thiết kế tốt sẽ cho phép người dùng dễ dàng thực hiện các thay đổi hoặc nâng cao để phù hợp với yêu cầu mới.
Thiết kế bảng tính rõ ràng và đáng tin cậy là yếu tố quan trọng trong việc truyền đạt mục đích Khi phát triển mô hình bảng tính cho một bài toán cụ thể, cần xem xét các giải pháp thay thế để so sánh hiệu quả với các mục tiêu đã đề ra Dưới đây là một số gợi ý và hướng dẫn thực tế để tạo ra các mô hình bảng tính hiệu quả.
Nguyên Tắc Thiết Kế Bảng Tính
Tổ chức dữ liệu một cách khoa học và trực quan giúp xây dựng mô hình hiệu quả hơn Khi dữ liệu được sắp xếp hợp lý, các biến quyết định, ràng buộc và hàm mục tiêu sẽ tự động được xác định, từ đó nâng cao độ tin cậy, khả năng kiểm toán và khả năng bảo trì của mô hình.
Không nên thay đổi các hằng số trong công thức; thay vào đó, hãy đặt chúng trong các ô riêng biệt và gán nhãn thích hợp Việc này không chỉ nâng cao độ tin cậy của mô hình mà còn giúp dễ dàng sửa đổi khi cần thiết.
Các yếu tố có mối liên hệ logic, chẳng hạn như LHS và RHS của các ràng buộc, nên được bố trí gần nhau về mặt vật lý và theo cùng hướng cột hoặc hàng Việc này không chỉ nâng cao độ tin cậy mà còn cải thiện khả năng kiểm chứng của mô hình.
Một thiết kế có khả năng sao chép các công thức thường hiệu quả hơn so với một thiết kế không có Mô hình với các công thức có thể sao chép giúp thực hiện nhiều phép tính trong một phạm vi với độ tin cậy cao hơn và dễ hiểu hơn Khi người dùng nắm bắt được công thức đầu tiên trong một dải, họ sẽ dễ dàng hiểu tất cả các công thức khác trong cùng dải đó.
Tổng của cột hoặc hàng nên gần với cột hoặc hàng được tính tổng, vì người dùng bảng tính thường mong đợi các số ở cuối cột hoặc hàng thể hiện tổng hoặc các phép đo tóm tắt khác liên quan đến dữ liệu Nếu các số ở cuối không phản ánh đúng tổng số, điều này có thể dẫn đến sự hiểu lầm và giảm khả năng kiểm tra dữ liệu.
Mắt người đọc tiếng Anh thường quét từ trái sang phải và từ trên xuống dưới Do đó, việc thiết kế bảng tính cần phải xem xét thực tế này để cải thiện khả năng kiểm toán của mô hình.
Sử dụng màu sắc, bóng đổ, đường viền và bảo vệ giúp phân biệt các tham số có thể thay đổi với các thành phần khác trong mô hình, từ đó nâng cao độ tin cậy và khả năng sửa đổi của mô hình.
QUYẾT ĐỊNH TỰ SẢN XUẤT HAY MUA NGOÀI
Xác định các biến số quyết định
Để giải quyết bài toán Electro-Poly, cần xác định sáu biến quyết định để đại diện cho các lựa chọn thay thế đang được xem xét Sáu biến này đóng vai trò quan trọng trong việc phân tích và đưa ra quyết định hiệu quả cho bài toán.
M1, M2, M3 là số vòng trượt của các mẫu sản xuất trong nhà, trong khi B4, B5, B6 là số vòng trượt của các mẫu được mua từ đối thủ cạnh tranh.
Như đã trình bày trong Chương 2, việc sử dụng ký hiệu như X1, X2, Xn cho các biến quyết định không phải là bắt buộc Nếu bạn có thể sử dụng các biểu tượng khác để làm rõ hơn mô hình, hãy tự do áp dụng chúng Điều này giúp phân biệt rõ ràng giữa biến Tự sản xuất và biến Mua từ đối thủ cạnh tranh.
Xác định hàm mục tiêu
Mục tiêu của bài toán là giảm thiểu tổng chi phí thực hiện đơn đặt hàng Các mức giá cho từng loại vòng trượt được sản xuất trong nhà bao gồm: 50 đô la cho mỗi chiếc M1, 83 đô la cho mỗi đơn vị M2, và 130 đô la cho mỗi đơn vị M3 Trong khi đó, giá mua từ đối thủ cạnh tranh là 61 đô la cho mỗi đơn vị B1, 97 đô la cho mỗi đơn vị B2, và 145 đô la cho mỗi đơn vị B3 Do đó, bài toán có thể được diễn đạt dưới dạng phương trình toán học.
Xác định các ràng buộc
Bài toán này gặp phải một số hạn chế quan trọng Cần thiết phải có hai ràng buộc nhằm đảm bảo rằng số lượng vòng trượt sản xuất trong nhà không vượt quá khả năng đi dây và khai thác hiện có Những ràng buộc này được xác định rõ ràng để duy trì hiệu quả sản xuất.
2M1 + 1,5M2 + 3M3 ≤ 10,000 } ràng buộc về nối dây
1M1 + 2M2 + 1M3 ≤ 5,000 } ràng buộc về khai thác
Ba ràng buộc bổ sung đảm bảo có sẵn 3.000 vòng trượt kiểu 1, 2.000 vòng trượt kiểu 2 và 900 vòng trượt kiểu 3 nhằm đáp ứng nhu cầu đơn đặt hàng.
Cuối cùng, vì không có biến nào trong mô hình có thể nhận giá trị nhỏ hơn 0, nên chúng ta cũng cần điều kiện không âm sau:
Triển khai mô hình
Mô hình LP cho bài toán tự sản xuất so với mua của Electro-Poly được tóm tắt như sau:
MIN: 50M1 + 83M2 + 130M3 + 61B1 + 97B2 + 145B3 } tổng chi phí Các ràng buộc:
2M1 + 1,5M2 + 3M3 ≤ 10,000 } ràng buộc về nối dây
1M1 + 2M2 + 1M3 ≤ 5,000 } ràng buộc về khai thác
Dữ liệu cho mô hình được triển khai trong bảng tính, như minh họa trong Hình 3.17 và tệp Fig3-17.xls Các hệ số trong hàm mục tiêu được nhập từ ô B10 đến D11, trong khi các hệ số cho công thức LHS của ràng buộc và khai thác nằm trong ô B17 đến D18 Giá trị RHS tương ứng được nhập vào ô F17 và F18 Do công thức LHS cho ràng buộc nhu cầu chỉ tính tổng các biến quyết định, nên không cần liệt kê các hệ số cho các ràng buộc này trong bảng tính Giá trị RHS cho ràng buộc nhu cầu được nhập từ ô B14 đến D14.
M1 + B1 = 3,000 } nhu cầu của mẫu 1 M2 + B2 = 2,000 } nhu cầu của mẫu 2 M3 + B3 = 900 } nhu cầu của mẫu 3
M1 + B1 = 3,000 } nhu cầu của mẫu 1 M2 + B2 = 2,000 } nhu cầu của mẫu 2 M3 + B3 = 900 } nhu cầu của mẫu 3
Các ô từ B6 đến D7 được sử dụng để biểu diễn sáu biến trong bảng đại số Do đó, hàm mục tiêu có thể được nhập vào ô E11.
Công thức này nhân các giá trị trong phạm vi B6 đến D7 với các giá trị tương ứng trong phạm vi B10 đến D11, sau đó cộng các kết quả lại với nhau Điều này cho thấy công thức thực chất chỉ là tổng của một tập hợp các kết quả Hơn nữa, công thức này có thể được thực hiện một cách dễ dàng hơn bằng cách khác.
Tương đương công thức cho ô E11: =SUMPRODUCT(B10:D11,B6:D7)
Công thức sẽ lấy các giá trị từ phạm vi B10 đến D11, nhân chúng với các giá trị tương ứng trong phạm vi B6 đến D7, sau đó cộng tổng các tích này lại với nhau.
Hàm SUMPRODUCT( ) giúp đơn giản hóa việc thực hiện nhiều công thức cần thiết trong các bài toán tối ưu hóa và sẽ được áp dụng rộng rãi trong toàn bộ cuốn sách này.
Công thức ô chính Ô Công thức Đã sao chép vào
Mô hình bảng tính cho bài toán tự sản xuất hay mua của Electro-Poly
Các ô biến đổi Ô mục tiêu Các ô ràng buộc
Ràng buộc nhu cầu đối với vòng trượt mô hình 1 được thực hiện trong ô B13 bằng cách thêm biến M1 và B1, tương ứng với hai ô B6 và B7 trong bảng tính.
Công thức trong ô B13 được sao chép sang ô C13 và D13 để áp dụng các công thức LHS cho các ràng buộc của vòng trượt trong mô hình 2 và mô hình 3.
Các hệ số cho các ràng buộc đi dây và khai thác được nhập vào các ô B17 đến D18 Công thức bên trái (LHS) cho ràng buộc nối dây được triển khai trong ô E17.
Công thức được sao chép vào ô E18 để áp dụng cho ràng buộc khai thác Các ký hiệu đô la trong công thức trước đó biểu thị các tham chiếu ô tuyệt đối, đảm bảo rằng tham chiếu này không thay đổi khi công thức được sao chép sang vị trí khác.
Giải quyết mô hình
Để giải quyết mô hình, cần chỉ định ô tập hợp, ô biến đổi và ô ràng buộc như trong Hình 3.17, tương tự như ví dụ về Bồn tắm nước nóng Blue Ridge Hình 3.18 minh họa các tham số Slover Parameters cần thiết để giải quyết bài toán mua hay tự sản xuất của Electro-Poly.
Sau khi chúng tôi nhấp vào nút Slover trong hộp thoại Slover Parameters, Slover sẽ tìm thấy giải pháp tối ưu thể hiện trong Hình 3.19.
Phân tích giải pháp
Giải pháp tối ưu cho Electro-Poly, như minh họa trong Hình 3.19, đề xuất sản xuất trong nhà 3.000 vòng trượt kiểu 1, 550 vòng trượt kiểu 2 và 900 vòng trượt kiểu 3 (M1 = 3.000, M2 = 550, M3 = 900) Bên cạnh đó, công ty nên xem xét việc mua thêm 1.450 vòng trượt kiểu khác để đáp ứng nhu cầu.
2 từ đối thủ cạnh tranh (nghĩa là B1 = 0, B2 = 1.450, B3 = 0) Giải pháp này cho phép Electro-Poly thực hiện đơn đặt hàng của khách hàng với chi phí tối thiểu là 453,300 đô
29 la Giải pháp này sử dụng 9.525 trong số 10.000 giờ công suất dây có sẵn và tất cả 5.000 giờ công suất khai thác
Mặc dù Electro-Poly phải trả 97 đô la cho mỗi vòng trượt kiểu 2 từ đối thủ cạnh tranh, cao hơn 14 đô la so với chi phí nội bộ 83 đô la, nhưng phí bảo hiểm 11 đô la cho vòng trượt kiểu 1 lại thấp hơn Điều này dẫn đến giả thuyết rằng việc mua vòng trượt kiểu 2 là lựa chọn tối ưu Tuy nhiên, lập luận này không tính đến thực tế rằng mỗi mô hình 2 vòng trượt đều có những yếu tố khác cần xem xét.
Solver parameters trong bài toán tự sảnxuất hay mua
Giải pháp tối ưu cho bài toán tự sản xuất hay mua
Việc sử dụng 30 xuất trong nhà giúp tăng gấp đôi công suất khai thác so với mô hình 1 vòng trượt Tuy nhiên, sản xuất vòng trượt model 2 trong nhà có thể làm cạn kiệt công suất khai thác nhanh chóng và dẫn đến việc phải mua nhiều vòng trượt Model 1 từ đối thủ Kỹ thuật LP tự động sẽ xem xét những đánh đổi này để tìm ra giải pháp tối ưu cho vấn đề.
BÀI TOÁN ĐẦU TƯ
Xác định các biến
Trong bài toán này, Brian cần xác định số tiền đầu tư cho từng loại trái phiếu Do có sáu phương án đầu tư khác nhau, nên cần thiết lập sáu biến số quyết định.
X1 = số tiền đầu tư vào Acme Chemical X2 = số tiền đầu tư vào DynaStar
X3 = số tiền đầu tư vào Eagle Vision X4 = số tiền đầu tư vào MicroModeling X5 = số tiền để đầu tư vào OptiPro X6 = số tiền đầu tư vào Sabre Systems
Xác định hàm mục tiêu
Mục tiêu của bài toán là tối đa hóa thu nhập đầu tư cho khách hàng của Brian, với mỗi đô la đầu tư vào Acme Chemical (X1) mang lại 8.65% lợi nhuận hàng năm và mỗi đô la đầu tư vào DynaStar (X2) mang lại 9.50%.
MAX: 0.0865X1 + 0.095X2 + 0.10X3 + 0.0875X4 + 0.0925X5 + 0.09X6 }tổng lợi nhuận hàng năm
Xác định các ràng buộc
Để giải quyết bài toán này, cần tuân thủ một số ràng buộc quan trọng, trong đó điều kiện đầu tiên là đảm bảo số tiền đầu tư chính xác là 750.000 đô la.
Chúng tôi cần đảm bảo rằng không quá 25% tổng số tiền được đầu tư vào bất kỳ khoản đầu tư nào Cụ thể, 25% của 750,000 đô la là 187,500 đô la, vì vậy Brian không thể đầu tư quá 187,500 đô la vào mỗi khoản đầu tư Các ràng buộc sau đây sẽ thực thi hạn chế này.
Trái phiếu của Eagle Vision (X3) và OptiPro (X5) là những trái phiếu duy nhất đáo hạn trong vòng chưa đầy 10 năm Do đó, ràng buộc sau đây đảm bảo rằng ít nhất một nửa số tiền ($375,000) sẽ được đầu tư vào các khoản đáo hạn từ mười năm trở lên.
Tương tự, ràng buộc sau đảm bảo rằng không quá 35% số tiền ($262,500) được đặt vào trái phiếu cho DynaStar (X2), Eagle Vision (X3) và OptiPro (X5):
Cuối cùng, vì không có biến nào trong mô hình có thể nhận giá trị nhỏ hơn không, ta cũng cần điều kiện không âm sau:
Triển khai mô hì nh
Mô hình LP cho bài toán đầu tư của Retirement Planning Services, Inc tóm tắt như sau:
MAX: 0.0865X1 + 0.095X2 + 0.10X3 + 0.0875X4 + 0.0925X5 + 0.09X6 }Tổng lợi nhuận hàng năm
X1 ≤ 187.500 } Hạn chế 25% trên mỗi khoản đầu tư
X2 ≤ 187.500 } Hạn chế 25% trên mỗi khoản đầu tư
X3 ≤ 187.500 } Hạn chế 25% cho mỗi khoản đầu tư
X4 ≤ 187.500 } Hạn chế 25% trên mỗi khoản đầu tư
X5 ≤ 187.500 } Hạn chế 25% trên mỗi khoản đầu tư
X6 ≤ 187.500 } Hạn chế 25% trên mỗi khoản đầu tư
X1 + X2 + X3 + X4 + X5 + X6 = 750.000 } tổng số tiền đầu tư
X2 + X3 + X5 ≤ 262.500 } đầu tư rủi ro cao hơn
Công thức ô chính Ô Công thức Đã sao chép vào
Mô hình bảng tính cho bài toán lựa chọn trái phiếu của Retirement
Các ô ràng buộc Ô mục tiêu
Mô hình được triển khai đơn giản qua bảng tính trong Hình 3.20 (tệp Fig3-20.xls) Mỗi hàng đại diện cho một phương án đầu tư, với các ô C6 đến C11 tương ứng với các biến quyết định (X1, , X6) Giá trị tối đa cho từng ô được liệt kê trong các ô D6 đến D11, tương ứng với các giá trị RHS cho sáu giới hạn đầu tiên Tổng giá trị của các ô C6 đến C11 được tính trong ô C12 và sẽ bị giới hạn bởi giá trị hiển thị trong ô C13.
Lợi tức hàng năm cho mỗi khoản đầu tư được liệt kê trong các ô từ E6 đến E11 Hàm mục tiêu sau đó được triển khai thuận tiện trong ô E12 như sau:
Các giá trị trong ô từ G6 đến G11 xác định hàng nào tương ứng với các khoản đầu tư "dài hạn" Việc sử dụng số 1 và 0 trong cột này giúp tính tổng các ô C6, C7, C9 và C11 (đại diện cho X1, X2, X4 và X6), thể hiện LHS của hạn chế đầu tư "dài hạn" Kết quả được tính toán trong ô G12.
Các số 0 và 1 trong các ô từ I6 đến I11 chỉ ra mức độ rủi ro của các khoản đầu tư, cho phép chúng tôi áp dụng LHS của ràng buộc "đầu tư rủi ro cao hơn".
Việc sử dụng các số 0 và 1 trong các cột G và I để tính tổng của các biến quyết định là một kỹ thuật lập mô hình hữu ích, giúp người dùng dễ dàng thay đổi các biến trong tổng Ngoài ra, công thức mục tiêu trong ô E12 có thể được sao chép sang các ô G12 và I12 để triển khai công thức LHS cho các ràng buộc này.
Giải quyết mô hình
Để giải mô hình này, cần xác định ô đặt, ô biến và ô ràng buộc như trong Hình 3.20 Hình 3.21 minh họa các Slover Parameters cần thiết để giải bài toán Sau khi nhấn nút Slover Parameters trong hộp thoại, Slover sẽ tìm ra giải pháp tối ưu, như thể hiện trong Hình 3.22.
Phân tích giải pháp
Kế hoạch đầu tư tối ưu cho thấy 112.500 đô la được đầu tư vào Acme Chemical (X1), 75.000 đô la vào DynaStar (X2), 187.500 đô la vào Eagle Vision (X3), 187.500 đô la cho MicroModeling (X4), 0 đô la cho OptiPro (X5) và 187.500 đô la cho Sabre Systems (X6) Điều đáng chú ý là số tiền đầu tư vào Acme Chemical lại nhiều hơn so với DynaStar và OptiPro, mặc dù lợi tức của Acme Chemical thấp hơn Nguyên nhân là do DynaStar và OptiPro được xem là các khoản đầu tư có mức độ rủi ro cao hơn.
BÀI TOÁN VẬN CHUYỂN
Xác định các biến quyết định
Trong tình huống này, vấn đề cần giải quyết là xác định số lượng thùng trái cây cần vận chuyển từ mỗi khu rừng đến từng nhà máy chế biến Bài toán này được minh họa qua đồ thị trong Hình 3.23.
Các vòng tròn trong Hình 3.23 đại diện cho các khu rừng và nhà máy chế biến trong bài toán, với một số nút đã được gán Các mũi tên kết nối các khu rừng và nhà máy chế biến khác nhau.
Tropicsun đang đối mặt với thách thức xác định số lượng thùng trái cây cần vận chuyển trên từng tuyến đường Mỗi cung trong hệ thống vận chuyển được liên kết với một biến quyết định, cho phép quản lý hiệu quả nguồn hàng Các biến này có thể được định nghĩa một cách tổng quát để tối ưu hóa quá trình vận chuyển.
X ij = số lượng thùng để vận chuyển từ nút i đến nút j
Cụ thể, chín biến quyết định là:
X14 = số thùng cần vận chuyển từ Mt Dora (nút 1) đến Ocala (nút 4)
X15 = số thùng cần vận chuyển từ Mt Dora (nút 1) đến Orlando (nút 5)
X16 = số thùng cần vận chuyển từ Mt Dora (nút 1) đến Leesburg (nút 6) X24 = số thùng cần vận chuyển từ Eustis (nút 2) đến Ocala (nút 4)
X25 = số thùng cần vận chuyển từ Eustis (nút 2) đến Orlando (nút 5)
X26 = số thùng cần vận chuyển từ Eustis (nút 2) đến Leesburg (nút 6)
X34 = số thùng cần vận chuyển từ Clermont (nút 3) đến Ocala (nút 4)
X35 = số thùng cần vận chuyển từ Clermont (nút 3) đến Orlando (nút 5)
X36 = số thùng cần vận chuyển từ Clermont (nút 3) đến Leesburg (nút 6)
Sơ đồ bài toán vận chuyển Tropicsun
Cung cấp Rừng cây K hoảng cách Nhà máy chế biến Dung tích
Xác định hàm mục tiêu
Mục tiêu của bài toán là xác định số lượng thùng cần vận chuyển từ từng khu rừng đến các nhà máy chế biến, đồng thời tối ưu hóa tổng quãng đường hoặc tổng số thùng di chuyển Hàm mục tiêu được thể hiện như sau: MIN: 21X14 + 50X15 + 40X16 + 35X24 + 30X25 + 22X26 + 55X34 + 20X35 + 25X36.
Số hạng 21X14 trong hàm này cho thấy rằng mỗi thùng hàng vận chuyển từ Mt Dora (nút 1) đến Ocala (nút 4) phải di chuyển 21 dặm, và các điều khoản khác trong hàm cũng thể hiện các mối quan hệ tương tự cho các tuyến đường vận chuyển khác.
Xác định các ràng buộc
Tropicsun phải tuân thủ các ràng buộc vật lý trong việc vận chuyển trái cây đến các nhà máy chế biến, với giới hạn cụ thể là 200.000 thùng cho Ocala, 600.000 thùng cho Orlando và 225.000 thùng cho Leesburg Các hạn chế này ảnh hưởng trực tiếp đến khả năng cung ứng của công ty.
X14 + X24 + X34 ≤ 200.000 } Giới hạn công suất cho Ocala
X15 + X25 + X35 ≤ 600.000 } Giới hạn công suất cho Orlando X16 + X26 + X36 ≤ 225.000 } Giới hạn công suất cho Leesburg
Ràng buộc đầu tiên yêu cầu tổng số thùng vận chuyển đến Ocala (nút 4) từ Mt Dora (nút 1), Eustis (nút 2) và Clermont (nút 3) không vượt quá công suất 200.000 thùng của Ocala Tương tự, ràng buộc thứ hai áp dụng cho Orlando và Leesburg Cần lưu ý rằng tổng công suất chế biến của các nhà máy đạt 1.025.000 thùng, trong khi tổng cung trái cây từ các vườn chỉ là 975.000 thùng Vì vậy, các ràng buộc này được coi là “nhỏ hơn hoặc bằng”, do không phải toàn bộ công suất có sẵn sẽ được khai thác.
Nhóm ràng buộc thứ hai đảm bảo rằng nguồn cung cấp trái cây từ các khu rừng được vận chuyển đến nhà máy chế biến, với tổng số 275.000, 400.000 và 300.000 thùng tại Mt Dora, Eustis và Clermont cần được xử lý Các ràng buộc này đóng vai trò quan trọng trong việc quản lý và duy trì chuỗi cung ứng trái cây hiệu quả.
X14 + X15 + X16 = 275.000 } nguồn cung có sẵn tại Mt Dora
X24 + X25 + X26 = 400.000 } nguồn cung có sẵn tại Eustis
X34 + X35 + X36 = 300.000 } nguồn cung có sẵn tại Clermont
Ràng buộc đầu tiên yêu cầu tổng số tiền trái cây được vận chuyển từ Mt Dora (nút 1) đến các nhà máy ở Ocala (nút 4), Orlando (nút 5) và Leesburg (nút 6) phải bằng tổng số lượng trái cây có sẵn tại Mt Dora Điều này nhấn mạnh rằng tất cả các loại trái cây hiện có tại Mt Dora cần được phân phối một cách hợp lý đến các điểm đến khác.
Mt Dora phải được vận chuyển đến một nơi nào đó Hai ràng buộc khác đóng vai trò tương tự đối với Eustis và Clermont.
Giải quyết mô hình
Mô hình LP cho vấn đề vận chuyển trái cây của Tropicsun được tóm tắt như sau:
35X24 + 30X25 + 22X26 + tổng quãng đường trái cây được vận chuyển 55X34 + 20X35 + 25X36 (thùng-miles)
X14 + X24 + X34 ≤ 200.000 } Giới hạn dung lượng cho Ocala
X15 + X25 + X35 ≤ 600.000 } Giới hạn dung lượng cho Orlando
X16 + X26 + X36 ≤ 225.000 } Giới hạn dung lượng cho Leesburg
X14 + X15 + X16 = 275.000 } nguồn cung có sẵn tại Mt Dora
X24 + X25 + X26 = 400.000 } nguồn cung có sẵn tại Eustis
X34 + X35 + X36 = 300.000 } nguồn cung có sẵn tại Clermont
X ij ≥ 0, với mọi i và j } điều kiện không âm
Ràng buộc cuối cùng, như trong các mô hình trước đó, chỉ ra rằng tất cả các biến quyết định phải không âm
Mô hình này có thể được triển khai một cách thuận tiện như thể hiện trong Hình 3.24 và tệp Fig3-24.xls Trong bảng tính, khoảng cách giữa từng lùm cây và cây trồng được tóm tắt trong các ô từ C7 đến E9 Các ô từ C14 đến E16 biểu thị số thùng trái cây vận chuyển từ mỗi vườn đến từng nhà máy chế biến, tương ứng với chín biến quyết định trong công thức đại số của mô hình.
Các công thức LHS cho ba giới hạn dung lượng được triển khai trong ô C17, D17 và E17 của bảng tính Để thực hiện, hãy nhập công thức vào ô C17 và sau đó sao chép sang ô D17 và E17.
Các ô từ C18 đến E18 thể hiện tổng số thùng trái cây được vận chuyển đến các nhà máy ở Ocala, Orlando và Leesburg, đồng thời chứa các giá trị RHS cho các ô ràng buộc tương ứng.
Các công thức LHS cho ba giới hạn nguồn cung trong mô hình được triển khai trong các ô F14, F15 và F16 dưới dạng:
Công thức ô chính Ô Công thức Đã sao chép vào
Mô hình bảng tính cho bài toán vận chuyển của Tropicsun
Các ô ràng buộc Ô mục tiêu
Các ô từ G14 đến G16 thể hiện tổng số thùng trái cây được vận chuyển từ các khu rừng ở Mt Dora, Eustis và Clermont, đồng thời chứa các giá trị RHS cho các ô ràng buộc này.
Cuối cùng, hàm mục tiêu cho mô hình này được nhập vào ô E20 dưới dạng: Công thức ô E20: =SUMPRODUCT(C7:E9,C14:E16)
Hàm SUMPRODUCT( ) nhân từng phần tử trong phạm vi C7 đến E9 với phần tử tương ứng trong phạm vi C14 đến E16 và sau đó tính tổng các tích riêng lẻ.
Giải pháp heuristic cho mô hình
Để hiểu rõ hơn về những gì Solver đang thực hiện, hãy xem xét việc giải quyết vấn đề theo cách thủ công thông qua phương pháp phỏng đoán Heuristic là quy tắc ngón tay cái giúp đưa ra quyết định trong một số tình huống, mặc dù không đảm bảo cho giải pháp tối ưu Một kinh nghiệm hữu ích cho việc giải quyết vấn đề của Tropicsun là tối ưu hóa vận chuyển bằng cách chọn con đường ngắn nhất hoặc có chi phí thấp nhất Áp dụng Heuristic này, chúng ta có thể tiếp cận vấn đề một cách hiệu quả hơn.
1 Bởi vì con đường ngắn nhất hiện có giữa bất kỳ khu rừng và nhà máy chế biến nào là giữa rừng Clermont và nhà máy Orlando (20 dặm), trước tiên chúng ta vận chuyển càng nhiều càng tốt qua tuyến đường này Số lượng tối đa chúng tôi có thể vận chuyển qua tuyến đường này là nguồn cung nhỏ hơn tại rừng Clermont (300.000 thùng) hoặc công suất tại nhà máy Orlando (600.000 thùng) Vì vậy, chúng ta sẽ vận chuyển 300.000 thùng từ rừng Clermont đến nhà máy Orlando Điều này làm cạn kiệt nguồn cung tại rừng Clermont
2 Tuyến đường có sẵn ngắn nhất tiếp theo xảy ra giữa rừng Mt Dora và nhà máy Ocala (21 dặm) Số lượng tối đa chúng ta có thể vận chuyển qua tuyến đường này là nguồn cung nhỏ hơn tại rừng Mt Dora (275.000 thùng) hoặc công suất tại nhà
42 máy Ocala (200.000 thùng) Vì vậy, chúng ta sẽ vận chuyển 200.000 thùng từ rừng
Mt Dora đến nhà máy Ocala Điều này làm cạn kiệt năng lực tại Ocala
3 Tuyến đường có sẵn ngắn nhất tiếp theo xảy ra giữa rừng Eustis và nhà máy Leesburg (22 dặm) Mức tối đa mà chúng tôi có thể vận chuyển qua tuyến đường này là nguồn cung nhỏ hơn tại rừng Eustis (400.000 thùng) hoặc công suất tại nhà máy Leesburg (225.000 thùng) Vì vậy, chúng ta sẽ vận chuyển 225.000 thùng từ rừng Eustis đến nhà máy Leesburg Điều này làm cạn kiệt năng lực tại Leesburg
4 Lộ trình ngắn nhất tiếp theo xảy ra giữa rừng Eustis và nhà máy Orlando (30 dặm)
Chúng ta có thể vận chuyển tối đa 175.000 thùng từ rừng Eustis đến nhà máy Orlando, do số lượng này nhỏ hơn nguồn cung còn lại tại Eustis (175.000 thùng) và công suất còn lại tại Orlando (300.000 thùng) Việc này sẽ làm cạn kiệt nguồn cung tại Eustis.
5 Tuyến đường duy nhất còn lại xảy ra giữa rừng Mt Dora và nhà máy Orlando (vì năng lực xử lý tại hai nhà máy Ocala và Leesburg đều đã cạn kiệt) Khoảng cách này là 50 dặm Số lượng tối đa chúng ta có thể vận chuyển qua tuyến đường này là số lượng nhỏ hơn trong số nguồn cung còn lại tại rừng Mt Dora (75.000 thùng) và công suất còn lại tại nhà máy Orlando (125.000 thùng) Vì vậy, chúng ta sẽ vận chuyển 75.000 thùng cuối cùng từ rừng Mt Dora đến nhà máy Orlando Điều này làm cạn kiệt nguồn cung tại Mt Dora
Giải pháp được xác định từ kinh nghiệm cho thấy việc vận chuyển trái cây tổng cộng 24.150.000 thùng-dặm là khả thi Tất cả các thùng có sẵn tại mỗi khu rừng đã được chuyển đến các nhà máy chế biến mà không vượt quá công suất của các nhà máy này.
Logic được sử dụng để tìm ra giải pháp này có thể khiến chúng ta tin rằng đây là một giải pháp hợp lý, nhưng liệu nó có phải là tối ưu? Có hay không những giải pháp khả thi khác giúp giảm tổng quãng đường trái cây phải di chuyển xuống dưới 24.150.000 thùng-dặm?
Giải mô hình
Để tối ưu hóa mô hình, cần xác định ô tập hợp, ô biến và ô ràng buộc như trong Hình 3.24 Hình 3.26 cung cấp các thông số Solver cần thiết để giải quyết vấn đề này Giải pháp tối ưu được trình bày trong Hình 3.27.
Phân tích giải pháp
Giải pháp Heuristic cho bài toán vận chuyển
Solver Parameters của bài toán vận chuyển
Giải pháp tối ưu xác định rằng 200.000 thùng sẽ được vận chuyển từ rừng Mt Dora đến nhà máy Ocala và 75.000 thùng đến nhà máy Leesburg Tại khu rừng Eustis, 250.000 thùng sẽ được chuyển đến nhà máy Orlando, trong khi 150.000 thùng sẽ được gửi đến nhà máy Leesburg Cuối cùng, toàn bộ 300.000 thùng từ rừng Clermont sẽ được vận chuyển đến nhà máy Orlando Không có tuyến đường vận chuyển khả thi nào khác được xem xét.
Giải pháp trong Hình 3.27 đáp ứng tất cả các ràng buộc của mô hình và đạt được khoảng cách vận chuyển tối thiểu là 24.000.000 thùng-dặm, vượt trội hơn so với giải pháp Heuristic trước đó Điều này cho thấy rằng mặc dù các Heuristic đơn giản có thể giải quyết các vấn đề LP, nhưng không có gì đảm bảo rằng chúng sẽ mang lại giải pháp tối ưu nhất.