Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Изданная метод ИМИТАК.docx
Скачиваний:
3
Добавлен:
18.11.2019
Размер:
1.45 Mб
Скачать

§3.2. Переключательные функции

Второй группой встроенных функций являются переключательные функции CLIP , SWITCH и LIMIT.

Функция сравнения двух величин (CLIP)

Данная функция имеет следующий общий вид:

Ф.Н=CLIP(А.Н, В.Н, С.Н, Д.Н)

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

В Примере 3 после одиннадцатого шага моделирования (Рис. 23) на складе образуются отрицательные значения. Это экономически необъяснимо, но исправимо в модели

Пример 6. В качестве словесного описания адаптируем, рассмотренную в Примере 3 модель склада фрагментом, который не позволяет складу принимать величины меньше страхового запаса (СЗ) и больше максимального объема склада (МОС). Диаграмма потоков этого примера будет иметь следующий вид:

Рис. 27. Диаграмма потоков адаптации склада страховым запасом

Таблица 13. Модель – программа и результаты 5 шагов моделирования склада со страховым запасом и максимальным объемом склада

ВРЕМЯ=1

ВРЕМЯ=2

ВРЕМЯ=3

ВРЕМЯ=4

ВРЕМЯ=5

; Склад

У С.Н=С.П+ПОС.ПН-Б.ПН

С.1=700

С.2=300

С.3=400

С.4=0

С.5 =100

; Ключ по максимуму

Д КМАКС.Н=CLIP(1,0,С.Н,МОС)

КМАК.1=1

КМАК.2=1

КМАК.3=1

КМАК.4=1

КМАК.5=1

; Ключ по минимуму

Д КМИН.Н=CLIP(0,1,С.Н,СЗ)

КМИН.1=1

КМИН.1=0

КМИН.1=1

КМИН.1=0

КМИН.1=0

; Поставка

Т ПОС.НБ=П*КМАКС.Н

ПОС.12=100

ПОС.12=100

ПОС.12=100

ПОС.12=100

ПОС.12=100

; Выборка

Т ВЫБ.НБ=В*КМИН.Н

ВЫБ.12=500

ВЫБ.12=0

ВЫБ.12=500

ВЫБ.12=0

ВЫБ.12=0

И С=700

; Поступления

И П=100

; Выдача

И В=500

; Максимальный объем склада

И МОС=2000

;Страховой запас

И СЗ=300

Если запустить модель, то мы будем иметь следующий графический результат

Рис. 28. Графическая интерпретация результатов моделирования склада со страховым запасом

И соответственно числовой результат этих графических результатов

Таблица 14. Числовые результаты моделирования склада со страховым запасом

ВЫБ

ПОС

С

ВРЕМЯ

300

200

1000

0

300

200

900

1

300

200

800

2

300

200

700

3

300

200

600

4

300

200

500

5

300

200

400

6

0

200

300

7

300

200

500

8

300

200

400

9

0

200

300

10

300

200

500

11

300

200

400

12

0

200

300

13

300

200

500

14

300

200

400

15

0

200

300

16

Начиная с седьмого шага моделирования в Примере 5, мы имеем пилообразный график запасов на складе. Это объясняется тем, что при достижении страхового запаса выборка через шаг моделирования «запрещалась» переменной КМИН.

Рассмотрим более сложный пример, где используется встроенная функция CLIP.

Пример 7: Предположим, что необходимо в модель склада, приведенной в Примере 3, добавить блок, который определяет максимальное и минимальное значение запасов товаров на складе за 20 шагов моделирования.

Для фиксации минимального (МИН) и максимального (МАКС) запаса товаров в текущий шаг моделирования создаются два уровня. К базовой модели (Рис. 22) добавляются два дополнительных выражения сравнения (СРМИН) и (СРМАКС) уровня склада (С) в указанными выше уровнями (МИН и МАКС). Если текущее значение на складе меньше, чем значение уровня МИН, то уровень МИН очищается и в него заносится текущее минимальное значение. Аналогично проделывается с уровнем МАКС, но только при работе с максимальным значением.

