Bài giảng Lập trình ứng dụng kinh tế (Phần 2)

pdf 74 trang ngocly 2050
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình ứng dụng kinh tế (Phần 2)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_lap_trinh_ung_dung_kinh_te_phan_2.pdf

Nội dung text: Bài giảng Lập trình ứng dụng kinh tế (Phần 2)

  1. Chương 3 LẬP TRÌNH ỨNG DỤNG KINH TẾ 3.1. Hệ hỗ trợ quyết định 3.1.1. Khái niệm hệ hỗ trợ quyết định Hệ hỗ trợ quyết định là hệ thống được thiết kế với mục đích trợ giúp các hoạt động ra quyết định. Quá trình ra quyết định thường được mô tả như là một quy trình được tạo thành từ ba giai đoạn: Xác định vấn đề, xây dựng và đánh giá các phương án giải quyết và lựa chọn một phương án. Về nguyên tắc, một hệ thống trợ giúp ra quyết định phải cung cấp thông tin cho phép người ra quyết định xác định rõ tình hình mà một quyết định cần phải ra. Thêm vào đó nó còn phải có khả năng mô hình hóa để có thể phân lớp và đánh giá các giải pháp. Nói chung đây là các hệ thống đối thoại có khả năng tiếp cận tiếp cận một hoặc nhiều cơ sở dữ liệu và sử dụng một hoặc nhiều mô hình để biểu diễn và đánh giá tình hình. 3.1.2. Bài toán phục vụ công cộng + Hệ thống phục vụ công cộng từ chối cổ điển (Hệ thống EcLang) Mô tả hệ thống: Hệ thống phục vụ công cộng có n kênh phục vụ, năng suất các kênh bằng nhau và bằng , dòng yêu cầu đến hệ thống là dòng poát xông dừng mật độ  (qui luật về sự xuất hiện các yêu cầu theo thời gian). Thời gian phục vụ 1 yêu cầu của kênh tuân theo qui luật chỉ số. Một yêu cầu đến hệ thống gặp lúc có ít nhất 1 kênh rỗi thì được nhận phục vụ cho đến thoả mãn tại 1 trong các kênh rỗi đó. Ngược lại nếu tất cả các kênh đều bận thì phải ra khỏi hệ thống. Cần xác định các chỉ tiêu phân tích hệ thống. Ví dụ: Bộ kiểm tra sản phẩm (sp) của một cơ sở sản xuất có 3 máy làm việc tự động, năng suất các máy đều là 6 sp/phút. Mỗi sản phẩm ra khỏi dây truyền đến bộ phận kiểm tra nếu gặp lúc có máy rỗi sẽ được kiểm tra tại một trong các máy rỗi, ngược lại sản phẩm nhập kho không qua kiểm tra. Dòng sản phẩm ra khỏi dây truyền là dòng poát xông dừng mật độ trung bình 12 sp/phút. Thời gian kiểm tra 1 sản phẩm phân phối chỉ số. (1). Hãy tính các chỉ tiêu đánh giá hoạt động của bộ phận kiểm tra. (2). Nếu muốn tỷ lệ sản phẩm được kiểm tra không < 96% thì cần có tối thiểu bao nhiêu máy như vậy. 74
  2. + Hệ thống chờ với độ dài hàng chờ hạn chế và thời gian chờ không hạn chế Mô tả hệ thống: Hệ thống phục vụ công cộng có n kênh phục vụ, năng suất các kênh bằng nhau và bằng , dòng yêu cầu đến hệ thống là dòng poát xông dừng mật độ  (qui luật về sự xuất hiện các yêu cầu theo thời gian). Thời gian phục vụ 1 yêu cầu của kênh tuân theo qui luật chỉ số. Một yêu cầu đến hệ thống gặp lúc có ít nhất 1 kênh rỗi thì được nhận phục vụ cho đến thoả mãn tại 1 trong các kênh rỗi đó. Ngược lại nếu tất cả các kênh đều bận thì xếp hàng chờ nếu số yêu cầu chờ bé hơn m. Cần xác định các chỉ tiêu phân tích hệ thống. Ví dụ: Một trạm đăng kiểm xe máy có 2 tổ làm việc độc lập, năng suất mỗi tổ 6 xe/ngày. Dòng xe đến trạm là dòng poát xông dừng trung bình 10 xe/ngày. Thời gian đăng kiểm 1 xe tuân theo qui luật chỉ số. Một xe đến trạm nếu gặp lúc có tổ rỗi thì được nhận ngay tại tổ rỗi ngược lại phải chờ nếu số xe chờ chưa quá 9. Tính các chỉ tiêu phân tích hoạt động của trạm trên như một hệ thống phục vụ. + Hệ thống chờ thuần nhất Mô tả hệ thống: Hệ thống phục vụ công cộng có n kênh phục vụ, năng suất các kênh bằng nhau và bằng , dòng yêu cầu đến hệ thống là dòng poát xông dừng mật độ  (qui luật về sự xuất hiện các yêu cầu theo thời gian). Thời gian phục vụ 1 yêu cầu của kênh tuân theo qui luật chỉ số. Một yêu cầu đến hệ thống gặp lúc có ít nhất 1 kênh rỗi thì được nhận phục vụ cho đến thoả mãn tại 1 trong các kênh rỗi đó. Ngược lại nếu tất cả các kênh đều bận thì xếp hàng chờ. Cần xác định các chỉ tiêu phân tích hệ thống Ví dụ: Một thư viện có 6 người làm thư mục sách, mỗi giờ một người làm được trung bình 4 cuốn. Trung bình mỗi giờ có 18 cuốn sách về thư viện cần được làm thư mục. Nếu một cuốn sách về gặp lúc có người làm thư mục rỗi thì được làm thư mục ngay, ngược lại phải xếp tạm vào kho chờ. Dung tích kho đủ lớn và giả sử dòng sách về là dòng poát xông dừng, còn thời gian làm thư mục tuân theo qui luật chỉ số. Hãy tính các chỉ tiêu đánh giá hoạt động của tổ làm thư mục. Qui trình xử lý bài toán Với từng phương pháp khác nhau chúng ta lại có các đầu vào khác nhau => kết quả ra khác nhau. Nhưng về cơ bản để giải quyết bài toán này chúng ta cần có các thông số vào tổng quát sau: 75
  3. a. Hệ thống phục vụ công cộng từ chối cổ điển (Hệ thống Eclang) Bài toán thuận Bài toán thuận/nghịch Đầu vào: Kết quả: 1. Số kênh phục vụ 1. XS các kênh đều rỗi 2. Cường độ dòng vào Qui trình xử lý 2. XS các kênh đều bận 3. Năng suất phục vụ Chương trình máy tính 3. XS yêu cầu được pv 4. Độ dài hàng chờ 1. Từ chối cổ điển 4. XS yêu cầu phải chờ 2. Hàng chờ hạn chế 5. XS yêu cầu bị từ chối Bài toán nghịch 3. Hàng chờ không 6. Số kênh bận TB Đầu vào: hạn chế 7. Số kênh rỗi trung bình 1. Cường độ dòng vào 8. Độ dài hàng chờ TB 2. Năng suất phục vụ 9. Thời gian chờ TB 3. Độ dài hàng chờ 10. Hệ số bận của kênh 4. Yêu cầu phục vụ 11. Hệ số rỗi của kênh Một trong những hệ thống phục vụ công cộng đơn giản nhất, được mô hình hoá đầu tiên là hệ thống từ chối cổ điển. Hệ thống này mang tên người đề xuất bài toán tương ứng: Hệ thống Eclang, nó bắt đầu từ bài toán phân tích một trạm điện thoại thông thường, với một vài giả thiết đơn giản. Nhưng cũng chính từ bài toán này, từ hệ thống này người ta đã vận dụng phân tích những hệ thống rất lớn, chẳng hạn hệ thống phòng thủ, hệ thống kiểm dịch, Sau đây chỉ nghiên cứu hệ thống Eclang đơn giản nhất. Mô tả hệ thống Hệ thống phục vụ công cộng có n kênh phục vụ, năng suất các kênh bằng nhau và bằng , dòng yêu cầu đến hệ thống là dòng poát xông dừng mật độ . Thời gian phục vụ 1 yêu cầu của kênh tuân theo qui luật chỉ số. Một yêu cầu đến hệ thống gặp lúc có ít nhất 1 kênh rỗi thì được nhận phục vụ cho đến thoả mãn tại 1 trong các kênh rỗi đó. Ngược lại nếu tất cả các kênh đều bận thì phải ra khỏi hệ thống. Cần xác định các chỉ tiêu phân tích hệ thống. Hệ phương trình trạng thái và các xác suất trạng thái 0 = - P0 + P1 0 = - P1 - P1 +P0 + 2P2 (3) 0 = - Pk - kPk +Pk-1 +(k+1)Pk+1 với ĐK chuẩn:  Pk 1 k 76
  4. k đặt = / từ (2) ta có Pk = P ! 0 Thay vào điều kiện chuẩn ta có: n n k  Pk  P0 1 k 0 k 0 K! 1 => P = 0 n k  k 0 ! Bằng cách nhân cả tử số và mẫu số trong công thức trên với e- ta có: e 0 / 0! P = 0 n k  e k 0 ! Ký hiệu: P( , k) = e k /! - đây là xác suất đại lượng ngẫu nhiên phân phối poát xông nhận giá trị k. k R( , k) =  P( ,i)- là xác suất tích luỹ tương ứng ta có: i 0 e 0 / 0! P( ,0) P0 = n k R( ,n)  e k 0 ! k P( , k) Từ đó: Pk = P (4) k! 0 R( , n) Các giá trị P( , k) và R( , k) được tính trong bảng phân phối poát xông. Các chỉ tiêu đánh giá hoạt động của hệ thống Đối với hệ thống này các chỉ tiêu cơ bản đánh giá hệ thống là: (1). Xác suất hệ thống có n kênh rỗi: Pr 0 P( ,0) Pr = P0 = P 0! 0 R( , n) Chỉ tiêu này cho biết tỷ lệ thời gian hệ thống rỗi hoàn toàn, thời gian rỗi hoàn toàn tồn tại ở mọi hệ thống poát xông nói riêng và các hệ ngẫu nhiên nói chung, dù ta có giảm tối thiểu đến số kênh phục vụ hay tăng tối đa cường độ dòng yêu cầu. 77
  5. (2). Xác suất hệ thống có n kênh bận (hay xác suất một yêu cầu đến hệ thống bị từ chối Ptc): n P( , n) Pn = P n! 0 R( , n) Đây cũng là hiệu suất lý thuyết tối đa của hệ thống, như vậy trong trường hợp hệ ngẫu nhiên không có khả năng thiết kế một hệ thống khai thác toàn bộ công suất kỹ thuật của các kênh. (3). Xác suất phục vụ (xác suất một yêu cầu đến hệ thống được nhận phục vụ) là: Ppv = 1-Ptc = 1-Pn Đó cũng là tỷ lệ của các đối tượng được hệ thống tiếp nhận và phục vụ đối với hệ thống được phục vụ công cộng, đây là một trong số ít các chỉ tiêu quan trọng nhất, với cùng một tiềm năng kỹ thuật như nhau có thể chọn chỉ tiêu này làm mục tiêu thiết kế hệ thống. Sau đây là một số chỉ tiêu tính toán ở mức trung bình, vì vậy các công thức dựa trên cơ sở tính kỳ vọng toán học của các đại lượng ngẫu nhiên. (4). Số kênh bận trung bình (hay số yêu cầu trung bình có trong hệ thống): n n k n 1 k N b = kPk  P0  P0 k 0 k 1 k! k 0 k! P( ,n) = (1 P ) [1 ] .P n R( ,n) pv (5). Số kênh rỗi trung bình: N r n N b N (6). Hệ số bận (rỗi): H b b n Hr = 1 - Hb (7). Hiệu quả chung: F Tuỳ thuộc vào các đánh giá lợi ích hay thiệt hại trong quá trình phục vụ và việc tận dụng công suất hệ thống cũng như các loại lợi ích khác, người ta có thể lập một chỉ tiêu tổng hợp đánh giá hiệu quả chung của hệ thống. Việc phục vụ một yêu cầu mang lại một lợi ích là Cpv; mỗi yêu cầu bị từ chối gây thiệt là Cct; mỗi kênh rỗi gây lãng phí Ckr; thì trong một đơn vị thời gian có thể tính được chỉ tiêu hiệu quả chung là: 78
  6. F= ppvcpv - N r ckr- pnctc Trên cơ sở các chỉ tiêu đó ta có thể chọn một hay một vài chỉ tiêu để tối ưu hoá hệ thống. Lưu đồ thuật toán BEGIN Nhập n, µ, λ 0 P( ,0) n P( , n) P0= P , Pn= P 0! 0 R( ,n) n! 0 R( , n) Ppv=1-Ptc = 1-Pn , P( ,n) Nb= (1 P ) [1 ] .P n R( ,n) pv N b N n N , H , Hr = 1 - Hb r b b n Xuất ra : P0, Pn, Ppv, Nb, Nr Hb, Hr END 79
  7. Một số ví dụ minh hoạ Ví dụ 1: Bộ phận kiểm tra sản phẩm của một cơ sở sản xuất có 3 máy làm việc tự động, năng suất của các máy đều là 6 sản phẩm/phút. Mỗi sản phẩm ra khỏi dây chuyền đến bộ phận kiểm tra nếu gặp lúc có máy rỗi sẽ được kiểm tra tại 1 trong các máy rỗi, ngược lại sản phẩm nhập kho không qua kiểm tra. Dòng sản phẩm ra khỏi dây chuyền là dòng poát xông dừng mật độ trung bình 12 sản phẩm/phút. Thời gian kiểm tra 1 sản phẩm phân phối chỉ số. a. Tính các chỉ tiêu đánh giá hoạt động của bộ phận kiểm tra b. Nếu muốn tỷ lệ sản phẩm được kiểm tra không nhỏ hơn 96% thì cần có tối thiểu bao nhiêu máy như vậy. Hướng dẫn: theo đầu bài ta có Câu a): - Số kênh phục vụ: 3 - Cường độ dòng vào: 12 - Năng suất phục vụ: 6 a) Nhập dữ liệu 80
  8. b) Kết quả Câu b): - Cường độ dòng vào: 12 - Năng suất phục vụ: 6 - Tỷ lệ sản phảm kiểm tra không nhỏ hơn 96% a) Nhập dữ liệu 81
  9. b) Kết quả Ví dụ 2: Để thiết lập một trạm xử lý tin nóng người ta có thể chọn một trong hai phương án: - PA1: Lắp đặt 10 máy, mỗi máy trung bình 1 giờ xử lý được 4 bản tin. - PA2: Lắp đặt 8 máy, mỗi máy trung bình mỗi giờ xử lý được 5 bản tin. Trạm làm việc theo chế độ của hệ thống Eclang, dòng các bản tin cần xử lý là dòng poát xông dừng có trung bình 30 bản tin/giờ. Hãy chọn phương án có khả năng xử lý cao hơn. Kết quả: Lựa chọn phương án 1 82
  10. Xây dựng chương trình Bài toán thuận Đầu vào: Tập các phương án với tham số vào là: số kênh phục vụ, cường độ dũng vào, năng suất phục vụ Đầu ra: Phương án tối ưu và các chỉ tiêu đánh giá của hệ thống. Giải thuật: Dim Pfv(20) As Double ‘ Mảng các xác suất phục vụ của hệ thống Dim p0(20) As Double ‘ Mảng các xác suất có n kênh bận Dim pn(20) As Double ‘ Mảng các xác suất có n kênh rỗi Dim Nb(20) As Double ‘ Mảng các số kênh bận trung bình Dim Nr(20) As Double ‘ Mảng các số kênh rỗi trung bình Dim Hb(20) As Double ‘ Mảng các hệ số bận(rỗi) Dim F(20) As Double ‘ Mảng các hiệu quả chung Dim n(20) As Integer ‘ Mảng các số kênh phục vụ Public j As Integer ‘ Chỉ số của mảng với mỗi điều kiện vào Public Sub HamThuan() Dim m As Integer Dim l As Integer Dim a As Double Dim s As Double Dim X As Double n(j) = Val(Text1.Text)‘ Cường độ dòng vào m = Val(Text3.Text)‘ Năng suất phục vụ l = Val(Text2.Text) a = l / m s = 1 X = 0 83
  11. Dim i As Integer For i = 1 To n(j) s = s * (a / i) X = X + s Next i p0(j) = 1 / X pn(j) = s * p0(j) Pfv(j) = 1 - pn(j) Nb(j) = a * Pfv(j) Nr(j) = n(j) - Nb(j) Hb(j) = Nb(j) / n(j) F(j) = l * Pfv(j) - Nr(j) - l * pn(j) j = j + 1 End Sub Bài toán nghịch Đầu vào: Biết trước thông tin về một phương án: năng suất phục vụ, cường độ dòng vào và điều kiện của chỉ tiêu đánh giá hệ thống. Đầu ra: Số kênh phục vụ đáp ứng chỉ tiêu đánh giá hệ thống Giải thuật: Dim Pfvv As Double‘ Xác suất phục vụ của hệ thống Dim p00 As Double‘ Xác suất có n kênh bận Dim pnn As Double‘ Xác suất có n kênh rỗi Dim Nbb As Double‘ Số kênh bận trung bình Dim Nrr As Double‘ Số kênh rỗi trung bình Dim Hbb As Double‘ Hệ số bận(rỗi) Dim Ff As Double‘ Hiệu quả chung Dim nn As Integer‘ Số kênh phục vụ Public Sub HamNghich() 84
  12. Dim mm As Integer Dim ll As Integer mm = Val(Text6.Text) ll = Val(Text5.Text) Dim aa As Double Dim ss As Double Dim xx As Double aa = ll / mm ss = 1 xx = 0 Dim i As Integer For i = 1 To nn ss = ss * (aa / i) xx = xx + ss Next i p00 = 1 / xx pnn = ss * p00 Pfvv = 1 - pnn Nbb = aa * Pfvv Nrr = nn - Nbb Hbb = Nbb / nn Ff = ll * Pfvv - Nrr - ll * pnn nn = nn + 1 End Sub b. Hệ thống chờ với độ dài hàng chờ hạn chế và thời gian chờ không hạn chế Một lớp các hệ thống phục vụ công cộng khác, cũng khá phổ biến đó là hệ thống chờ. Đối với các hệ thống này, mỗi yêu cầu tuỳ thuộc vào chế độ tiếp nhận của hệ thống phục vụ và đặc điểm của các yêu cầu, có thể được phục vụ trong điều 85
  13. kiện nào đó (thời gian, số chỗ chờ) nhưng phải xếp hàng chờ khi hệ thống có tất cả các kênh đều bận. Trong thực tế tình huống phổ biến là độ dài hàng chờ và cả thời gian chờ đều hạn chế, tuy vậy nếu độ dài hàng chờ hạn chế thì cũng có thể xem thời gian chờ của một yêu cầu như là hạn chế. Đơn giản cho việc nghiên cứu chúng ta sẽ xem xét mô hình phục vụ công cộng với độ dài hàng chờ hạn chế hay còn gọi là hệ thống chờ với độ dài hàng chờ hạn chế. Mô tả hệ thống Hệ thống phục vụ công cộng có n kênh phục vụ, năng suất các kênh bằng nhau và bằng , dòng yêu cầu đến hệ thống là dòng poát xông dừng mật độ . Thời gian phục vụ 1 yêu cầu của kênh tuân theo qui luật chỉ số. Một yêu cầu đến hệ thống gặp lúc có ít nhất 1 kênh rỗi thì được nhận phục vụ cho đến thoả mãn tại 1 trong các kênh rỗi đó. Ngược lại, nếu tất cả các kênh đều bận thì xếp hàng chờ nếu số yêu cầu chờ bé hơn m. Cần xác định các chỉ tiêu phân tích hệ thống. Hệ phương trình trạng thái và các xác suất trạng thái 0 = - P0 + P1 0 = - P1 - P1 +P0 + 2P2 (1) 0 = - Pk - kPk +Pk-1 +(k+1)Pk+1 0 = - nPn - Pn +Pn-1 + nPn+1 0 = - nPn+s - Pn+s +Pn+s-1 + nPn+s+1 0 = - nPn+m +Pn+m-1 với ĐK chuẩn:  Pk 1 k k n s đặt = / từ (1) ta có: Pk = P và Pn+s = P (2) ! 0 n!n s 0 n Nếu /n = 1 thì Pn+s = P = Pn (*) n! 0 86
  14. Đặt x= /n. Thay vào điều kiện chuẩn ta có: n k n m s P0 (  x ) 1 k 0 K! n! s 1 Khi x 1 => 1 1 P0 = = n k n m n k n (1 x m )   x s  x k 0 ! n! s 1 k 0 ! n! 1 x P( ,0) Hay: P0 = x(1 x m ) R( , n) P( , n) 1 x P( ,0) Khi x=1: P0 = ( ) R( , n) P( , n)m Các chỉ tiêu đánh giá hoạt động của hệ thống Đối với hệ thống này các chỉ tiêu cơ bản đánh giá hệ thống là: (1). Xác suất hệ thống có n kênh rỗi: Pr Pr = P0 Chỉ tiêu này cho biết tỷ lệ thời gian hệ thống rỗi hoàn toàn, thời gian rỗi hoàn toàn tồn tại ở mọi hệ thống poát xông nói riêng và các hệ ngẫu nhiên nói chung, dù ta có giảm tối thiểu đến số kênh phục vụ hay tăng tối đa cường độ dòng yêu cầu. (2). Xác suất một yêu cầu đến hệ thống phải chờ: Pc m 1 n m 1 s Pc =  Pn s  x P0 s 0 n! s 0 P( , n) (1 x m ) = (Khi x 1) x(1 x m ) 1 x R( , n) P( , n) 1 x Khi x=1: Pc = mPn (3). Xác suất hệ thống có n kênh bận (hay xác suất một yêu cầu đến hệ thống bị từ chối Ptc): n m Ptc = Pn+m = x P n! 0 87
  15. P( ,n) m Khi x 1: Ptc = x x(1 x m ) R( , n) P( ,n) 1 x Khi x=1: Ptc = Pn+m =Pn Đây cũng là hiệu suất lý thuyết tối đa của hệ thống, như vậy trong trường hợp hệ ngẫu nhiên không có khả năng thiết kế một hệ thống khai thác toàn bộ công suất kỹ thuật của các kênh. (4). Xác suất phục vụ (xác suất một yêu cầu đến hệ thống được nhận phục vụ) là: Popv = 1-Ptc -Pc (5). Số kênh bận trung bình (hay số yêu cầu trung bình có trong hệ thống): n m n m N b = kPk n Pn s kPk n Pn s k 0 s 1 k 1 s 1 x R( , n 1) nP( ,n) (1 x m ) Khi x 1: N = 1 x b x R( , n) P( ,n) (1 x m ) 1 x R( , n 1) nmP( , n) Khi x=1: N = b R( ,n) P( ,n)m (6). Độ dài hàng chờ trung bình m P( ,n) sx s m  Khi x 1: M = sP s 0 c  n s x(1 x m ) s 0 R( ,n) P( ,n) 1 x Trong đó: m 1 s m m  x  sx s x sx s 1 x s 0 s 0 s 1 x x [(m 1)x m mx m 1 1] (1 x) 2 m(m 1) Khi x=1: M = P c n 2 (7). Thời gian chờ trung bình của một yêu cầu: 88
  16. Thời gian chờ của mỗi yêu cầu được xác định bằng khoảng thời gian hệ thống giải phóng mỗi yêu cầu và số yêu cầu chờ hiện có. Vì vậy nếu gọi thời gian chờ là Tc thì Tc = 0 khi hệ thống còn kênh rỗi; khi có s yêu cầu chờ thì thời gian chờ của mỗi yêu cầu trung bình sẽ là: s/n, vì vậy có thể tính thời gian chờ trung bình như sau: m s 1 m Tc  Pn s  sPn s 1 s 0 n  s 0 M Hay: T c c  (8). Thời gian rỗi giữa hai lần phục vụ: N 1 b 1 H T T b n r pv H N b  b n 89
  17. Lưu đồ thuật toán: BEGIN Nhập n, λ, µ, m α = , x= X=1 YES NO P( ,0) P ( ,0) P0 = , P = , R( , n) P( , n)m 0 x(1 x m ) R ( , n ) P ( , n ) Pr = P0, Pc = mPn 1 x m n P( , n) (1 x ) m Pc = m , Ptc = Pn+m = x P0 , x(1 x ) 1 x n! R( , n) P( , n) 1 x Popv = 1-Ptc -Pc P( ,n) m Ptc = x , x(1 x m ) R( , n 1) nmP( , n) R( , n) P( ,n) N = , : 1 x b R( ,n) P( ,n)m Nb = x M m (m 1) m c = P , R ( , n 1) nP ( , n) (1 x ) n 2 1 x , x R ( , n) P ( , n) (1 x m ) 1 x M c Tc M =  c m P( , n) sx s m  s 0 N b sP 1  n s m s 0 x(1 x ) 1 H b n R( , n) P( , n) Tr Tpv 1 x H N b  b N n 1 b 1 H T T b n r pv H N b  90
  18. Xuất ra : Pr, Pc, Ptc, Ppv, Nb, Mc, Tc, Tr END Một số ví dụ minh hoạ Một trạm đăng kiểm xe có 2 tổ làm việc độc lập, năng suất của mỗi tổ là 6 xe/ngày. Dòng xe đến là dòng poát xông dừng mật độ trung bình 10 xe/ngày. Thời gian đăng kiểm 1 xe tuân theo phân phối chỉ số. Một xe đến trạm nếu gặp lúc có tổ rỗi thì được nhận ngay tại một tổ rỗi ngược lại phải chờ nếu số xe chờ không quá 9. a. Tính các chỉ tiêu phân tích hoạt động của trạm trên như một hệ thống phục vụ. b. Nếu muốn tỷ lệ xe được đăng kiểm không nhỏ hơn 96% thì cần có tối thiểu bao nhiêu tổ làm việc như vậy. Hướng dẫn: theo đầu bài ta có Câu a): - Số kênh phục vụ: 2; Cường độ dòng vào: 10 - Năng suất phục vụ: 6; Số chỗ chờ tối đa (độ dài hàng chờ) : 10 a) Nhập dữ liệu 91
  19. b) Kết quả Câu b): - Cường độ dòng vào: 10 - Năng suất phục vụ: 6 - Độ dài hàng chờ : 10 - Tỷ lệ xe được đăng kiểm không nhỏ hơn 96% a) Nhập dữ liệu b) Kết quả 92
  20. Xây dựng chương trình Đầu vào: Số kênh phục vụ, cường độ dũng vào, năng suất phục vụ và độ dài hàng chờ. Đầu ra: Các chỉ tiêu đánh giá hệ thống. Giải thuật: Dim p0 As Double 'xac suat he thong co n kenh roi Dim pc As Double 'xac suat 1 yeu cau den he thong phai cho Dim ptc As Double 'xac suat he thong co n kenh ban Dim Pofv As Double 'xac suat phuc vu Dim Nb As Double 'so kenh ban trung binh Dim Mc As Double 'do dai hang cho trung binh Dim Tc As Double 'thoi gian cho trung binh cua 1 yeu cau Dim Tr As Double 'thoi gian roi giua 2 lan phuc vu Dim n As Integer Dim xh As String Dim tb(20) As String Dim tbs(20) As Double 93
  21. Function hammu(ai As Double, si As Integer) As Double Dim ass As Double ass = 1 Dim i As Integer For i = 1 To si ass = ass * ai Next i hammu = ass End Function Function hamhop(a As Double, k As Integer) As Double Dim ak As Double Dim i As Integer ak = 1 For i = 1 To k ak = ak * (a / i) Next i hamhop = ak End Function Public Sub HamThuan() Dim m As Integer Dim l As Integer Dim a As Double Dim s As Double Dim s1 As Double Dim X As Double Dim X1 As Double n = Val(Text1.Text) 'so kenh phuc vu 94
  22. l = Val(Text2.Text) 'cuong do dong vao m = Val(Text3.Text) 'nang suat phuc vu w = Val(Text4.Text) 'do dai hang cho a = l / m s = 1 X = 0 Dim i As Integer For i = 1 To n s = s * (a / i) X = X + s Next i Dim s0 As Double s0 = 1 For i = 1 To n s0 = s0 * (a / i) Next i Dim X2 As Double X2 = 0 s1 = 1 For i = 1 To w s1 = s1 * (a / n) X2 = X2 + s1 Next i p0 = 1 / (X + 1 + s0 * X2) Dim X3 As Double X3 = 0 Dim s11 As Double 95
  23. s11 = 1 For i = 1 To w - 1 s11 = s11 * (a / n) X3 = X3 + s11 Next i pc = s0 * (X3 + 1) * p0 Dim xm As Double xm = 1 For i = 1 To w xm = xm * (a / n) Next i ptc = s0 * p0 * xm Pofv = 1 - ptc - pc Dim t1 As Double t1 = 0 For i = 1 To n t1 = t1 + i * hamhop(a, i) * p0 Next i Dim t2 As Double t2 = 0 For i = 1 To w t2 = t2 + hammu(a / n, i) * s0 * p0 * n Next i Nb = t1 + t2 Mc = 0 For i = 1 To w Mc = Mc + s0 * hammu(a / n, i) * i * p0 96
  24. Next i Tc = Mc / l Tr = (1 - Nb / n) / (m * Nb / n) End Sub c. Hệ thống chờ thuần nhất Trong điều kiện hệ thống chờ với độ dài hàng chờ và thời gian chờ đủ lớn, việc một yêu cầu đến hệ thống được phục vụ là một biến cố hầu như chắc chắn. Nói cách khác, người ta không cần quan tâm đến việc có còn chỗ chờ hay không và cũng không quan tâm đến thời gian chờ dài hay ngắn. Với mục đích tiện lợi cho việc phân tích hệ thống, sau đây ta xem xét mô hình hệ thống phục vụ công cộng chờ với độ dài hàng chờ và thời gian chờ không hạn chế. Mô tả hệ thống Hệ thống phục vụ công cộng có n kênh phục vụ, năng suất các kênh bằng nhau và bằng , dòng yêu cầu đến hệ thống là dòng poát xông dừng mật độ . Thời gian phục vụ 1 yêu cầu của kênh tuân theo qui luật chỉ số. Một yêu cầu đến hệ thống gặp lúc có ít nhất 1 kênh rỗi thì được nhận phục vụ cho đến thoả mãn tại 1 trong các kênh rỗi đó. Ngược lại nếu tất cả các kênh đều bận thì xếp hàng chờ. Cần xác định các chỉ tiêu phân tích hệ thống. Hệ phương trình trạng thái và các xác suất trạng thái Áp dụng qui tắc viết hệ phương trình xắc suất trạng thái, ta có thể viết phương trình trạng thái của hệ thống này. Trong đó các phương trình ứng với các trạng thái từ X0(t) đến Xn(t) không có gì khác so với các hệ phương trình trên, từ các trạng thái sau Xn(t) ta có vô số trạng thái có cấu trúc sơ đồ như nhau vì vậy các phương trình cũng như nhau. Cụ thể là: 0 = - P0 + P1 0 = - P1 - P1 +P0 + 2P2 (1) 0 = - Pk - kPk +Pk-1 +(k+1)Pk+1 0 = - nPn - Pn +Pn-1 + nPn+1 97
  25. 0 = - nPn+s - Pn+s +Pn+s-1 + nPn+s+1 với ĐK chuẩn:  Pk 1 k k n s đặt = / từ (1) ta có: Pk = P và Pn+s = P (2) ! 0 n!n s 0 Các chỉ tiêu đánh giá hoạt động của hệ thống Để tính các xác suất trạng thái và các chỉ tiêu ta chỉ cần lấy giới hạn các công thức đã có ở hệ thống chờ hạn chế với m dần tới vô hạn và /n < 1. Trong trường hợp ngược lại /n 1 hệ thống không thể tồn tại, vì số yêu cầu chờ tăng vô hạn xác suất hệ thống ở một trạng thái Xk(t) với k hữu hạn bằng không. Ta có các công thức tương ứng như sau: (1). Xác suất hệ thống có n kênh rỗi: Pr = P0 1 P0 = n k n   x s k 0 ! s 1 n! P( ,0) = x R( , n) P( ,n) 1 x (2). Xác suất một yêu cầu đến hệ thống phải chờ: Pc n n s 1 Pc =  Pn s P0  x P0 s 0 s 0 n! n! 1 x 1 P( ,n) = 1 x x R( , n) P( ,n) 1 x (3). Xác suất phục vụ (xác suất một yêu cầu đến hệ thống được nhận phục vụ) là: Ppvo = 1 - Pc (4). Số kênh bận trung bình (hay số yêu cầu trung bình có trong hệ thống): n n k n s N b = kPk n Pn s P0  k nP0  x k 0 s 1 k 1 k! n! s 1 98
  26. x R( , n 1) nP( , n) n 1 k n x = P ( n ) = 1 x 0  k! n! 1 x x k 0 R( , n) P( , n) 1 x (5). Độ dài hàng chờ trung bình n s xP( , n) M c =  sPn s P0  x n! 2 x s 0 s 0 (1 x) R( , n) P( , n) 1 x (6). Thời gian chờ trung bình của một yêu cầu M T c c  Trong thực tế khi m đủ lớn người ta sử dụng các công thức của hệ thống chờ thuần nhất cho hệ thống chờ hạn chế, làm như vậy việc tính các chỉ tiêu sẽ đơn giản hơn. 99
  27. Lưu đồ thuật toán BEGIN Nhập n, µ,λ α = , x= X<1 NO YES 1 P( , n) P( ,0) P = P = , P = 1 x r 0 x c x R( , n) P( , n) R( , n) P( , n) 1 x 1 x x R( , n 1) nP( , n) P = 1 - P N = 1 x , pvo c , b x R( , n) P( , n) 1 x n s xP( , n) M c =  sPn s P0  x n! 2 x s 0 s 0 (1 x) R( , n) P( , n) 1 x M T c c  Xuất ra: Pr, Pc, Ppvo, Nb, Mc, Tc END 100
  28. Một số ví dụ minh hoạ Một thư viện có 6 người làm thư mục sách, mỗi giờ một người làm được trung bình 4 cuốn. Trung bình mỗi giờ có 18 cuốn sách về thư viện cần làm thư mục. Nếu một cuốn sách về gặp lúc có người làm thư mục rỗi thì được làm thư mục ngay, ngược lại phải xếp tạm vào kho chờ làm thư mục. Dung tích kho đủ lớn và giả sử dòng sách về là dòng poát xông dừng, còn thời gian làm thư mục tuân theo qui luật chỉ số. a. Tính các chỉ tiêu đánh giá hoạt động của tổ làm thư mục. b. Nếu muốn tỷ lệ sách phải xếp tạm vào kho chờ làm thư mục không lớn hơn 40% thì cần có tối thiểu bao nhiêu người làm thư mục sách. Hướng dẫn giải: Theo đầu bài ta có Câu a): - Số kênh phục vụ: 6 - Cường độ dòng vào: 18 - Năng suất phục vụ: 4 a) Nhập dữ liệu 101
  29. b) Kết quả Câu b): - Cường độ dòng vào: 18 - Năng suất phục vụ: 4 - Tỷ lệ sách phải xếp tạm vào kho chờ không lớn hơn 40% a) Nhập dữ liệu 102
  30. b) Kết quả Xây dựng chương trình Đầu vào: Số kênh phục vụ, cường độ dũng vào, năng suất phục vụ Đầu ra: Các chỉ tiêu đánh giá hệ thống Giải thuật: Dim p0 As Double 'xac suat he thong co n kenh roi Dim pc As Double 'xac suat 1 yeu cau den he thong phai cho Dim Pofv As Double 'xac suat 1 yeu cau den HT duoc phuc vu Dim Nb As Double 'so kenh ban trung binh Dim Mc As Double 'do dai hang cho trung binh Dim Tc As Double 'thoi gian cho trung binh cua 1 yeu cau Dim n As Integer Dim xh As String Dim tb(20) As String Dim tbs(20) As Double Function hammu(ai As Double, si As Integer) As Double 103
  31. Dim ass As Double ass = 1 Dim i As Integer For i = 1 To si ass = ass * ai Next i hammu = ass End Function Function hamhop(a As Double, k As Integer) As Double Dim ak As Double Dim i As Integer ak = 1 For i = 1 To k ak = ak * (a / i) Next i hamhop = ak End Function Public Sub HamThuan() Dim l As Integer Dim a As Double Dim s As Double Dim s1 As Double Dim X As Double Dim X1 As Double n = Val(Text1.Text) 'so kenh phuc vu l = Val(Text2.Text) 'cuong do dong vao 104
  32. m = Val(Text3.Text) 'nang suat phuc vu a = l / m s = 1 X = 0 Dim i As Integer For i = 1 To n s = s * (a / i) X = X + s Next i Dim s0 As Double s0 = 1 For i = 1 To n s0 = s0 * (a / i) Next i p0 = 1 / (X + 1 + s0 * (1 / (1 - a / n))) pc = s0 * (1 / (1 - a / n)) * p0 Pofv = 1 - pc Dim t1 As Double t1 = 0 For i = 1 To n - 1 t1 = t1 + i * hamhop(a, i) Next i Nb = p0 * (t1 + n * s0 * ((a / n) / (1 - (a / n)))) Mc = Mc + s0 * (1 / (1 - a / n)) * p0 Tc = Mc / l End Sub 105
  33. 3.1.3. Bài toán dự trữ Mục tiêu của bài toán Nhằm đưa ra các quyết định đúng đắn hỗ trợ cho các doanh nghiệp trong một số các trường hợp sau: (1). Nếu chúng ta đang thực hiện một chiến lược dự trữ nào đó mà chi phí đặt hàng (hay chi phí cố định) quá cao so với chi phí dự trữ thì cần tăng khối lượng hàng đặt mỗi lần, ngược lại cần giảm hàng đặt mỗi lần. (2). Xác định qui mô kho cần thiết tại mỗi điểm dữ trữ tối ưu (3). Xác định lượng vốn cần thiết cho chu kỳ dự trữ và tiêu thụ (4). Sự thay đổi tổng cầu, giá hàng (5). Một số dạng bài toán quản lý dự trữ + Mô hình dự trữ với việc tiêu thụ đều, bổ sung tức thời + Mô hình dự trữ tiêu thụ đều, bổ sung dần dần + Mô hình dữ liệu nhiều mức giá ( giá hàng thay đổi theo số lượng đặt mua mỗi lần). Qui trình xử lý bài toán Bài toán được thực hiện với qui trình dưới đây. Bài toán có thể về quản lý dự trữ có thể có rất nhiều các mức giá khác nhau, tuỳ vào từng bài cụ thể mà chúng ta có thể nhập các mức giá khác nhau => cho ra các kết quả khác nhau. Nhưng về cơ bản để giải quyết bài toán này chúng ta cần có các thông số vào tổng quát sau: Đầu vào: Kết quả: 1. Tổng nhu cầu 1. Chi phí cực tiểu 2. Chi phí đặt hàng Qui trình xử lý 2. Lượng đặt hàng tối ưu 3. Hệ số chi phí dự trữ (duy nhất) 4. Thời gian đặt hàng Chương trình máy tính 3. Số lần đặt hàng 5. Số mức giá 4. Điểm đặt hàng 6. Nhập các mức giá 5 7 a. Mô hình quản lý dự trữ với việc tiêu thụ đều, bổ sung tức thời (Mô hình WILSON) 106
  34. Mô tả bài toán Giả sử nhu cầu một loại hàng trong thời kỳ T(T=1) là Q đơn vị. Việc tiờu thụ hàng là đều đặn và thời gian bổ sung hàng vào kho khụng đỏng kể (tức thời). Chi phí cho mỗi lần đặt hàng là A, giỏ đơn vị hàng là C, hệ số chi phí dự trữ là I, thời gian đặt hàng là T0. Hóy xỏc định số lần đặt hàng và lượng hàng đặt mỗi lần sao cho tổng chi phí là bộ nhất. Xây dựng chương trình với mô hình Wilson * Đầu vào: - Tổng cầu một loại hàng Q - Đơn giá hàng C - Chi phí cho mỗi lần đặt hàng A - Hệ số chi phí dự trữ I - Thời gian đặt hàng T0 * Đầu ra: - Lượng hàng đặt tối ưu mỗi làn q* - Tổng chi phí bé nhất F(q*) - Số lần đặt hàng tỗi ưu n* - Chu kỳ dự trữ ,tiêu thụ t* - Điểm đặt hàng tối ưu B* 107
  35. Lưu đồ thuật toán: BEGIN Nhập : Q, C, A, I, T0 2AQ q* (4) IC F(q*) =CQ+2AQ/q*=ICq*+CQ n*=Q/q* , t*=1/n*. [T0 - t*.int(T0/t*)] B*=Q[T0-t*.int(T0/t*)]; int(T0/t) là phần nguyên của T0/t. Xuất ra : q*, F (q*), n*, t*, B* END 108
  36. * Đoạn chương trình mô phỏng thuật toán bằng ngôn ngữ VB: Private Sub Command1_Click() Dim Q1 As Currency Dim n As Currency Dim t1 As Currency Dim b As Currency Dim Q As Currency Dim c As Currency Dim i As Currency Dim A As Currency Dim T As Currency Dim F As Currency If IsNumeric(txtT) And IsNumeric(txtQ) And IsNumeric(txtI) And IsNumeric(txtA) And IsNumeric(txtC) Then T = CCur(txtT) / 365 Q = CCur(txtQ) c = CCur(txtC) A = CCur(txtA) i = CCur(txtI) Q1 = Sqr((2 * Q * A) / (i * c)) F = i * c * Q1 + Q * c n = Q / Q1 t1 = 1 / n b = Q * (T - (t1 * Int(T / t1))) txtkq = "Lượng hàng đặt mỗi lần làq=" & CStr(Q1) & vbNewLine & "Tổng chi phí bé nhất F(q*)=" & CStr(F) & vbNewLine & "Thời gian 1 chu kỳ t*=" & CStr(t1) 109
  37. & "(ngày)" & vbNewLine & "Số chu kỳ trong một năm n*=" & CStr(n) & vbNewLine & "Điểm đặt hàng B*=" & CStr(b) Else MsgBox "du lieu vao sai" End If End Sub Thí dụ minh hoạ Một cửa hàng kinh doanh thép xây dựng tại một khu vực có tổng nhu cầu 200000 tấn/năm, việc tiêu thụ là đều đặn trong năm, thời gian nhập hàng không đáng kể. Cửa hàng mua thép từ một nguồn không hạn chế về số lượng. Chi phí cho một lần đặt hàng là 400$, giá một tấn là 240$, hệ số chi phí bảo quản là 0,05. Thời gian từ lúc đặt hàng đến khi có hàng vào kho là 2 tháng. Xác định các chỉ số cơ bản trong dự trữ và tiêu thụ của cửa hàng. Dựa vào bài toán tổng quát trên chúng ta có thể giải bài toán này bằng chương trình mô phỏng sau đây: 110
  38. Mô hình dự trữ tiêu thụ đều, bổ sung dần dần Một trong những tình huống khá phổ biến trong thực tế sản xuất và kinh doanh là việc bổ sung hàng không tức thời, người ta có thể vừa sản xuất vừa tiêu thụ hay vừa nhập hàng vừa tiêu thụ. Ở đây, chúng ta xét trường hợp cường độ cung cấp lớn hơn lớn hơn đáng kể so với cường độ tiêu thụ, vì nếu cường độ cung cấp bằng cường độ tiêu thụ thì không cần đặt vấn đề dự trữ. Mô tả bài toán Giả sử nhu cầu một loại hàng trong thời kỳ T là Q đơn vị. Việc tiêu thụ hàng là đều đặn và thời gian bổ sung hàng vào kho được tiến hành với cường độ không đổi K đơn vị trong thời gian T=1. Ta giả thiết rằng K>>Q vì nếu K<=Q thì không cần đặt vấn đề dự trữ. Chi phí cho mỗi lần đặt hàng là A, giá đơn vị hàng là C, hệ số chi phí dự trữ là I, thời gian đặt hàng là T0. Hãy xác định số lần đặt hàng và lượng hàng đặt mỗi lần sao cho chi phí bé nhất. Xây dựng chương trình * Đầu vào: - Tổng công xuất K - Tổng cầu một loại hàng Q - Đơn giá hàng C - Chi phí cho mỗi lần đặt hàng A - Hệ số chi phí dự trữ I - Thời gian đặt hàng T0 * Đầu ra của bài toán là: - Lượng hàng đặt tối ưu mỗi làn q* - Tổng chi phí bé nhất F(q*) - Lượng hàng cực đại trong kho S* - Số lần đặt hàng tỗi ưu n* - Chu kỳ dự trữ ,tiêu thụ t* - Điểm đặt hàng tối ưu B* 111
  39. Lưu đồ thuật toán BEGIN Nhập : K, Q, C, A, I, T0 2AQ q* IC(1 Q) K Q F(q*) 2AQIC(1 ) CQ K n* = Q/q* , t*=1/n* , B= Q[T0-t*.int(T0/t*)]. NO B S*=q*(1- YES Q/K) B*=B B*=(K-Q)(t*-B/Q) Xuất ra : q* , F(q*), S*, n*, t*, B* END 112
  40. * Đoạn chương trình mô phỏng thuật toán bằng ngôn ngữ VB Private Sub Command1_Click() Dim k As Currency Dim Q1 As Currency Dim n As Currency Dim t1 As Currency Dim b As Currency Dim Q As Currency Dim c As Currency Dim i As Currency Dim A As Currency Dim T As Currency Dim F As Currency Dim s As Currency If IsNumeric(txtT) And IsNumeric(txtQ) And IsNumeric(txtI) And IsNumeric(txtA) And IsNumeric(txtC) Then k = CCur(txtK) T = CCur(txtT) / 365 Q = CCur(txtQ) c = CCur(txtC) A = CCur(txtA) i = CCur(txtI) Q1 = Sqr(2 * Q * A / (i * c * (1 - Q / k))) F = Sqr(2 * A * Q * i * c * (1 - Q / k)) + c * Q n = Q / Q1 t1 = 1 / n s = Q1 * (1 - Q / k) b = Q * (T - (t1 * Int(T / t1))) 113
  41. If b > s Then b = (k - Q) * (t1 - b / Q) End If txtkq = " Lượng hàng đặt mỗi lần là :q*=" & CStr(Q1) & vbNewLine & "Tổng chi phí bé nhất F(q*)=" & CStr(F) & vbNewLine & "Lượng hàng cực đại trong kho S*=" & CStr(s) & vbNewLine & " Thời gian 1 chu kỳ t*=" & CStr(CInt(t1 * 365)) & " (ngay)" & vbNewLine & " Số chu kỳ trong 1 năm n*=" & CStr(n) & vbNewLine & "Điểm đặt hàng B*=" & CStr(b) Else MsgBox "Dữ liệu vào sai hãy nhập lại" End If End Sub Thí dụ minh họa Một cơ sở sản xuất xăm lốp xe hơi có công suất thiết bị 2000000 bộ/năm, nhu cầu tiêu thụ 1400000 bộ/năm. Chi phí cho 1 lần chuẩn bị sản xuất là 400$, chi phí sản xuất mỗi bộ 140$. Chi phí bảo quản có hệ số 0.01. Thời gian chuẩn bị 1 đợt sản xuất 45 ngày. Hãy phân chia nhu cầu trên thành các đợt sản xuất sao cho tổng chi phí bé nhất. Dựa vào bài toán tổng quát trên chúng ta có thể giải bài toán này bằng chương trình mô phỏng sau đây: 114
  42. Mô hình dự trữ trong trường hợp giá hàng thay đổi theo số lượng đặt hàng mỗi lần (Mô hình dự trữ nhiều mức giá) Trong các mô hình trên, ta giả thiết giá cuả mỗi đơn vị hàng không đổi. Thực tế do nhiều lý do khác nhau, giá hàng có thể thay đổi theo qui mô của lô hàng mua mỗi lần, chẳng hạn người ta có thể chia các mức giá thành: giá bán lẻ, giá bán buôn câp 1, giá bán buôn cấp 2, hay giá theo đơn đặt hàng có ứng vốn Nói một cách tổng quát là giá mỗi đơn vị hàng có thể thay đổi theo số lượng hàng đặt mỗi lần. Mô tả bài toán Nhu cầu một loại hàng trong thời gian T là Q đơn vị. Chi phí cho mỗi lần đặt hàng là A, hệ số chi phí dự trữ là I, giá hàng thay đổi theo số lượng mua mỗi lần: Nếu q < s1 giá c1 s1 q<s2 giá c2 s2 q<s3 giá c3 s k-1 q<sk giá ck 115
  43. sn-1 q giá cn Trong đó : s1 c2> >cn. Xây dựng chương trình * Đầu vào: - Tổng cầu một loại hàng Q - Số đơn giá D - Đơn giá hàng Ci - Lượng hàng đặt Si - Chi phí cho mỗi lần đặt hàng A - Hệ số chi phí dự trữ I - Thời gian đặt hàng T0 * Đầu ra: - Lượng hàng đặt tối ưu mỗi làn q* - Tổng chi phí bé nhất F(q*) - Số lần đặt hàng tỗi ưu n* - Chu kỳ dự trữ, tiêu thụ t* - Điểm đặt hàng tối ưu B* 116
  44. Lưu đồ thuật toán BEGIN Nhập : Q, Ci, Si, A, I,T0 2AQ q * i IC i Fi(qi*) = CiQ+2AQ/qi* < Fi-1(qi-1*) = Ci-1Q+2AQ/qi-1* n* = Q/q* , t*=1/n* , B= Q[T0-t*.int(T0/t*)]. qn*≥ YES NO sn-1 q*=qn* Fn(sn-1) = ? F(qn*) = ? qn-1*= ? N q *≥ n-1 YES sn-2 Xuất ra : q*, F(q*), n*, t*, B* END 117
  45. * Đoạn chương trình mô phỏng thuật toán bằng ngôn ngữ VB Private Sub Command1_Click() Dim n As Currency Dim t1 As Currency Dim b As Currency Dim qu As Currency Dim i As Integer Dim A As Currency Dim T As Currency Dim F As Currency Dim Q1 As Currency Dim I1 As Currency Dim Q(100) As Currency Dim Fs(100) As Currency Dim Fq(100) As Currency Dim k As Boolean If IsNumeric(txtT) And IsNumeric(txtQ) And IsNumeric(txtD) And IsNumeric(txts) And IsNumeric(txtI) And IsNumeric(txts) And IsNumeric(txtD) And IsNumeric(txtA) And IsNumeric(txtC) Then T = CCur((txtT) / 365) Q1 = CCur(txtQ) A = CCur(txtA) I1 = CCur(txtI) For i = 1 To CInt(txtD) Q(i) = Sqr(2 * A * Q1 / (I1 * c(i))) Fq(i) = Sqr(2 * A * Q1 * I1 * c(i)) + c(i) * Q1 Next 118
  46. i = CInt(txtD) If Q(i) >= s(i - 1) Then qu = Q(CInt(txtD)) F = Fq(CInt(txtD)) Else Do i = i - 1 If Q(i) s(i - 1) Then k = True End If Loop While i > 1 And k = False Fs(i) = A * Q1 / s(i) + (I1 * c(i + 1) * s(i)) / 2 + c(i + 1) * Q1 If Fq(i) < Fs(i) Then F = Fq(i) qu = Q(i) Else F = Fs(i) qu = s(i) End If End If n = Q1 / qu t1 = 1 / n b = Q1 * (T - t1 * Int(T / t1)) txtkq = "Lượng hàng đặt mỗi lần là q=" & CStr(qu) & vbNewLine & "Tổng chi phí bé nhất F(q*)=" & CStr(F) & vbNewLine & "Thời gian 1 chu kỳ t*=" & CStr(CInt(t1 * 365)) & " (ngày)" & vbNewLine & "Số chu kỳ trong một năm n*=" & CStr(n) & vbNewLine & "Điểm đặt hàng B*=" & CStr(b) Else 119
  47. MsgBox ("Dư liệu nhập sai hãy nhập lại") End If End Sub Thí dụ minh hoạ Một công ty kinh doanh một loại bóng điện, tổng lượng hàng có khả năng tiêu thụ là 10000 thùng/năm. Chi phí cho 1 lần đặt mua là 20$; hệ số chi phí bảo quản là 10%, cường độ bán đều đặn. Thời gian nhập kho không đáng kể. Nếu mỗi lần đặt mua từ 2000 thùng trở lên thì giá 1 thùng là 120$, ngược lại giá 1 thùng là 120,5$. Xác định lượng hàng mua mỗi lần sao cho tổng chi phí nhỏ nhất; tính thời gian 1 chu kỳ dự trữ và tiêu thụ, tính điểm đặt hàng tương ứng. 3.2. Bài toán phân tích dự báo kinh tế 3.2.1. Giới thiệu về phân tích và dự báo kinh tế Dự báo đã hình thành từ đầu những năm 60 của thế kỉ 20. Khoa học dự báo với tư cách một ngành khoa học độc lập có hệ thống lí luận, phương pháp luận và phương pháp hệ riêng nhằm nâng cao tính hiệu quả của dự báo. Người ta thường nhấn mạnh rằng một phương pháp tiếp cận hiệu quả đối với dự báo là phần quan trọng trong hoạch định. Khi các nhà quản trị lên kế hoạch, trong hiện tại họ xác định hướng tương lai cho các hoạt động mà họ sẽ thực hiện. Bước đầu tiên trong 120
  48. hoạch định là dự báo hay là ước lượng nhu cầu tương lai cho sản phẩm hoặc dịch vụ và các nguồn lực cần thiết để sản xuất sản phẩm hoặc dịch vụ đó. Như vậy, dự báo là một khoa học và nghệ thuật tiên đoán những sự việc sẽ xảy ra trong tương lai, trên cơ sở phân tích khoa học về các dữ liệu đã thu thập được. Khi tiến hành dự báo ta căn cứ vào việc thu thập xử lý số liệu trong quá khứ và hiện tại để xác định xu hướng vận động của các hiện tượng trong tương lai nhờ vào một số mô hình toán học. Dự báo có thể là một dự đoán chủ quan hoặc trực giác về tương lai. Nhưng để cho dự báo được chính xác hơn, người ta cố loại trừ những tính chủ quan của người dự báo. Ngày nay, dự báo là một nhu cầu không thể thiếu được của mọi hoạt động kinh tế - xác hội, khoa học - kỹ thuật, được tất cả các ngành khoa học quan tâm nghiên cứu. 3.2.2. Các phương pháp phân tích và dự báo Phương pháp hồi quy đơn Còn gọi là hồi quy đơn biến, dùng xét mối quan hệ tuyến tính giữa 1 biến kết quả và 1 biến giải thích hay là biến nguyên nhân (nếu giữa chúng có mối quan hệ nhân quả). Trong phương trình hồi quy tuyến tính, một biến gọi là: biến phụ thuộc; một biến kia là tác nhân gây ra sự biến đổi, gọi là biến độc lập. Phương trình hồi quy đơn biến (đường thẳng) có dạng tổng quát: Y = a + bX (3.1) Trong đó: Y: biến số phụ thuộc (dependent variable); X: biến số độc lập (independent variable); a: tung độ gốc hay nút chặn (intercept); b: độ dốc hay hệ số gốc (slope). Y trong phương trình trên được hiểu là Y ước lượng, người ta thường viết ^ dưới hình thức có nón Y 121
  49. Lưu đồ thuật toán: BEGIN Nhập n giá trị X, Y của năm trước X=0 Y = a b = a = Y – bX  Giá trị Y của năm tiếp theo END Ví dụ: Phương trình tổng chi phí của doanh nghiệp có dạng: Y = a + Bx Trong đó: Y: Tổng chi phí phát sinh trong kỳ; X: Khối lượng sản phẩm tiêu thụ; a: Tổng chi phí bất biến; b: chi phí khả biến đơn vị sản phẩm; bX: Tổng chi phí khả biến. 122
  50. Y Hình 4.9 bX a 0 X Đồ thị 3.1. Ứng xử của các loại chi phí Nhận xét Với phương trình trên, tổng chi phí Y chịu ảnh hưởng trực tiếp của khối lượng hoạt động X theo quan hệ tỷ lệ thuận. Khi X tăng dẫn đến Y tăng; khi X giảm dẫn đến Y giảm Khi X = 0 thì Y = a: Các chi phí như tiền thuê nhà, chi phí khấu hao, tiền lương thời gian và các khoản chi phí hành chính khác là những chi phí bất biến, không chịu ảnh hưởng từ thay đổi của khối lượng hoạt động. Đường biểu diễn a song song với trục hoành. Trị số a là hệ số cố định, thể hiện “chi phí tối thiểu” trong kỳ của doanh nghiệp (nút chặn trên đồ thị). Trị số b quyết định độ dốc (tức độ nghiêng của đường biểu diễn chi phí trên đồ thị) Đường tổng chi phí Y = a + bX và đường chi phí khả biến bX song song với nhau vì giữa chúng có cùng chung một độ dốc b (slope). Xuất phát điểm của đường tổng chi phí bắt đầu từ nút chặn a (intercept = a) trên trục tung; trong khi đó, đường chi phí khả biến lại bắt đầu từ gốc trục toạ độ vì có nút chặn bằng 0 (intercept = 0). Hay nói một cách khác, theo nội dung kinh tế, khi khối lượng hoạt động bằng 0 (X=0) thì chi phí khả biến cũng sẽ bằng 0 (bX=0). Ví dụ chi tiết: Có tình hình về chi phí hoạt động (tài khoản 641 và tài khoản 642: chi phí bán hàng và chi phí quản lý doanh nghiệp) và doanh thu (tài khoản 511) tại một doanh nghiệp được quan sát qua các dữ liệu của 6 kỳ kinh doanh như sau: (đơn vị tính: triệu đồng). 123
  51. Kỳ kinh doanh Doanh thu bán hàng Chi phí hoạt động 1 1.510 323 2 1.820 365 3 2.104 412 4 2.087 410 5 1.750 354 6 2.021 403 Bảng 3.1. Tình hình thực hiện chi phí của 6 kỳ kinh doanh Yêu cầu: Phân tích cơ cấu chi phí hoạt động (bất biến, khả biến) của doanh nghiệp. Hướng dẫn: Yêu cầu của vấn đề là thiết lập phương trình chi phí hoạt động của doanh nghiệp, tức đi tìm giá trị các thông số a, b với mục đích phát hiện quy luật biến đổi của chi phí này trước sự thay đổi của doanh thu, nhằm đến việc dự báo chi phí cho các quy mô hoạt động khác nhau hoặc cho các kỳ kinh doanh tiếp theo. Phương trình chi phí hoạt động có dạng: Y = a + bX Trong đó: a: Tổng chi phí bất biến b: chi phí khả biến 1 đơn vị doanh thu X: Doanh thu bán hàng Y: Tổng chi phí hoạt động Có nhiều phương pháp thống kê tính a, b như: Phương pháp cực trị: Còn gọi là phương pháp cận trên - cận dưới (High - low method). Cụ thể để tìm trị số a, b của phương trình theo ví dụ trên bằng cách sử dụng công thức và cách 124
  52. tính toán như sau: Hiệu số của chi phí cao nhất và thấp nhất b = Hiệu số của doanh thu cao nhất và thấp nhất 412 - 323 b = = 0,15 2.104 - 1.510 Trong đó: Chi phí cực đại: 412 Chi phí cực tiểu: 323 Doanh thu cực đại: 2.104 Doanh thu cực tiểu: 1.510 Từ phương trình: Y = a +bX, suy ra: a = Y - bX; Tại điểm đạt doanh thu cao nhất (high), ta có: a = 412 - 0,15 x 2.104 = 96,4 Tại điểm đạt doanh thu thấp nhất (low), ta có: a = 323 - 0,15 x 1.510 = 96,4 Phương trình chi phí kinh doanh đã được thiết lập: Y = 96,4 + 0,15X Cài đặt chương trình: 125
  53. Code chương trình: ‘ Load du lieu Private Sub Command1_Click() i = 1 Do Until Data1.Recordset.EOF If i = 1 Then Text1.Text = Data1.Recordset.Fields("nam") Text4.Text = Data1.Recordset.Fields("chiphi") Text7.Text = Data1.Recordset.Fields("doanhthu") End If If i = 2 Then Text2.Text = Data1.Recordset.Fields("nam") Text5.Text = Data1.Recordset.Fields("chiphi") Text8.Text = Data1.Recordset.Fields("doanhthu") 126
  54. End If If i = 3 Then Text3.Text = Data1.Recordset.Fields("nam") Text6.Text = Data1.Recordset.Fields("chiphi") Text9.Text = Data1.Recordset.Fields("doanhthu") End If i = i + 1 j = j + 1 Data1.Recordset.MoveNext Loop End Sub Private Sub Command2_Click() 'xoa du lieu o cac o textbox Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" Text7.Text = "" Text8.Text = "" Text9.Text = "" Text10.Text = "" 'ham dua con tro ve text 1 Text1.SetFocus End Sub 127
  55. Private Sub Command3_Click() 'tinh max chi phi' Max = val(Text4.Text) If Max val(Text5.Text) Then Min = val(Text5.Text) End If If Min > val(Text6.Text) Then Min = val(Text6.Text) End If minchiphi.Text = Str(Min) ' ' 'tinh max doanh thu' maxdt = val(Text7.Text) If maxdt < val(Text8.Text) Then maxdt = val(Text8.Text) End If 128
  56. If maxdt val(Text8.Text) Then mindt = val(Text8.Text) End If If mindt > val(Text9.Text) Then mindt = val(Text9.Text) End If mindoanhthu.Text = Str(mindt) ' 'tinh b If Text10.Text = "" Then MsgBox ("Nhap doanh thu du bao") Style = vbOKOnly Text10.SetFocus Else b = (maxchiphi - minchiphi) / (maxdoanhthu - mindoanhthu) a = maxchiphi - b * maxdoanhthu y = a + b * Val(Text10.Text) ketqua.Text = y 'tinh ME,MAE,MPE,MAPE,MSE,RMSE 129
  57. a1 = Val(Text4.Text) - Val(Text7.Text) a2 = Val(Text5.Text) - Val(Text8.Text) a3 = Val(Text6.Text) - Val(Text9.Text) Mee = (a1 + a2 + a3) / 3 Mae = (Abs(a1) + Abs(a2) + Abs(a3)) / 3 Mpe = ((a1 / Val(Text6.Text) + a2 / Val(Text7.Text) + a3 / Val(Text8.Text)) * 100) / 3 Mape = ((Abs(a1 / Val(Text3.Text)) + Abs(a2 / Val(Text4.Text)) + Abs(a3 / Val(Text5.Text))) * 100) / 3 Mse = (a1 * a1 + a2 * a2 + a3 * a3) / 3 Rmse = Sqr(Mse) a.Text = Mee b.Text = Mae c.Text = Mpe d.Text = Mape e.Text = Mse f.Text = Rmse Form2.Show End If End Sub Private Sub Command4_Click() End End Sub Kết quả: 130
  58. Code form kết quả: Private Sub Command1_Click() kq.Recordset.AddNew a1.Text = Text1.Text a2.Text = Text2.Text a3.Text = Text3.Text a4.Text = Text4.Text a5.Text = Text5.Text a6.Text = Text6.Text a7.Text = Text7.Text kq.Refresh End Sub 131
  59. Private Sub Command2_Click() End End Sub Private Sub Form_Load() Text1.Text = Form1.ketqua.Text Text2.Text = Form1.a.Text Text3.Text = Form1.b.Text Text4.Text = Form1.c.Text Text5.Text = Form1.d.Text Text6.Text = Form1.e.Text Text7.Text = Form1.f.Text ' ' End Sub Phương pháp hồi quy bội Còn gọi là phương pháp hồi quy đa biến, dùng phân tích mối quan hệ giữa nhiều biến số độc lập (tức biến giải thích hay biến nguyên nhân) ảnh hưởng đến 1 biến phụ thuộc (tức biến phân tích hay biến kết quả). Trong thực tế, có rất nhiều bài toán kinh tế - cả lĩnh vực kinh doanh và kinh tế học, phải cần đến phương pháp hồi quy đa biến. Chẳng hạn như phân tích những nhân tố ảnh hưởng đến thu nhập quốc dân, sự biến động của tỷ giá ngoại hối; xét doanh thu trong trường hợp có nhiều mặt hàng; phân tích tổng chi phí với nhiều nhân tố tác động; phân tích giá thành chi tiết; những nguyên nhân ảnh hưởng đến khối lượng tiêu thụ Một chỉ tiêu kinh tế chịu sự tác động cùng lúc của rất nhiều nhân tố thuận chiều hoặc trái chiều nhau. Chẳng hạn như doanh thu lệ thuộc và giá cả, thu nhập bình quân xã hội, lãi suất tiền gửi, mùa vụ, thời tiết, quảng cáo tiếp thị Mặt khác, giữa những nhân tố lại cũng có sự tương quan tuyến tính nội tại với nhau. Phân tích hồi quy giúp ta vừa kiểm định lại giả thiết về những nhân tố tác động và mức độ ảnh hưởng, vừa định lượng được các quan hệ kinh tế giữa chúng. Từ đó, làm nền tảng cho phân tích dự báo và có những quyết sách phù 132
  60. hợp, hiệu quả, thúc đẩy tăng trưởng. Phương trình hồi quy đa biến dưới dạng tuyến tính: Y = b0 + b1X1 + b2X2 + + biXi + bnXn + e (3.2) Trong đó: Y: biến số phụ thuộc (kết quả phân tích); b0: tung độ gốc; b1: các độ dốc của phương trình theo các biến Xi; Xi: các biến số (các nhân tố ảnh hưởng); e: các sai số Lưu ý: Y trong phương trình trên được biểu hiện là Y ước lượng, người ta thường viết dưới hình thức có nón (Y ) Mục tiêu của phương pháp hồi quy đa biến là dựa vào dữ liệu lịch sử các biến số Yi, Xi, dùng thuật toán để đi tìm các thông số b0 và bi xây dựng phương trình hồi quy để dự báo cho ước lượng trung bình của biến Yi. Lưu đồ thuật toán: 133
  61. BEGIN Nhập vào n giá trị X, Y của năm trước  r r r b y  yx1 yx 2 x 1 x 2 1  1 r 2 x1 x 1 x 2  r r r y yx2 yx 1 x 1 x 2 b2  2  1 r 2 x2 x 1 x 2 x x x .x k ( i j i j xi xi ) rxixj= xi  xi .x j 1 k b0 y b1x1 b2 x2 Xuất ra giá trị Y END Phương pháp thống kê hồi quy Còn gọi là thống kê hồi quy đơn giản (simple regression statistical) dùng phương pháp thống kê toán để tính các hệ số a, b của phương trình hồi quy dựa trên toàn bộ quan sát của tập dữ liệu. Đây là phương pháp đáng tin cậy nhất và vì vậy đòi hỏi công phu hơn. Vẫn dùng số liệu ở ví dụ trên, lập bảng tính các trị số cơ sở rồi căn cứ vào công thức để tính các thông số của phương trình. Ta có công thức trong thống kê toán a = - b 134
  62. n  (XXYY )( ) i 1 i i b n 2  ()XX i 1 i 2 2 N Xi Yi Xi Yi XXi 2 2 XX Yi Y i Xi Yi XXi YYi Yi Y 1.51 2.280.1 104.3 487.73 1 323 -372 -55 20.398 138.384 3.007 0 00 29 0 1.82 3.312.4 133.2 664.30 2 365 -62 -13 796 3.844 165 0 00 25 0 2.10 4.426.8 169.7 866.84 3 412 222 34 7.585 49.284 1.167 4 16 44 8 2.08 4.355.5 168.1 855.67 4 410 205 32 6.594 42.025 1.035 7 69 00 0 1.75 3.062.5 125.3 619.50 5 354 -132 -24 3.146 17.424 568 0 00 16 0 2.02 4.084.4 162.4 814.46 6 403 139 25 3.498 19.321 633 1 41 09 3 11.2 2.2 21.521. 863.1 4.308.5 ∑ 0 0 42.017 270.282 6.575 92 67 826 23 11 Bảng 3.3. Các trị số cơ sở thống kê 2.267 Y 377,83 378 6 Trước hết, xét mức độ tương quan (correlation) giữa biến số phụ thuộc và biến số độc lập bằng công thức: 135 n 2  ()XXYY i 1 i i R n2 n 2  
  63. R = +1: tương quan hoàn toàn và đồng biến; R = -1: tương quan hoàn toàn và nghịch biến; R R = càng gần 1:tương quan càng mạnh (0,8< <1); R = từ 0,4 đến 0,8: tương quan trung bình; R = nhỏ hơn 0,4: tương quan yếu; 42.017 R 0.993 270.282 (6.575) Ý nghĩa của độ tương quan nói lên cường độ của mối quan hệ tuyến tính của hai biến X và Y. Trở lại, thay các giá trị đã tính ở bảng 3.7 vào công thức (3.3) và (3.4) ở trên, ta có: 136
  64. n 2 2  ()()XXYY 42.017 i 1 i i b 0.115 n 2  (XX ) 270.282 i 1 i a Y bX 377.83 (0.115 x 1882) 86,12 Vậy phương trình hồi quy có dạng Y = a + bX sẽ là: Y = 86,12 + 0,155X Phương pháp Box - Jenkins Dưới đây nghiên cứu một cách có hệ thống các dạng khác nhau của chuỗi thời gian dựa vào các tính chất của nó. Mục tiêu là tìm trong số tất cả các mô hình ARIMA (AR: tự hồi quy, MA: trung bình động, I: thông số cho biết bậc cần thiết để có thể tạo một chuỗi ổn định) 1 mô hình thích hợp nhất với số liệu của hiện tượng nghiên cứu. Phương pháp bao gồm 3 bước chính sau đây: Bước 1: Tìm các mô hình thích hợp nhất Đây là bước quan trọng và khó nhất. Nó cho phép nhận biết được trong họ tất cả các mô hình ARLMA mô hình nào là có khả năng thích hợp nhất. Phương pháp dựa vào nghiên cứu các biểu đồ tương quan đơn và các biểu đồ tương quan riêng phần. Một vài nguyên tắc sau đây cho phép tìm các thông số p,d,q của mô hình ARIMA. * Khử tính chu kỳ Để đơn giản trong trường hợp chuỗi nghiên cứu có chứa yếu tố biến đổi có tính chu kỳ ta nên > yếu tố này trước khi đi vào các xử lý thống kê nhằm đơn giản hóa cho các bước tính sau. * Khảo sát và xác định bậc của xu thế nếu có Trong trường hợp biểu đồ tương quan đơn giảm chậm hoặc hoàn toàn không giảm, chuỗi có chứa một xu thế. Trong trường hợp này ta sẽ loại tính xu thế nó nhờ vào áp dụng của toán tử sai biệt lên chuỗi. Trong thực tế ta có thể gặp trường hợp 137
  65. d=l hoặc 2. Giá trị thích hợp của d sẽ cho ta một biểu đồ tương quan đơn có xu thế giảm nhanh. * Xác định p,q của mô hình ARMA nhờ vào biểu đổ tương quan - Nếu biểu đồ tương quan đơn chỉ có q giá trị đầu tiên là khác 0 (q=3 là lớn nhất) và các giá trị của biểu đồ tương quan riêng phần giảm từ từ ta có thể tiên đoán có một MA(q). - Nếu biểu đồ tương quan riêng phần chỉ có p giá trị đầu tiên là khác 0 (p=3 là lớn nhất) và các giá trị của biểu đồ tương quan đớn giảm từ từ ta có thể tiên đoán có một AR(P). - Nếu biểu đồ tương quan đơn và biểu đồ tương quan riêng phần không có sự cắt ngắn như hai trường hợp trên, ta sẽ có một quá trình ARMA và các thông số của nó tùy thuộc vào dạng cụ thể của cấc biểu đồ tương quan. Trong thực hành, phương pháp phân tích đồ thị chỉ cho ta tìm được p q trong các trường hợp đơn giản mà thôi. Trong trường hợp tổng quát, ta có thể áp dụng các tiêu chuẩn sau đây để xác định các thông số p, q trong một mô hình ARMA. Thực chất chung của các tiêu chuẩn này là dựa vào sự khảo sát các giá trị liên quan đến phương sai của chuỗi sai số cho bởi mô hình với thông số đề nghị. Có 3 tiêu chuẩn thông dụng được sử dụng như sau: Tiêu chuẩn Akaike: Akaike = Log(%rss) + 2 Tiêu chuẩn BIC: BIC = Log(%rss) + (p + q) * Tiêu chuẩn HQ: HQ = Log(%rss) + 2(p + q) * 270 với: %rss : tổng các thặng dư bình phương của mô hình đề nghị %nobs : số lượng quan trắc. 138
  66. Trong trường hợp lý tưởng, giá trị chọn của p,q tương ứng với trường hợp cho ta các giá trị Akaike, BIC, HQ cực tiểu. Trong áp dụng ta có thể có trường hợp ở đó giá trị p,q đề nghị không làm cho 3 tiêu chuẩn này đồng thời cực tiểu. Tuy vậy thường các tiêu chuẩn này cho giá trị p,q tối ưu không khác nhau lớn. Trong trường hợp này ta sẽ khảo sát từng tổ hợp (p,q) cụ thể để quyết định chọn mô hình hợp lý nhất. Bước 2: Ước lượng các hệ số của mô hình Trong trường hợp mô hình AR(P), tác giả áp dụng phương pháp bình phương tối thiểu hay sử dụng quan hệ giữa tính tự tương quan và các hệ số của mô hình (phương trình Yule Walker). ước lượng các hệ số cho mô hình MA(Q) tương đối phức tạp hơn. Các tác giả đề nghị sử dụng một phương pháp lặp dưới dạng quét mà chúng ta có thể hiểu một cách đơn giản như sau. Giả sử ta có 1 mô hình ARMA(2,2) xác định bởi: 2 2 (l-q1D-q2D )yt = (l-aD1-a2D )*et và Chúng ta có thể viết dưới dạng: yt = Ta đặt: Do đó: Từ đó chúng ta có thể khởi đầu bằng cách tính quét với 2 khoảng giá trị chấp nhận được cho a1 và a2 và với một gia số cho trước. Tiếp theo, cho mỗi cặp giá trị của a1 và a2 ta đặt no = o Và n1 =o và Chúng ta sẽ ước lượng giá trị của vl theo các bước sau: n2 = y2 n3 = y3 + a2 n2 n4 = y4 + a1 n1+a2 n2 etc 139
  67. sau khi tính tất cả các giá trị của nt ta sẽ ước lượng các thông số q1 Và q2 bởi phương pháp bình phương tối thiểu áp dụng vào phương trình sau: nt = q1nt-1 + q2nt-2 + et và chúng ta sẽ lấy giá trị al, a2 sao cho các tổng bình phương của các thặng dư từ phương trình hồi quy trên tối thiểu. Chú ý phương pháp này chỉ có giá trị trong trường hợp số lượng các thông số cần xác định không nhiều lắm. Ngoài phương pháp bình phương tối thiểu ta còn có thể áp dụng phương pháp cực đại hóa các hàm tương thích. Bước 3: Kiểm tra giá trị của mô hình và dự báo Sau khi các thông số của mô hình được xác định, chúng ta sẽ kiểm định các kết quả của ước lượng này. Các hệ số của mô hình phải khác 0 (kiểm định Student cổ điển). Nếu có một hay nhiều hệ số không thỏa mãn, ta sẽ loại bỏ nó ra khỏi mô hình AR hoặc MA đang xét. Phân tích các giá trị thặng dư được thực hiện từ 2 tiêu chuẩn sau: - Giá trị trung bình số học triệt tiêu, trong trường hợp ngược lại ta nên thêm một hằng số vào mô hình. - Chuỗi giá trị thặng dư là một nhiễu trắng. Các giá trị th.ống kê của Box- pierce và của Ljung-box cho phép kiểm định tính chất này. Nếu nó không phải là một nhiễu trắng ta kết luận mô hình là không hoàn chỉnh và ta phải thêm vào mô hình các bậc bổ sung cần thiết. - Bước kiểm định mô hình rất quan trọng? và có thể ta phải trở lại bước thứ 1 nếu mô hình đề nghị không thích hợp. Một khi mô hình đã được kiểm định, ta có thể tiến hành dự báo giới hạn trong một vài chu kỳ. Phân tích chuỗi thời gian với mô hình SARLMA chỉ cho phép tiến hành các dự báo ngần hạn. Nó không cho phép một dự báo trung hạn và dài hạn với độ chính xác cần có, vì biến độ của sai số gia tăng rất nhanh trong trường hợp này. 140
  68. Chúng ta có thể tóm tắt các bước cơ bản của phương pháp Box-Jenkins như sau: Tìm các thông tin thích hợp, khử tính chu k ỳ, khảo sát và xác định bậc của xu thế Phân tích biểu đồ tương quan đơn và tương quan riêng phần: xác định biến p,q của mô hình AR và MA Ước lượng các hệ số của mô hình Kiểm tra mô hình: Phân tích các hệ số và thặng dư Dự báo=a+bX Phương pháp dãy số thời gian Khái niệm Mặt lượng của hiện tượng thường xuyên biến động qua thời gian. Trong thống kê để nghiên cứu sự biến động này ta thường dựa vào dãy số thời gian. Dãy số thời gian là dãy số các trị số của chỉ tiêu thống kê được sắp xếp theo thứ tự thời gian. Các phương pháp biểu hiện xu hướng phát triển của hiện tượng a. Phương pháp hồi quy Trên cơ sở dãy số thời gian, người ta tìm một hàm số (gọi là phương trình hồi quy) phản ánh sự biến động của hiện tượng qua thời gian có dạng tổng quát như 141
  69. sau: Trong đó: a0, a1, . . . . ., an : các tham số. t: thứ tự thời gian. Để lựa chọn đúng đắn dạng của phương trình hồi quy đòi hỏi phải dựa vào sự phân tích đặc điểm biến động của hiện tượng qua thời gian, đồng thời kết hợp với một số phương pháp đơn giản khác (như dựa vào đồ thị, dựa vào độ tăng (giảm) tuyệt đối, dựa vào tốc độ phát triển, . . . .) Các tham số ai (i= 1,2,3, . . . ,n) thường được xác định bằng phương pháp bình phương nhỏ nhất. Tức là: 2 (yLT y TT ) min Sau đây là 1 số dạng phương trình hồi quy đơn giản thường được sử dụng: _ Phương trình đường thẳng: y = a0 + a1t Phương trình đường thẳng được sử dụng khí các lượng tăng (hoặc giảm) tuyệt đối liên hoàn (còn gọi là sai phân bậc 1) xấp sỉ nhau. Để xác định a0 và a1: ta áp dụng phương pháp bình phương nhỏ nhất. Từ đó a0 và a1 được xác định bởi hệ phương trình sau: n n y na0 a 1  t i 1 i 1 (*) n n n yt a t a t 2 0  1  i 1 i 1 i 1 Ví dụ: Có số liệu về doanh thu của một đơn vị sản xuất qua các năm như sau: Năm 1998 1999 2000 2001 2002 Doanh thu (Tỷ đồng) 30 32 31 34 33 Để tính a0 và a1 cho ví dụ này, ta lập bảng sau: 2 Năm y t t ty yLTt 1998 30 1 1 30 30,4 1999 32 2 4 64 31,2 142
  70. 2000 31 3 9 93 32,0 2001 34 4 16 136 32,8 2002 33 5 25 165 33,6 160 15 55 488 Thế các giá trị tương ứng trong bảng vào hệ phương trình trên (*) ta được: 160 5a0 15 a 1 488 15a0 55 a 1 Từ đây ta tính được a0 = 29,6 và a1 = 0,8. Thế các giá trị t lần lượt từ 1 đến 5 tương ứng với thời gian từ năm 1998 đến năm 2002 ta tính được các giá trị doanh thu theo đường hồi quy lý thuyết y= a0 + a1t là các giá trị trong cột yLTt. Ta nhận thấy rằng: biến t là biến thứ tự thời gian, ta có thể thay t bằng t' (nhưng vẫn đảm bảo tính thứ tự), sao cho t , = 0 thì việc tính toán sẽ đơn giản hơn. Có 2 trường hợp: 1. Nếu thứ tự thời gian là số lẻ thì lấy thời gian đứng ở giữa bằng 0, các thời gian đứng trước là -1, -2, -3 và t đứng sau là 1, 2, 3. 2. Nếu thứ tự thời gian là số chẵn thì lấy hai thời gian đứng giữa là -1 và 1, các thời gian đứng trược lần lượt là -3, -5, . . . và đứng sau lần lượt là 3, 5, . . . Với t ' =0 thì hệ phương trình trên sẽ là:  y = na0 => a0 =  y /n ' 2 ' '2 t y = a1 t => a1 = t y / t Khi đó: yLT’ = a'0 +a'1t' Với cách chọn t ' = 0, ta lập bảng sau: 2 Năm y t' t' t'y yLTt 1998 30 -2 4 -60 30,4 1999 32 -1 1 -32 31,2 2000 31 0 0 0 32,0 143
  71. 2001 34 1 1 34 32,8 2002 33 2 4 66 33,6 160 0 10 8 Bảng 5.8 a0 = 160 / 5 = 32 a1 = 8 /10 = 0,8 yT’ =32 + 0,8t' (*) Để dự đoán sản lượng cho năm 2003 thế t = 3 vào phương trình (*) ta được y = 32+0,8*3 = 34,4 (tỷ đồng) Với hai cách chọn t # 0 và t = 0, ta thấy kết quả vẫn như nhau. b. Phương pháp biểu hiện biến động thời vụ Sự biến động của một số hiện tượng trong kinh tế xã hội thường có tính thời vụ, nghĩa là hàng năm trong từng thời gian nhất định, sự biến động được lặp đi lặp lại. Nghiên cứu biến động thời vụ nhằm đề ra những chủ trương biện pháp phù hợp, kịp thời, hạn chế những ảnh hưởng của biến động thời vụ đối với sản xuất và sinh hoạt của xã hội. Nhiệm vụ của nghiên cứu thống kê là dựa vào số liệu của nhiều năm (ít nhất là ba năm) để xác định tính chất và mức độ của biến động thời vụ. Phương pháp này thường được sử dụng để tính các chỉ số thời vụ. Chỉ số thời vụ được tính theo công thức: Ii y i / y0 x 100(%) Trong đó: Ii số thời vụ của thời gian i. yi : Số bình quân của các mức độ cùng thời gian i. y0 : Số bình quân của tất cả các mức độ trong dãy số. Ví dụ: Có số liệu về sản lượng điện thoại đường dài của một đơn vị Bưu điện qua các năm như sau: 144
  72. Cộng Bình các Chỉ số Sản lượng điện thoại quân các tháng thời vụ Tháng đường dài (cuộc) tháng cùng tên Ii = (yi cùng tên ( yi ) / yi )x100 ( yi ) 1997 1998 1999 A 1 2 3 4 5 6 7 1 137.139 184.326 241.892 563.357 187.785 72.38 361.937 2 130.009 213.218 270.682 613.909 204.636 78.88 394.415 3 159.241 234.3 350.684 744.255 248.075 95.62 478.158 4 147.674 222.667 338.037 708.378 236.125 91.02 455.108 5 148.589 236.26 353.488 738.337 246.112 94.87 474.356 6 162.643 229.976 368.601 761.22 253.74 97.81 489.058 7 160.598 235.483 376.304 772.385 257.461 99.25 496.231 8 172.235 246.789 383.399 802.423 267.474 103.1 515.529 9 180.119 249.628 410.292 840.039 280.013 107.9 539.696 10 181.161 254.651 421.905 857.717 285.905 110.2 551.054 11 185.552 246.818 415.502 847.872 282.624 108.94 544.729 12 197.785 259.143 632.233 1089.16 363.053 139.95 699.748 Cộng 9.339.023 9.339.023 y 1.037.669 (cuộc) 36 Qua kết quả trình bày ở bảng trên ta thấy sản lượng điện thoại đường dài trong nước tăng cao nhất ở những tháng cuối năm (gần tết) và giảm thấp nhất ở tháng giêng và tháng hai. 145
  73. Giả sử kế hoạch sản lượng điện thoại cho năm 2000 là 6 000 000 cuộc thì ta dự đoán sản lượng của từng tháng của năm 2000 sẽ là: các sản lượng trong cột (7) 146
  74. TÀI LIỆU THAM KHẢO Tài liệu bắt buộc: [1]. Vũ Xuân Nam, Nguyễn Văn Huân, Lê Anh Tú (2012), Lập trình ứng dụng kinh tế, Tài liệu lưu hành nội bộ Khoa HTTT Kinh tế, Trường ĐH CNTT & TT. [2]. Nguyễn Văn Huân, Nguyễn Thu Hằng (2011), Lý thuyết mô hình toán kinh tế, Tài liệu lưu hành nội bộ Khoa HTTT Kinh tế, Trường ĐH CNTT & TT. [3]. Nguyễn Văn Huân, Phạm Việt Bình, (2011), Phân tích dữ liệu và dự báo kinh tế, NXB Khoa học kỹ thuật. Tài liệu tham khảo: [4]. Phạm Văn Dược, (1999), Phân tích hoạt động kinh doanh, Thống kê [5]. Võ Văn Huy và Huỳnh Ngọc Liễu, (2001), Hệ thống Thông tin Quản lý, Khoa Học Kỹ Thuật. [6]. Phạm Thị Thanh Hồng và Phạm Minh Tuấn, (2007), Hệ thống Thông tin Quản lý, Khoa Học và Kỹ Thuật [7]. Võ Thành Danh, (2001), Kế toán Phân tích, Thống kê. 147