Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга Кошелева.doc
Скачиваний:
28
Добавлен:
22.12.2018
Размер:
1.17 Mб
Скачать

Примеры задач линейного программирования.

  1. Задача об использовании ресурсов (планирования производства).

Для изготовления двух видов продукции диетического питания Р1 и Р2 используют четыре вида ресурсов S1, S2, S3, S4. Запасы ресурсов, число единиц ресурсов, затрачиваемых на изготовление единицы продукции, приведены в таблице 1.

Таблица 1.

Вид ресурса

Запас ресурса

Число единиц ресурсов, затрачиваемых на изготовление единицы продукции

P1

P2

S1

18

1

3

S2

16

2

1

S3

5

1

S4

21

3

Прибыль, получаемая от реализации единиц продукции диетического питания Р1 и Р2 – соответственно 2 и 3 рубля.

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

Решение.

Составим математическую модель задачи. Обозначим Х1 и Х2 – число единиц продукции соответственно Р1 и Р2, запланированных к производству. Для их изготовления, согласно таблицы 1, потребуется (1х1 + 3х2) единиц ресурса S1, (2х1 + 1х2) единиц ресурса S2, (1х2)единиц ресурса S3 и 3х1, единиц ресурса S4.

Т.к. потребление ресурсов S1, S2, S3, S4 не должно превышать их запасов, соответственно 18, 16, 5 и 21 единицы, то связь между потреблением ресурсов и их запасами выражается системой неравенств:

х1 + 3 х2 ≤ 18;

1 + х2 ≤ 16; (1)

х2 ≤ 5;

1 ≤ 21.

По смыслу задачи переменные

х1 ≤ 0; х2 ≥0. (2)

Суммарная прибыль F составит 2х1, от реализации продукции Р1 и 3х2 – от реализации продукции Р2, т.к.

F = 2х1 + 3х2 (3)

Итак, экономико-математическая модель задачи: найти такой ??? выпуска продукции Х = (х1, х2), удовлетворяющий системе (1), условию (2), при котором (3) примет максимальное значение.

Задачу можно обобщить на случай выпуска "n" видов диетпродуктов с использованием "m" видов ресурсов. Обозначим хj (j = 1, 2, 3, …, n) – число единиц диет продукции Рj запланированной к производству; bi (i = 1, 2, 3, …, m) – запасы ресурса Si; aij – число единиц ресурса Si, затрачиваемое на изготовление единицы продукции Pj (aij – технологические конфликты); Сj – прибыль от реализации единицы продукции Рj. Тогда экономико-математическая модель задачи об использовании ресурсов в общей постановке примет вид: найти такой план Х = (х1, х2, …,хn) выпуска продукции, удовлетворяющий системе

а11х1 + а12х2 + … + а1nхn ≤ b1,

а21х1 + а22х2 + … + а2nхn ≤ b2,

…………………………….. (4)

аm1х1 + аm2х2 + … + аmnхn ≤ bm

и условию

х1 ≥ 0, х2 ≥ 0, …, хn ≥ 0, (5)

при котором функция

F = с1х1 + с2х2 + … + сnхn (6)

примет максимальное значение.

  1. Задача об оптимальной рецептуре детского питания.

Имеется два вида детского питания I и II, содержащее витамины S1; S2; S3. Содержание числа единиц витаминов в 1 кг каждого вида детского питания и необходимый минимум витаминов приведены в таблице 2 (цифры условные).

Стоимость 1 кг детского питания I и II соответственно равна 4 и 6 руб.

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

Решение.

Составим экономико-математическую модель задачи.

Обозначим х1 и х2 – количество продуктов I и II, входящих в дневной рацион детского питания. Этот рацион будет включать (3х1 + 1х2) единиц витамина S1; (1х1 + 2х2) единиц витамина S2; (1х1 + 6х2) единиц витамина S3. Так как содержание витаминов S1; S2; S3 в рационе должно быть не менее соответственно 9, 8, 12 единиц, то получим систему неравенств:

1 + х2 ≥ 9;

х1 + 2х2 ≥ 8; (7)

х1 + 6х2 ≥ 12.

Кроме того, переменные

х1 ≥ 0, х2 ≥ 0 (8)

Общая стоимость рациона составит (в руб.)

F = 4х1 + 6х2 (9)