По данному словесному описанию можно построить с помощью механизмов визуального мышления следующую диаграмму потоков (Рис. 29)

Рис. 29. Диаграмма потоков минимакса

И соответственно по данной диаграмме потоков составить модель-программу.

Таблица 15. Модель-программа минимакса и результаты моделирования первых трех шагов

ВРЕМЯ=1

ВРЕМЯ=2

ВРЕМЯ=3

; Склад

У С.Н=С.П+ПОС.ПН-ВЫБ.ПН

С.1=1000

С.2=900

С.3=800

; Минимум продукции

У МИН.Н=МИН.П+ВХМИН.ПН-ВЫМИН.ПН

МИН.1=10000

МИН.1=1000

МИН.1=10000

; Максимум продукции

У МАК.Н=МАК.П+ВХМАК.ПН-ВЫМАК.ПН

МАК.1=0

МАК.1=1000

МАК.1=0

; Сравнение минимума

Д СРМИН.Н=CLIP(0,1,МИН.Н,С.Н)

СРМИН.1=1

СРМИН.1=1

СРМИН.1=1

; Сравнение максимума

Д СРМАКС.Н=CLIP(0,1,С.Н,МАК.Н)

СРМАКС.1=1

СРМАКС.1=0

СРМАКС.1=1

; Поступление

Т ПОС.НБ=П

ПОС.12=200

ПОС.12=200

ПОС.12=200

; Выборка

Т ВЫБ.НБ=В

ВЫБ.12=300

ВЫБ.12=300

ВЫБ.12=300

; Входной темп минимума продукции

Т ВХМИН.НБ=СРМИН.Н*С.Н

ВХМИН.12=1000

ВХМИН.12=900

ВХМИН.12=1000

; Выходной темп минимума продукции

Т ВЫМИН.НБ=СРМИН.Н*МИН.Н

ВЫМИН.12=10000

ВЫМИН.12=1000

ВЫМИН.12=10000

; Входной темп максимума продукции

Т ВХМАК.НБ=СРМАКС.Н*С.Н

ВХМАКС.12=1000

ВХМАКС.12=0

ВХМАКС.12=1000

; Выходной темп максимума продукции

Т ВЫМАК.НБ=СРМАКС.Н*МАК.Н

ВЫМАКС.12=0

ВЫМАКС.12=0

ВЫМАКС.12=0

Е

; Начальные значения уровней

И С=1000

И МИН=10000

И МАК=0

; Поставка

К П=200

; Выдача

К В=300

Е

Модификацией такой задачи может служить еще один пример, когда нужно определить не величину минимальных (максимальных) запасов, а номер (шаг) когда запасы были минимальными.

Пример 8. Надо проимитировать склад, у которого необходимо определить шаг, на котором запасы будут минимальными. Предположим, что шаг будет идентифицирован с функцией ВРЕМЯ. Задача, которая решается при изучении программирования на алгоритмических языках в средней школе, в данном случае может служить фрагментом в иерархии построения имитационной модели. В качестве основы возьмем часть модели, приведенной на Рис. 29 и добавим к ней определитель номера шага, на котором мы будем иметь минимальное значение склада. В результате диаграмма потоков будет выглядеть, приведенной на Рис. 30:

Рис. 30. Диаграмма потоков выбора шага, когда склад будет иметь минимальный запас.

Модель-программа, соответствующая данной диаграмме потоков:

; Склад

У С.Н=С.П+ПОС.ПН-ВЫБ.ПН

;

У МИН.Н=МИН.П+ВХМИН.ПН-ВЫМИН.ПН

; Номер минимума

У НМИН.Н=НМИН.П+ВХНМИН.ПН-ВЫНМИН.ПН

; Сравнение минимума

Д СРМИН.Н=CLIP(0,1,МИН.Н,С.Н)

; Поступление

Т ПОС.НБ=П

; Выборка

Т ВЫБ.НБ=В

; Входной темп номера минимума

Т ВХНМИН.НБ=ВРЕМЯ*СРМИН.Н

; Выходной темп номера минимума

