1. Trang chủ
  2. » Luận Văn - Báo Cáo

Mô hình hóa trạm kiểm tra và sửa chữa ôtô

20 1K 10

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 385,99 KB

Nội dung

Nội dung đề bài Đề số 35: Định kỳ ôtô phải mang đến trạm kiểm tra và sửa chữa.. Xác suất ôtô phải qua sửa chữa là p.. Thời gian sửa chữa tùy thuộc vào mức độ hỏng hóc và thời gian trung

Trang 1

BÀI TẬP LỚN SỐ 2 MÔN MÔ HÌNH HÓA

1. Nội dung đề bài

Đề số 35: Định kỳ ôtô phải mang đến trạm kiểm tra và sửa chữa Xác suất ôtô phải qua sửa chữa là p Thời gian sửa chữa tùy thuộc vào mức độ hỏng hóc và thời gian trung bình sửa chữa 1 ôtô là Ttb giờ Sau khi sửa chữa ôtô lập rời khỏi trạm ngay lập tức Hãy mô phỏng trạm sửa chữa nói trên:

- Thời gian để kiểm tra hết 100 ôtô

- Số ôtô phải qua sửa chữa

- Thời gian để sửa chữa hết tất cả các ôtô phải qua sửa chữa, cho biết

 Phân tích đề bài

Hệ thống gồm các phần tử nối nối tiếp

 Độ tin cậy của hệ thống không thể vượt quá độ tin cậy của phần tử nhỏ nhất

1

n i

Pi

=

Nâng cao độ tin cậy bằng cách nâng cao độ tin cậy của khâu yếu nhất

Ta sử dụng phương pháp tạo số ngẫu nhiên có phân bố mong muốn Ở bài toán này

ta sử dụng hàm tạo số ngẫu nhiên trong khoảng (0,1)

 Tóm tắt phương pháp mô hình hóa

Các bước thực hiện:

• Xác định phân bố của dòng sự kiện

Trang 2

0

START

Nhập số liệu

p, λ, Ttb

tong = 0, i=0

U=Rnd*1

λ

i=i+1 , tong = tong + t

µ

tongsc = tongsc + tsc

i<100

• Thực hiện tạo ra số ngẫu nhiên dựa theo phân bố của dòng sự kiện

• So sánh kết các giá trị ngẫu nhiên vừa tạo được với mốc chuẩn nào đó

để thu được một trạng thái cần xem xét

• Thử nghiệm nhiều lần như trên để thu được tập các kết quả về hệ ngẫu nhiên cần mô phỏng Nếu số lần thử nghiệm càng lớn thì tính chính xác càng cao

3. Phân tích các biến ngẫu nhiên

Sự hỏng hóc của các phần tử là hoàn toàn ngẫu nhiên

Số phần tử hỏng hóc cũng ngẫu nhiên Thời điểm xảy ra hỏng hóc cũng là ngẫu nhiên không thể biết trước được Ta coi dòng sự kiện về sự hỏng hóc của các phần

tử là dòng tối giản vì:

* Dòng dừng: cường độ xảy ra hỏng hóc = const

* Không hậu quả: các sự kiện xảy ra có tính độc lập

* Toạ độ: tại mỗi thời điểm chỉ có một sự kiện xảy ra

Hệ thống gồm 3 phần tử mắc nối tiếp có các hệ số tin cậy theo lý thuyết Để đánh giá độ tin cậy của chúng, ta lấy các biến ngẫu nhiên , , với ~ U(0,1) để so sánh Sau nhiều lần lấy các bộ số đó, ta so sánh và Như vậy các biến ngẫu nhiên trong bài này là

4. Phân tích thuật giải

• p1, p2, p3 là độ tin cậy của các phần tử trên lý thuyết Ta tính độ tin cậy của

hệ thống lý thuyết: 1

n i

Pi

=

• Lấy số ngẫu nhiên ~ U(0,1)

và là các biến trung gian có giá trị ban đầu bằng 0

N là số lần thử (N = 100, 1000, 3000)

Ta so sánh nếu và và thì = , ngược lại ta tính = +1 So sánh đến khi nào

