Алгоритмизация модели и ее машинная реализация



Выбор программных средств моделирования

 

Для написания программы мы выбираем язык программирования 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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!