Итак, экономико-математическая модель задачи: составить рецептуру дневного рациона детского питания Х = (х1, х2), удовлетворяющий системе (7) и условию (8), при котором функция (9) принимает максимальное значение.

Для формализации задачи в общей постановке обозначим: хj (j = 1, 2, …, n) – число единиц детского питания "n-го" вида; bi (i = 1, 2, 3, …, m), - необходимый минимум содержание в рецептуре питания витаминов Si; aij – число единиц витаминов Si в единице детского питания j-го вида; сj – стоимость единицы детского питания j-го вида. Тогда экономико-математическая модель задачи примет вид: найти такую рецептуру рациона детского питания Х = (х1, х2, …хn), удовлетворяющую системе

а11х1 + а12х2 + … + а1nхn ≥ b1,

а21х1 + а22х2 + … + а2nхn ≥ b2,

…………………………….. (10)

аm1х1 + аm2х2 + … + аmnхn ≥ bm

и условию

х1 ≥ 0, х2 ≥ 0, …, хn ≥ 0, (11)

при котором функция

F = с1х1 + с2х2 + … + сnхn (12)

принимает максимальное значение.

6.2.7.5. Модели нелинейного программирования.

Ниже в краткой форме представлены материалы:

  1. классические методы определения экстремумов:

  2. методы выпуклого программирования;

  3. модели динамического программирования.

А. Классические методы определения экстремумов.

Во многих задачах исследования операций зависимость между показателями (постепенными, переменными) являются нелинейными. В этих случаях возникают задачи нелинейного программирования. Можно выделить класс нелинейных задач, которые относятся к классическим методам оптимизации.

Допустим, что среди ограничений решения задачи нет неравенств, необязательны условия неотрицательности, переменные не являются дискретными, m < n, а функции φi (х) и f (х) непрерывны и имеют частные производные по крайней мере второго порядка. В этом случае, задачу оптимизации можно сформулировать так: найти переменные х1, х2, …хn удовлетворяющие системе уравнений

φi1, х2, …хn) = bi, i = 1, 2, …, m (1)

и образующая в максимум (минимум) целевую функцию

Z = f (х1, х2, …хn) (2)

Такие задачи можно решать классическими методами дифференцированного исчисления. При этом классические методы часто используются не в качестве вычислительного средства, а как основа для теоретического анализа.

Примером простой нелинейной задачи является следующая:

Пищевое предприятие для производства какого-то продукта использует два вида средств х1 и х2. Например: технологические аппараты и труд (факторы производства), а х1 и х2 затраты факторов производства. Величина затрат: работы ТА (машин) в соответствии с человеческим трудом могут быть больше или меньше. Это определяет производство как более или менее трудоемкое. Объем производства пищевых продуктов (выраженных в натуральных или стоимостных единицах) является функцией затрат производства Z = f (х1, х2). Эта зависимость называется производственной функцией. Издержки зависят от расхода х1 и х2 и от цен этих факторов (с1 и с2). Совокупные издержки выражаются формулой b = с1х1 + с2х2.

Требуется при данных совокупных издержках определить такое количество факторов производства, которые максимизирует объем продукции Z.

Математическая модель задачи имеет вид: определить такие величины переменных х1 и х2, которые бы удовлетворяли условиям

с1х1 + с2х2 = b; (3)

х1 ≥ 0, х2 ≥ 0,

при которых функция

Z = f (х1, х2) (4)

достигает максимума.

Как правило, функция (4) может иметь произвольный нелинейный вид.

Примечание: будем ???, что функция Z = f (х1, х2, …хn) = f (х) дважды дифференцируема в тоже , и в некоторой ее окрестности. Если для всех точек х этой окрестности f (x*) ≥ f (x), или f (x*) ≤ f (x), то говорят, что функция f (x) имеет экстремум х* (максимум или минимум). Точка х*, в которой все частные производные функции Z = f (х) равны "0", называются стационарной точкой.

Необходимое условие экстремума.

Если в точке х* функция Z = f (х) имеет экстремум, то частные производные функции в этой точке равны нулю:

, i = 1, 2, …, n.

Следовательно, точки экстремума функции Z = f (х) удовлетворяют системе уравнений:

(5)

