Смекни!
smekni.com

Моделирование систем пособие по выполнению курсовой работы для студентов III (стр. 10 из 13)

алгебраического полинома, представляющего собой модель планирования. Для достижения этой цели можно воспользоваться методами матричной алгебры. Матрица- столбец коэффициентов полинома определяется по формуле:

,

где В – матрица-столбец коэффициентов полинома; Х – матрица планирования эксперимента;

– транспонированная матрица планирования эксперимента; У – матрица-столбец реакции исследуемой системы.

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

.

Полученный полином позволяет определить оптимальные области значений факторов исследуемого объекта. Для этой цели могут быть использованы как аналитические так и поисковые методы. Из аналитических методов можно воспользоваться определением частных производных по всем факторам и приравнивания их к нулю. Из решения полученной системы уравнений определятся оптимальные значения факторов.

Из поисковых методов можно воспользоваться одним из градиентных методов, позволяющих с помощью ЭВМ достаточно быстро определить область оптимальных значений факторов

ПРИЛОЖЕНИ Е 1

ЯЗЫК ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ GPSS

1 ФУНКЦИОНАЛЬНАЯ СТРУКТУРА GPSS

Система GPSS ориентирована на класс объектов, процесс функционирования которых можно представить в виде множества состояний и правил перехода из одного состояния в другое, определяемых в дискретной пространственно-временной области. Примерами таких объектов являются вычислительные системы, сети ЭВМ, системы передачи сообщений, транспортные объекты, склады, магазины, предприятия и т.п. В качестве формальных моделей таких объектов используют системы массового обслуживания, автоматы, стохастические сети, сети Петри и макросети, агрегаты и т.п.

В состав GPSS входят следующие типы объектов: транзакты, блоки, списки, устройства, памяти, логические ключи, очереди, таблицы, ячейки, функции, переменные. Любую модель на языке GPSS можно представить в виде комбинации компонентов, взятых из числа названных объектов. Модель имеет три уровня представления:

- верхний уровень, определяемый комбинацией основных функциональных объектов:
устройств, памятей, ключей, очередей;

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

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

1.1 БЛОКИ

Разработчик конструирует модель из блоков, прибегая, как правило, к наглядной форме ее отображения в виде блок-схемы. Для удобства графического представления модели каждый блок GPSS имеет принятое стандартное обозначение. Построенная схема является одновременно программой на языке GPSS. Для ее ввода в ЭВМ необходимо последовательность блоков представить в виде списка операций, добавив к названиям блоков требуемые операнды.

Каждый блок GPSS имеет входы и выходы, с помощью которых осуществляется их связь в модели. Существуют два особых блока: GENERATE, имеющий только выход, и TERMINATE, имеющий только вход. Через блок GENERATE транзакты вводятся в модель. Блок TERMINATE удаляет транзакты из модели. Любую модель на языке GPSS можно представить в виде совокупности блоков (рис. 1.1).

Ниже дано описание основных функциональных объектов GPSS. GENERATE

Блоки модели

TERMINATE

1.2 ТРАНЗАКТЫ

Функционирование объекта отображается в модели в виде перемещения транзактов от блока GENERATE в блок TERMINATE через промежуточные блоки. Транзакты, или сообщения являются абстрактными подвижными элементами, которые могут моделировать различные объекты реального мира: сообщения, программы, транспортные средства, людей и т.п. Перемещаясь между блоками модели, транзакты вызывают (и испытывают) различные действия. Возможны их задержки в некоторых точках модели, изменения маршрутов и направлений движения, расщепление транзактов на несколько копий и т.п. С каждым транзактом связан упорядоченный набор данных. Он включает номер транзакта; номер блока, в котором в данный момент находится транзакт; номер следующего блока; время перехода в следующий блок; приоритет, характеризующий очередность обработки транзактов в определенных случаях; а также набор параметров, с помощью которых каждому транзакту можно присвоить числовые значения, выражающие желаемые свойства или характеристики моделируемых объектов: вес, скорость, объем, цвет, время обработки и т.п.

Все объекты GPSS имеют числовые характеристики, называемые стандартными числовыми атрибутами (СЧА). Транзакты имеют четыре СЧА:

PR1 - приоритет;

Р$j - параметр с номером j;

M$l - время прохождения транзактом участка модели;

MP$j - промежуточное время, записываемое в параметре

;

X$j - номер транзакта.

Блоки, влияющие на атрибуты транзактов и на их движение в модели:

