То есть для выполнения решения ![]()
необходимо, чтобы данное неравенство (14) было верным.
2) Исследуем второй случай, когда ![]()
:
Дискриминант положителен, если выполняется следующее
неравенство:
Преобразуем неравенство в силу положительности стоимостных
параметров и параметра ![]()
:
Рассмотрим второе условие:
![]()
В силу положительности данных величин, возведем неравенство в
квадрат:

Так как в левой части неравенства стоит дискриминант, а в правой - положительное число, из полученного неравенства следует выполнение неравенства (15) о положительности дискриминанта.
Преобразуем данное неравенство:
Последнее неравенство ![]()
принимает вид:
Преобразуем данное неравенство:
![]()
(17)
В силу положительности дискриминанта в данном случае, ![]()
, а в левой части (17) находится отрицательная величина, данное
неравенство выполняется в любом случае.
Таким образом, для того, чтобы решение задачи оптимального
управления являлась величина ![]()
необходимо, что выполнялось неравенство (16):
) Третий случай включает в себя решение ![]()
.
Для его выполнения необходимо верность следующих неравенств: ![]()
. Положительность
дискриминанта обеспечивается неравенством (15):
![]()
Рассмотрим второе неравенство: ![]()
При подстановке значений оно принимает вид:
Преобразуем данное неравенство:
![]()
В силу положительности данных величин, возведем неравенство в
квадрат:
![]()
Неравенство ![]()
(17) было исследовано ранее, во втором случае. Исследование
показало, что оно выполняется всегда.
Представим ниже программную реализацию полученных теоретических
результатов, связанных с нахождением оптимального значения параметра
управления, то есть значения, при котором достигается максимум средней удельной
прибыли. При этом численно исследуется поведение упомянутого показателя
качества управления ![]()
и вспомогательной квадратичной функции ![]()
на интервале возможных значений аргумента ![]()
. Для реализации будет использована среда MatLab 2014.
Входные параметры представлены набором следующих величин:
· границы допустимого множества
· параметр экспоненциального распределения времени между моментами поступления заявок (прихода покупателей)
· длительность периода задержки
· стоимостные показатели характеризующие различные виды затрат и цену поставки продуктов
· скидочные параметры
Данные параметры будем передавать из файла scriptd. m в файл func. m, в котором реализуется функционал прибыли. Для передачи
значений, создадим три вектора par, cen и sale. Первый из них содержит значения максимального объема товара на
складе ![]()
, длительности периода задержки товара ![]()
и параметра ![]()
. Второй вектор содержит стоимостные характеристики, а третий
включает в себя скидочные параметры.
Ниже представлен код программы файла func. m, который представляет собой функцию, на
вход которой подаются параметр управления и три данных вектора. На выходе
функция передает функционал прибыли, знаменатель данного функционала, а так же
функционал прибыли с противоположным знаком, так как в среде Matlab возможно нахождение лишь минимума функции
с помощью fminbnd, а целью данной работы является
максимизация функционала (поэтому функция берется с противоположным знаком). В
функции определяется функционал прибыли ![]()
, с помощью исследований, проведенных в разделе 3.1 данной работы.
Так определяются коэффициенты данного функционала, с помощью которых происходит
его дальнейшее построение. Определяется знаменатель функционала для дальнейшей работы с
квадратичной функцией.
Файл программы, обозначаемый scriptd. m, предназначен для изучения поведения
производной функции показателя качества управления ![]()
, поведения стоимостного функционала ![]()
и нахождения оптимального уровня запасов, при котором происходит
заказ на новую продукцию.
Для определения поведения ![]()
отдельно исследуется характер числителя данной функции, который
является квадратичной функцией и определяет знак всей производной. Построение
квадратичной функции происходит в помощью нахождения производной функционала ![]()
функцией Matlab
diff, умножения на знаменатель в квадрате и
последующего упрощения функцией simplify
Вычисляются коэффициенты указанной квадратичной функции.
Коэффициенты вычисляются с помощью производных квадратичной функции и функции eval. После нахождения коэффициентов
вычисляется дискриминант и корни соответствующего квадратного уравнения.
Строится график квадратичной функции и всего показателя ![]()
. Для удобства анализа на графика квадратичной функции отмечены ее
корни, прямая y = 0, позволяющая наглядно наблюдать
изменение знака производной и помогающая отследить поведение функционала, и
прямые x = a и y = b, являющиеся границами параметра управления. На графике
функционала отмечена точка, являющаяся оптимальным решением данной задачи.
Ниже представлена реализация данного алгоритма:
Рассмотрим результаты выполнения данной программы для случая из
системы (22), при котором ![]()
(из раздела 3.1.). Для рассмотрения данного случая воспользуемся
набором (1) из входных параметров.
На выходе данной программы получаем результаты:
Diskr = - 2.7377e+08
rmax = 5.2765e-05,
где Diskr - дискриминант квадратного выражения ![]()
, которое определяет поведение функционала ![]()
, rmax - уровень, при котором необходимо сделать
заказ на новую партию.
Рассмотрим поведение функции ![]()
и функционала ![]()
, и найдем оптимальное решение данной задачи для входного набора
параметров набор (2), при котором выполняется неравенство из системы (23) (из
раздела 3.1.). Выполнение неравенства (16) (из раздела 3.1.), которое является
первым возможным достаточным для решения условием решения в системе (23), дает
оптимальное решение ![]()
. При наборе (2) реализуется выполнение данного случая.
На выходе программы при данных входных параметрах получим:
Diskr = 374879856
x1new = - 237.3426
x2new = 507.3426
rmax = 98.9999,где Diskr -
дискриминант квадратичной функции ![]()
; x1new, x2new - корни
данного квадратного уравнения ![]()
, rmax - оптимальный уровень товара на складе, с
которого необходимо производить закупку новой партии.
Для данных входных параметров, можно явно наблюдать, что x1new < a и x2new > b, а Diskr > 0, что соответствует случаю 1 из раздела 3.1 (см. рис.3 из раздела 3.1), и, следовательно, в силу выполнения соответствующих неравенств из системы (23).
Анализируя первый график, можно утверждать, что функция ![]()
положительна на всем допустимом интервале. Поэтому на втором
графике наблюдается возрастание функции ![]()
.
В данной работе была рассмотрена регенерационная модель управления
запасами. Был рассмотрен соответствующий процесс ![]()
- объем товара на складе в момент времени ![]()
, где ![]()
, то есть в начальный момент на складе находилось ![]()
единиц товара. Реализация товара происходит поштучно. Когда уровень
запасов на складе достигает уровня ![]()
, происходит заказ на новую партию продукции. Во время выполнения
заказа (то есть периода задержки товара) система прекращает свое функционирование.
Период задержки поставки товара ![]()
является случайной величиной с заданным распределением.
Особенностью данной модели является наличие скидок на закупку, транспортировку
продукции и организацию заказа.
Показателем эффективности работы системы является стоимостной функционал. В работе была построена данная модель и соответствующий ей процесс, определены все стоимостные характеристики, а так же система скидок. При этом, был построен стоимостной функционал прибыли и получено его явное представление. Решая задачу на экстремум данного функционала, был найден уровень объема продукции на складе, при котором необходимо сделать заказ на новую партию продукции. Этот параметр является параметром управления данной задачи, при котором доход слада достигает наибольшего значения.
Результатом являются две системы (22), (23) из раздела 3.1 Главы 2, показывающие значение параметра управления при различных соотношениях входных параметров.
Также была представлена программная реализация данной модели в
среде Matlab, которая при заданных входных параметрах
определяет оптимальный уровень управления и позволяет явно наблюдать поведение
стоимостного функционала, а также квадратичной функции, являющейся числителем
производной данного функционала.
[1] Ю.И. Рыжиков, “Теория очередей и управления запасами”, Питер, ПитерБук, 2001
[2] A. A. Боровков, “Теория вероятностей”, Наука, 1986, с.27 - 114
[3] A. A. Боровков, “Эргодичность и устойчивость случайных процессов”, Москва, Эдиториал УРСС, 1999, c.1 - 186
[4] К.Н. Бура, “Анализ проблемы оптимального управления запасом дискретного продукта в стохастической модели регенерации”, МИЭМ НИУ ВШЭ, 2016