Необходимое условие (как и для случая ??? переменной) не является достаточным для того, чтобы стационарная точка была точкой экстремума. Для получения достаточного условия следует определить в стационарной точке знак дифференциала второго порядка. Дифференциал второго порядка равен сумме произведений частных производных второго порядка на соответствующие приращения аргументов.

Если от частной производной найти частную производную по переменной хj, то получим частную производную второго порядка по переменным хi, хj, которая обозначается как в этом случае:

Итак, достаточное условие экстремума:

  1. в стационарной точке Х0 функция Z = f (х) имеет максимум, если d2 f (x0) < 0, минимум, если d2 f (x0) > 0, при любых Δхi и Δхj (в этих случаях Х0 = Х*), не обращаются в нуль одновременно.

  2. если d2 f (x0) может принимать в зависимости от Δхi и Δхj и положительные, и отрицательные значения, то в точке х0 экстремума нет.

Для функции двух переменных (производственной), когда Z = f (х1, х2) достаточные условия просты. Существует четыре частные производные второго порядка:

Из них две смешанные производные и , если являются непрерывными, то равны. Найдем значение частных производных второго порядка в стационарной точке :

; ; ; (можно убедиться, что а12 = а21). Обозначим через Δ определитель, составленный из аij для i, j = 1,2:

.

Тогда достаточные условия экстремума функции двух переменных имеют вид:

  1. если Δ > 0 и а11 < 0, (а22 < 0), то в точке х0 функция имеет максимум; если Δ > 0 и а11 > 0, (а22 > 0), то в точке х0 – минимум (в этом случае х0 = х*);

  2. если Δ < 0, то экстремума нет;

  3. если Δ = 0, то вопрос об экстремуме открыт.

Пример.

Исследовать на экстремум функцию:

.

Решение. Находим частные производные:

(6)

приравниваем их нулю:

(7)

решаем систему уравнений (7). Вычитаем из первого уравнение второе: , поэтому х1 = х2, тогда , откуда х1 = 0; или . Т.о. имеем три стационарные точки х1 = (0;0); х2 = (1;1); х3 = (-1; -1).

Найдем вторые частные производные, используя уравнение (6):

Вычислим значения вторых частных производных в каждой стационарной точке, составим определитель Δ и применим достаточные условия экстремума:

В точке Х' = (0; 0); а11 = -2; а12 = а21 = -2; а22 = -2;

Вопрос об экстремуме остался открытым, (такая точка называется седловой).

В точке Х2 = (1, 1), в точке Х3 = (-1, -1):

а11 = 10; а12 = а21 = -2; а22 = 10; .

Функция в этих точках имеет минимум, так как Δ > 0, а11 > 0, Zmin = -2.

Ф

Если область D замкнута и ограничена, то дифференцируемая функция Z = f (x) достигает в этой области своих наибольшего и наименьшего значений в стационарной точке, или в граничной точке области (теорема Вейерштрасса).

ункция Z = f (x) имеет в точке Х0 заданной области D глобальный максимум или глобальный минимум, если неравенство f (x) ≤ f (x0) или f (x) ≥ f (x0) соответственно выполняется для любой точке .

Б. Метод множителей Лагранжа.

Этот способ определения условного экстремума заключается в построении вспомогательной функции Лагранжа1, которая в области допустимых достигает максимума для тех же значений переменных х1, х2, …, хn, что и целевая функция Z.

Пусть решается задача определения условного экстремума функции Z = f (x) при ограничении

φi 1, х2, х3, …, хn) = 0; i =1, 2, 3, …, m, m < n.

составим функцию

(1 – 5)

которая называется функцией Лагранжа. Множителям Лагранжа можно придать экономический смысл. Если f (х1, х2, …, хn) – доход, соответствующий плану х = (х1, х2, х3, …, хn), и функция φi1, х2, …, хn) – издержки i-го ресурса, соответствующие этому плану, то λi – цена (оценка) i-го ресурса, характеризующая изменение экстремального значения целевой функции в зависимости от изменения размера i-го ресурса (??? оценка).

L (х) – функция n + m переменных (х1, х2, х3, …, хn, λ1, λ2, …, λm).

Определение стационарных точек этой функции приводит к решению системы уравнений:

(2)

в уравнения (2) входят уравнения связи:

Таким образом, задача нахождения условного экстремума функции Z = f (x) сводится к нахождению локального экстремума функции L (х). Если стационарная точка найдена, то существование экстремума определяется исследованием знака второго дифференциала d2 L (х) в стационарной точке при условии, что переменные приращения Δxj связаны соотношениями

i = 1, 2, 3, …, m (3)

полученными путем дифференцирования уравнений связи.

____________________________

1 Ж.Л. Лагранжа (1736 – 1813) – французский математик.

Пример.

Найти наибольшее и наименьшее значения функции при условии, что х1, х2, х3 удовлетворяют уравнению .

Решение.

Уравнение связи определяет в пространстве сферу единично радиуса с центром в начале координат (рис. 1 – 5).

Так как сфера – замкнутое ограниченное множество, то согласно теореме Вейерштрасса функция достигает на ней своего наибольшего и наименьшего значений.

Необходимо найти условный глобальный экстремум. Запишем уравнение связи в виде: . Составим функцию Лагранжа:

Найдем частные производные этой функции по х1, х2, х3, λ.

Приравняв частные производные к нулю, получим систему:

Решая систему, получим стационарные точки, в которых найдем значения функции Z:

  1. х1 = х2 = 0; х3 = ± 1 => Z = 0.

  2. х1 = 0; х2 = ± 1; х3 = 0 => Z = 0.

  3. х1 = ± 1; х2 = х3 = 0 => Z = 0.

  4. х1 = 0; х2 = х3 = => Z = .

  5. ; х2 = 0; х3 = => Z = 1.

  6. х1 = х2 = ; х3 = 0 => Z = .

Выберем из всех значений Z наибольшее и наименьшее: Zнаиб. = 1, а Zнаим. = 0. Легко видеть в каких точках сферы достигаются эти значения.

Если число переменных n = 2, нелинейные задачи можно решать геометрически. Ограничения должны быть записаны в виде неравенств.

φi1, х2) ≤ bi, i = 1, 2, …, m (4)

а целевая функция должна иметь вид:

Z = f (х1, х2) (5)

В. Модели выпуклого программирования.

Рассмотрим задачу нелинейного программирования при условии, что функции f и φi, (i = 1, 2, …, m) являются выпуклыми. Введем необходимые понятия.

Производной функции F (x) = F (x1, x2, …, xn) по направлению "l" в точке х называется предел

.

Направление "l" обычно задается вектором l = (l1, …, ln). Если функция F дифференцируема в точке Х, то она имеет в этой точке производную по любому направлению l, которая выражается через частные производные по формуле

(6)

где | l | - длина вектора "l", т.е. .

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

Градиентом функции F (x) = F (x1, x2, …, xn) называется вектор, проекциями которого на координатные оси служат соответствующие частные производные, т.е.

.

достигается тогда, когда направление "l" совпадает с направлением равна:

.

Таким образом, в каждой точке Х направление градиента является направлением наибольшего возрастания функции, а длина градиента равна наибольшей скорости возрастания функции в этой точке.

Пример.

Найти наибольшую скорость возрастания функции F = х1х2х3 + 2х3 в точке А (0; 1; 2) и определить характер изменения этой функции в точке А в направлении l = (1; -2; 2).

Решение.

Так как , то и (2, 0, 2). Т.о., наибольшая скорость возрастания функции в точке А равна . Далее . И Так как , то функция F в точке А в направлении "l" возрастает.

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

Общая схема решения задач математического программирования методами спуска состоит в построении последовательности

Х0, Х1, Х2, …, Хk (1)

решений системы ограничений данной задачи по следующему принципу: в качестве Х0 выбирается любая точка области решений и затем каждая последующая точка получается из предыдущей по формуле:

(2)

где - некоторое направление, т.е. вектор, а λ – число. При этом направление "l" и длина шага "λ" выбираются так, чтобы обеспечить сходимость последовательности (1) к оптимальному решению Х*. В общем случае процесс получения последовательных приближений Хk бесконечен (и тогда некоторое берется за приближенное значение оптимального решения Х*). Однако иногда процесс завершается за конечное число шагов, приводя к локальному, а в задачах выпуклого программирования и глобальному оптимуму. Находя производную по направление , мы определяем, является ли направление "l" невыгодным или выгодным в смысле приближения к оптимуму.

Пример.

