Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
дискретная оптимизация.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
436.96 Кб
Скачать

Оптимизация с дискретным временем

1. Динамическое программирование

Система наблюдается в моментах времени

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

, (1)

где – заданная функция.

Предположим, что выбраны величины . Тогда, начиная с ), далее получим ) и т.д.

Таким образом, каждому выбору управлений соответствует свой путь (или график).

Пусть имеется функция такая, что польза от выбранного пути есть сумма:

(*)

Эта сумма носит название целевой функции.

Иногда вместо пишут .

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

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

Задача, в краткой формулировке, записывается так:

найти

при условиях , задано, (2).

Рассмотрим пример реальной задачи, которая решается по изложенной выше схеме.

Пусть средства в момент В каждый момент пусть часть, используемая для потребления, – часть для сбережения. Средства можно употребить в дело с уровнем прироста . После изъятия ко личества средств , остаток средств идёт в дело . При этом, с учётом прироста, получаем .

Пусть польза от потребления равна .

Пусть функция возрастает и выпукла вверх по .

Вся полученная польза равна:

Итак, решается задача:

Найти при условиях

задано, , .

2. Свойства целевой функции.

Пусть при система имеет значение x. Наилучшее, что можно сделать в оставшийся период – выбрать (следовательно, ) так, чтобы максимизировать при .

Назовем оптимальной целевой функцией для этой задачи в момент s.

(3)

где , , , (4)

Управления, максимизирующие (3) при условиях (4), зависят от х. В частности, зависит от х.

Управления, зависящие от состояния системы назовем политиками.

Если мы напишем для каждого политику, то мы тем самым решили задачу (2)

Рассмотрим важное свойство целевой функции. При имеем

.

Пусть при система в состоянии . При выборе при получен выигрыш , при этом система окажется в состоянии

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

Следовательно, наилучшим выбором для будет то, которое максимизирует сумму

Теорема: Пусть обозначает целевую функцию в момент

, ,

для задачи найти:

(5)

при условиях , – задано,

Тогда удовлетворяет уравнениям

(6)

(7)

Замечание: Разумеется значения выбираются среди решений разностного уравнения (1) при фиксированном и возможных выборах .

Обычно эта теорема используется так: ищем функцию (7).

Максимизируются значение U*T (x). Следующий шаг – используя (6) найти JT-1(x) и соответствующую W*T-1(x). Действуя аналогично, находим все JT (x), JT-1(x),….,J0(x) и соответствующие U*T(x), U*T-1(x),…,U*0(x).

Это позволяет построить решение исходной задачи оптимизации.

Пример.

Рассмотрим задачу найти:

max , при условиях , t=0, 1, 2, , .

Здесь T=3, f(t,x,u)=1+x-u2 , g(t,x,u)=x+u.

Из (7) при T=3получаем, что J3(x) представляет собой наибольшее значение функции , .

Оно получается при u=0, т.е. J3(x)=1+x, .

При s=2 функция максимизируется, обозначим ее h2(u)=1+x-u2+J3(x+u)

Так как J3(x)=1+x, J3(x+u)=1+(x+u) и h2(u)=1+x-u2+1+x+u=2+2x+u-u2; h2’(u)=1-2u, h2’(u)=0, u=1/2, h2(u) выпукла вверх, то u, u2*(x)=1/2, J2(x)=h2(u2*(x))=2+2x+1/2-1/4=2x+9/4.

При s=1 мы максимизирует функцию h1(u)=1+x-u2+2(x+u)+9/4=3x+2u-u2+13/4

h1’(u)=2-2u; h1’(u)=0, u=1.

Находим u1*(x)=1 и J1(x)=3x+2-1+13/4=3x+17/4.

При s=0 максимизируется функция

.

Укажем оптимальные значения состояния системы:

Оптимальное значение целевой функции:

.

В простых случаях, подобных рассмотренному, задача динамической оптимизации допускает решение с использованием обычных методов анализа.

Полагая в уравнении

последовательно получаем

Таким образом, максимизация целевой функции равна

- матрица 2 дифференциала

По критерию Сильвестра второй дифференциал – отрицательно определенная форма следовательно получаем тоже максимум

Подобный подход возможен в любой задаче, но он слабо реализуем при больших T.

Рассмотрим еще одну задачу :

Найти

max

при условии

Поскольку и для t выполняется неравенство

Далее , независимо от u , и поэтому и любое решение оптимальнее

Уравнение (1) при S=T-1 дает

Первая производная по u функции равна

,

1+ux=3/2, ux=1/2.

При этом .

Итак, ( )

Рассмотрим уравнение (6) при

Снова получаем

,

при этом

Очевидно, что далее, продолжая процесс, получим

Подстановка в разностное уравнение дает =

При этом .

Примечание

Теорема справедлива и в том случае, когда область управления не фиксирована, но зависит от и , . Тогда максимизация в (2), (3), (5) выполняется при . В (6)(стр. 7),(7)(стр. 7) максимизациявыполняется при и , соответственно.

Часть множеств задается набором неравенств .

Если - пустое множество, то принимается соглашение, по которому максимум взят по этому множеству равен - .

Рассмотрим задачу, в которой

= ( - ), > 0, - заданные положительные числа

β = , r – уровень дисконтирования, 0 < < , γ (0, 1), A>0

Ищется

max ( + ) (I)

В соответствии со сделанным замечанием, = (0, x)

f(t, x, u) = , t = 0, 1, … T-1

f(T, x, u) = - эта функция от u не зависит, и ее максимум, равный совпадает с ней самой, = (II), и любое = (0, x) – оптимальное.

Из (6) получаем

= + (x-u))] (III)

При s = T-1

= + ] (IV),

так как

(x-u)) =

Для обозначим

g(u) = +

Тогда g’(u) = (1-γ) + (1-γ)(-1)

g’(u) =0  = (-1)

=

= 1 + = (V)

u =

так как g’(u) = (1-γ)(-γ) + (1-γ)(-γ) , < 0,

поэтому максимизирует g(u)

g ( ) = + β A =

= + = (1 + β A ( -1)) =

β A =

= (1 + -1) = (VI)

Тогда ввиду (IV), (VI) (в (VI) вычитаем max y(u), подставляем в (IV))

(x) =

Отметим, что имеет тот же вид, что и

Для s= T-2

(x) =

По аналогии со сделанным выше находим, что максимум достигается при = u = , где = 1+ и где (x) =

Продолжая аналогично, находим для любого t

(x) = , где = A, а для при t<T имеем

= 1+ = 1 +

Оптимальное управление:

(x) = , t<T

Для нахождения оптимальных подставляем эти значения в рекурсивное уравнение

Предположим что для всех t тогда

линейное уравнение первого порядка с постоянным коэффициентом

=

См раздел 14 страница 1