i = N

• Độ tin cậy thực nghiệm =

• Chọn số lần thử nghiệm N= 100, 1000, 3000

2

Trang 3

6. Điều kiện mô phỏng

- Số lần so sánh N phải đủ lớn ( N> 100)

- p1, p2, p3 đã cho theo lý thuyết

- Điều kiện mô phỏng: ~ U(0,1), ~ U(0,1), i< N

Trang 4

- và < 1 , sai số giữa hai giá trị không quá lớn

Dùng Visual Basic 6.0

Option Explicit

Const e = 2.71828

Dim u As Double

Dim lamda As Double

Dim Ttb As Double

Dim p As Double

Dim xecohuhong(1 To 100) As Boolean

Dim Timeforchecking(1 To 100) As Double

Dim Tchecking As Double

Dim Tmending As Double

Dim Timeformending(1 To 100) As Double

Dim Tongsoxephaisua As Long

Dim soxedasua(0 To 100) As Long

Dim Tongthoigiansua As Double

Dim Tongthoigiankiemtra As Double

Dim i As Long 'su dung trong cac vong lap

Dim i1 As Long 'nt

Dim i2 As Long 'nt

Dim i3 As Long 'nt

Dim i4 As Long 'nt

Dim biendem As Long ' biendem co tac dung lien ket mang cac

Trang 5

'thong so da tinh toan de truyen so lieu vao chuong trinh

'duoc thuc hien trong cac timer

Dim a As Double

'bien darun giup kiem tra chuong trinh da chay lan nao chua

Dim Dacapnhatthongso As Boolean

Dim darun As Boolean

Private Sub Cmdexit_Click()

Dim a As Double

a = MsgBox("Do you want to exit?", vbQuestion + vbYesNo, " Exit?")

If a = 6 Then

End

End If

End Sub

Private Sub CmdReport_Click()

'Neu chuong trinh chua chay lan nao thi nut lenh nay

'se co tac dung nhu la nut len run cua chuong trinh vay

'**********************************************

If Not darun Then

darun = True

If Not Dacapnhatthongso Then

capnhatthongso

End If

Trang 6

Tinhtoan

Timer1.Enabled = True

End If

'********************************************** Label14.Caption = CStr(Round(Tongsoxephaisua, 2))

Label15.Caption = CStr(Round(Tongthoigiankiemtra, 2)) Label16.Caption = CStr(Round(Tongthoigiansua, 2))

End Sub

Private Sub CmdRun_Click()

'chay moi thi cac thong so cua 100 xe da thay doi, vi vay ma 'cac nhan thong so cua 100 xe phai duoc xoa di

'*********************************************** Label14.Caption = ""

Label15.Caption = ""

Label16.Caption = ""

'*********************************************** darun = True

If Not Dacapnhatthongso Then

capnhatthongso

End If

Khoitaotudau

Tinhtoan

Trang 7

Timer1.Enabled = True

End Sub

Private Sub Command1_Click()

Text1.Text = "0.1"

Text2.Text = "0.25"

Text3.Text = "0.2"

lamda = 0.1

Ttb = 0.25

p = 0.2

Khoitaotudau

End Sub

Private Sub Form_Load()

Form1.Move 0, 0, Screen.Width, Screen.Height

Form1.DrawWidth = 1

Form1.Line (25, 25)-(Screen.Width - 25, 25), RGB(1000, 0, 1000)

Form1.Line (Screen.Width - 25, 25)-(Screen.Width - 25, Screen.Height - 25), RGB(1000, 0, 1000)

Form1.Line (Screen.Width - 25, Screen.Height - 25)-(25, Screen.Height - 25), RGB(1000, 0, 1000)

Form1.Line (25, Screen.Height - 25)-(25, 25), RGB(1000, 0, 1000)

Khoitaotudau

End Sub

Trang 8

Private Sub khoitaothongso()

Text1.Text = "0.1"

Text2.Text = "0.25"

Text3.Text = "0.2"

lamda = 0.1

Ttb = 0.25

p = 0.2