В задаче выпуклого программирования (ВП) нужно найти минимум функции при ограничениях: х1 + х2 ≤ 5, х ≥ 0, х2 ≥0.

Взяв за Х0 точку (1; 1), проверить, приблизимся ли мы к оптимуму по направлению: а) l = (2; 1); б) l1 = (-2; 1).

Решение.

Несколько определений ВП: дважды дифференцируемая функция F (x) = F (x1, x2, …, xn) является выпуклой в том и только в том случае, когда

(3)

для любых х ∈ М и Δхi, Δхj, не обращающихся в нуль одновременно. Чтобы использовать это условие для определения выпуклости конкретной функции, часто применяют критерий Сильвестра (англ. математик, 1814 – 1897): условие (3) выполняется тогда и только тогда, когда неотрицательны все главные ??? Δk матрицы вторых частных производных, т.е. определители:

, , k = 1, …, n (4)

Если все Δk> 0, то неравенство (3) выполняется как строгое, и тогда функция F является строго выпуклой.

По критерию Сильвестра (4) убедимся, что функция Z является выпуклой при х1 ≥ 0, х2 ≥ 0.

Находим ; ; значит ; .

Отсюда, учитывая, что , по формуле (В – 6) получаем:

,

.

Таким образом, в направлении "l" функция Z убывает и по этому направлению мы приближаемся к оптимуму, а в направлении l1 функция возрастает, т.е. мы удаляемся от оптимума.

Так как направления градиента целевой функции является направлением ее наискорейшего роста, то при отыскании максимума вогнутой функции (минимума выпуклой) в качестве l часто берется и тогда формула (2) принимает вид

, если имеется Zmax (5)

или

, если имеется Zmin (6)

Методы спуска, в которых итерационная последовательность (1) находятся по формуле (5) или (6), называются градиентными. Друг от друга они отличаются способами выбора длины шага λ и алгоритмами нахождения xk+1. Если величина λ выбирается так, чтобы приращение функции ΔZ при перемещении из точки xk в точку xk+1 было наибольшим (при отыскании Zmax) или наименьшим (при отыскании Zmin), то градиентный метод называют методом скорейшего спуска, см. рис. 2.

РИСУНОК!!!!!!!

Перемещаемся из точки Х0 в направлении мы не должны в некоторый момент "проскочить" мимо точки Х1, в которой достигается искомый максимум.

Т.о. длина шага λ скорейшего спуска в формулах (5), (6) выбирается так, чтобы при этом λ достигался экстремум функции . При этом при нахождении точки хk+1 предыдущая точка хk считается уже известной, а Z (хk) и k) являются посторонними величинами, а функция ΔZ – функцией одной переменной λ.

Продифференцировав функцию ΔZ с учетом выражения хk+1 по формулам (5 и 6) и выражения градиента в точке хk, , получим, что необходимое условие экстремума примет вид:

(7)

Выражение (7) – более компактно, если использовать скалярное произведение векторов:

(8)

Для случая функции двух переменных метод скорейшего спуска имеет простую геометрическую интерпретацию. Для любого "k" луч, идущий от точки хk к точке хk+1, перпендикулярен к линии уровня функции Z, проходящей через точку хk (так как направлен по градиенту), и касается линии уровня, проходящей через точку хk+1 (т.к. ввиду условий [5, 6] он перпендикулярен к следующему лучу, который в свою очередь перпендикулярен к этой линии уровня). Таким образом, на плоскости скорейший спуск происходит по двум взаимно перпендикулярным направлениям, как показано на рис. 3.

РИСУНОК!!!!!!

Д. Общая постановка задачи динамического программирования, [ДП].

Динамическое программирование (ДП) – метод оптимизации, приспособленный к операциям, в которых процесс принятия решений может быть разбит на этапы (шаги). Такие операции называют многошаговыми. Начало развития ДП относится к 50-м годам ХХ в., оно связано с именем американского математика Р.Э. Беллмана.

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

Общая постановка задачи ДП.

В результате управления (объект управления), система S переводится из начального состояния S0 в состояние Ŝ, при этом процесс управления разбивается на "n" шагов, т.е. решение принимается последовательно на каждом шаге, а управления, переводящее систему S из начального состояния в конечное, представляет собой совокупность "n" пошаговых управлений.

