Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Степан / Математические методы в экономике.doc
Скачиваний:
111
Добавлен:
20.04.2015
Размер:
46.74 Mб
Скачать

Тема 2 Задачи нелинейной оптимизации и динамического программирования.

§2.1 Понятие о параметрическом и стохастическом программировании.

Параметрическое программирование.

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

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

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

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

Стохастическое программирование.

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

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

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

§2.2 Динамическое программирование. Принцип оптимальности Беллмана.

Динамическое программирование – метод оптимизации, приспособленный к операциям, в которых процесс принятия решения может быть на этапы. Такие операции называют многошаговыми.

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

Рассмотрим управляемы процесс, в результате управления система которого S переводится из начального состояния в состояние . Предполагается что управление можно разбить на n шагов, т.е. решение принимается последовательно на каждом шаге.

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

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

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

Состояние системы в конце k-го шага зависит только от предшествующего состояния и управления на k-ом шаге . Это утверждение можно записать в виде уравнений состояний

, (k=1,2,…n).

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

Общая формулировка задачи динамического программирования.

Определить такое допустимое управление Х, переводящее систему S из состояния в состояние , при котором целевая функция принимает оптимальное значение.

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

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

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

Рассмотрим последовательность задач, полагая последовательно n=1,2,… при различных s – одношаговую, двухшаговую и т.д. – используя принцип оптимальности.

Принцип оптимальности можно представить в виде уравнений Беллмана

, (4)

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

где n – общее количество шагов (расчет ведется, начиная с последнего шага); – состояние системы соответственно в конце (k-1)-го и k-го шагов. - условный максимум целевой функции, т.е. максимум выражения (4) при условии оптимального управления на n-k+1 шагах, начиная с k-го шага до конца, если к концу k-го шага система находилась в состоянии . - произвольное управление на k-ом шаге и оптимальном управлении на последующих n-k шагах. - показатель эффективности k-го шага.

Уравнения Беллмана (4) представляют рекуррентные соотношения, позволяющие найти предыдущее значение функции через последующие.

Пример.

Задача о распределении инвестиций между предприятиями.

Планируется деятельность четырех промышленных предприятий на очередной год. Начальные средства усл. ед. Размеры вложения в каждое предприятие кратны 1 усл.ед. Средства х, выделенные k-му предприятию (k=1,2,3,4) , приносят в конце года прибыль . Функции заданы таблично.

х

1

8

6

3

4

2

10

9

4

6

3

11

11

7

8

4

12

13

11

13

5

18

15

18

16

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

Решение.

Пусть: - количество средств, выделенных k-му предприятию.

и переменные х удовлетворяют ограничениям

, . Требуется найти переменные , удовлетворяющие последнему равенству и обращающие в максимум функцию Z.

Процесс распределения средств можно разбить на четыре шага, причем номер шага совпадает с номером предприятия. Выбор переменных - управление соответственно на I, II, III, IV шагах. -конечное состояние процесса распределения, оно должно быть равно нулю. Т.к. все средства должны быть вложены в производство.

Уравнения состояний , k=1,2,3,4 где – параметр состояния – количество средств, оставшихся после k-го шага, т.е. средства, которые остается распределить между оставшимися 4-k предприятиями.

Введем функцию - условную оптимальную прибыль, полученную от k-го, (k+1)-го,…, 4-го предприятий, если между ними распределялись оптимальным образом средства (). Допустимые управления на k-ом шаге удовлетворяют условию .

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

k=4, , ,

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

Шаг IV. В таблице исходных данных прибыли четвертого предприятия монотонно возрастают, поэтому все средства, оставшиеся к IV шагу, следует вложить в 4-е предприятие. При этом получим, для возможных значениях , и .

Шаг III. Делаем все предложения относительно остатка средств к III (т.е. после выбора ); может принимать значения 0,1,2,3,4,5 (например, , если все средства отданы 1-му и 2-му предприятиям, , если 1-е и 2-е предприятия ничего не получили и т.д.). В зависимости от этого выбираем , находим и сравниваем для разных при фиксированном значение суммы . Для каждого наибольшее из этих значений есть – условная оптимальная прибыль. Полученная при оптимальном распределении средств между 2-м и 4-м предприятиями. Оптимизация представлена в таблице при k=3.

Шаг II. Условная оптимизация приведена в таблице при k=2. Для всех возможных значений значения находятся в столбцах 8 и 9, первые слагаемые в столбце 7 – значения - взяты из таблицы в условии задачи, а вторые слагаемые из 5-го столбца таблицы, рассмотренной ниже при .

k=3

k=2

k=1

1

2

3

4

5

6

7

8

9

10

11

12

0

0

0

0

0

0

0

0

0

0

0

0

1

0

1

1

0

0+4=4

3+0=3

4

4

0

0

0+4=4

6+0=6

6

1

0+6=6

8+0=8

8

1

2

0

1

2

2

1

0

0+6=6

3+4=7

4+0=4

7

1

0+7=7

6+4=10

9+0=9

10

1

0+10=10

8+6=14

10+0=10

14

1

3

0

1

2

3

3

2

1

0

0+8=8

3+6=9

4+4=8

7+0=7

9

1

0+9=9

6+7=13

9+4=13

11+0=11

13

1

2

0+13=13

8+10=18

10+6=16

11+0=11

18

1

4

0

1

2

3

4

4

3

2

1

0

0+13=13

3+8=11

4+6=10

7+4=11

11+0=11

13

0

0+13=13

6+9=15

9+7=16

11+4=15

13+0=13

16

2

0+16==16

8+13=21

10+10=20

11+6=17

12+0=12

21

1

5

0

1

2

3

4

5

5

4

3

2

1

0

0+16=16

3+13=16

4+8=12

7+6=13

11+4=15

18+0=18

18

5

0+18=18

6+13=19

9+9=18

11+7=18

13+4=17

15+0=15

19

1

0+19=19

8+16=24

10+13=23

11+10=21

12+6=18

18+0=18

24

1

Шаг I.

При k=1 для . Условная оптимизация приведена в таблице.

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

Если , то , то.

Если , то , то.

Если , то , то.

Если , то , то.

Если , то , то.

Сравнивая полученные результаты получим

при .

Используя равенство получаем

, а ,

, а ,

, а , т.е. .

Максимум суммарной прибыли равен 24 усл. Ед. средств при условии, что первому предприятию выделена 1 усл.ед.; 2-му – 2 усл. ед.; 3-му – 1 усл. ед.; четвертому – 1 усл. ед.