САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
КАФЕДРА МОДЕЛИРОВАНИЯ ЭКОНОМИЧЕСКИХ СИСТЕМ
Мынзу Лариса Игоревна
Выпускная квалификационная работа бакалавра
Компьютерное моделирование работы цепи поставок
Направление 010300
Фундаментальная информатика и информационные технологии
Научный руководитель,
кандидат физ.-мат. наук,
доцент
Трофимова И. В.
Санкт-Петербург
2016
Содержание
Введение. Обзор литературы ................................................................................. 3
Глава 1. Постановка задачи .................................................................................... 6
1.1 Описание модели ........................................................................................ 6
1.2 Математическая модель ............................................................................. 7
1.3 Постановка задачи ...................................................................................... 8
1.4 Формирование вспомогательной задачи оптимального управления .... 9
Глава 2. Методы .................................................................................................... 12
2.1 Сведение задачи оптимального управления к интервальной задаче
линейного программирования ....................................................................... 12
2.2 Адаптивный метод .................................................................................... 14
2.3 Алгоритм.................................................................................................... 24
Глава 3. Программная реализация ....................................................................... 25
3.1 Примеры .................................................................................................... 26
Заключение. Выводы ............................................................................................ 29
Список литературы ............................................................................................... 30
Приложение ........................................................................................................... 32
Введение. Обзор литературы
В современном мире управление цепями поставок является ключевым
стратегическим фактором для повышения организационной эффективности
работы компании и для более полной реализации организационных целей
таких, как повышение конкурентоспособности, улучшение обслуживания
клиентов и увеличение прибыльности. Управление цепочками поставок
включает в себя все виды деятельности, необходимые для успеха
предприятия, как, например, управление объектами поставок, оптимизация
работы
производителей,
складов,
транспортной
сети,
улучшение
взаимодействия между элементами цепи и так далее [1].
Технологически производственно-логистические процессы постоянно
модифицируются, что приводит к появлению как новых требований к
качеству
работы,
так
и
новых
видов
управления
и
организации
предприятиями.
Так, например, в 60-е гг. начался переход от ненасыщенного «рынка
производителя»
к
насыщенному
«рынку
потребителя»
[2].
После
первоначального насыщения рынка существенную роль стали играть
требования потребителя к качеству товаров, что проявилось в концепции
всеобщего управления качеством. Возникающие при этом дополнительные
затраты компенсировались за счет безупречного качества продукции.
Непосредственным влиянием этой тенденции на производство и логистику
стали требования к сокращению длительности производственного цикла,
низкому уровню запасов, высокой надежности в соблюдении сроков
поставки, а также к гибкости производства и логистики, при этом количество
вариантов видов продукции росло чрезвычайно быстро.
В 80-90-е гг. закономерно произошел следующий виток развития
промышленности и логистики:
эффект скорости [2]. Потребителю стало
важно получать продукцию в точно оговоренные сроки. Данному периоду
3
соответствует развитие концепций Lean Production («бережливое, гибкое»
производство) и Just-in-Time (точно-во-время). Они продолжают развиваться
и в настоящее время.
Новый виток развитию в области управления цепями поставок придали
корпоративные информационные системы, а позже и Интернет-технологии,
позволившие существенно повысить эффективность координации процессов
в цепи поставок. Информационные технологии явились, с одной стороны,
средой обеспечения и повышения эффективности цепи поставок, а с другой
стороны - мощным инструментом развития новых концепций управления
цепями поставок.
С развитием IT- технологий, управление цепями поставок стало
развиваться стремительнее и сейчас оно приобретает все большую
значимость для промышленных, логистических и торговых предприятий.
По мере развития «рынков клиента», глобализации и информационных
технологий, значение цепей поставок как ключевого фактора повышения
доходности и конкурентоспособности бизнеса непрерывно возрастает.
Именно поэтому управление цепями поставок стремительно развивается, а
инвестиции в цепи поставок будут увеличиваться и в будущем.
Сегодня на российском рынке представлено огромное количество как
западных, так и отечественных программных продуктов, созданных для
управления
работой
двух
основных
типов
цепей
поставок:
централизованными и децентрализованными. В децентрализованной цепи
поставок решения об оптимизации своей работы принимаются на каждом
уровне
автономно,
централизованной
независимо
же,
напротив,
от
других
существует
участников
единый
цепи.
В
инструмент,
отслеживающий работу всех участников цепи одновременно и принимающий
решение на основе общей ситуации [3]. Децентрализованное управление
зачастую не отражают полной картины работы цепи поставок. Однако вопрос
4
о степени децентрализации цепи поставок может быть решен по-разному для
различных
компаний
моделирование
работы
в
определенных
цепи
поставок
ситуациях.
различной
Компьютерное
структуры
и
с
перечисленными способами управления в ней может помочь производителю
в решении этой проблемы.
В данной работе проводится компьютерное моделирование выбранной
централизованной цепи поставок для нахождения оптимального выпуска
с
использованием методов теории управления [4,5], в частности адаптивного
метода [6].
5
Глава 1. Постановка задачи
1.1 Описание модели
Рассмотрим
цепь
поставок,
состоящую
из
трех
элементов:
производителя (завода), склада и клиента (Рис. 1). При этом под заводом
будем понимать один или несколько заводов одного производителя, которые
изготавливают только один тип продукции, выпускающийся с необходимой
мощностью. Товар с завода поступает на склад, оттуда в соответствии с
уровнем спроса поставляется потребителю. Потребителем здесь может
выступать как оптовый производитель, дилерские компании, так и конечные
потребители. Будем рассматривать работу данной цепи во времени.
Следуя работе [7], рассмотрим математическую модель, описывающую
работу такой обобщенной цепи поставок. На основе данной модели авторы
определяют желаемую скорость производства и ограничения для скорости
износа, обеспечивающую асимптотическую устойчивость данной модели с
неопределенной скоростью износа.
В работах [8], [9] частные случаи данной модели использовались для
описания работы цепей поставок различной структуры (в случаях с
централизованным и децентрализованным управлениями) во времени, для
управления их работой используются другие методы построения управлений.
В данной работе, используя такую модель, будем искать оптимальную
скорость производства, обеспечивающую заданный уровень спроса, с учетом
поступающей информации о запасах продукции на складе.
6
Рис. 1. Визуальное представление модели
1.2 Математическая модель
Опишем математическую модель динамики работы цепи поставок [7].
Пусть
уровень запасов в момент времени t,
фактическая скорость производства в момент времени t,
уровень спроса в момент времени t,
желаемый уровень производства в момент времени t,
-коэффициент износа,
α- обратное экспоненциальное время задержки
Все функции неотрицательны, непрерывны и дифференцируемы. Тогда
можно составить следующую систему дифференциальных уравнений
первого порядка:
Приведя эту систему к виду
где
,
есть n-вектор состояния динамической системы в момент
времени;
матрица
;
7
n-мерная векторная функция;
значение скалярного управляющего воздействия;
кусочно-непрерывное ограниченное возмущение
получим
,
(1)
где
Параметры модели могут быть получены путем идентификации
модели, опираясь на статистическую информацию о спросе, объемах
выпуска, объемах запасов на складе за предыдущие периоды работы цепи.
Входные параметры модели определяются с некоторой точностью, поэтому
производителю для принятия решения о величине выпуска могут помочь
результаты численных экспериментов для различных значений параметров,
которые позволяет проводить компьютерное моделирование работы цепи
поставок.
1.3 Постановка задачи
Рассмотрим цепь поставок (Рис. 1), состоящую из производителя,
склада и потребителя. Пусть у производителя есть возможность получать
информацию об уровне запасов на складе и сопоставлять ее с фактической
скоростью производства в фиксированные моменты времени. В эти моменты
производитель может менять стратегию производства (управлять величиной
выпуска), чтобы обеспечить ожидаемый уровень спроса и максимизировать
прибыль в конце периода планирования. Поскольку планируемый объем
спроса может отличаться от текущего, то производителю приходится
регулярно корректировать работу цепи. Будем считать, что управление
8
принадлежит классу кусочно-постоянных функций, то есть производитель
может менять объем выпуска в определенные моменты времени.
Таким образом, целью является нахождение оптимального выпуска
(управления
) в цепи, описываемой уравнением (1), обеспечивающего
ожидаемый уровень спроса, заданного ограничениями
(2)
и максимизирующего прибыль, описываемую
(3)
А так же проведение численных экспериментов для различных значений
параметров.
1.4 Формирование вспомогательной задачи оптимального
управления
Рассмотрим
определенными
(1)
с
постоянными
и
заранее
.Так как в уравнении присутствует возмущение
,
составим уравнение в отклонениях.
Для этого введем замену переменных:
,
,
.
И отнимем от уравнения
уравнение
.
9
Полученное уравнение
(4)
есть уравнение в отклонениях.
Итак, рассмотрим (2) с начальными условиями:
(5)
на заданном промежутке
.
Зададим класс допустимых управлений: отрезок
разобьем на
частей
точкой следующим образом:
–период квантования,
натуральное число. При этом будем
считать, что в полученные моменты времени поступает информация о
векторе состояний системы.
Ограниченную кусочно-постоянную функцию
назовем
дискретно - управляющим воздействием, если
(6)
И, кроме того,
.
Обозначим множество точек разбиения
.
Таким образом, можно сформулировать вспомогательную задачу
оптимального управления:
,
10
,
(7)
,
,
Решение данной задачи можно разбить на два последовательных шага:
cведение задачи оптимального управления к интервальной задаче
линейного программирования
решение задачи линейного программирования адаптивным методом
11
Глава 2. Методы
2.1 Сведение задачи оптимального управления к интервальной
задаче линейного программирования
Для начала сведем (7) к канонической задаче [4,5]: запишем решение
уравнения
в
(7),
используя
формулу
Коши
решения
линейного
],
(8)
дифференциального уравнения:
фундаментальная
линейной системы. Подставляя
матрица
соответствующей
однородной
в (8), получим:
(9)
Подставим формулу (9) в целевую функцию (7):
(10)
Так как первое слагаемое в (10) не зависит от управления, то целевая
функция (7) будет эквивалентна:
Поскольку
ищется в классе ограниченных кусочно-постоянных
функций, то:
(11)
Рассмотрим ограничение в задаче (7) с учетом (9), оно представится в виде
12
Вектор
является решением уравнения в (7) с
начальными условиями
при
. Тогда последнее
условие можно записать в виде
,
где
-мерный вектор
Аналогично:
(12)
Очевидно, что можно вычислить заранее интегралы по элементарным
промежуткам. Введем для них следующие обозначения:
(13)
(14)
где t
. Обозначим:
-мерный вектор, состоящий из
управлений (6);
N-мерный вектор,
составленный из (13);
матрица (m
),
составленная из (14).
Таким образом, получили следующую задачу:
(15)
13
Такая
задача
является
канонической
задачей
с
двухсторонними
ограничениями. Данную задачу легко свести к интервальной задаче
линейного программирования (ИЗЛП).
(16)
Переобозначим целевую функцию
качестве вектора
как
, в
в данном случае используется вектор управлений V. В
качестве полученной матрицы D используем матрицу A, а вектор
становятся равен основным ограничениям
. Прямые ограничения
остаются те же.
2.2 Адаптивный метод
Список терминов, используемых в этом разделе
План любой вектор
, удовлетворяющий ограничениям задачи линейного
программирования.
План
оптимальный, если на нем достигается максимальное значение
целевой функции
План
.
субоптимальный, если на нем выполняется неравенство
.
Пара {
опора
, состоящая из подмножеств
множества индексов строк и столбцов матрицы
Опора
называется пустой (
множеств
и
,
, где
из задачи (16).
, если она состоит из пустых
.
Для решения задачи (16) будем использовать адаптивный метод.
Данный метод является конечным, точным и релаксационным интервальным
14
методом. Именно эти факторы и были ключевыми при выборе данного
метода:
Конечность. Можно найти такое число
, что
Точность. Все последовательные приближения
.
точно соответствуют
ограничениям задачи.
Релаксационность. При остановке метода на любой итерации имеется
некоторая компенсация за проделанную работу.
Преимуществом данного метода также является то, что он направлен
на решение «ленточных» задач линейного программирования [10]. В данном
случае (16) имеет такой вид при большом числе отрезков разделения
исходного интервала
.
Конечной целью этого метода является нахождение - оптимального
либо субоптимального
планов задачи линейного программирования. Для
данной работы роль оптимального плана играет оптимальное управление.
Так как адаптивный итеративный, то он состоит из конечного числа шаговитераций, на каждой из которых находится новое приближение.
В
основе
метода
лежит
принцип
уменьшения
оценки
субоптимальности: каждую итерацию необходимо строить так, чтобы
каждый раз уменьшалась оценка субоптимальности
(17)
Адаптивный метод состоит из двух фаз:
на первой фазе адаптивного метода строится первое приближениеначальный план и опора
,
};
на второй фазе строятся последующие приближения {
,
},
k=1,2,3…
15
Каждая из фаз состоит из двух этапов: на первой фазе происходит
построение плана и опоры, вторая фаза состоит из замены плана и опоры для
уменьшения оценки субоптимальности.
Кратко изложим основные этапы адаптивного метода [6]:
A. Первая фаза адаптивного метода. Построение начального плана
Пусть
значение
j-й
компоненты
плана,
вычисленной
по
рекомендациям специалиста. Если такие рекомендации отсутствуют, то
значение i-й компоненты вектора затрат, полученной в
.
соответствии с рекомендациями специалиста. Если таковых нет, положим:
вектор невязок. Если
, то
вектор затрат на векторе ,
следовательно
Осталось
только
проверить
субоптимальность. Если
, то построим множества
его
на
,
,
Сформулируем задачу первой фазы:
(18)
Для задачи первой фазы начальным планом является совокупность
(
(19)
16
Итак, чтобы решить задачу (16), необходимо добавить к начальному
плану (19) опору и решить ее адаптивным методом. В итоге через конечное
число итераций получим оптимальный опорный план {(
этом
. При
следующие значения:
1.
; при этом задача (12) некорректна и не имеет планов;
2.
,
3.
,
не содержит индексов
;
(индексы искусственных переменных).
Во втором случае {
– опорный план и необходимо переходить
ко второй фазе.
Если же реализовал себя третий случай, то сформулируем буферную
задачу, которая поможет опоре
избавиться от индексов
,
—множество искусственных индексов, составляющие искусственные
индексы
компоненты
опоры
Решаем эту задачу с помощью второй фазы. На каждой итерации из
опоры будет удаляться один искусственный индекс. В результате получится
план (
и опора без искусственных индексов. Этот план и опору
используем в качестве начальных на второй фазе.
В. Первая фаза адаптивного метода. Построение начальной опоры
17
Как и при построении начального плана, так и при построении
начальной опоры можно использовать опыт эксперта. Выделяем
на
элементах которого основные ограничения задачи (16) по мнению эксперта
активны на оптимальном плане.
подмножество
. Из множества J выделяем
=
некритических
индексов:
выравниваем
количество элементов выделенных множеств.
Также в качестве начальной опоры можно взять пустую опору.
С. Вторая фаза адаптивного метода. Процедура замены плана.
Новый план
строится из старого плана x по правилу
,
где -вектор
число
l
направление плана
шаг вдоль направления l,
.
допустимое направление в точке x отноcительно множества X, если
существует такое число
>0, что
,
]
Для уменьшения (17) направление l должно быть выбрано так, чтобы
выполнялось неравенство
. Множество допустимых направлений,
удовлетворяющих этому неравенству, называют подходящим. Обозначим
такое множество
.
В качестве l для быстрого уменьшения оценки субоптимальности
разумно взять вектор
, вдоль которого скорость изменения целевой
функции максимальна.
=
,где N-компакт
(20)
Множество N называется нормировочным множеством. Для его выбора
используем
задачу
(16)
и
положим,
что
18
оптимальное
полученной
нормировочное
задачи
множество.
Для
облегчения
решения
уберем неопорные основные ограничения
и опорные прямые ограничения
заменим
и
. Тогда задача (16) примет вид:
(21)
Для вычисления адаптивного направления
, полученного как
решение задачи (21) воспользуемся формулой
, где
псевдоплан.
Найдем максимально допустимый шаг
Пусть
:
max , при котором выполняются прямые ограничения;
max , при котором выполняются основные ограничения;
max
при котором нарушается j-e прямое ограничение;
max
при котором нарушается i-e основное ограничение;
(22)
(23)
19
. Таким образом, новый план получается в виде
.
При этом оценка субоптимальности нового плана равна:
В случае
, что означает, что новый план
Если
, то
-оптимальный план.
необходимо перейти к процедуре замены опоры.
D. Вторая фаза адаптивного метода. Процедура замены опоры
Замена опоры проводится согласно следующей схеме:
, где
сопровождающий двойственный план. Следуя (17),
необходимо строить двойственный сопровождающий план так, чтобы
двойственная целевая функция уменьшалась: ψ(
ψ(
Для этого построим кусочно-линейную непрерывную ломаную линию
λ(σ), σ>0, которая начинается в (0)=
и ее угловые точки представляют
собой сопровождающие двойственные планы
Построение ломаной λ(σ) начинается с направления
.
при движении вдоль
которого двойственная целевая функция убывает.
Итак, после замены плана шаг
равен либо
, либо
Рассмотрим эти случая отдельно:
1)Пусть
направление
λ(σ)=
. Для построения
вектора потенциалов
необходимо построить
Для первого звена ломанной
для начала зададим неопорную компоненту
20
,
вектор псевдозатрат [6].
Если опора
-пустая, то полагаем, что
. Зная
построим
(24)
где
Если опора
-пустая, то полагаем, что
=
,
,
вектор оценок [6].
=
Если
=
то
2) Рассмотрим случай
, который возможен только в
случае непустой опоры. Для построения направления
направление
определим
изменения опорной компоненты вектора оценок:
единичный орт
(25)
(26)
21
При этом
,
где
(27)
.
Далее рассмотрим вычисление короткого двойственного шага. При
движении вдоль
скорость изменения целевой функции когда-то
изменится. Закон поведения функции
иδ
зависит от поведения функций
. Найдем максимальный отрезок [0,
, на котором
сохраняют свои первоначальные знаки. Число
и
короткий двойственный
шаг.
1. Рассмотрим первый случай
Из (24) следует, что функции
значениях σ
сохраняют знаки при любых
. Рассмотрим
при котором
при
. Пусть
значение σ,
меняет знак. Тогда
(28)
Обозначим
индекс той компоненты
которая первой меняет знак.
Тогда:
(29)
При пустой опоре
предполагается, что
. В таком случае
.
Аналогично для функций
знак могут только
по построению
, то есть менять
. Тогда
22
(30)
(31)
Следовательно, если опора непустая, то
. При пустой опоре
2. Рассмотрим второй случай
, он возможен только если
.
Из (27) следует, что при
значениях σ
функции
. Тогда вычисление
сохраняют знаки при любых
,
при
происходит по
формулам (28), (29).
Функции
не меняют знаки. Для подсчета
справедливы формулы (30), (31)
Из этого следует, что при замене опоры справедливы четыре случая:
1.
2.
3.
4.
При этом, если опора непустая, то возможна реализация только второго
случая. Построим новую опору
1)
, где
2)
, где
для каждого из этих случаев:
,
,
. В этом случае размер
на единицу больше размера
3)
, где
,
. В этом случае размер
на единицу меньше размера
23
, где
4)
,
.
Оценка субоптимальности на новом опорном плане равна:
При
адаптивный метод заканчивает свою работу. Если же
, то происходит переход к новой итерации.
2.3 Алгоритм работы
1. Сведение вспомогательной задачи оптимального управления (7) с
начальным условием
к канонической задаче линейного
программирования.
2. Преобразование
канонической
задачи
в
интервальную
задачу
линейного программирования (ЛП).
3. Решение интервальной задачи ЛП адаптивным методом. В результате
решения определяется оптимальное управление
на промежутке
.
4. Замыкание
нелинейного
полученным управлением
дифференциального
уравнения
(4)
.
5. Получение нового реального условия в момент времени
.
6. Возвращение к шагу 1, с той лишь разницей, что вместо
берется новое
.
Данный цикл повторяется до того момента, пока не определятся все
оставшиеся
на промежутках [
.
24
Глава 3. Программная реализация
Для реализации был выбран пакет прикладных программ MATLAB,
поскольку данный пакет содержит в себе встроенный инструментарий для
работы с матрицами, дифференциальными уравнениями и обработкой
данных, включая построение графиков [11]. Использование MATLAB для
данной задачи позволяет сократить временные ресурсы за счет встроенных
функций [12].
Программная реализация содержит в себе три файла- основной скрипт
Main.m и две функции Optimal_control.m и Adaptivny_method.m. В функции
Optimal_control.m описано сведение задачи оптимального управления к
задаче ЛП. Входными параметрами для этой функции являются матрицы
, начальное условие
начальный и конечный моменты времени
вектора
, период квантования
и
На выход функция возвращает
, а также матрицу .
Adaptivny_method.m-фунция, позволяющая решить задачу линейного
программирования адаптивным методом. В качестве входных параметров
функция принимает следующие значения: матрицу
план ,
, ,
вектора -начальный
-индексы опоры. На выход функция возвращает -новый
план.
В основном скрипте Main.m запускается алгоритм, включающий цикл
нахождения оптимального управления на каждом отрезке
.
Нелинейное дифференциальное уравнение (4) решается с применением
встроенной функцией ode45. Для решения данная функция использует
формулы Рунге-Кутты 4-го и 5-го порядка.
25
3.1 Примеры
Пример № 1. Входные параметры для примера № 1 приведены в Таблице 1.
Входные
параметры для
функции
-0.6
0
Optimal_control
Входные
параметры для
функции
0.691
-1.45
0
2
1
Adaptivny_meth
0.718
1.437
0
0.686
-1.449
1
-2.361
0.8
0
od
Параметры
q
уравнения (4)
0.2
0.5
0
0
Таблица 1
Результат решения задачи (7) приведен на Рис. 2:
Рис. 2 Оптимальное управление
в примере №1
26
Пример №2. Входные параметры для примера №2 приведены в Таблице 2.
Входные
параметры для
функции
2.6
0
Optimal_control
Входные
параметры для
функции
-1.113
Adaptivny_meth
-1.025
16.15
0
2
0
1
od
-0.946
0.624
0
-0.876
0.574
2
-0.8143
0.529
0
-0.758
0.489
0
Параметры
q
уравнения (4)
2
0.5
1
0
Таблица 2
Результаты решения задачи (7) с входными параметрами из Таблицы 2
приведены на Рис 3.
27
Рис 3. Оптимальное управление
в примере №2
28
Заключение. Выводы
Здесь было проведено моделирование работы выбранной цепи
поставок
и
найдено
оптимальное
управление
(желаемая
скорость
производства) на заранее определенных промежутках времени. Данное
моделирование проведено для помощи производителю в решении об
объемах продукции, которую необходимо выпускать, чтобы обеспечить
ожидаемый спрос, а также максимизировать прибыль производства.
Таким образом, в данной работе были получены следующие
результаты:
1. выбрана математическая модель цепи поставок;
2. изучены методы теории управления для нахождения оптимального
управления;
3. проведено компьютерное моделирование данной модели с помощью
изученных методов;
4. сделаны численные эксперименты.
В дальнейшем планируется расширить исходную модель до двух
продуктов
производства
и
сравнить
результаты
моделирования
с
результатами, полученными использованием других методов нахождения
оптимального управления.
29
Список литературы
1. SCM.// Wikipedia URL:
https://en.wikipedia.org/wiki/Supply_chain_management
2.Иванов Д. А. Управление цепями поставок. СПБ: Изд-во Политехн. ун-та,
2009. 660 с.
3. Прасолов А.В. Структурная оптимизация цепочки снабжения // 4я
международная конференция "Государство и бизнес", 2012. С.176–186
4. Балашевич Н. В., Габасов Р., Кириллова Ф. М. Вычисление оптимальных
программы и управления в линейной задаче с фазовым ограничением//
Журнал вычислительной математики и математической физики, 2005. Т. 45.
С. 2112-2130
5. Габасов Р., Кириллова Ф.М., Ружицкая Е.А. Демпфирование и
стабилизация маятника при больших начальных возмущениях // Известия
Академии наук. Сер. Теория и системы управления. 2001. №1. С. 29-38
6. Альсевич В. В., Габасов Р., Глушенков В. С. Оптимизация линейных
экономических моделей: Статистические задачи: Учеб. Пособие. М.: БГУ,
2000. 210 с
7. Bukhari F. Adaptive Control of a Production-Inventory Model with Uncertain
Deterioration Rate//Applied Mathematics, 2011, Vol. 2, P. 1170-1174
8. Benhadid Y., Tadj L., Bounkhel M. Optimal Control Of Production Inventory
Systems With Deteriorating Items And Dynamic Costs// Applied Mathematics ENotes, 2008, P. 194-202
9. Perea E., Grossmann I., Ydstie E., Tahmassebi T. Dynamic modeling and
classical control theory for supply chain management// Computers and Chemical
Engineering, 2000, P. 1143-1149
30
10. Габасов Р., Кириллова Ф. М. Методы линейного программирования часть
3. Специальные задачи. М.: Книжный дом «ЛИБРОКОМ», 2010. 368 с.
11. MATLAB// mathworks URL:
http://www.mathworks.com/help/matlab/index.html
12. Chapman J. S. MATLAB programming for Engineers, USA, 2008
31
Приложение
1. Функция Optimal_control
function [cvolna, D, g_sh]=Optimal_control(X1,A,c,b,g,tstart,tend,N,H,h)
Y=@(t)expm(A*t);% фундаментальная матрица Y
Y1=@(t)expm(A*(-t));% обратная фундаментальная матрица Y
func=@(t)(c*Y(tend)*Y1(t)*b);
func1=@(t)(H*Y(tend)*Y1(t)*b);
cvolna = zeros(0,N);
for i=1:N % Расчет вектора cvolna
cvolna(i)=integral(func, tstart+(i-1)*h, tstart+i*h, 'ArrayValued',true);
% по формуле 13
end
for i=1:N % Расчет матрицы D по формуле 14
sup = integral(func1, tstart+(i-1)*h, tstart+i*h, 'ArrayValued',true);
D(:,i)=sup;
end
g_sh=g-H*Y(tend)*Y(0)*X1 %вычисление g0
end
32
Отзывы:
Авторизуйтесь, чтобы оставить отзыв