- •Моделирование транспортных систем
- •Моделирование транспортных систем
- •Содержание
- •Введение
- •Общая и сравнительная характеристика методов моделирования
- •Общая характеристика метода имитационного моделирования
- •Имитационная система истра
- •Понятие имитационной системы
- •Назначение и исходные предпосылки
- •Структура имитационной системы
- •Элементы
- •Операции
- •Оператор управления
- •Оптимизация на имитационной модели
- •Представление результатов имитационной модели
- •Операции
- •Некоторые синтаксические конструкции языка моделирования системы истра для создания операций
- •Предельное время задержки операции
- •Действия с логическими элементами
- •Действие с параллельным элементом
- •Действия с фиксаторами
- •Действия с бункерными элементами
- •Проверки элементов
- •Изменение емкости на явно указанную величину
- •Снятие явно указанной емкости
- •Занесение емкости с запоминанием остатка и занесения остатка
- •Изменение емкости элементов при помощи ссылки на другие элементы
- •Строки, описывающие натурный лист
- •Расформирование
- •Расписание прибытия
- •Приоритеты в имитационной системе
- •Ждать (оп1, оп2 затем оп3) затем оп4
- •Оп1 затем (оп2 затем оп3) оп4 затем оп5
- •Оп1 затем ((оп2 затем( оп3))( оп4 затем (оп5))
- •Оп1 затем оп2 затем оп3 оп4 затем оп5
- •Оперативная очередь операций
- •Принципы построения автоматизированной имитационной модели
- •Методика автоматизированного представления структуры станции в элементах модели
- •Заключение
- •Библиографический список
Занесение емкости с запоминанием остатка и занесения остатка
В этом разделе описаны строки, в которых производится занесение емкости с запоминанием остатка только для случая, когда изменение емкости задается в явном виде. Другие случаи будут описаны ниже, в соответствующих разделах.
Занесение с запоминанием остатка задается следующими строками:
ELEMENT + % VALUE
ELEMENT = 0 + % VALUE
Вторая строка, в дополнении к тому, что делает первая, требует проверки на 0.
На бункерный элемент, описываемый конструкцией ELEMENT, заносится вся величина, задаваемая конструкцией VALUE, если позволяет предельная емкость этого элемента. В противном случае элемент заполняется до предела, а остаток емкости запоминается. Этот остаток можно использовать при помощи записей вида:
ELEMENT + %
ELEMENT + %%
Первая из этих записей аналогична вышеописанной, но в качестве величины приращения емкости берется величина остатка. Вторая запись тоже заносит на элемент величину остатка, однако не производит запоминания остатка и, следовательно, требует того, чтобы весь остаток мог поместиться на элементе.
Пример:
:L3 БУ17-!
Ф101-1
БУ5-[L3]
:L4 БУ79+[L3]
ПР(С)50:0+0
БУ21+%БУ79(1) * АГР
БУ45(1)+%
БУ39(1)+%
БУ38(1)+%
БУ34(1)+%%
Данный пример производит следующие действия: на элемент 21 заносится величина первого частичного элемента 79-го бункерного. Остаток от заносимой емкости, в случае, если вся емкость не поместилась на 21-й элемент, запоминается и заносится на другие элементы в следующем порядке - на первый частичный 45-го элемента до предельной вместимости. В случае невозможности занесения всего остатка на 45-й элемент, оставшаяся емкость заносится на первый частичный 39-го элемента и т.д. Если же и на первый частичный 38-го элемента невозможно занести оставшуюся емкость, она заносится на первый частичный 34-го элемента с условием возможности занесения всей оставшейся емкости.
Кроме того, имеются записи вида
ELEMENT + & VALUE
ELEMENT = 0 + & VALUE
Они по действию аналогичны первым записям, но имеют следующие отличия: во-первых, требуется, чтобы все записи работы с остатком шли одним непрерывным блоком, без включения записей других видов. Во-вторых, перед выполнением описанных действий производится переупорядочивание этого блока так, чтобы сначала заполнялся элемент с минимальным количеством свободного места, затем с минимальным количеством свободного места из оставшихся элементов и т.д.
Примеры блоков:
БУ1+%40
ПР2:3+5
БУ2+%
БУ3(1)+%%
В качестве первой записи в этом блоке нельзя использовать запись БУ1+&40, т.к. внутри блока находится запись ПР2:3+5. Однако блок
БУ1 + &40
БУ2 + %
БУ3(1) +%%
вполне законен. Он, в свою очередь, в отличие от первого блока не гарантирует того, что сначала будет заполняться элемент БУ2.
Изменение емкости элементов при помощи ссылки на другие элементы
Строки, описывающие это действие, имеют следующий вид:
ELEMENT + STATEMENT
ELEMENT - STATEMENT
ELEMENT =0+STATEMENT
Конструкция STATEMENT имеет вид:
ELEMENT1 {+ ELEMENT2 {+ ELEMENT3 {+...}}}
Ограничено использование данных конструкций для составного элемента. Использование его возможно, когда элементы, составляющие конструкцию STATEMENT, тоже составные.
Пример:
БУ1 + БУ2 +БУ3(3)+БУ4+БУ5+БУ7
Программа вычисляет значение конструкции STATEMENT как сумму значений емкостей указанных в ней элементов, и увеличивает или уменьшает в зависимости от того, какой знак стоит в строке, емкость указанного элемента на эту величину. Строка третьего типа требует еще проверку на 0.
Кроме того, имеются записи для занесения с запоминанием остатка:
ELEMENT + % STATEMENT
ELEMENT + & STATEMENT
ELEMENT = 0 + % STATEMENT
ELEMENT = 0 + & STATEMENT
Их действие аналогично соответствующим записям, описанным выше.
Изменение емкости элементов при помощи ссылки на другие строки
Строки, описывающие это действие, имеют следующий вид:
ELEMENT + STATEMENT
ELEMENT - STATEMENT
ELEMENT =0+STATEMENT
ELEMENT + % STATEMENT
ELEMENT + & STATEMENT
ELEMENT = 0 + % STATEMENT
ELEMENT = 0 + & STATEMENT
Конструкция STATEMENT имеет вид:
[@метка1 {SIGN @метка2 {SIGN @метка3 {SIGN...}}}]
Здесь SIGN один из арифметических знаков + или -, а метки указывают на расположенные выше строки, в которых производились изменения емкости.
Пример:
:М1 БУ1+3
:М2 БУ2+8
:М3 БУ 3 -10
БУ100+[М1+М2-М3]
Значение конструкции STATEMENT вычисляется как сумма и разность (в зависимости от знака) величин изменения емкости в указанных строках. Действия, задаваемые строками, аналогичны соответствующим вышеописанным строкам.
Ограниченно использование для составного элемента: использование возможно, когда в строках, составляющих конструкцию STATEMENT, производились также действия с составными элементами.
