Алгоритмизация модели и ее машинная реализация
Выбор программных средств моделирования
Для написания программы мы выбираем язык программирования Borland C++. Этот язык хорошо зарекомендовал себя эффективностью, лаконичностью, стройностью программ. Во многих случаях программы, написанные на языке С++ сравнимы по скорости с программами, написанными на языке Ассемблера, при этом они более наглядны и просты в сопровождении. В системное окружение языка С++ входит много библиотек, в том числе библиотеки нужных нам стандартных функций.
Программа для детерминированной модели приведена в Приложении № 1.
Описание моделирующей программы для
Детерминированного варианта модели
Параметры и переменные данной программы описаны в пункте 2.2.
Так как в выбранном языке программирования нельзя создать параллельные процессы, то мы применим принцип псевдораспараллеливания.
В программе организуем очередь ocher[50] в ячейках которой мы запоминаем адрес заявки (номер сетевой машины). Также вводим ряд вспомогательных переменных ( ztgz1, ztgz2, ztgz3, ztm, zk ) необходимых для хранения значений исходных параметров системы.
Данная моделирующая программа работает следующим образом:
Вначале программа запрашивает значения параметров системы. Далее организуется основной цикл, который выполняется k раз. Первым действием в цикле является оператор прибавления единицы машинного времени t=t+emb. После проверяем не пришел ли пользователь, если пришел то определяем какой ( конструкция switch (cikl) ). Далее в программе идет конструкция switch (nz) устанавливающая соответствующие флажки подготовки задания. После идет группа условий выполняющая уменьшение времени подготовки задания. Если задание подготовлено то подается запрос на выполнение. В этом блоке программы определяется не пуста ли очередь, если не пуста то выполняем задание из очереди иначе выполняем заявку с сетевой машины. Перед выполнением заявки проверяем занята ли ЭВМ, если занята то ставим заявку в очередь. Далее если на ЭВМ выполняемся задача то уменьшаем время выполнения этой задачи. После чего цикл повторяется. После завершения цикла производим подсчет процента выполненных заданий, поступивших от второго пользователя.
|
|
Проверка достоверности программы
Смоделируем работу системы с параметрами указанными в задании.
Протокол работы программы:
Введите интервал между приходами пользователей 100
Введите время подготовки задания 1-ым пользователем 160
Введите время подготовки задания 2-ым пользователем 170
Введите время подготовки задания 3-ым пользователем 180
Введите время выполнения задания на ЭВМ 8
|
|
Введите количество промоделированных на ЭВМ заданий 500
Процент вып. заданий, поступ. от 2-го польз.= 33%
Вывод:
Результаты работы моделирующей программы совпадают с рассчитанными теоретически, следовательно программа написана и работает правильно.
Определим оптимальную структуру вычислительной системы: оптимальная структура вычислительной системы обеспечивающая минимальное время простоя оборудования достигается при следующих параметрах: интервал между приходами пользователей 2
время подготовки задания 1-ым пользователем 1
время подготовки задания 2-ым пользователем 1
время подготовки задания 3-ым пользователем 1
время выполнения задания на ЭВМ 1
Моделирование случайных воздействий
Моделирование случайных воздействий имеющих
Равномерное распределение
Аппаратный способ
При аппаратном способе случайные или псевдослучайные числа вырабатываются специальной электронной приставкой - генератором, который является внешним устройством ЭВМ либо входит в состав процессора. Наибольшее распространение на практике нашли генераторы псевдослучайных чисел (ГПСЧ), построенные на основе регистра сдвига с реализацией некоторой логической функции в цепи обратной связи (ОС) (в нашем случае это сумматор по модулю два).
|
|
Поскольку проведение натуральных опытов с разными схемами ГПСЧ трудоемко, то мы будем использовать программное средство позволяющее строить и исследовать различные ГПСЧ на программных моделях. Для этих целей подходят автоматизированная система подготовки и обработки статистической информации (АСПОСИ), которая представляет собой комплекс программных средств, позволяющих строить математические модели различных ГПСЧ и исследовать их характеристики.
Для получения ПСЧ будем пользоваться программой gener.
Работая в диалоговом режиме с ПВМ мы определяем структуру генератора, т. е. некоторую исходную информацию: разрядность регистра сдвига ГПСЧ, вид ОС, количество и номера подключенных в цепь ОС разрядов регистра, количество генерируемых чисел и др.
Полученные числа записываются в файл и анализируются (строится гистограмма) с помощью программы analize.
Для генерации чисел мы выбрали 3 различные структуры ГПСЧ:
1) Файл vihod1.dat
Разрядность: 50
|
|
Обратная связь: 30
Количество чисел: 1000
Разрядность числа: 25
Число сдвигов: 2
2) Файл vihod2.dat
Разрядность: 50
Обратная связь: 30
Количество чисел: 1000
Разрядность числа: 25
Число сдвигов: 3
3) Файл vihod3.dat
Разрядность: 70
Обратная связь: 35
Количество чисел: 1000
Разрядность числа: 25
Число сдвигов: 6
Проверим качество чисел в файлах программой analize.
Построим гистограммы:
vihod1.dat
vihod2.dat
vihod3.dat
Проверка соответствия чисел в последовательностях требуемому распределению дает следующие результаты: теоретические и статистические данные во всех 3-х файлах по критериям Колмогорова и Х2 не согласуются.
Определение числовых характеристик
№ | Характеристика | vihod1.dat | vihod2.dat | vihod3.dat |
1 | наименьшее значение | 0.02 | 0.005 | 0.00059 |
2 | наибольшее значение | 0.96 | 0.996 | 0.999 |
3 | Мат. ожидание | 0.39 | 0.51 | 0.49 |
4 | Дисперсия | 0.078 | 0.086 | 0.085 |
5 | Среднеквадратич.отклон. | 0.279 | 0.294 | 0.292 |
6 | Эксцесс | -1.92 | -1.024 | -1.12 |
Определение характеристик корреляции
r(t) r(t)
1 1
0 t 0 t
5 5
vihod1.dat vihod2.dat
r(t)
1
0 t
5
vihod3.dat
Вывод:
1) С увеличением числа сдвигов характеристики чисел улучшаются.
2) Из приведенных 3-ех файлов самые качественные числа находятся в
файле vihod3.dat , т. к. числа в последовательности достаточно
независимы. Но в то же время нет согласованности по обеим
критериям.
Программный способ
При программном способе псевдослучайные числа нам необходимо сформировать методом умножения.
Суть метода: выбирается два n - разрядных числа X1 и X2. X1><0, X2><0. Затем X1 умножаем на X2 и получаем некоторое значение Y , у которого 2n - разрядов: Y=X1*X2. Из 2n - разрядного Y выбираем n - разрядное Х1 и Х2 и вновь полученные Х1, Х2 умножаем друг на друга. Далее все повторяется до тех пор пока не будет сформировано необходимое количество чисел.
Программа формирования ГСК на основе метода умножения приведена в Приложении № 2.
Полученные числа записываются в файл vi_gpsc1.dat и анализируются с помощью программы analize.
Определение числовых характеристик
№ | Характеристика | Теоретич. значение | Статистич. значение |
1 | Мин.значение совокуп. | 0.00068 | |
2 | Макс.значение совокуп | 0.99995 | |
3 | Математич. ожидание | 0.5 | 0.4928 |
4 | Дисперсия | 0.083 | 0.07822 |
5 | Сред.квад.отклонение | 0.1887 | 0.2796 |
Аппроксимация статистического распределения теоретической функцией
Проверка соответствия чисел последовательности требуемому распределению дает следующие результаты:
Критерий Хи-Квадрат:
Х2=12.9
С доверительной вероятностью 0.166 можно утверждать о согласованности теоретических и статистических данных.
Критерий Колмогорова:
Максимальная разность max| F(x)-F*(x) | = 0.0885
С доверительной вероятностью 0.999 можно утверждать о согласованности теоретических и статистических данных.
Определение характеристик корреляции
r(t)
1
0 t
5
Рис. 3. График изменения коэфф.
корреляции
Вывод:
Полученная по методу умножения последовательность СЧ, имеющих равномерный закон распределения удовлетворяет предъявленным требованиям по качеству и может быть использован в задачах моделирования, т. к.:
1) есть согласованность по критерию Колмогорова
2) числа не зависят друг от друга, о чем говорит график (Рис. 3.)
Выбор генератора РРПСЧ
Эффективность статистического моделирования и достоверность полученных результатов находятся в прямой зависимости от качества используемых в модели случайных последовательностей. Под качеством здесь понимается соответствие чисел последовательности заданной функции распределения (плотности распределения) и ее параметрам: М.О. и т.д.; независимость чисел последовательности друг от друга, т.е. отсутствие автокорреляции в последовательности случайных чисел.
Выберем генератор РРПСЧ, который используется для генерации времени между поступлениями заявок от пользователей.
Последовательность чисел, полученных аппаратным способом и хранящихся в файле vihod3.dat не совсем удовлетворяет предъявленным требованиям по качеству, т.к. нет согласия по критериям теоретических и статистических данных.
В пункте 3.4.1.2. мы делая вывод уже говорили о том, что генератор РРПСЧ сформированный программным способом (по методу умножения) можно использовать в задачах моделирования, но для простоты будем использовать встроенную функцию random( ), простую в программировании и имеющую хорошие характеристики.
3.4.2. Моделирование случайных воздействий,
Дата добавления: 2019-07-15; просмотров: 194; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!