Санкт-Петербургский государственный университет
Факультет прикладной математики — процессов управления
Первый курс магистратуры, весенний семестр 2022.
Группа 21.М02–пу.
Направление 01.04.02 «Прикладная математика и информатика».
Образовательная программа ВМ.5505 «Математическое и информационное обеспечение экономической деятельности».

Дисциплина по выбору.

Математические модели теории управления запасами

Преподаватель: Ковшов Александр Михайлович, доцент кафедры моделирования экономических систем.

Содержание

Расписание занятий

Пятница, третья пара с 13:40 до 15:15,   204Д.

Дни занятий:   18.02, 25.02, 04.03, 11.03, 18.03, 25.03, 01.04, 08.04, 15.04, 22.04, 29.04, 06.05, 13.05.


Темы занятий

Занятие 13   (13 мая)

Контрольная работа. Решение на компьютере задач управления запасами при случайном спросе.


Занятие 12   (6 мая)

Модель управления запасами при случайном спросе, когда заказ товара делается через равные промежутки времени, а не по порогу.


Занятие 11   (29 апреля)

Модель управления запасами при случайном спросе.


Занятие 10   (22 апреля)

Классная доска.


Занятие 9   (15 апреля)

Классная доска.


Занятие 8   (8 апреля)

Обсуждение алгоритма решения задачи ежемесячного планирования закупок
при заданных cпросе, предложении, ценах, затратах на хранение методом динамического программирования.

Классная доска.       Конспект Селиверстовой.


Занятие 7   (1 апреля)

Классная доска.


Занятие 6   (25 марта)

Классная доска 1. Классная доска 2.

 

Занятие 5   (18 марта)

Классная доска.


Занятие 4   (11 марта)

Классная доска.


Занятие 3   (4 марта)

Распространение задачи о заказе скоропортящегося продукта при случайном спросе на непрерывный случай.
Самостоятельная работа. Вывод формул.

Классная доска.


Занятие 2   (25 февраля)

Классная доска 1.
Классная доска 2.

 

Занятие 1   (18 февраля)

Обзор задач, связанных с управлением запасами.
Модель Уилсона для расчёта оптимального размера партии поставок.

Классная доска.

 

Домашние задания

Выполненные домашние задания можно присылать по адресу a.kovshov@spbu.ru,
поставив в теме два слова "Домашнее задание", а также номер группы и фамилию.

Домашнее задание на занятие 13   (13 мая)

  1. Найдите путём перебора наилучшие размер склада и промежуток времени между заказами товара в изменённой задаче случайного спроса, в которой заказ на пополнение запасов делается не по порогу, а через равные промежутки времени, используя компьютерную модель
  2. Сравните результат с предыдущей моделью.

Домашнее задание на занятие 12   (6 мая)

  1. Найдите путём перебора наилучшие размер склада и порог пополнения запасов в задаче случайного спроса, используя компьютерную модель
  2. Попробуйте изменить компьютерную модель так, чтобы запасы пополнялись не по порогу, а через равные промежутки времени.

Домашнее задание на занятие 11   (29 апреля)

  1. Подумайте над следующей задачей.
    Со склада конечной вместимости продаётся товар.
    От продажи каждой единицы товара склад получает заданную прибыль.
    Поток покупателей Пуассонов, то есть, промежутки времени между прибытиями покупателей распределены
    по экспоненциальному закону с заданной средней частотой (число покуателей в единицу времени).
    Каждый покупатель приобретает одну единицу товара.
    Затраты на хранение каждой единицы товара пропорциональны времени её нахождения на складе.
    При уменьшении запасов товара на складе до определённого порога,
    производится заказ товара, величина которого равна разности вместимости склада и остатка товара на складе.
    Доставка товара занимает определённое время с момента заказа. Затраты на приобретение и доставку товара не учитываются.
    Нужно найти, какова должна быть вместимость склада,
    и каков должен быть порог остатка товара на складе, при котором делается новый заказ,
    чтобы прибыль была наибольшей.
  2. Попробуйтйе написать компьютеную программу, моделирующую торговлю со склада при случайном прибытии покупателей.
  3. Можно ли решить эту задачу аналитически, если покупатели прибывают строго по расписанию
    через равные промежутки времени?

Домашнее задание на занятие 10   (22 апреля)

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


Домашнее задание на занятие 9   (15 апреля)

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


Домашнее задание на занятие 8   (8 апреля)

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

Домашнее задание на занятие 7   (1 апреля)

  1. Исправьте ошибки в алгоритме Java класса RandomDemandStore, представленном в примерах кодов.
  2. Постарайтесь разобраться, почему формула для наилучшего дневного запаса в задаче
    о торговле сохраняемого продукта при случайном спросе в некоторых случаях выдаёт значения за пределами изменения спроса, а также
    понять, почему формула прибыли для этой задачи не совпадает с результатами компьютерного моделирования за пределами изменения спроса.
  3. Найдите формулы для прибыли в этой задаче, когда дневной запас меньше наименьшего спроса, и когда дневной запас больше наибольшего спроса.