Dacapnhatthongso = False

darun = False

End Sub

Private Sub Khoitaotudau()

Timer1.Enabled = False

Timer2.Enabled = False

Timer3.Enabled = False

'***********************************************

' dua cac tranh o to tro ve vi tri chuan bi chay

For i = 1 To 16

Image3(i).Move -15, 0, 0, Picture2.Height

Next i

Image3(0).Move -15, 0, Picture2.Width, Picture2.Height

'***********************************************

'Khoi dong lai vi tri thanh progress

'***********************************************

Picphantram.Move -Picprogress.Width, 0, Picprogress.Width, Picprogress.Height

Trang 9

'*********************************************** 'Khoi tao lai gia tri hien thi tren cac nhan

'*********************************************** Label6.Caption = " 0"

Label7.Caption = " 0"

Label8.Caption = " 0"

Label9.Caption = " 0"

Label14.Caption = " "

Label15.Caption = " "

Label16.Caption = " "

Label17.Caption = " Welcome!"

'*********************************************** 'Dua oto ve vi tri san sang chay

'*********************************************** Picture3.Move (-Picture3.Width)

'*********************************************** End Sub

Private Sub capnhatthongso()

Dacapnhatthongso = True

lamda = CDbl(Text1.Text)

Ttb = CDbl(Text2.Text)

p = CDbl(Text3.Text)

End Sub

Private Sub Tinhtoan()

Trang 10

'khoi dong lai cac thong so

biendem = 0

i = 0

i1 = 0

i2 = 0

i3 = 0

'Tinh toan va ghi cac gia tri tuc thoi vao mot mang gia tri '*********************************************** For i = 1 To 100

u = Rnd

Tchecking = -1 / lamda * Log(u) / Log(e)

Timeforchecking(i) = Tchecking

u = Rnd

If u >= p Then

xecohuhong(i) = True

soxedasua(i) = soxedasua(i - 1) + 1

Else

soxedasua(i) = soxedasua(i - 1)

xecohuhong(i) = False

End If

If xecohuhong(i) then

u = Rnd

Tmending = -Ttb * Log(u) / Log(e)

Timeformending(i) = Tmending

Trang 11

Else

Timeformending(i) = 0

End if

Next i

'***********************************************

'Tinh tong cac thong so tuc thoi vao cac bien se hien thi

'trong bang Report

'***********************************************

Tongsoxephaisua = soxedasua(100)

Tongthoigiansua = 0

Tongthoigiankiemtra = 0

For i = 1 To 100

Tongthoigiansua = Tongthoigiansua + Timeformending(i)

Tongthoigiankiemtra = Tongthoigiankiemtra + Timeforchecking(i) Next i

'***********************************************

End Sub

Private Sub Image3_Click(Index As Integer)

End Sub

Private Sub Text1_Change()

Dacapnhatthongso = False

Trang 12

darun = False

End Sub

Private Sub Text1_Validate(Cancel As Boolean)

If Not IsNumeric(Text1.Text) Then

Cancel = True

End If

End Sub

Private Sub Text2_Change()

Dacapnhatthongso = False

darun = False

End Sub

Private Sub Text2_Validate(Cancel As Boolean)

If Not IsNumeric(Text2.Text) Then

Cancel = True

End If

End Sub

Private Sub Text3_Change()

Dacapnhatthongso = False

darun = False

End Sub

Trang 13

Private Sub Text3_Validate(Cancel As Boolean)

If Not IsNumeric(Text3.Text) Then

Cancel = True

End If

End Sub

Private Sub Timer1_Timer()

Picture3.Move Picture3.Left + 30

If Picture3.Left >= 6000 Then

Picture3.Left = -Picture3.Width

'tang bien dem len 1 de goi so lieu moi trong mang so lieu da tinh

biendem = biendem + 1

'hien thi cac thong so tren cac nhan tu mang da tinh toan

'****************************************************

Label6.Caption = " " & CStr(biendem)

Label8.Caption = ""

Label9.Caption = ""

'****************************************************

Timer1.Enabled = False

'checking

Label17.Caption = " Checking "