Т ВЫНМИН.НБ=СРМИН.Н*НМИН.Н

; Входной темп минимума

Т ВХМИН.НБ=СРМИН.Н*С.Н

; Выходной темп номера минимума

Т ВЫМИН.НБ=СРМИН.Н*МИН.Н

Е

;------ Конец 1-ого раздела -----------------------

И С=1000

; Поставка

К П=200

; Выдача

К В =300

И МИН=1000

И НМИН=1

; Время

К ВРЕМЯ=1

Е

Рассмотрим еще одну переключательную функцию, а именно SWITCH/

Функция сравнения с нулем (SWITCH)

Общий вид функции:

Ф.Н =SWITCH(А.Н, В.Н, С.Н)

Последний аргумент функции сравнивается с нулем; по результатам сравнения (равенству или неравенству) выдается одно из двух первых аргументов:

Иллюстрацией работы встроенной функции SWITCH может быть несколько иная адаптация модели, приведенной в Примере 3.

Пример 9. Предположим, что возобновление запасов кроме пошагового действия наряду с выдачей товаров в каждом шаге, производилось в момент, когда запасы равнялись нулю. В этом случае, кроме каждого пошагового поступления в 50 единиц, поступало сразу 90 единиц товаров.

Тогда диаграмма потоков могла выглядеть следующим образом (Рис31):

Рис. 31. Диаграмма потоков модели со скачкообразным возобновлением запасов

А соответствующая модель-программа будет представлена в Таблице 16:

Таблица 16. Модель-программа(SWITCH ) и результаты моделирования четырех шагов

ВРЕМЯ=1

ВРЕМЯ=2

ВРЕМЯ=3

ВРЕМЯ=4

; Склад

У С.Н=С.П+ПОС.ПН

+ВОЗ.ПН-ВЫД.ПН

С.1=100

С2=50

С3=0

С4=40

; Выходной темп склада

Т ВЫД.НБ=В

ВЫД.12=100

ВЫД.23=100

ВЫД.34=100

ВЫД.45=100

; Входной темп склада

Т ПОС.НБ=П

ПОС.12=50

ПОС.23=50

ПОС.34=50

ПОС.45=59

;Темп возобновления запасов

Т ВОЗ.НБ=SWITCH(90,0,С.Н)

ВОЗ.12=0

ВОЗ.23=0

ВОЗ.34=90

ВОЗ.45=0

Е

И С=100

; Поставка

К П=50;

; Выборка

К В=100

К ДЛИНА=4

Результаты моделирования целесообразно представить в числовой форме:

Таблица17. Результаты возмещения в числовой форме

ВОЗ

ВЫД

ПОС

С

0

100

50

100

0

100

50

50

90

100

50

0

0

100

50

40

И наконец последняя переключательная функция LIMIT.

Функция ограничения (LIMIT)

Функция позволяет ограничивать диапазон изменения первого аргумента пределами, заданными вторым и третьим аргументами. Общий вид функции:

Ф.Н= LIMIT(А.Н, В.Н, С.Н)

Математически это выглядит следующим образом:

В качестве иллюстрации можно переформулировать Пример 6, убрав ключ КМИН и КМАКС.

Пример 10. В этом случае диаграмм потоков будет выглядеть следующим образом:

Рис. 32. Диаграмма потоков модели склада с лимитным ограничением

А модель-программа будет иметь следующий вид:

; Склад

У С.Н=LIMIT((С.П+ПОС.ПН-ВЫБ.ПН),СЗ,МОС)

; Поступление

Т ПОС.НБ=П

; Выборка

Т ВЫБ.НБ=В

Е

И С=1000

; Максимальный объем склада

К МОС=2000

; Страховой запас

К СЗ=300

; Поставка

К П=200

; Выдача

К В=300

Е

Результаты моделирования в табличной форме будут

Таблица 18. Числовые результаты в модели с лимитным ограничением

ВЫБ

ПОС

С

300

200

1000

300

200

900

300

200

800

300

200

700

300

200

600

300

200

500

300

200

400

300

200

300

300

200

300