Обозначим через хk управление на "k-м" шаге (k = 1, 2, 3, …, n). Переменные хk удовлетворяют некоторым ограничениям и называются допустимыми. хk может быть числом, точкой в k-мерном пространстве, качественным признаком.

Пусть х (х1, х2, …, хn) – управление, переводящее систему S из состояния S0 в состояние Ŝ, Sk – состояние системы после k-го шага управления. Получаем последовательность состояний S0, S1, …, Sk-1, Sk, …, Sn-1, Sn = Ŝ, которую изобразим окружностями на рис.1.

Показатель эффективности рассматриваемой управляемой операции – целевая функция – зависит от начального состояния и управления:

Z = F (S0, X) (1)

сделаем несколько предположений:

  1. Состояние Sk системы в конце "k-го" шага зависит только от предшествующего состояния Sk-1 и управление на "k-м" шаге Хk (и не зависит от остальных предшествующих состояний и управлений). Это называется отсутствием последействия. Сформулированное положение можно записать в виде уравнений:

Sk = φk (Sk-1, Хk); k = 1, 2, 3, …, n (2)

которое называют уравнением состояний.

  1. Целевая функция (1) является аддитивной от показателя эффективности каждого шага. Обозначим показатель эффективности k-го шага через

Zk = fk (Sk-1, Хk); k = 1, 2, 3, …, n (3)

тогда

(4)

Задача пошаговой оптимизации (задача ДП) формируется так: определить такое допустимое управление Х, переводящее систему S из состояния S0 в состояние Ŝ, при котором целевая функция (4) принимает наибольшее (наименьшее) значение.

Особенности ДП:

  1. Задача оптимизации интерпретируется как "k"-шаговый процесс управления.

  2. Целевая функция равна сумме целевых функций на каждом шаге.

  3. Выбор управления на k-ом шаге зависит только от состояния системы к этому шагу, не влияет на предыдущие шаги (нет обратной связи).

  4. Состояние Sk после k-го шага управления зависит только от предшествующего состояния Sk-1 и управления Хk (отсутствие последействия).

  5. На каждом шаге управление Хk зависит от конечного числа управляющих переменных, а состояние Sk – от конечного числа параметров.

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

Принцип оптимальности и управления Р. Беллмана.

Принцип оптимальности был сформулирован Р. Беллманом в 1953 году. Формулировка принципа Беллманн-Вентуель:

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

Р. Беллман показал, что основное требование – это то, что процесс должен быть без обратной связи, т.е. управление на данном шаге не оказывает влияние на предшествующие шаги. Поэтому решение на каждом шаге оказывается наилучшим сточки зрения управления в целом.

Управление Беллмана.

Введем ряд новых обозначений, которые нужно четко усвоить. На каждом шаге любого состояния системы Sk-1 решение Хk нужно выбирать с "оглядкой", т.к. этот выбор влияет на последующее состояния Sk и дальнейший процесс управления, зависящий от Sk. Это следует из принципа оптимальности. Но всегда есть один шаг, последний, который можно для любого состояния Sk-1 планировать локально-оптимально, исходя только из соображений этого шага.

Рассмотрим "n-й" шаг:

Sn-1 – состояние системы к началу "n" – шага;

Sn = Ŝ – конечное состояни;

Хn – управление на "n" – шаге;

Fn (Sn-1, Xn) – целевая функция "n"-го шага.

Согласно принципу оптимальности, Xn нужно выбрать так, чтобы для любых состояний Sn-1 получить максимум целевой функции на этом шаге.

Обозначим через максимум целевой функции – показателя эффективности "n"-го шага при условии, что к началу последнего шага система S была в произвольном состоянии Sk-1, а на последнем шаге управление было оптимальным.

называется условным максимум целевой функции на "n"-шаге. Очевидно, что:

(5)

Максимизация ведется по всем допустимым управлениям хk. Решение хn, при котором достигается , также зависит от Sn-1 и называется условным оптимальным управлением на "n"-м шаге. Оно обозначается через .

Решив одномерную задачу локальной оптимизации по управлению (5), найдем для всех возможных состояний Sn-1 две функции: и .

Рассмотрим теперь двухшаговую задачу: присоединим к "n"-му шагу (n-1), рис. 2.