Домашнее задание на занятие 6   (25 марта)

  1. Попытайтесь найти ошибку в рассуждениях при выводе формулы прибыли
    в задаче о запасе сохраняемого продукта при случайном спросе
  2. Попробуйте найти ошибки в алгоритме Java класса RandomDemandStore, представленном в примерах кодов.
  3. Постарайтесь найти формулы для прибыли и наилучшего заказа в задаче
    о заказе несохраняемого продукта при случайном спросе, распределённом
    от 0 до 4 с интегральной функцией   x / b ——     и плотностью   0,5 · √1 / (bx) ——— ,    где b = 4.

Домашнее задание на занятие 5   (18 марта)

  1. Подумайте над задачей.
    Продавец продаёт мороженую рыбу по цене 300 рублей за килограмм,
    которую закупает по цене 200 рублей за килограмм.
    Дневной спрос на рыбу колеблется от 2 до 10 килограммов и распределён равномерно.
    Если часть рыбы остаётся непроданной, она хранится в холодильнике до следующего дня.
    Затраты на хранение рыбы составляют 100 рублей за ночь
    вне зависимости от веса оставшейся рыбы.
    Ежедневный заказ на поставку рыбы зависит от величины остатка таким образом,
    чтобы пополнить дневной запас перед открытием торговли
    до определённой величины x.
    Какой должен быть ежедневный запас x, чтобы прибыль стала как можно большей?
  2. Попробуйте обобщить задачу заказа при случайном спросе
    для непрерывного случая при произвольном распределении спроса,
    если известна плотность этого распределения f(x) и её интеграл F(x).
    При этом непроданный товар в конце дня продавец отдаёт не даром, а по остаточной цене r.
  3. Для решения задач с использование компьютерного моделирования понадобится среда разработки. Примеры кодов будут отображаться на этой странице на языке Java. Для работы с этими кодами желательно установить на своём компьютере среду языка Java и среду разраотки NetBeans. Каждый может использовать свой язык и среду разработки в соответствии с собственными предпочтениями.

    Среду языка Java и среду разработки NetBeans для ОС Windows можно установить одним файлом, который можно взять на сервере класса 469 по адресу http://class469.apmath.spbu.ru:8080/zp_files/jdk-8u111-nb-8_2-windows-i586.exe.
    Это далеко не новые изделия, но для наших целей этого достаточно.
    Чтобы развернуть самые последние выпуски Java и NetBeans, можно выполнить нижеследующие действия.
  4. Если будет желание проверить работу установленной среды разработки, можно выполнить действия, следуя указаниям, размещённым по этой ссылке.

Домашнее задание на занятие 4   (11 марта)

  1. Постарайтесь вывести формулу для дискретного случая в задаче случайного спроса.
  2. Попробуйте вывести формулу для непрерывного случая в задаче случайного спроса
    при произвольном распределении спроса с известными функциями плотности f(x) и интегральной F(x).
  3. Пусть в задаче случайного спроса продавец отдаёт в конце дня непроданный товар не даром,
    а по остаточной цене в r рублей.
    Как изменятся формулы?
    Каков должен быть дневной заказ при r = 10?

Домашнее задание на занятие 3   (4 марта)

  1. Предприятие поставляет товар в розничную сеть со скоростью ν единиц товара в единицу времени.
    Товар прибывает на склад предприятия партиями, размером q единиц товара.
    Предприятие несёт расходы по доставке партии товара в размере K денежных единиц, которые не зависят от размера партии.
    При этом товар прибывшей партии загружается на склад со скоростью λ единиц товара в единицу времени.
    Предприятие несёт расходы по хранению товара на складе в размере s денежных единиц за единицу товара в единицу времени.
    Если товар на складе заканчивается, то неудовлетворённый спрос учитывается,
    и будет восполнен при возобновлении поставок после пополнения склада,
    при этом предприятие несёт расходы по неудовлетворённому спросу
    в размере d денежных единиц за каждую единицу товара в единицу времени.

    Нужно найти следующие значения, при которых издержки предприятия за длительный период времени будут наименьшими.
    Исходные данные
    K = 100 (ден.ед.);
    λ = 5 (тов.ед. / врем.ед.)
    ν = 1 (тов.ед. / врем.ед.)
    s = 2 (ден.ед. / врем.ед.);
    d = 6 (ден.ед. / врем.ед.);

    Пояснение. Обозначения взяты из книги Саковича, раздел 1.2, стр. 34.

  2. Завершите начатое в классе решение задачи о заказе скоропортящегося продукта при случайном спросе для непрерывного случая.


Домашнее задание на занятие 2   (25 февраля)

Попробуйте решить задачу случайного спроса.
Прдавец продаёт в день от 0 до 4 булок по цене 50 рублей за штуку.
Закупочная цена — 30 рублей. Числа дневных продаж равновероятны.
Непроданный товар продавец отдаёт в конце дня даром.

Какова должна быть стратегия ежедневных закупок, чтобы ожидаемая прибыль была наибольшей?