В GPSS/PC существует ряд блоков, с помощью которых можно изменить значение параметров транзактов. Блок ASSIGN модифицирует значение параметра транзакта, входящего в этот блок. Блок INDEX изменяет значение параметра номер 1. Блок INCREMENT увеличивает значение параметра, блок DECREMENT уменьшает величину параметра.

Блок MARK записывает в указанный им параметр текущее значение таймера абсолютного времени или, если параметр не указан, заменяет значение отметки времени на текущее значение таймера.

С помощью блока USING осуществляется доступ текущего транзакта к параметрам другого транзакта модели. Блок LOCATE определяет и записывает в параметр текущего транзакта номер блока, в который должен войти определенный транзакт. Пересылка транзакта в требуемую точку модели осуществляется блоком TRANSFER. Блок TEST, проверяя выполнение определенного условия, может также направлять транзакты в заданную точку модели, если условие не выполняется. В этом его действия аналогичны блоку GATE. Для организации в модели циклов используют блок LOOP, с помощью которого можно предусмотреть многократное прохождение транзактом заданной цепочки блоков.

Изменение приоритета транзакта осуществляет блок PRIORITY. Блок BUFFER возобновляет просмотр списка текущих событий и используется, как правило, в качестве режима блока PRIORITY.

С помощью блоков TRACE и UNTRACE осуществляют трассировку движения транзактов в модели.

При этом по каждому транзакту выводятся данные следующего вида:

ТРАНЗ 1 ИЗ 2 В 3 ВРЕМЯ 54 TERMINATIONS TO GО 1 , которые означают: транзакт номер 1 выходит из блока 2 в блок 3 в момент времени 54 единиц, значение счетчика завершений равно I (см. 2.1.32, 2.3.6)

1.3 СПИСКИ

Списки относятся к элементам внутренней организации системы GPSS. Они представляют собой структуры данных, в которых размещается полная информация о транзактах. С помощью списков обеспечивается внутренняя логика работы моделирующей системы.

Список будущих событий содержит транзакты, которые смогут начать движение в модели в будущие моменты времени. Это те транзакты, для которых моменты начала движения определены в блоках GENERATE и ADVANCE.

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

В список прерываний помещаются транзакты, обслуживание которых прервано блоком PREEMPT. После снятия прерывания в блоке RETURN транзакты вновь возвращаются в список будущих событий. На рис. 1.2 представлена структура списка GPSS/PC.

В список синхронизации помещаются транзакты, ожидающие объединения с другими транзактами в блоках GATHER и ASSEMBLE или находящиеся в блоках MATCH. После выполнения условий синхронизации транзакты возвращаются в список текущих событий. Кроме рассмотренных списков, обработка которых происходит без участия программиста, в GPSS/PC существуют списки пользователя, управление которыми осуществляется с помощью блоков LINK и UNLINK. Списки пользователя имеют стандартные числовые атрибуты, к которым можно обращаться внутри модели:

CH$j - текущее число транзактов в списке j;

CA$j - среднее число транзактов в списке j;

CM$j - максимальное число транзактов в списке];

CC$j - общее число входов транзактов в список];

CT$j - среднее время пребывания транзакта в списке j.

Процедура просмотра списка текущих событий:

Процесс движения транзактов в модели сопровождается просмотром содержимого списков, внесением в них изменений, а также перемещением транзактов из одного списка в другой.

Транзакты, находящиеся в списке текущих событий, расположены в порядке убывания приоритетов. Когда транзакт вводится в список текущих событий, он становится последним среди транзактов, имеющих тот же приоритет. Процедура просмотра списка текущих событий выполняет три основные действия:

2. 1. Изменение момента условного времени. При этом момент времени устанавливается равным наименьшему времени выхода из блока для транзактов. находящихся в списке будущих событий. Все транзакты, имеющие такое время выхода, переводятся из списка будущих событий в список текущих событий;

3. Последовательный просмотр транзактов от начала списка к его концу
с целью определения возможностей движения их в модели;

4. Попытка продвижения транзакта в последующие блоки. Если транзакт
может войти в следующий блок, выполняется программа, соответствующая данному
блоку. Если дальнейшее движение транзакта невозможно в силу тех или иных
условий, процедура переходит к обработке следующего транзакта. Так до тех пор, пока дальнейшее продвижение любого транзакта станет невозможным. Тогда осуществляется изменение момента условного времени, и процедура повторяется сначала.