'Hien thi thoi gian kiem tra oto tren man hinh

Label8.Caption = " " & CStr(Round(Timeforchecking(biendem), 3)) & " h"

Trang 14

'Khoi dong timer2 de bat dau qua trinh kiem tra oto

Timer2.Enabled = True

End If

End Sub

'Timer2 dung dieu khien hinh anh oto thay doi lien tuc

'*************************************************

Private Sub Timer2_Timer()

If i1 <> 16 Then

i2 = i1 + 1

End If

If i1 = 16 Then

i2 = 0

End If

Image3(i2).Move Image3(i2).Left, Image3(i2).Top, Image3(i2).Width + 40 Image3(i1).Move Image3(i1).Left + 40, 0, Image3(i1).Width - 40

If Image3(i2).Width >= Picture2.Width Then

'dua buc tranh ve ben trai chuan bi cho vong lap lai sau

Image3(i1).Move -15, 0, 0

'tang i1 de chuyen doi sang buc tranh tiep theo

i1 = i1 + 1

' dua ra thong bao ve thong so lien quan den chiec xe hien tai

Label7.Caption = " " & CStr(soxedasua(biendem))

Label9.Caption = " " & CStr(Round(Timeformending(biendem), 3)) & " h" 'thong bao xe hong can phai sua chua

Trang 15

'hoac xe khong co hu hong > OK

If xecohuhong(biendem) Then

Label17.Caption = " Need to repair!"

Else

Label17.Caption = "Your car is OK"

End If

'dung lai doi sua chua

Timer2.Enabled = False

'Khoi dong timer3 de bat dau qua trinh sua chua

Timer3.Enabled = True

End If

If i1 > 16 Then

i1 = 0

End If

'***************************************************

End Sub

Private Sub Timer3_Timer()

'Bien i3 i4 co tac dung la cac bien dem thoi gian tao ra

'cac ham tre thoi gian theo y muon

i3 = i3 + 1

i4 = i4 + 1

If i4 >= 100 Then

Trang 16

If xecohuhong(biendem) Then

If Picphantram.Left < 0 Then

Label17.Caption = " Being repaired "

Picphantram.Move Picphantram.Left + 10

i3 = 0

End If

'sau khi sua chua xong dua ra thong bao completed '***************************************

If Picphantram.Left >= 0 And i3 = 0 Then

Label17.Caption = " Completed! "

End If

'*************************************** End If

End If

If i3 >= 200 Then

i4 = 0

If biendem < 100 Then

Label17.Caption = " Welcome!"

Timer3.Enabled = False

Timer1.Enabled = True

End If

Trang 17

'Kiem tra xong 100 xe roi thi hien thi bang report thong bao

'cho nguoi thi hanh biet ket qua chay cua chuong trinh

'*******************************************************

If biendem >= 100 Then

Label17.Caption = " Welcome! "

Label14.Caption = Tongsoxephaisua

Label15.Caption = Tongthoigiankiemtra

Label16.Caption = Tongthoigiansua

Timer3.Enabled = False

End If

'******************************************************* i3 = 0

Picphantram.Left = -Picphantram.Width

End If

End Sub

Trang 18

8. Thiết kế giao diện

Trang 19

9. Kết quả

10. Nhận xét, biện luận

Chương trình mô phỏng chạy đạt yêu cầu Giao diện đảm bảo các yêu cầu : nhập thông số của hệ từ bàn phím, in và lấy kết quả dưới dạng số và biểu đồ Kết quả thay đổi khi thông số đầu vào khác nhau, các giá trị thực nghiệm và

lý thuyết xấp xỉ bằng nhau cho thấy lý thuyết gần với thực nghiệm

Trang 20

11. Tài liệu tham khảo

[1] Kỹ năng lập trình VisualBasic 6- Nguyễn Tiến Dũng- NXB Thống Kê-2001

[2] Giáo trình mô hình hóa hệ thống-Khoa Điện Điện Tử Tàu Biển- Trường Đại Học Hàng Hải-2011

Ngày đăng: 05/03/2014, 21:27

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w