Để giải quyết được mô hình này, chúng ta phải chỉ định những ô thiết lập, những ô biến thiên và các ràng buộc theo bảng 3.42 dưới đây.Nên nhớ rằng thiết lập hoàn toàn giống nhau của 1 mẫu Solver sẽ được dùng để dò tìm ra những đơn vị DEA tối ưu cho bất kì đại lượng nào khác. Cách giải quyết tốt nhất đối với đại lượng 1 được trình bày trong bảng 3.43. Lưu ý là đại lượng 1 đạt đến con số hiệu lực là 0.9667 và do đó nó hơi thiếu hiệu quả.
Để hoàn tất việc phân biệt cho các đại lượng duy trì, Mike có thể thay đổi giá trị của ô B21 lần lượt cho đến 2, 3, ..., 12 và dùng Solver để tối ưu hóa lại bảng biểu cho từng đại lượng sau đó ghi lại mức hiệu lực của chúng vào cột J. Tuy nhiên, nếu như có đến 120 đại lượng chứ không phải chỉ là 12 thì cách giải này sẽ trở nên khá rối rắm. May mắn thay, chúng ta có thể dễ dàng viết một macro đơn giản trong Excel để tự động hóa cả quá trình trên chỉ với 1 cú click chuột. Để làm điều này, hãy mở thanh công cụ Control Toolbox và đặt 1 nút lệnh vào bảng biểu của bạn (như hình minh họa 3.44).
- Chọn View, Toolbar, Control Toolbox.
- Kích chọn biểu tượng Command Button (nút lệnh) trong bảng Control Toolbox).
Các mô hình ra quyết định Th.S Hồ Nguyên Khoa
- Giữ và rê chuột trong bảng biểu để vẽ một nút lệnh.
Tiếp theo, chúng ta cần thay đổi 1 vài thuộc tính của nút lệnh mà ta vừa tạo ra. Các bước tiến hành như sau:
- Kích chuột vào nút lệnh để chắc chắn rằng nó đã được chọn. - Chọn biểu tượng Properties (đặc tính) trong bảng Control Toolbox
Những thao tác trên sẽ làm cho của sổ Properties xuất hiện như minh họa trong hình 3.45. Cửa sổ này liệt kê một số thuộc tính của nút lệnh mà bạn có thể thay đổi để tùy chỉnh hình thức cũng như tính chất của nút lệnh. Đối với những mục đích hiện giờ của chúng ta, bạn hãy thay đổi các giá trị thuộc tính của nút lệnh như sau:
Thuộc tính Giá trị mới
(Name) DEA
Caption Run DEA
TakeFocusOnClick False
Tiếp đó, kích đúp chuột vào nút lệnh. Bạn sẽ mở được Excel’s Visual Basic Editor (chương trình hiệu chỉnh Visual Basic của Excel), một cửa sổ chứa các đoạn mã lệnh dành cho việc kích chuột vào nút lệnh sẽ hiện lên. Lúc đầu, việc kích chuột vào nút lệnh sẽ không có đoạn mã lệnh nào cả. Bạn hãy chèn những mã lệnh như trong hình 3.46 vào đó. Từ giờ trở đi, các đoạn mã lệnh này sẽ được thực thi bất kì khi nào bạn kích chuột vào nút lệnh.
Lưu ý quan trọng về phần mềm
Khi bạn đặt 1 nút lệnh vào bảng biểu, tốt nhất bạn nên chọn thuộc tính
“TakeFocusOnClick” của nó bằng False. Điều này giúp bạn tránh khỏi việc nút lệnh của bạn nhận được “focus” khi bạn kích vào nó. “Focus” là từ dùng để chỉ việc một đối tượng trên màn hình được chọn hay được sự chú ý của máy tính. Một macro của Excel không thể thực hiện một số thao tác nếu như nút lệnh có focus.
Mẹo vặt khi dùng phần mềm
Bạn có thể dễ dàng chuyển đổi qua lại từ Excel và Visual Basic Editor bằng cách nhấn tổ hợp phím Alt+11
Nếu bạn đã từng có kinh nghiệm lập trình, chắc hẳn bạn có thể đi theo trật tự đằng sau các mã lập trình ở hình 3.46. Bằng một cách ngắn gọn, lệnh For và Next xác định một chuỗi mã lệnh được lặp lại tới 12 lần. Trong suốt lần đầu thực thi của chuỗi đó, biến “unit” sẽ luôn bằng 1. Trong suốt lần thực thi thứ hai của chuỗi đó, biến “unit” sẽ luôn bằng 2, vân vân. Trong suốt mỗi lần thực thi chuỗi, thao tác sau sẽ đều diễn ra: Hình 3.46.
Mã lệnh Macro Mục đích
Các mô hình ra quyết định Th.S Hồ Nguyên Khoa
RANGE(“B21”)=unit Đặt giá trị của “unit” hiện tại (1, 2, 3,..,12) vào ô B21 trong bảng biểu.
SolverSolve UserFinish:=True Yêu cầu Solver giải quyết vấn
đề mà không hiện lên hộp thoại Kết Quả Solver như thường lệ
Range(“J” & 5+ unit) = Range(“B22”) Chọn giá trị tối ưu của hàm mục tiêu ở ô B22 và đặt nó vào hàng “5+unit” tức là hàng số 6, 7,..., hay 17 trong cột J. Để khởi động chương trình Solver trong một chương trình Macro, đầu tiên ta phải thiết lập một mục tham khảo cho tập tin Solver.xla. Bạn thực hiện điều đó trong Excel’s Visual Basic Editor như sau:
- Chọn Tool, Reference và kiểm tra trong hộp thoại để tìm tập tin Solver.xla
- Chọn OK
Bây giờ chúng ta có thể kiểm tra xem nút lệnh có hoạt động không được rồi. Bạn tiến hành như sau:
- Đóng cửa sổ hiệu chỉnh Visual Basic ( hoặc nhấn Alt+F11) - Chọn biểu tượng Exit Design Mode trong hộp Control Toolbox
- Kích vào nút RUN DEA
Nếu như mọi thứ đều làm việc chính xác, bạn sẽ nhìn thấy kết quả như hình 3.47 ( hay xem tập tin hoàn thành tên là Fig3-47.xls trong đĩa dữ liệu).
Lưu ý quan trọng về phần mềm
Điều quan trọng mà bạn phải nhớ, đó là: nút lệnh và các công cụ điều khiển khác chỉ hoạt động được sau khi bạn thoát khỏi môi trường thiết kế. Nếu như bạn đóng thanh công cụ Control Toolbox trước khi chọn biểu tượng Exit Design Mode thì bạn vẫn còn đang ở trong phần thiết kế, ngay cả khi mục Control Toolbox đã tắt và do đó, nút lệnh của bạn sẽ không hoạt động chính xác được.