bài tập mô hình hoá
Nội dung: Mô hình hoá hệ ngẫu nhiên
Đề bài:
Đánh giá độ tin cậy của hệ thống kỹ thuật có các phần tử nối song song
Cho hệ thống kỹ thuật có các phần tử nối song song có độ tin cậy lần lợt nh sau:
p1 p2 p3
0,7 0,75 0,8
0,75 0,7 0,6
0,6 0,7 0,6
0,85 0,75 0,8
0,65 0,8 0,7
0,75 0,2 0,8
Hãy mô hình hoá để tính độ tin cậy hệ thống.
So sánh độ tin cậy theo công thức lý thuyết P
htlt
với độ tin cậy thực nghiệm P
httn
.
1. Phân tích đề bài.
1
Mô hình hoá hệ ngẫu nhiên là một trong các phơng pháp đợc dùng nhiều trong thực
tế để tìm đợc một chỉ tiêu chất lợng nào đó khi có sự tác động ngẫu nhiên của môi trờng
xung quanh và sự tác động này sẽ ảnh hởng trực tiếp tới chỉ tiêu chất lợng cần xét đó.
Trong bài toán trên ta thờng gặp nhiều trong thực tế các hệ thống mà gồm các phần tử nối
song song với nhau với điều kiện các phần tử hoạt động độc lập nhau và sự làm việc bình
thờng của hệ thống phụ thuộc vào sự làm việc an toàn của một trong các phần tử. Ví dụ nh
để thắp sáng một phân xởng ngời ta lắp các bóng đèn song song với nhau thì sự cố mất
điện sẽ xảy ra khi tất cả các bóng đèn đều bị hỏng. Tuy nhiên nh bài toán trên thì sự hỏng
hóc của các phần tử là xảy ra ngẫu nhiên với một độ tin cậy nào đó. Bài toán đặt ra là phải
tìm độ tin cậy của toàn hệ thống. Những bài toán loại này thì phơng pháp mô hình hoá hệ
ngẫu nhiên tỏ ra rất có hiệu quả.
1
11
=
=
Trong đó: n là số phần tử mắc song song
p
i
là độ tin cậy của phần tử thứ i.
Nh vậy với bài toán trên thuật giải đợc xây dựng nh sau:
+ Lấy một số ngẫu nhiên có phân bố x = U(0,1)
2
+ So sánh giá trị x với từng độ tin cậy của các phần tử nếu nh x<=(1-p1) và x<=(1-
p2) và x<=(1-p3) thì N0= N0+1.
+ Sau N lần phép thử ta có độ tin cậy của hệ thống
N
N
P
httn
0
=
4. L u đồ thuật toán.
Trên cơ sơ thuật giải ở trên lu đồ thuật toán cho hệ thống đợc mô tả dới đây.
Nhập số liệu
p1,p2,p3
Lấy x=U(0,1)
Nhập N
No = 0, i=0
x<=(1-p1)
x<=(1-p2)
x<=(1-p3)
Chơng trình mô phỏng hệ thống ngẫu nhiên trên đợc xây dựng trên ngôn ngữ C có
mã nguồn nh sau:
#include"iostream.h"
#include"math.h"
#include"conio.h"
#include"stdio.h"
#include"stdlib.h"
#include"dos.h"
#include"graphics.h"
#define Enter 13
#ifndef _MOU_H_
#define _MOU_H_
void mainc(void);
void Graph(void);
void Print(void);
void Result(void);
void help(void);
void button(int x1,int y1,int x2,int y2,int color,char s[],int
color_s,int size);
void button2(int x1,int y1,int x2,int y2,int color,char s[],int
color_s,int size);
void button1(int x1,int y1,int x2,int y2,int color);
void _line(int x1, int y1, int x2, int y2, int color);
void Write_text(int x1, int y1,double x,char*s,int color);
void Write_text1(int x1, int y1,int x,char*s,int color);
void write_value(int*x,int*y,char*s);
void read_value(int*x,int*y,char*s);
double Nhap_p1(void);
double Nhap_p2(void);
double Nhap_p3(void);
_AX=4;
_CX=mouse_x1;
_DX=mouse_y1;
geninterrupt(0x33);
}
void Hori_mouse(int xmin,int xmax)
{
_AX=7;
_CX=xmin;
_DX=xmax;
geninterrupt(0x33);
}
void Vert_mouse(int ymin,int ymax )
{
_AX=8;
_CX=ymin;
5
_DX=ymax;
geninterrupt(0x33);
}
int Win_mouse(int x1,int y1,int x2,int y2)
{
_AX=3;
geninterrupt(0x33);
mouse_x=_CX;
mouse_y=_DX;
if(mouse_x>x1&&mouse_x<x2&&mouse_y>y1&&mouse_y<y2 ) return 1;
else return 0;
}
int DClick_mouse(void)
int i=0;char ch[2];
ch[1]=0;
while(1)
{
ch[0]=getch();
if(ch[0]==Enter) break;
write_value(x,y,ch);
s[i]=ch[0];
++i;
}
s[i]=0;
}
double Nhap_p1()
{
int xp1=80,yp1=280;
char*sp1;
read_value(&xp1,&yp1,sp1);
return atof(sp1);
}
double Nhap_p2()
{
int xp2=80,yp2=310;
char*sp2;
read_value(&xp2,&yp2,sp2);
return atof(sp2);
}
double Nhap_p3()
{
int xp3=80,yp3=340;
char*sp3;