Описание алгоритмов и программ

В качестве языка программирования для разработки компьютерной модели рассматриваемого процесса выбран Visual Basic 6.0.

Общий вид стартовой формы показан на рис. 1. Она включает следующие объекты управления:

1 – текстовое поле «Начальный уровень товара»;

2 – текстовое поле «Объем партии товара»;

3 – текстовое поле «Среднее время выполнения заказа»;

4 – текстовое поле «СКО времени выполнения заказа»;

5 – текстовое поле «СКО дневного расхода»;

6 – текстовое поле «Стоимость хранения единицы товара»

7 – текстовое поле «Штраф за отсутствие единицы товара»

8 – текстовое поле «Период работы склада»;

9 – командную кнопку «Расчет»;

10 – командную кнопку «Очистка»;

11 – командную кнопку «Выход»;

12 – текстовое поле «Критический уровень товара»;

13 – текстовое поле «Средний дневной расход»;

14 – текстовое поле «Стоимость доставки единицы товара»;

15 – текстовое поле «Число случайных реализаций»;

16– текстовое поле «Результат расчета».

Описание алгоритмов и программ - student2.ru

Рис.1. Макет стартовой формы:

1,2 – текстовые поля; 3 – командные кнопки

Схема алгоритма процедур прерывания, связанных с объектами стартовой формы, показана на рис. 2.

Описание алгоритмов и программ - student2.ru

Рис.2. Схема алгоритма процедур обработки объектов

После нажатия кнопки «Start» активизируется стартовая фор­ма. С этого момента программа находится в режиме ожидания действий пользователя.

Цифрой 1 обозначено действие, заключающееся в корректи­ровке исходных данных. Необходимые изменения вносятся в со­ответствующие текстовые поля.

Цифрой 2 обозначено действие, заключающееся в нажатии (с помощью мыши) кнопки «Расчет». В процедуре, связанной с этой кнопкой, оператор 3 осуществляет перевод исходных дан­ных из символьной формы в числовую. Затем оператор 4 обращается к модулю общего назначения «Model6». Схема алгоритм этого модуля приведена на рис.3.

После окончания работы модуля и выдачи на экран результатов моделирования работа процедуры, связанной с кнопкой «Расчет», заканчивается. Программа вновь переходит в режим ожидания действий пользователя.

Цифрой 5 на схеме обозначено действие пользователя, заключающееся в нажатии кнопки «Очистка». В процедуре, связанной с ней, производится очищение текстового поля для вывода результата моделирования. Затем может быть произведено изменение исходных данных и проведены новые расчеты с использованием кнопки «Расчет».

Цифрой 7 на схеме обозначено действие, пользователя, заключающееся в нажатии кнопки «Выход». В результате работ программы прекращается.

Описание алгоритмов и программ - student2.ru

Рис. 3. Схема алгоритма модуля «Model6»

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

• начальный уровень запаса товара – Описание алгоритмов и программ - student2.ru ;

• средний ежедневный спрос товара – МД;

• среднее квадратическое отклонение ежедневного спроса – Описание алгоритмов и программ - student2.ru

• объем партии товара – Part;

• уровень запаса, при котором должна оформляться заявка на поставку дополнительной партии товара – URmin;

• среднее время поставки партии товара – МТ дней;

• среднее квадратическое отклонение времени поставки товара – Описание алгоритмов и программ - student2.ru дней;

• стоимость хранения единицы товара в течение суток – $С1;

• стоимость поставки единицы товара – $С2;

• стоимость затрат на компенсацию отсутствия товара на складе – $С3 за каждую недостающую единицу;

• период функционирования склада – TD дней;

• число случайных реализаций — NР.

Блок 1 обеспечивает обнуление глобальных переменных, к которым относятся:

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

SSC – начальное значение суммы квадратов случайных величин общих затрат.

Кроме того, в этом же блоке устанавливается начальное значение времени поставки дополнительной партии товара, которое выходит за пределы периода работы склада и равняется Описание алгоритмов и программ - student2.ru

Оператор 2 представляет собой заголовок цикла случайных реализаций.

Блок 3 производит обнуление локальных переменных, к которым относятся:

SС1 – начальное значение суммарных затрат на хранение товара в течение всего периода работы склада для одной реализации;

SC2 – начальное значение суммарных затрат, связанных нехваткой товара в течение всего периода работы склада для одной реализации;

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

Т – исходное значение счетчика дней (модельное время); Zajav — числовой признак отсутствия заявки на поставку до­полнительной партии товара (если заявка подана, то Zajav = 1).

В этом же блоке планируемое время поставки партии товара приравнивается к его начальному значению, т.е. Тпост = Тпост 0. Наконец, текущий уровень запаса товара приравнивается к его начальному уровню:

V= NУР

Оператор 4 является началом циклического перебора дней работы склада. Оператор 5 увеличивает модельное время на один шаг (на одни сутки). Условный оператор 6 проверяет условие продолжения работы склада для каждой случайной реализации.

Оператор 7 обращается к процедуре «Norm», формирующей возможное значение нормированной, центрированной случай­ной величины с нормальным распределением. Оператор 8 опре­деляет возможное значение величины случайного ежедневного спроса при заданном его математическом ожидании МД и сред­нем квадратическом отклонении

Условный оператор 9 проверяет условие наступления срока поставки дополнительной партии товара. Если этот срок насту­пил, то оператор 10 увеличивает текущий запас товара на величи­ну объема партии Part. Одновременно здесь же числовой признак отсутствия заявки на поставку партии товара устанавливается на нуль. Кроме того, планируемое время поставки вновь выводится за пределы периода работы склада.

Оператор 11 определяет текущий уровень запаса товара на складе с учетом удовлетворения ежедневного спроса. В дальней­шем оператор 14 определяет затраты на содержание склада в те­кущие сутки.

Если количество заявок превысит текущий запас товара на складе, то в операторе 11 будет получено отрицательное число. В этом случае оператор 13 определяет затраты, связанные с дефи­цитом товара и устанавливает значение текущего запаса на нуль.

Оператор 15 проверяет выполнение одновременно двух усло­вий: превышает ли текущий запас минимально допустимый (кри­тический) уровень и была ли уже оформлена заявка на поставку дополнительной партии товара.Если хотя бы одно из этих усло­вий не выполняется, то в алгоритме происходит передача управ­ления на начало цикла,т.е. оператору 4.

Если же одновременно выполняются оба условия, то группа операторов с 16-го по 19-й определяет затраты на поставку до­полнительной партии товара.

Оператор 16 увеличивает текущие затраты на величину стоимости партии товара. Оператор 17 обращается к процедуре формирования возможного значения нормированной, центрированной случайной величины с нормальным распределением. Оператор 18 определяет возможное значение случайной величины времени выполнения заявки на поставку партии товара с учетом за данных параметров: среднего времени поставки и среднего квадратического отклонения времени поставки. При этом результат расчета округляется до целого числа. Оператор 19 устанавливает на единицу числовой признак подачи заявки.

Блок 20 служит для расчета суммарных характеристик затрат на содержание склада по формулам:

Описание алгоритмов и программ - student2.ru ; Описание алгоритмов и программ - student2.ru Описание алгоритмов и программ - student2.ru

Блок 21 служит для определения показателя эффективности по формулам:

Описание алгоритмов и программ - student2.ru ; Описание алгоритмов и программ - student2.ru ; Описание алгоритмов и программ - student2.ru .


Наши рекомендации