Постарайтесь вывести формулу зависимости ежедневных закупок от цен и разброса спроса.
Проанализировать полученный результат.

 
 

Примеры кодов и приложений

Сжатая папка с NetBeans приложением InventoryManagement.


К занятию 13   (13 апреля)

Java-класс Model2, моделирующий заказ через равные промежутки времени.


К занятию 11   (29 апреля)

Модель потока покупателей Селиверстовой на языке Pyton.

Java-классы модели случайного спроса.
        Storage           склад
        StoreEvent     событие на складе
        AddEvent         событие поступления товара
        RemoveEvent    событие сбыта товара
        Product           товар
        Model1             алгоритм
       


К занятию 10   (22 апреля)

Класс InventoryModel21, решающий задачу ежемесячного планирования закупок методом динамического программирования при необязательном удовлетворении спроса.

Класс InventoryModel2, решающий ту же задачу немного по-другому.


К занятию 9   (15 апреля)

Класс InventoryModel1, решающий задачу ежемесячного планирования закупок методом динамического программирования.

Класс InventoryModel, решающий ту же задачу немного по-другому.


К занятию 7   (1 апреля)

Класс RandomDemandStore, моделирующий задачу о запасе сохраняемого продукта при случайном спросе.

Тот же алгоритм. Решение Селиверстовой на языке Pyton.


К занятию 6   (25 марта)

Класс RandomDemandStore, моделирующий задачу о запасе сохраняемого продукта при случайном спросе (с ошибками).

Класс RandomDemandFab, моделирующий задачу о заказе несохраняемого продукта при случайном спросе
для распределения с функцией   √(x - a) / (b - a) ——————    .


К занятию 5   (18 марта)

Класс RandomDemand, моделирующий задачу о заказе несохраняемого продукта при случайном спросе.


Сведения из теории массового обслуживания и моделирования составных случайных величин

Закон Литтла
Экспоненциальное и Пуассона распределения.
Метод обратных функций.
Взаимосвязь распределений экспоненциального и Пуассона.
Максимумы распределения Пуассона.
Зависимость заданного числа событий на заданном промежутке времени при предопределённом возникновении событий через равные промежутки.
Независмость вероятности Пуассона от непрерывности.
Сумма двух произвольных случайных величин, распределённых от -∞ до +∞.
Сумма двух случайных величин, равномерно распределённых от 0 до 1.
Сумма двух случайных величин, распределённых на ограниченных промежутках.
Сумма двух экспоненциально распределённых случайных величин.
Сумма нескольких экспоненциально распределённых случайных величин — распределение Эрланга.
Произведение двух случайных величин, равномерно распределённых от 0 до 1.
Квадрат случайной величины.
Сумма квадратов равномерно распределённых случайных величин.
Сумма квадратов нормальноно распределённых случайных величин.
Метод Бокса-Мюллера для порождения нормально распределённой последовательности случайных значений.
Формулы Эрланга для системы массового обслуживания без ожидания.
Формулы Эрланга для системы массового обслуживания с одним прибором.
Задача о стоянке такси у гостиницы. Формулы Эрланга для системы массового обслуживания с очередью.


Литература

Управление запасами

Книги

  1. Рыжиков Ю. И,.
    Управление запасами. — М: Наука, 1969.
  2. Рыжиков Ю. И.,
    Теория очередей и управление запасами. — СПб: Питер, 2001. Онлайн (pdf)
  3. Шикин Е. В., Чхартишвили А. Г.,
    Математические методы и модели в управлении. — М: Дело, 2000. Онлайн (djvu)
  4. Сакович В. А.,
    Модели управления запасами. — Минск: Наука и техника, 1986. Онлайн (djvu)
  5. Неруш Ю. М.,
    Логистика. — 4-е изд. — М.: Проспект, 2006. — 304 с. Онлайн (pdf)
  6. Джон Шрайбфедер,
    Эффективное управление запасами. Пер. с англ. — 2-е изд. — М.: Альпина Бизнес Букс, 2006. — 304 с. Онлайн (pdf)

Язык программирования Java

Источники на java.sun.com

  1. Учебники по языку
  2. Справочная документация по классам Java Standart Edition 8.
  3. Документация по последующим изменениям и дополнениям языка.

Книги

  1. Кей С. Хорстманн, Гари Корнелл,
    Java 7. Библиотека профессионала, том 1. Основы, 9-е издание, ~1000 стр., «ВИЛЬЯМС», 2013.
  2. Кей С. Хорстманн, Гари Корнелл,
    Java 7. Библиотека профессионала, Том 2. Тонкости программирования, 9-е издание, ~1200 стр., «ВИЛЬЯМС», 2013.
  3. Монахов В. В.,
    Язык программирования Java и среда NetBeans. (+ DVD). 3-е издание. — БХВ-Петербург, 2011, 704с. ISBN: 978-5-9775-0671-7.

Правильный HTML5!
Правильный CSS!

Веб-страницу разработал А. М. Ковшов