Моделирование контрольно-курсовая работа




Скачать 121.96 Kb.
НазваниеМоделирование контрольно-курсовая работа
Дата публикации20.09.2013
Размер121.96 Kb.
ТипКурсовая
exam-ans.ru > Информатика > Курсовая
Министерство образования и науки Российской Федерации

Государственное образовательное учреждение высшего профессионального

образования «Тульский государственный университет»

Кафедра ЭВМ

МОДЕЛИРОВАНИЕ

Контрольно-курсовая работа

Выполнил:

студент гр. 250261 Косухин К.Ю.

Проверил:

преподаватель

Ивутин А.Н.



Содержание


Содержание 2

Цель и задачи работы 3

1.Задание на работу 4

2.Постановка задачи 5

3.Построение аналитической модели 6

4.Построение имитационной модели 9

5.Программная реализация 11

6.Результат работы приложения 12

Заключение 14

Список используемой литературы 15

Приложение 16

Листинг программы 16


^

Цель и задачи работы


Контрольно-курсовая работа предназначена для методов моделирования сложных систем, к которым относятся вычислительные системы и вычислительные сети. Имитационное моделирование является распространенным методом исследования на всех этапах создания и функционирования сложной системы: при проектировании – для поиска “узких” мест; при эксплуатации – для прогнозирования эффекта от возможной модернизации.

  1. ^

    Задание на работу


Вариант 3. В вычислительном центре работает 5 персональных компьютеров (ПК). Простейший поток задач, поступающих на ВЦ, имеет среднюю интенсивность 20 задач в час. Среднее время решения задачи равно 12 мин. Заявка получает отказ, если все ПК заняты. Время моделирования 40 часов.
  1. ^

    Постановка задачи


Моделирование предполагает создание алгоритма, который будет имитировать описанный в задании процесс.

Алгоритм имитации будет состоять из нескольких этапов:

  1. Моделирование прихода заявок. Заявки приходят в течение 40 часов. В течение часа в систему приходят 20 задач.

  2. Моделирование обслуживания. На основе списка приходов заявок и занятости устройства исполнения для каждой заявки определяется время начала обслуживания и время ее окончания. Заявки обслуживают 5 персональных компьютера. Каждая заявка обслуживается в течении 0,2 часа.

  3. Определяется время прихода, время начала обслуживания, время окончания обслуживания.

  4. Моделирование загрузки и окончание обслуживания. Если все устройства обслуживания заняты, то заявки удаляются из системы. Через 40 часов обслуживание всех заявок, находящихся в системе прекращается.

На основе сформированных данных должны быть рассчитаны следующие параметры:

  • вероятность отсутствия требований в системе;

  • среднее число требований, находящихся в системе;

  • коэффициент использования каналов обслуживания;

  • коэффициент простоя обслуживающих каналов;

  • среднее число занятых каналов обслуживания;

  • вероятность отказа в обслуживании заявки (если система с отказами).
  1. ^

    Построение аналитической модели


Моделируемая система массового обслуживания является многоканальной с отказами, т.к. если все каналы обслуживания заняты, заявка покидает систему.

Данная СМО имеет шесть состояний:

  • S0 – все каналы свободны;

  • S1 – занят один канал;

  • S2 – занято два канала;

  • S3 – занято три канала;

  • S4 – занято четыре канала;

  • S5 – все каналы заняты.

Граф состояний СМО представлен на рисунке 1.



Рисунок Граф состояний СМО

Схема данной СМО приведена на рисунке 2.



Рисунок Схема СМО

На рисунке 2 использовались следующие обозначения:

  1. вход заявки в систему;

  2. если все каналы обслуживания заняты, система покидает систему;

  3. определение канала обслуживания;

  4. время обслуживания заявки в канале обслуживания;

  5. освобождение канала обслуживания;

  6. выход заявки из системы.

Определим интенсивность обслуживания:



где t – среднее время обслуживания заявки.

Составим уравнение Колмогорова для моделируемой СМО:



Поскольку при t = 0 система свободна, начальными условиями для их решения являются:



Тогда для установившегося режима, запишем формулы Эрланга:



Рассчитаем приведенную интенсивность потока заявок:



Вычислим вероятности системы:













Вероятность отсутствия требования в системе равна вероятности p0:



Вероятность отказа равна вероятности состояния системы, когда все каналы обслуживания заняты:



Относительная пропускная способность:



Абсолютная пропускная способность:



Среднее число заявок в системе многоканальной СМО с отказами совпадает со среднем числом занятых каналов:



Зная среднее число занятых каналов, рассчитаем коэффициент использования каналов:



Рассчитаем среднее число свободных каналов:



Зная число свободных каналов, рассчитаем коэффициент простоя каналов:



  1. ^

    Построение имитационной модели


В соответствии с условием, что заявка покидает систему при отсутствии свободных устройств, СМО – является СМО с отказами (очереди отсутствуют). Поток поступления заявок является простейшим или стационарным пуассоновским потоком, т.е. время поступления заявок в систему распределяется по закону Пуассона:

Вероятность того, что за интервал времени (t0, t0 + τ) произойдет m событий, определяется из закона Пуассона:



Где a – параметр Пуассона: , где – интенсивность потока.

Случайные величины (время поступления заявок) должны быть распределены так, чтобы математическое ожидание было обратно пропорционально интенсивности.

Алгоритм генерирующий поток случайных событий представлен на рисунке 3.



Рисунок Алгоритм генерации потока
  1. ^

    Программная реализация


Для моделирования заявки - класс Request.

Для моделирования генерации заявок в СМО используется класс RequestGenerator. Метод AddRequest моделирует добавление заяки в СМО.

Процесс моделирования выполняется в методе DoModel (int time), где time – время моделирования.

Метод Calculate выпроняет расчет необходимых характеристик.
  1. ^

    Результат работы приложения


Смоделированная система представлена на рисунке 4.



Рисунок Смоделированная система

Результаты расчета характеристик представлены на рисунке 5.



Рисунок Результат расчета характеристик

Заключение


В результате выполнения контрольно-курсовой работы была создана программа, моделирующая работу многоканальной системы обслуживания с отказами.

Данная модель является универсальной, т.е. может рассматриваться не только как ВЦ с пятью ПК, но и, например, в качестве coll-центра с любым количеством операторов. В центр поступает звонок, если все операторы заняты, то звонящий не дожидается ответа , т.е. покидает систему.
^

Список используемой литературы


  • Советов Б.Я., Яковлев С.А. «Моделирование систем» Учебник для ВУЗов. – М.: Высшая школа, 1985 г.

  • Басалова Г.В. Методические указания к выполнению контрольно-курсовой работы по курсу «Моделирование». – Тула: ТулГУ, 2010г.

  • Колемаев В.А., Калинина В.Н. и др. «Теория вероятностей в примерах и задачах» Учебное пособие. – М.: ГУУ, 2001г.


^

Приложение

Листинг программы


//Файл Form1.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;
namespace ModKurs

{

public partial class Form1 : Form

{

double alpha, q, A, mu, Potk, Kcp, Kprost, Nsvob, Kzan;

double[] P;

int lambda, N;
public Form1()

{

InitializeComponent();

}
private void tsmiHelpAbout_Click(object sender, EventArgs e)

{

AboutBox about = new AboutBox();

about.ShowDialog();

}
private void tsmiExit_Click(object sender, EventArgs e)

{

Application.Exit();

}
private void bClose_Click(object sender, EventArgs e)

{

Application.Exit();

}
private void bCalc_Click(object sender, EventArgs e)

{

Calculate();

}
private void Calculate()

{

N = (int)nudPCCount.Value;

P = new double[N + 1];

lambda = (int)nudLambda.Value;

double t = (double)nudTime.Value;

mu = 1 / t;
alpha = lambda / mu;

P[0] = CalculateP0(N);

CalculateP(N);

q = 1 - Potk;

A = lambda * q;

Kcp = alpha * q;

Nsvob = N - Kcp;

Kprost = Nsvob / N;

Kzan = Kcp / N;
DoModel((double)nudCommonTime.Value);
tbM.Text = mu.ToString();

tbAlpha.Text = alpha.ToString();

tbPn.Text = "";

foreach (double item in P)

{

tbPn.Text += Math.Round(item, 3) + "; ";

}

tbPn.Text = tbPn.Text.Remove(tbPn.Text.LastIndexOf("; "));

tbP0.Text = P[0].ToString();

tbPotk.Text = Potk.ToString();

tbQ.Text = q.ToString();

tbA.Text = A.ToString();

tbKcp.Text = Kcp.ToString();

tbKisp.Text = Kzan.ToString();

tbNsvob.Text = Nsvob.ToString();

tbKprost.Text = Kprost.ToString();

}
private void DoModel(double time)

{

Random rnd = new Random();

int workTime = (int)time * 60;
dgvModeling.Rows.Clear();

int work = (int)(nudTime.Value * 60);

int random = 0;

double sum = 0;

double ver = 0;
RequestGenerator gen = new RequestGenerator(workTime, lambda, N);

while (gen.CommonTime < workTime)

{

random = -(int)Math.Floor((60 / lambda * Math.Log(rnd.NextDouble())));

ver = (Math.Pow(lambda * random, gen.CommonTime) / fact(gen.CommonTime)) * Math.Pow(Math.E, -(double)(lambda * random));

sum += ver * random;
Request req = new Request(work, random, gen.CommonTime);

if (gen.AddRequest(req))

dgvModeling.Rows.Add(gen.CommonTime, gen.CommonTime, gen.CommonTime + req.WorkTime, gen.Kanal);

else

dgvModeling.Rows.Add(gen.CommonTime, "Отказ", gen.CommonTime, "Все каналы заняты");

}

lblMat.Text = "Математическое ожидание: " + time / dgvModeling.RowCount;

}
private void CalculateP(int count)

{

for (int i = 1; i <= count; i++)

{

double alphaK = Math.Pow(alpha, i);

P[i] = alphaK / fact(i);

P[i] = P[i] * P[0];

}

Potk = P[count];

}
private double CalculateP0(int count)

{

double sum = 0;

for (int i = 0; i <= count; i++)

{

sum += Math.Pow(alpha, i) / fact(i);

}

return 1 / sum;

}
int fact(int n)

{ return (n > 1) ? n * fact(n - 1) : 1; }
private void tsmiActionsCalc_Click(object sender, EventArgs e)

{

Calculate();

}

}

}