Для любых состояний Sn-2, произвольных управлений Хn-1 и оптимальном управлении на "n" м шаге значение целевой функции на двух последних шагах равно:

(6)

Решение нужно выбирать так, чтобы оно вместе с оптимальным управлением на последнем (n-м) шаге приводило бы к максимуму целевой функции на двух последних шагах. Следовательно, нужно найти максимум выражения (6), по всем допустимым управлениям Хn-1. Максимум этой суммы зависит от Sn-2, обозначается через и называется условным максимумом целевой функции при оптимальном управлении на двух последних шагах.

Соответствующее управление Хn-1 на (n-1)-м шаге обозначается через и называется условным оптимальным управлением на (n-1)-м шаге.

(7)

выражение, стоящее в фигурных скобках (7), зависит только от Sn-2 и Хn-1, т.к. Sn-1 можно найти из уравнения (2) при k = n-1.

и подставить вместо Sn-1 в функцию .

В результате максимизации только на одной переменной Хn-1, согласно уравнению (7) вновь получается две функции:

и .

Если рассмотреть трехшаговую задачу, то к двум последним шагам присоединяется (n-2) и т.д.

Обозначим через условный максимум целевой функции, полученной при оптимальном управлении на (n-k+1) шагах, начиная с k-го до конца, при условии, что к началу k-го шага система находилась в состоянии Sk-1. Фактически эта функция равна:

Тогда

Рис. 3

Целевая функция на (n-k) шагах (рис.3) при произвольном управлении Хk на k-м шаге и оптимальном управлении на последующих (n-k) шагах равна

Согласно принципу оптимальности, Хk выбирают из условия максимума этой суммы:

Управление Хk на k-м шаге, при котором достигается максимум в (8), обозначается через и называется условным оптимальным управлением на k-м шаге. В правую часть уравнения (8) следует вместо Sk подставить выражение Sk = φk (Sk-1, Xk), найденное из уравнений состояния.

Уравнение (8) называют уравнением Беллмана. Это рекуррентные соотношения, позволяющие найти предыдущее значение функции, зная последующие. Если из (5) найти значение , то при k = n-1 из (8) можно определить, решив задачу максимизации для всех возможных значений Sn-2, выражения для и соответствующее . Далее, зная , находим, используя (5) и (8) называется условной оптимизацией, в результате которой получается две последовательности:

, , …, , - условные максимумы целевой функции на последнем, на двух последних, на …n шагах и

, , …, , - условные оптимальные управления на n-м, (n-1)-м, … "λ"-м шагах. Используя эти последовательности, можно найти решение задачи ДП при данных "n" и "S0".

- условный максимум целевой функции за "n" шагов при условии, что к началу 1-го шага система была в состоянии S0, т.е.

(9)

Далее необходимо использовать последовательность условных оптимальных управлений и уравнений состояний (2).

При фиксированном S0 получаем . Далее из уравнений (2) находим и подставляем это выражение в последовательность условных оптимальных управлений:

и т.д. по цепочке:

=>

→ … → =>

т.о. получаем оптимальные решение задачи ДП:

.

Стрелка → означают использование уравнений состояния,

стрелка => означает последовательность условных оптимальных управлений.

Г. Пример: Задача об оптимальном распределении ресурсов между предприятиями объединения па "n" лет.

Если все требования, предъявленные к задаче, решаемой методом ДП, выполнимы, то построение модели ДП и применение метода ДП для решения задачи сводится к следующим этапам:

Общая схема применения метода ДП

1.

Выбирают способ деления процесса управления на шаги.

2.

Определяют параметры состояния - Sk и переменные управления на каждом шаге - Хk.

3.

Записывают уравнения состояний.

4.

Вводят целевые функции "k"-го шага и суммируют целевую функцию.

5.

Рассматривают условные максимумы (минимумы) и условное оптимальное управление на “k”-м шаге: , k = n, n-1, …, 2, 1.

6.

Записываем основные для вычислительной схемы ДП уравнения Р. Беллмана для и , k = n-1, n-2, …, 2, 1.

7.

Решают последовательно уравнения Беллмана (условная оптимизация) и получают две последовательности функций:

и .

8.

После выполнения условной оптимизации получают оптимальное решение для конкретного начального состояния S0:

а) и

б) по цепочке оптимальное управление: .

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

Пример.

