Bài giảng Kỹ thuật lập trình – Chương 3: Lập trình ứng dụng kinh tế

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ụ

pdf74 trang | Chia sẻ: nguyenlam99 | Lượt xem: 887 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Kỹ thuật lập trình – Chương 3: Lập trình ứng dụng kinh tế, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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): bN =           n k n k m s snk m s snk PnkPPnkP 0 1 11 Khi x1: bN = )1( 1 ),(),( )1( 1 ),()1,( m m x x xnPnR x x xnnPnR         Khi x=1: bN = mnPnR nnmPnR ),(),( ),()1,(     (6). Độ dài hàng chờ trung bình Khi x1: cM = x xxnPnR sxnP sP m m s s m s sn          1 )1(),(),( ),( 0 0   Trong đó: ]1)1[( )1( 1 2 1 0 1 1 0               mm m s s m s s m s s mxxm x x x x xsxxsx Khi x=1: cM = 2 )1( mmPn (7). Thời gian chờ trung bình của một yêu cầu: 89 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 m s snsnc sPPn sT 0 0 1 1  Hay:  c c MT  (8). Thời gian rỗi giữa hai lần phục vụ: n N n N H HTT b b b b pvr      11 90 Lưu đồ thuật toán: BEGIN Nhập n, λ, µ, m α = , x= P0 = mnPnR P ),(),( )0,(    , Pr = P0, Pc = mPn Ptc = Pn+m = 0! Px n m n , Popv = 1-Ptc -Pc bN = mnPnR nnmPnR ),(),( ),()1,(     , : cM = 2 )1( mmPn ,  c c MT  n N n N H HTT b b b b pvr      11 X=1 P0 = x xxnPnR P m    1 )1(),(),( )0,(   , Pc = x x x xxnPnR nP m m      1 )1( 1 )1(),(),( ),(   , Ptc = mm x x xxnPnR nP    1 )1(),(),( ),(   , bN = )1( 1 ),(),( )1( 1 ),()1,( m m x x xnPnR x x xnnPnR         , cM = x xxnPnR sxnP sP m m s s m s sn          1 )1(),(),( ),( 0 0   N n N H HTT b b b pvr      11 YES NO 91 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 END Xuất ra : Pr, Pc, Ptc, Ppv, Nb, Mc, Tc, Tr 92 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ả 93 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 94 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 95 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 96 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 97 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 98 .... ................................... 0 = - nPn+s - Pn+s +Pn+s-1 + nPn+s+1 .... ................................... với ĐK chuẩn: 1  k k P đặt  = / từ (1) ta có: Pk = 0! P k   và Pn+s = 0! P nn s sn (2) 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 P0 =       n k s s nk x n0 1 !! 1    = x xnPnR P   1 ),(),( )0,(   (2). Xác suất một yêu cầu đến hệ thống phải chờ: Pc Pc = xn Px n PP n s s n s sn         1 1 !! 00 0 0  = x xnPnR x nP    1 ),(),( 1 1),(   (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): bN =            n k n k s s nk s snk xn nP k kPPnkP 0 1 1 00 1 !!  99 = ) 1!! ( 1 0 0 x x n n k P nn k k       = x xnPnR x xnnPnR     1 ),(),( 1 ),()1,(   (5). Độ dài hàng chờ trung bình cM = x xnPnRx nxPx n PsP s s n s sn          1 ),(),()1( ),( ! 20 0 0   (6). Thời gian chờ trung bình của một yêu cầu  c c M T  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. 100 Lưu đồ thuật toán BEGIN Nhập n, µ,λ α = , x= X<1 Pr = P0 = x xnPnR P   1 ),(),( )0,(   , Pc = x xnPnR x nP    1 ),(),( 1 1),(   Ppvo = 1 - Pc , bN = x xnPnR x xnnPnR     1 ),(),( 1 ),()1,(   , cM = x xnPnRx nxPx n PsP s s n s sn          1 ),(),()1( ),( ! 20 0 0    c c MT  Xuất ra: Pr, Pc, Ppvo, Nb, Mc, Tc END YES NO 101 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 102 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 103 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 104 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 105 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 106 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: 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) Đầu vào: 1. Tổng nhu cầu 2. Chi phí đặt hàng 3. Hệ số chi phí dự trữ 4. Thời gian đặt hàng 5. Số mức giá 6. Nhập các mức giá 7 ... Qui trình xử lý Chương trình máy tính Kết quả: 1. Chi phí cực tiểu 2. Lượng đặt hàng tối ưu (duy nhất) 3. Số lần đặt hàng 4. Điểm đặt hàng 5 ... 107 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* 108 Lưu đồ thuật toán: BEGIN Nhập : Q, C, A, I, T0 IC 2AQ*q (4) 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 109 * Đ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) 110 & "(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: 111 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* 112 Lưu đồ thuật toán BEGIN Nhập : K, Q, C, A, I, T0 ) K QIC(1 2AQq*   CQ) K Q2AQIC(1F(q*)  n* = Q/q* , t*=1/n* , B= Q[T0-t*.int(T0/t*)]. BS*=q*(1- Q/K) B*=B B*=(K-Q)(t*-B/Q) YES NO Xuất ra : q* , F(q*), S*, n*, t*, B* END 113 * Đ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))) 114 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: 115 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 116 ------------------------ sn-1  q giá cn Trong đó : s1 < s2 < ..... < sn-1 ta gọi si (i=1,2,....,n) là các mốc thay đổi giá; có thể xem như s0=0 và sn=+ ; và c1> 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* 117 Lưu đồ thuật toán BEGIN Nhập : Q, Ci, Si, A, I,T0 iIC 2AQ*iq  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*≥ sn-1 q*=qn* F(qn*) = ? YES Fn(sn-1) = ? qn-1*= ? NO qn-1*≥ sn-2 YES N Xuất ra : q*, F(q*), n*, t*, B* END 118 * Đ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 119 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 120 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 121 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 122 Lưu đồ thuật toán: 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. 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 123 Đồ 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). X Y Hình 4.9 bX 0 a 124 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 125 tính toán như sau: b = Hiệu số của chi phí cao nhất và thấp nhất Hiệu số của doanh thu cao nhất và thấp nhất 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: b = 412 - 323 = 0,15 2.104 - 1.510 126 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") 127 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 128 ------------------------------------------------------------------------- Private Sub Command3_Click() 'tinh max chi phi' Max = val(Text4.Text) If Max < val(Text5.Text) Then Max = val(Text5.Text) End If If Max < val(Text6.Text) Then Max = val(Text6.Text) End If maxchiphi.Text = Str(Max) '------------------------------------------------' 'tinh min chi phi' Min = val(Text4.Text) If Min > 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 129 If maxdt < val(Text9.Text) Then maxdt = val(Text9.Text) End If maxdoanhthu.Text = Str(maxdt) '-------------------------------------------' 'tinh min doanh thu' mindt = val(Text7.Text) If mindt > 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 130 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ả: 131 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 -------------------------------------------------------------- 132 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ù 133 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: 134 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 BEGIN Nhập vào n giá trị X, Y của năm trước rxixj= ji jiji xx xxxx   . .    k k iixi xx 1 ) 2 ( 2 1 1 2 2 1 2 2 21 yx yx x xy x x x r r r b r       1 2 1 2 1 1 2 1 21 yx yx x xy x x x r r r b r       22110 xbxbyb  Xuất ra giá trị Y END 135 Bảng 3.3. Các trị số cơ sở thống kê 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: N Xi Yi Xi2 Yi2 Xi Yi iX X i YY  iX X i YY   2iX X  2iY Y 1 1.51 0 323 2.280.1 00 104.3 29 487.73 0 -372 -55 20.398 138.384 3.007 2 1.82 0 365 3.312.4 00 133.2 25 664.30 0 -62 -13 796 3.844 165 3 2.10 4 412 4.426.8 16 169.7 44 866.84 8 222 34 7.585 49.284 1.167 4 2.08 7 410 4.355.5 69 168.1 00 855.67 0 205 32 6.594 42.025 1.035 5 1.75 0 354 3.062.5 00 125.3 16 619.50 0 -132 -24 3.146 17.424 568 6 2.02 1 403 4.084.4 41 162.4 09 814.46 3 139 25 3.498 19.321 633 ∑ 11.2 92 2.2 67 21.521. 826 863.1 23 4.308.5 11 0 0 42.017 270.282 6.575  2( )1 2 2 n X X Y Y i i i R n n        ( )( )1 2 ( )1 n X X Y Yi i i b n X Xi i         2.267 377,83 378 6 Y    136 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 = càng gần 1:tương quan càng mạnh (0,8< R <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; Ý 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ó:   42.017 0.993 270.282 (6.575) R   137 377.83 (0.115 1882) 86,12a Y bX x     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 2 2 ( ) ( ) 42.0171 0.1152 ( ) 270.282 1 n X X Y Y i i i b n X X i i           138 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. 139 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: (l-q1D-q2D2)yt = (l-aD1-a2D2)*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.... 140 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. 141 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: 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ư 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 142 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( ) minLT TTy y  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: 0 1 1 1 2 0 1 1 1 1 (*) n n i i n n n i i i y na a t yt a t a t                   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: Năm y t t2 ty yLTt 1998 30 1 1 30 30,4 1999 32 2 4 64 31,2 143 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: 0 1 0 1 160 5 15 488 15 55 a a a a      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 't y = 21a t => a1 = 't y / '2t Khi đó: yLT’ = a'0 +a'1t' Với cách chọn 't = 0, ta lập bảng sau: Năm y t' t'2 t'y yLTt 1998 30 -2 4 -60 30,4 1999 32 -1 1 -32 31,2 2000 31 0 0 0 32,0 144 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:  0/ 100(%)i iI y y x Trong đó: Ii số thời vụ của thời gian i. iy : Số bình quân của các mức độ cùng thời gian i. 0y : 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: 145 Tháng Sản lượng điện thoại đường dài (cuộc) Cộng các tháng cùng tên ( iy ) Bình quân các tháng cùng tên ( iy ) Chỉ số thời vụ Ii = (yi / iy )x100 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 1.037.669 36 y   (cuộc) 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. 146 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) 147 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ê.

Các file đính kèm theo tài liệu này:

  • pdfbglaptrinhungdungkinhte_p2_209.pdf
Tài liệu liên quan