алгебраического полинома, представляющего собой модель планирования. Для достижения этой цели можно воспользоваться методами матричной алгебры. Матрица- столбец коэффициентов полинома определяется по формуле:
,где В – матрица-столбец коэффициентов полинома; Х – матрица планирования эксперимента;
– транспонированная матрица планирования эксперимента; У – матрица-столбец реакции исследуемой системы.Если принять во внимание, что матрица планирования двухуровневого плана первого порядка с эффектами взаимодействия является ортогональной, что говорит о независимости всех факторов, то коэффициенты полинома могут быть определены по формуле:
.Полученный полином позволяет определить оптимальные области значений факторов исследуемого объекта. Для этой цели могут быть использованы как аналитические так и поисковые методы. Из аналитических методов можно воспользоваться определением частных производных по всем факторам и приравнивания их к нулю. Из решения полученной системы уравнений определятся оптимальные значения факторов.
Из поисковых методов можно воспользоваться одним из градиентных методов, позволяющих с помощью ЭВМ достаточно быстро определить область оптимальных значений факторов
ПРИЛОЖЕНИ Е 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. Попытка продвижения транзакта в последующие блоки. Если транзакт
может войти в следующий блок, выполняется программа, соответствующая данному
блоку. Если дальнейшее движение транзакта невозможно в силу тех или иных
условий, процедура переходит к обработке следующего транзакта. Так до тех пор, пока дальнейшее продвижение любого транзакта станет невозможным. Тогда осуществляется изменение момента условного времени, и процедура повторяется сначала.