Планируется деятельность двух предприятий одного производственного объединения на "n" лет.

Начальные ресурсы S0. Средства Х, вложенные в первое предприятие в начале года, дают в конце года прибыль f1 (x) и возвращаются в размере q1 (x) < x; аналогично для второго предприятия функция прибыли f2 (x), а возврата q2 (x) < x. В конце года все возвращенные средства заново переопределяются между первым и вторым предприятиями. Новые средства не поступают.

Требуется распределить имеющиеся средства S0 между двумя предприятиями на "n" лет так, чтобы суммарная прибыль от обеих отраслей за "n" лет оказалась максимальной.

Необходимо:

а) построить модель ДП для задачи и вычислительную схему;

б) решить задачу при условии, что S0 = 10000 ед.;

Решение.

а) Процесс распределения средств между двумя предприятиями производственного объединения производится во времени. Решения принимаются в начале каждого года, осуществляется деление на шаги: номер шага – номер года. Управляемая система – два предприятия объединения "Молоко", и управление состоит в выделении средств каждому предприятию в очередном году. Параметры состояния к началу "k"-го года – Sk-1, (k = 1, 2,…,n) – количество средств, выделенных первому предприятию, и yk – второму предприятию. Так как все средства Sk-1 распределяются, то yk = Sk-1 – Xk, и поэтому управление на "k"-шаге зависит от одной переменной "Xk",

т.е. Xk (xk, Sk-1-xk)

Уравнение состояний

Sk = q1 (xk) + q2 (Sk-1-xk) (1)

Суммарный показатель эффективности "k"-го шага – прибыль, полученная в конце "k"-го года от обеих отраслей:

F1 (xk) + f2 (Sk-1-xk) (2)

Суммарный показатель эффективности – целевая функция задачиприбыль за "k" лет:

(3)

Пусть - условная оптимальная прибыль за [n-(k+1)] лет, начиная с "k"-го года до "n"-го года включительно, при условии, что имеющиеся на начало "k"-го года средства Sk-1 в дальнейшем распределились оптимально. Тогда оптимальная прибыль за "n" лет

.

Уравнения Беллмана имеют вид:

(4)

(5)

k = n-1, n-2, …, 2, 1.

б) Используем конкретные данные.

Уравнение состояний (1) примет вид:

Sk = 0,7xk+0,8 (Sk-1 – xk), или Sk = 0,8Sk-1 – 0,1xk (6)

Целевая функция k-го шага (2):

0,6xk + 0,5 (Sk-1 - xk) = 0,1xk + 0,5Sk-1

Целевая функция задачи:

(7)

Функциональные уравнения:

(8)

и

(9)

Проведем условную оптимизацию.

IV шаг. Используем уравнение (8). Обозначим через Z4 функцию, стоящую в скобках, Z4=0,1x4+0,5S3. Функция Z4 – линейная, возрастающая, так как угловой коэффициент 0,1 больше нуля. Поэтому максимум достигается на конце интервала {0,S3}, рис. 1. Следовательно, при .

III шаг. Уравнение: .

,

Найдем S3 из уравнений состояний (6): S3 = 0,8S2 - 0,1x3 и подставим в выражение .

Как и в предыдущем случае, максимум достигается при x3 = S2, т.е. при .

II шаг. Из уравнения состояния: S2= 08S1 - 0,1x2. Поэтому уравнение (8) при k = 2 примет вид: .

Линейная относительно х2 функция убывает на отрезке [0;S1], и поэтому ее максимум достигается при х2=0, рис.2:

при

I шаг. S1=0,8S0-0,1x1. Уравнение (δ) при к=1 имеет вид:

Как и в предыдущем случае, максимум достигается в начале отрезка, т.е.

при .

На этом условная определяющая заканчивается. Используя ее результат и исходные данные получаем , Zmax=15528, действительно:

; y*=S0=10000 (все средства выделены II-му предприятию)→

(все средства выделяются II-му предприятию)→

,

(все средства выделяются I-му предприятию)→

,

(все средства выделяются I-му предприятию).

Оптимальная прибыль за 4 года, полученная от двух предприятий производственного объединения «Молоко» при условии, что I-е предприятие получается по годам (0; 0; 6400; 4880), а II-е предприятие – соответственно (10000; 8000; 0; 0).