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




Скачать 121.91 Kb.
Название Моделирование контрольно-курсовая работа
Дата публикации 18.06.2014
Размер 121.91 Kb.
Тип Курсовая
literature-edu.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 Практическая работа по отработке приёмов компрессии текста. Практическая...
Контрольно-измерительные материалы для подготовки к гиа по русскому языку в 9 классе
Моделирование контрольно-курсовая работа icon Курсовая работа

Моделирование контрольно-курсовая работа icon Методические указания по выполнению контрольно-курсовой работы для...
Цели и задачи выполнения контрольно-курсовой работы
Моделирование контрольно-курсовая работа icon Курсовая работа Тема: «Доходы от реализации продукции»
Ведение
Моделирование контрольно-курсовая работа icon Курсовая работа Лексико-семантическое поле с доминантами «полет»

Моделирование контрольно-курсовая работа icon Методические указания по выполнению контрольно-курсовой работы для...
Цели и задачи выполнения контрольно-курсовой работы
Моделирование контрольно-курсовая работа icon Курсовая работа Лексические средства выражения концепта «природа»
Введение с. 3-5
Литература


При копировании материала укажите ссылку © 2015
контакты
literature-edu.ru
Поиск на сайте

Главная страница  Литература  Доклады  Рефераты  Курсовая работа  Лекции