//Файл СMO.cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;
namespace ModKurs

{

public class Request

{

int workTime;

int beginTime;

int startTime;

Random rnd;
public Request(int WorkTime, int BeginTime, int StartTime)

{

rnd = new Random();

workTime = rnd.Next(WorkTime - 2, WorkTime + 2);

beginTime = BeginTime;

startTime = StartTime + beginTime;

}
public int WorkTime { get { return workTime; } }

public int BeginTime { get { return beginTime; } }

public int StartTime { get { return startTime; } }

}
public class RequestGenerator

{

int devCount;

int commonTime;

List _request;

int kanal;
public RequestGenerator(int DeviceCount)

{

devCount = DeviceCount;

commonTime = 0;

_request = new List();

kanal = 0;

}
public bool AddRequest(Request req)

{

commonTime += req.BeginTime;

if (_request.Count < devCount)

{

kanal++;

_request.Add(req);

return true;

}

else

{

for (int i = 0; i < _request.Count; i++)

{

Request tmp = _request[i];

if (tmp.StartTime + tmp.WorkTime < req.StartTime)

{

_request.RemoveAt(i);

_request.Insert(i, req);

kanal = i + 1;

return true;

}

}
return false;

}

}
public int CommonTime { get { return commonTime; } }
public int Kanal { get { return kanal; } }

}

}

Тула 2011

Добавить документ в свой блог или на сайт

Похожие:

Моделирование контрольно-курсовая работа icon«Организация эвм» Контрольно курсовая работа «Проектирование вычислительной системы»
Данная контрольно-курсовая работа выполняется с целью закрепления знаний по курсу «Организация ЭВМ и систем» и получения практических...

Моделирование контрольно-курсовая работа iconКонтрольно-курсовая работа

Моделирование контрольно-курсовая работа iconЭксплуатация ЭВМ и систем Контрольно-курсовая работа
Расчет надежности комплекса программ с помощью марковской модели матричным методом

Моделирование контрольно-курсовая работа iconКонтрольно курсовая работа «Цифровые системы управления»
Получение передаточных функций дискретной системы в z- и в w-областях

Моделирование контрольно-курсовая работа iconЭксплуатация ЭВМ и систем Контрольно-курсовая работа
Для решения задачи анализа надежности систем с применением программного моделирования обычно используют два метода

Моделирование контрольно-курсовая работа iconЭксплуатация ЭВМ и систем Контрольно-курсовая работа
Для решения задачи анализа надежности систем с применением программного моделирования обычно используют два метода

Моделирование контрольно-курсовая работа iconКонтрольно-курсовая работа
Скомпоновать блок и ориентировочно определить габаритные размеры его корпуса, если блок содержит n плат размерами L x m мм, с высотой...

Моделирование контрольно-курсовая работа iconКурсовая работа по дисциплине «Организация ЭВМ и систем»
В контрольно-курсовой работе разрабатывается вычислительная система, предназначенная для реализации заданного алгоритма обработки...

Моделирование контрольно-курсовая работа iconКурсовая работа должна быть написана
Курсовая работа предусмотрена учебным планом и является завершающим этапом изучения профилирующих дисциплин

Моделирование контрольно-курсовая работа iconКонструкторско-технологическое обеспечение производства ЭВМ контрольно...
Скомпоновать блок и ориентировочно определить габаритные размеры его корпуса, если блок содержит 5 плат размерами 160 X 220 мм, с...

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2015
контакты
exam-ans.ru
<..на главную