sp = 0;
sj = 1;
}
}
}
else
{
if (sd2 == 1)
{
sd1 = 0;
if (sj == 1)
{
sd1 = 1;
sj = 0;
if (sp == 1)
{
sp = 0;
sj = 1;
}
}
}
else
{
td1 = System.Convert.ToInt32(dd1.Next(1,100));
if (td1 < d1)
{
sd1 = 0;
sd2 = 1;
if (sj == 1)
{
sd1 = 1;
sj = 0;
if (sp == 1)
{
sp = 0;
sj = 1;
}
}
}
}
}
// Поведение 2 приемника
if (sd2 == 1)
{
td2 = System.Convert.ToInt32(dd2.Next(1,100));
if (td2 < d2)
sd2 = 0;
}
// Поведение источника заявок
if (sp == 0)
{
tp = System.Convert.ToInt32(pp.Next(1,100));
if (tp < p)
{
if (sd1==1)
sp = 1;
else
sd1 = 1;
}
else
{
sp = 0;
}
};
if ((sp == 0) && (sj == 0) && (sd1 == 0) && (sd2 == 0))
{
N0000 = N0000 + 1;
}
else if ((sp == 0) && (sj == 0) && (sd1 == 0) && (sd2 == 1))
{
N0001 = N0001 + 1;
}
else if ((sp == 0) && (sj == 0) && (sd1 == 1) && (sd2 == 0))
{
N0010 = N0010 + 1;
}
else if ((sp == 0) && (sj == 0) && (sd1 == 1) && (sd2 == 1))
{
N0011 = N0011 + 1;
}
else if ((sp == 0) && (sj == 1) && (sd1 == 1) && (sd2 == 1))
{
N0111 = N0111 + 1;
}
else if ((sp == 1) && (sj == 1) && (sd1 == 1) && (sd2 == 1))
{
N1111 = N1111 + 1;
}
else if ((sp == 1) && (sj == 0) && (sd1 == 1) && (sd2 == 0))
{
N1010 = N1010 + 1;
}
else if ((sp == 1) && (sj == 0) && (sd1 == 1) && (sd2 == 1))
{
N1011 = N1011 + 1;
}
else if ((sp == 1) && (sj == 1) && (sd1 == 1) && (sd2 == 0))
{
N1110 = N1110 + 1;
}
else if ((sp == 0) && (sj == 1) && (sd1 == 1) && (sd2 == 0))
{
N0110 = N0110 + 1;
}
else
label27.Text = sp.ToString() + sj.ToString() + sd1.ToString() + sd2.ToString();
MyGr.Clear(this.BackColor);
MyGr.DrawString("Такт " + (i+1).ToString(), new Font("Times New Roman", 12), new SolidBrush(System.Drawing.Color.Black), new PointF(400, 10));
MyGr.DrawEllipse(MyPen, 20, 120, 60, 60);
MyGr.DrawLine(MyPen, new Point(80, 150), new Point(120, 150));
MyGr.DrawLine(MyPen, new Point(55, 180), new Point(120, 180));
MyGr.DrawLine(MyPen, new Point(55, 180), new Point(60, 175));
MyGr.DrawLine(MyPen, new Point(55, 180), new Point(60, 185));
MyGr.DrawRectangle(MyPen, new Rectangle(120, 120, 130, 60));
MyGr.DrawLine(MyPen, new Point(250, 150), new Point(310, 150));
MyGr.DrawEllipse(MyPen, 310, 120, 60, 60);
MyGr.DrawLine(MyPen, new Point(350, 180), new Point(400, 210));
MyGr.DrawLine(MyPen, new Point(387, 210), new Point(400, 210));
MyGr.DrawLine(MyPen, new Point(400, 210), new Point(400, 200));
MyGr.DrawLine(MyPen, new Point(370, 150), new Point(430, 150));
MyGr.DrawEllipse(MyPen, 430, 120, 60, 60);
MyGr.DrawString(sp.ToString(), new Font("Times New Roman", 20), new SolidBrush(System.Drawing.Color.Black), new PointF(40, 135));
MyGr.DrawString(sj.ToString(), new Font("Times New Roman", 20), new SolidBrush(System.Drawing.Color.Black), new PointF(175, 135));
MyGr.DrawString(sd1.ToString(), new Font("Times New Roman", 20), new SolidBrush(System.Drawing.Color.Black), new PointF(330, 135));
MyGr.DrawString(sd2.ToString(), new Font("Times New Roman", 20), new SolidBrush(System.Drawing.Color.Black), new PointF(450, 135));
this.label14.Text = " " + N0000.ToString();
this.label15.Text = " " + N0010.ToString();
this.label16.Text = " " + N0001.ToString();
this.label17.Text = " " + N0011.ToString();
this.label18.Text = " " + N0111.ToString();
this.label19.Text = " " + N1111.ToString();
this.label6.Text = " " + N1010.ToString();
this.label21.Text = " " + N1011.ToString();
this.label23.Text = " " + N1110.ToString();
this.label25.Text = " " + N0110.ToString();
if (i < takts-1)
{
i++;
}
else
{
this.timer1.Enabled = false;
double res,res1,res2;
takts = System.Convert.ToInt32(this.textBox4.Text, 10);
res1 = System.Convert.ToDouble(N1110) / System.Convert.ToDouble(takts);
res2 = System.Convert.ToDouble(N1111) / System.Convert.ToDouble(takts);
res = res1 + res2;
this.label30.Text = res.ToString();
}
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
int ind;
double res, res1, res2;
takts = System.Convert.ToInt32(this.textBox4.Text, 10);
res1 = System.Convert.ToDouble(N1110) / System.Convert.ToDouble(takts);
res2 = System.Convert.ToDouble(N1111) / System.Convert.ToDouble(takts);
res = res1 + res2;
this.label30.Text = res.ToString();
}
}
Задание 3. Построить аналитическую модель для СМО заданной структуры и рассчитать показатели ее эффективности. Входной поток – простейший.
№ |
|
Вид СМО |
Распределение времени обслуживания |
14 |
5,2 |
М/М/4/5 |
Показательное,
|
Определим финальные вероятности состояний СМО:
Определим характеристики эффективности данной СМО:
а) абсолютная пропускная способность СМО
б) относительная пропускная способность СМО
в) вероятность отказа Ротк
Ротк = P9 = 0.101
г)
среднее
число занятых каналов
=
3.467 ∙ (1-0.101) = 3.117
д) среднее число заявок в очереди Loch
е) среднее число заявок в СМО Lс
ж) среднее время пребывания заявки в СМО (в очереди или под обслуживанием) Wс
з) среднее время пребывания заявки в очереди Woch