ДИНАМИЧЕСКОЕ...

61
А.М. РОМАНОВСКАЯ М.В. МЕНДЗИВ ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ Учебное пособие Омск 2010

Transcript of ДИНАМИЧЕСКОЕ...

  • А.М. РОМАНОВСКАЯ

    М.В. МЕНДЗИВ

    ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ

    Учебное пособие

    Омск

    2010

  • 1

    МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

    ГОУ ВПО РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ТОРГОВО-ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

    ОМСКИЙ ИНСТИТУТ (ФИЛИАЛ)

    Омский государственный технический университет

    А.М. РОМАНОВСКАЯ

    М.В. МЕНДЗИВ

    ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ

    Учебное пособие

    Омск

    2010

  • 2

    ББК 22.183.47

    УДК 519.857

    Р 69

    Рецензенты:

    Алексеенко Е.Н., к.ф.-м.н.,доцент кафедры высшей математики

    Омского филиала ФГОУ ВПО Академии бюджета

    и казначейства Минфина России

    Стратилатова Е.Н.,к.ф.-м.н.,доцент кафедры «Математика

    и информатика» Омского института (филиала) РГТЭУ

    Романовская, Адель Матвеевна

    Р69 Динамическое программирование: Учебное пособие.

    Романовская А.М., Мендзив М.В.– Омск: Издатель

    Омский институт (филиал) РГТЭУ, 2010. – 58 с.

    ISBN 978-5-91892-030-5

    Приводится разработанная авторами методика изло-

    жения раздела «Динамическое программирование». Де-

    тально разобран ряд задач прикладного содержания.

    Предназначено для студентов технических и эконо-

    мических вузов, изучающих методы оптимизации.

    ISBN 978-5-91892-030-5

    ББК 22.183.47

    УДК 519.857

    © Романовская А.М., Мендзив М.В., 2010.

    © Омский институт (филиал) РГТЭУ, 2010.

  • 3

    ОГЛАВЛЕНИЕ

    Введение .................................................................................. 4

    §1. Управляемая динамическая система с дискретным

    временем .................................................................................. 6

    §2. Аддитивная целевая функция. Общая задача

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

    §3. Принцип оптимальности. Алгоритм решения задачи

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

    §4. Задача об оптимальном маршруте .............................. 11

    §5. Построение оптимальной последовательности

    операций в коммерческой деятельности ............................ 14

    §6. Выбор оптимального маршрута перевозки грузов ... 17

    §7. Задача об оптимальном распределении средств между

    предприятиями ...................................................................... 19

    §8. Двумерная модель распределения средств ................ 29

    §9. Оптимальная стратегия замены оборудования .......... 35

    §10. Задача о повышении надежности радиоэлектронной

    аппаратуры ............................................................................. 39

    Приложения ........................................................................... 48

    Задачи для самостоятельного решения ........................... 48

    Ответы ................................................................................ 55

    Задания для контрольной работы .................................... 56

    Литература ............................................................................. 58

  • 4

    ВВЕДЕНИЕ

    Широкий класс задач техники, экономики, для кото-

    рых применяются математические методы, – задачи опти-

    мизации. Приведем три примера.

    1. В распоряжении инженера, конструирующего ап-паратуру заданного назначения, имеется набор конструк-

    торских решений. Каждому варианту конструкторского

    решения отвечает определенное числовое значение показа-

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

    такое конструкторское решение, при котором показатель

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

    2. В распоряжении инженера, занимающегося произ-водством аппаратуры заданного назначения, имеется набор

    технологических решений. Каждому варианту техническо-

    го решения отвечает определенное числовое значение по-

    казателя качества (например, стоимость затрат). Требуется

    выбрать вариант, которому отвечает оптимальное значение

    показателя качества.

    3. В распоряжении планирующей организации име-ется набор вариантов распределения ресурсов между пред-

    приятиями. Требуется выбрать вариант, которому отвечает

    оптимальная суммарная прибыль от произведенной про-

    дукции.

    Многие задачи оптимизации вкладываются в сле-

    дующую общую схему.

    I. Имеется набор способов действий – допустимых управлений.

    II. Имеется целевая функция («прибыль», «убыток»)

    ),(uSS где u пробегает допустимые управления. Требу-

    ется выбрать управление, которому отвечает оптимальное

    значение целевой функции.

    Совокупность методов оптимизации называется ма-

    тематическим программированием. В данном пособии из-

  • 5

    ложен один из широко применяемых методов оптимиза-

    ции, разработанный в 50-е годы Р. Беллманом [1, 2], – ди-

    намическое программирование. Методика изложения от-

    личается от принятой в других руководствах [3, 6]. Вве-

    денный в самом начале язык динамических систем позво-

    ляет кратко и четко сформулировать постановку задачи,

    алгоритм решения. Детально разбирается ряд конкретных

    прикладных задач.

  • 6

    §1. Управляемая динамическая система с дискретным временем

    Пусть имеется объект, способный развиваться во

    времени, переходя от состояния к состоянию. Такой объект

    будем называть динамической системой. Множество всех

    возможных состояний динамической системы будем назы-

    вать пространством состояний динамической системы или

    фазовым пространством (фаза - состояние).

    Если смена состояний происходит в отдельные дис-

    кретные моменты времени, то динамическая система назы-

    вается динамической системой с дискретным временем.

    Далее будем рассматривать только такие системы, поэтому

    термин «с дискретным временем» опускаем. Моменты

    времени, в которые происходит смена состояний, будем

    обозначать

    0 1, , , ,nt t t .

    Предположим, что развитие динамической системы

    происходит следующим образом.

    1. В начальный момент времени 0t система находит-

    ся в фиксированном состоянии 0.

    2. Переход 1k k от состояния в момент 1kt к со-

    стоянию в момент kt (от 0t к 1,t от 1t к 2 ,t ...) осуществля-

    ется так.

    Имеется набор управлений (способов действий), ка-

    ждый из которых позволяет перейти от состояния 1k к

    одному из возможных состояний; обозначим это состояние

    ,k выбранное управление – ku (см. рис. 1), т.е. на каждом

    шаге указана связь:

    ),,( 1 kkk u (1)

  • 7

    Предполагается, что на каждом шаге 0 1[ , ],t t 1 2[ , ],t t

    свой набор управлений.

    После фиксированного числа n шагов развитие сис-

    темы прекращается («система выключается»).

    Набор состояний

    0 1, , , ,n (2)

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

    развития, будем называть траекторией. Подчеркнем, что

    начальное состояние 0 у всех траекторий одно и то же.

    Динамические системы такого класса будем называть

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

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

    Пусть имеется управляемая динамическая система.

    Предположим, что выбор той или иной траектории оцени-

    вается показателем качества (доходом, затратами) :S

    ).,,,( 21 nuuuSS

    Будем предполагать, что суммарный доход S равен

    сумме доходов на каждом шаге:

    ,21 nfffS (3)

    где kf доход на k-м шаге; kf зависит от состояния в на-

    чале k-го шага и выбранного на k-м шаге управления :ku

    ).,( 1 kkkk uff (4)

    n ku

    1k k 0

    0t 1kt kt nt t

    Рисунок 1

  • 8

    Подставляя (4) в (3), получим

    .),(1

    1

    n

    kkkk ufS (5)

    Функция (5) называется аддитивной целевой функцией.

    Задача динамического программирования ставится

    следующим образом.

    I. Имеется управляемая динамическая система, что означает:

    1) выделено конечное число n шагов; 2) на каждом шаге указаны все возможные состояния

    ),( k через которые проходит динамическая система, при-

    чем начальное состояние 0 фиксировано;

    3) на каждом шаге заданы управления ),( ku причем

    указана связь (1), по которой состояние к концу шага одно-

    значно определяется состоянием в начале шага и выбран-

    ном на этом шаге управлением.

    II. Задана аддитивная целевая функция, то есть на каждом шаге заданы доходы (затраты) для всех возможных

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

    и функция (5).

    Решить задачу динамического программирования оз-

    начает найти набор управлений nuuu ,,, 21 так, чтобы це-

    левая функция (5) достигла максимума:

    ?),,,(max; 21 nuuuS

    В случае, если показатель качества в (5) есть не до-

    ход, а затраты, целевая функция (5) минимизируется:

    ?),,,(min; 21 nuuuS

    Каждой траектории (2) динамической системы от-

    вечает определенное значение целевой функции (5). Тра-

    ектория, которой отвечает максимальное (минимальное)

    значение целевой функции, называется оптимальной

  • 9

    траекторией. Очевидно, задача динамического програм-

    мирования заключается в отыскании оптимальной траек-

    тории.

    §3. Принцип оптимальности. Алгоритм решения задачи динамического программирования

    Пусть имеется управляемая динамическая система и

    аддитивная целевая функция (5). Предположим, что к на-

    чалу k-го шага система оказалась в состоянии 1k (рис. 2).

    Оставшийся путь до конца система может проходить

    по различным траекториям в зависимости от выбора по-

    следующих управлений. Каждой траектории отвечает свой

    суммарный доход, т.е. доход на участке ].,1[ nk Обозна-

    чим этот доход через kS

    .1 nkkk fffS

    Тогда через )( 1*

    kkS обозначим максимальный суммар-

    ный доход, начиная с k-го шага и до конца, т.е. на участке

    1k

    n

    k

    k

    k

    k

    ku

    ku

    ku ku

    Рисунок 2

  • 10

    ],1[ nk и назовем его условным максимальным дохо-

    дом, очевидно, он зависит от состояния .1k Справедлива

    формула

    )},(),({max)( * 111*

    kkkkku

    kk SufSk

    (6)

    где максимум берется по всем возможным управлениям на

    k-м шаге, k состояние, в которое переходит система из

    состояния 1k под действием управления :ku

    ),,( 1 kkk u

    где ),( 1 kk u определяется (1).

    В самом деле, имеем

    ,)(),(max

    ]),([max),(max

    )(maxmax

    ][max)(

    ][

    }{

    ][

    *11

    11,,

    1

    1,,

    1,,,

    1*

    1

    1

    1

    kkkkku

    nkkkuu

    kkku

    nkkuuu

    nkkuuu

    kk

    Suf

    fufuf

    fff

    fffS

    k

    nkk

    nkk

    nkk

    что и требовалось.

    Доказано следующее утверждение.

    Теорема (принцип оптимальности). При построении

    оптимальной траектории нужно выбирать управление на

    каждом шаге так, чтобы доход на этом шаге плюс макси-

    мальный доход на последующих шагах был наибольшим.

    Управление, на котором реализуется максимум в (6),

    будем обозначать )( 1*

    kku и называть условным опти-

    мальным управлением на k-м шаге.

  • 11

    Доказанное правило лежит в основе алгоритма реше-

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

    из двух этапов.

    I этап (движение от конца к началу). Начиная с кон-

    ца последовательно находим

    );(),(;);(),();(),( 0*10

    *12

    *12

    *11

    *1

    * uSuSuS nnnnnnnn

    для всех возможных на соответствующих шагах состояний

    с использованием на каждом шаге, начиная с n-1-го, фор-

    мулы (6). *nS вычисляется непосредственно по формуле

    ).,(max)( 11*

    nnnu

    nn ufSn

    (7)

    II этап (движение от начала к концу). Двигаясь от

    начала, существенно используя закрепленность начального

    состояния, строим безусловную оптимальную траекторию

    Здесь )].(,[ * 1**

    1*

    kkkk u

    Далее рассмотрим примеры решения различных по

    своей природе задач, которые можно вложить в схему ди-

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

    §4. Задача об оптимальном маршруте

    Из всевозможных маршрутов, соединяющих точки A

    и B (рис. 3), выбрать тот, на котором сумма чисел («по-

    терь»), стоящих на звеньях, была бы наименьшей. Пункты,

    через которые может проходить маршрут, обозначены на

    рис. кружочками.

    0 *1

    *2 .

    *n

    )( 0*1 u )(

    *1

    *2 u

  • 12

    1316

    1116 12

    19

    14

    11 9 5 5

    17 7 310 4 3

    5

    9

    5

    1

    1

    34

    3

    7

    5 2

    8 6

    442

    7 10 2

    1

    A

    B

    0

    1

    2

    3 4 5 6

    Рисунок 3

    Данную задачу можно было бы решить, подсчитав

    суммарные потери на всех возможных маршрутах, и вы-

    брать тот, на котором эта потеря наименьшая. Очевидно,

    возможных маршрутов достаточно много. Покажем, что

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

    упрощает решение данной задачи.

    Вложим данную задачу в схему динамического про-

    граммирования.

    I. Строим управляемую динамическую систему:

    1) под первым шагом будем понимать переход сис-

    темы из кружка, соответствующего точке ,A в один из

    кружков, обведенных нижней пунктирной линией. Сле-

    дующий шаг – переход системы из одного из двух кружков

    в один из кружков, обведенных следующей пунктирной

    линией и т.д. Имеем конечное число 6n шагов;

  • 13

    2) под состояниями будем понимать кружки (пунк-ты), через которые проходит маршрут. Они заданы на каж-

    дом шаге, причем начальное состояние 0 фиксировано,

    соответствует одному кружку (точке A ). Конечным со-

    стоянием будет также единственный кружок, соответст-

    вующий точке ;B

    3) под управлением ku будем понимать выбор гори-

    зонтали ( ) или вертикали ( ). Из рис. 3 видно, что при

    выбранных состояниях и управлениях каждое состояние в

    начале k-го шага (k = 1, 2, 3, 4, 5, 6) и конкретное управле-

    ние на этом шаге однозначно определяет состояние к кон-

    цу k-го шага.

    II. Строим аддитивную целевую функцию.

    Под величиной затрат на каждом шаге будем пони-

    мать потери на соответствующих возможных переходах

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

    суммарные потери при переходе от 0 к ;6 очевидно,

    что они равны сумме потерь на каждом шаге, что озна-

    чает аддитивность целевой функции. Решить данную за-

    дачу означает найти набор управлений на каждом шаге,

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

    ?,,min 61 uuS

    Решение. Двигаясь последовательно от конца к на-

    чалу, записываем цифры в кружки – минимальные поте-

    ри на оставшейся части траектории до конца при усло-

    вии, что траектория проходит через данный кружок.

    Стрелки означают управление из данного кружка, при

    котором реализуется данная потеря, при этом сущест-

    венно используются цифры в кружках, полученные на

    предыдущих шагах.

  • 14

    9 5

    7

    4

    10 9 = min4 +

    10 +{ 7

    5

    Далее, двигаясь от начала к концу, существенно ис-

    пользовав закрепленность начального состояния, строим

    оптимальную траекторию. Число 16, стоящее в кружке,

    соответствующем начальному состоянию, равно мини-

    мальной потере, т.е. .16min S

    §5. Построение оптимальной последовательности операций в коммерческой деятельности

    Пусть на оптовую базу прибыло n машин с товаром

    для разгрузки и m машин для загрузки товаров, направ-

    ляемых в магазины. Материально ответственное лицо оп-

    товой базы осуществляет оформление документов по опе-

    рациям разгрузки или загрузки одной машины, а затем пе-

    реходит к обслуживанию другой машины. Издержки от

    операций обусловлены простоем транспорта, типом опера-

    ции (прием или отгрузка товара) и не зависит от конкрет-

    ной машины. Необходимо спланировать последователь-

    ность операций обоих видов таким образом, чтобы сум-

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

    машин были минимальными.

    Из условия следует, что состояние экономической

    системы характеризуется двумя параметрами: количеством

    принятых и оформленных машин по разгрузке товаров и

    количеством машин, отправляемых с товаром в магазины.

    Поэтому решение будем искать на плоскости ,XOY огра-

    ниченной прямоугольником, который является областью

  • 15

    допустимых состояний системы. Если по оси X отложить

    число n разгруженных машин, а по оси Y число m за-

    груженных товаром машин, то можно построить на плос-

    кости граф состояний процесса, в котором каждая вершина

    характеризует состояние операции приема и отгрузки то-

    вара на оптовой базе. Ребра означают выполнение работы

    по приему или отправке товара на очередной машине. Ка-

    ждому ребру можно сопоставить издержки, связанные с

    выполнением операции по разгрузке или загрузке машины.

    Очевидно, поставленная задача свелась к той же за-

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

    оптимальном маршруте, т.е. управляемая динамическая

    система и аддитивная целевая функция по смыслу совпа-

    дают. Рассмотрим конкретный пример.

    Пример. Пусть ,6n ,4m известны затраты по

    выполнению каждой операции, которые показаны на реб-

    рах графа (рис. 4). Точка 0S определяет начало процесса,

    точка 1S конечное состояние, соответствующее приему и

    отправке всех машин.

    Решение. Решаем данную задачу аналогично задаче об

    оптимальном маршруте (рис. 4). Минимальные издержки

    minF соответствуют следующей оптимальной траектории:

    )( 11233345660 SAABCDDDDES

    и равны: 88min F . Таким образом, в соответствии с реше-

    нием оптимальное управление процессом разгрузки и загруз-

    ки машин товаром состоит в следующем: на первом шаге сле-

    дует оформить документы по разгрузке одной машины, на

    втором – по загрузке одной машины, далее обслуживать три

    машины по разгрузке товара, три машины по загрузке и на по-

    следующих двух шагах оформить документы по разгрузке

    двух машин. При этом минимальные суммарные издержки по

    приему и отправке товаров для всех машин равны 88.

  • 16

    A6

    A5

    A4

    A3

    A2

    66

    14

    52

    13

    39

    12

    271

    017

    76

    87

    8B

    7B

    6B

    5B

    4B

    3

    251

    03

    41

    24

    613

    58

    12

    70 8

    78

    99

    C7

    C6

    C5

    C4

    C3

    D3

    D4

    D5

    D6

    D7

    69

    10

    59

    85

    19

    42

    834 1

    011

    910

    10

    78

    1167

    95

    87

    51

    744

    0

    A1

    S1

    98

    8

    10

    11

    B2

    B1

    1113

    918 1

    011

    C2

    C1

    D1

    E1

    D2

    E2

    E3

    E4

    E5

    E6

    10

    28

    12

    22 12

    11

    939

    1334 1

    414

    13

    121

    09

    11

    88

    12

    76

    116

    81

    06

    39

    57

    13

    53

    14

    48

    S0

    загр

    узк

    а m

    раз

    гру

    зка

    n

    01234

    01

    23

    45

    6

    Ри

    сун

    ок 4

  • 17

    §6. Выбор оптимального маршрута перевозки грузов

    Пусть транспортная сеть состоит из 10 узлов. На рис. 5 по-

    казаны сеть дорог и стоимость перевозки единицы груза

    между пунктами сети. Ребра являются вариантами воз-

    можного выбора решения. Необходимо определить мар-

    шрут доставки груза из пункта 1 в пункт 10, обеспечиваю-

    щий наименьшие транспортные расходы.

    1

    2

    5

    3

    4

    6

    7

    8

    9

    10

    7 86

    8

    4 6

    9

    75

    35

    6 10

    9 4

    11

    0

    1

    2

    3

    4

    Рисунок 5

    В задаче имеется ограничение – двигаться по изо-

    браженным на схеме маршрутам можно только слева на-

    право, т.е. попав, например, в пункт 8, мы имеем право пе-

    реместиться только в пункт 10 и не можем возвратиться

    обратно в 5-й или 6-й.

    Вложим данную задачу в схему динамического про-

    граммирования.

    I. Строим управляемую динамическую систему:

    1) под первым шагом будем понимать переход сис-темы из пункта 1 в один из пунктов 2, 3, 4. Под вторым

    шагом – переход системы из пунктов 2, 3, 4 в один из

    пунктов 5, 6 и т.д. Имеем конечное число 4n шагов;

    2) под состояниями будем понимать пункты, из кото-рых состоит транспортная сеть. Они, очевидно, заданы на

  • 18

    каждом шаге, причем начальное состояние 0 фиксирова-

    но, соответствует пункту 1;

    3) под управлением на каждом шаге будем понимать ребра, соединяющие соответствующие кружки данного

    шага. Из рис. 5 видно, что при выбранных состояниях и

    управлениях каждое состояние в начале k-го шага (k = 1, 2,

    3, 4) и конкретное управление на этом шаге однозначно

    определяет состояние к концу k-го шага.

    II. Строим аддитивную целевую функцию.

    Под величиной затрат на каждом шаге будем пони-

    мать стоимость перевозки единицы груза между пунктами

    сети. Они заданы для всех возможных состояний и всех

    возможных управлений. Тогда под целевой функцией бу-

    дем понимать суммарные стоимости перевозок при пере-

    ходе от 0 к ;4 очевидно, они равны сумме стоимостей

    перевозок на каждом шаге, что означает аддитивность це-

    левой функции. Решить данную задачу означает найти на-

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

    нимум целевой функции

    ?,,,min 4321 uuuuS

    Р е ш е н и е .

    1

    2

    5

    3

    4

    6

    7

    8

    9

    10

    7 86

    8

    4 6

    9

    75

    35

    6 10

    9 4

    11

    20

    19

    15

    9

    7

    12

    15

    21 11 Рисунок 6

    Двигаясь последовательно от конца к началу находим ми-

    нимальные потери из данного кружка и до конца при усло-

  • 19

    вии, что траектория проходит через данный кружок, и за-

    писываем их рядом с соответствующим кружком. Стрелки

    означают управление из данного кружка, при котором реа-

    лизуется данная потеря (см. рис. 6).

    Далее, двигаясь от начала к концу, существенно ис-

    пользуя закрепленность начального состояния, строим оп-

    тимальную траекторию.

    Таким образом, оптимальный маршрут доставки гру-

    за: 108631 (на рис. 6 он показан жирными

    стрелками). При этом минимальные затраты на перевозку

    груза из пункта 1 в пункт 10 равны 20, .20min S

    §7. Задача об оптимальном распределении средств между предприятиями

    Планируется распределение начальной суммы

    средств 0X между n предприятиями ,,,, 21 n при-

    чем средства выделяются только в размерах, кратных оп-

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

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

    средства x приносят доход ).(xfk

    Будем считать, что:

    1) доход, полученный от вложения средств в пред-приятие, не зависит от вложения средств в другие пред-

    приятия;

    2) доход, полученный от разных предприятий, выра-жается в одинаковых единицах;

    3) общий доход равен сумме доходов, полученных от распределения средств по всем предприятиям.

    Определить, какое количество надо выделить каж-

    дому предприятию, чтобы суммарный доход был макси-

    мальным.

  • 20

    Обозначим через kx количество средств, выделяе-

    мых предприятию k . Тогда математическая модель дан-

    ной задачи имеет вид:

    kxnnn xfxfxfxxxS max)()()(),,,( 221121

    при условиях

    ,021 Xxxx n

    где kx – натуральное, .,,2,1 nk

    Вложим сформулированную задачу в схему динами-

    ческого программирования. Для этого надо построить

    управляемую динамическую систему и показать, что целе-

    вая функция является аддитивной. Для этого введем искус-

    ственно дискретное время. Будем условно считать, что

    вначале выделяем средства предприятию 1 , затем

    n ,,2 . Тогда под k-м шагом будем понимать выделе-

    ние средств предприятию k . Получим n шагов.

    Под состоянием k будем понимать остаток денеж-

    ных средств по завершению k-го шага или их наличие к

    началу k+1-го шага.

    Под управлением на k-м шаге ku будем понимать ко-

    личество средств kx , выделяемых на k-м шаге (т.е. пред-

    приятию k ). Формулы (1) для нашей задачи имеют вид

    .,,2,1,1 nkukkk (8)

    Под величиной дохода на k-м шаге, очевидно, будем

    понимать заданные функции дохода )( kk uf , причем

    ,)(1

    n

    kkk ufS

    что означает аддитивность целевой функции.

  • 21

    Начальное и конечное состояния жестко закреплены,

    а именно:

    .0,00 nX

    Получили задачу динамического программирования,

    решить которую означает найти оптимальный набор

    управлений на каждом шаге, т.е. такой набор управлений

    **2

    *1 ,,, nuuu , на котором .maxS

    Теперь к решению задачи можно применить общую

    схему решения задачи динамического программирования.

    Формулы (6), (7) для нашей задачи имеют вид:

    ),()(max)( 10

    1*

    1

    nnnn

    unn fufS

    nn

    (9)

    .1,,2,1

    )],()([max)( 1*

    10

    1*

    1

    nk

    uSufS kkkkku

    kkkk

    (10)

    Здесь учтено соотношение (8), из которого также вы-

    текает ограничение на ku :

    .1,,2,1,0 1 nku kk

    Кроме того, очевидно, что .0 0Xk

    Рассмотрим конкретный числовой пример. Решить

    поставленную задачу по следующим данным:

    1) 2000 X млн. руб.; 2) 4n ; 3) средства выделя-

    ются только в размерах, кратных 40 млн. руб.; 4) функции

    дохода для каждого предприятия даны в табл. 1.

    Таблица 1

    х )(1 xf )(2 xf )(3 xf )(4 xf

    40

    80

    120

    160

    200

    8

    10

    11

    12

    18

    6

    9

    11

    13

    15

    3

    4

    7

    11

    18

    4

    6

    8

    13

    16

  • 22

    Решение.

    I этап. Находим )( 3*4 S , )( 2

    *3 S , )( 1

    *2 S , )( 0

    *1 S по

    формулам (9), (10) для всех возможных значений k (k = 1,

    2, 3). Согласно условию задачи, состояния k на любом

    шаге могут принимать одни и те же значения: 0, 40, 80,

    120, 160, 200.

    По формуле (9)

    ),()(max)( 34440

    3*4

    34

    fufSu

    т.е. из табл. 1 имеем значения, приведенные в табл. 2.

    Таблица 2

    3 )( 3*4 S )( 3

    *4 u

    0

    40

    80

    120

    160

    200

    0

    4

    6

    8

    13

    16

    0

    40

    80

    120

    160

    200

    Из формулы (10) при 3k

    )].()([max

    )]()([max)(

    32*433

    0

    3*433

    02

    *3

    23

    23

    uSuf

    SufS

    u

    u

    Полагая теперь последовательно 2 = 0, 40, 80, 120,

    160, 200, получаем:

    ;0)0()0()0( *43*3 SfS

    ;4303)0()40(

    440)40()0(max

    )40()([max)40(

    *43

    *43

    3*433

    400

    *3

    3

    Sf

    Sf

    uSufSu

  • 23

    ;7

    404)0()80(

    743)40()40(

    660)80()0(

    max

    )80()([max)80(

    *43

    *43

    *43

    3*433

    800

    *3

    3

    Sf

    Sf

    Sf

    uSufSu

    ;9

    707)0()120(

    844)40()80(

    963)80()40(

    880)120()0(

    max

    )120()([max)120(

    *43

    *43

    *43

    *43

    3*433

    1200

    *3

    3

    Sf

    Sf

    Sf

    Sf

    uSufSu

    ;13

    11011)0()160(

    1147)40()120(

    1064)80()80(

    1183)120()40(

    13130)160()0(

    max

    )160()([max)160(

    *43

    *43

    *43

    *43

    *43

    3*433

    1600

    *3

    3

    Sf

    Sf

    Sf

    Sf

    Sf

    uSufSu

  • 24

    .18

    18018)0()200(

    15411)40()160(

    1367)80()120(

    1284)120()80(

    16160)200()0(

    16133)160()40(

    max

    )200()([max)200(

    *43

    *43

    *43

    *43

    *43

    *43

    3*433

    2000

    *3

    3

    Sf

    Sf

    Sf

    Sf

    Sf

    Sf

    uSufSu

    Полученные значения запишем в табл. 3.

    Таблица 3

    2 )( 2*3 S )( 2

    *3 u

    0

    40

    80

    120

    160

    200

    0

    4

    7

    9

    13

    18

    0

    0

    40

    40

    0

    200

    Аналогично имеем 2k ;

    )];()([max

    )]()([max)(

    21*322

    0

    2*322

    01

    *2

    12

    12

    uSuf

    SufS

    u

    u

    ;000)0()0()0( *32*2 SfS

  • 25

    ;6

    606)0()40(

    440)40()0(max

    )40()([max)40(

    *32

    *32

    2*322

    400

    *2

    2

    Sf

    Sf

    uSufSu

    ;10

    909)0()80(

    1046)40()40(

    770)80()0(

    max

    )80()([max)80(

    *32

    *32

    *32

    2*322

    800

    *2

    2

    Sf

    Sf

    Sf

    uSufSu

    ;13

    11011)0()120(

    1349)40()80(

    1376)80()40(

    990)120()0(

    max

    )120()([max)120(

    *32

    *32

    *32

    *32

    2*322

    1200

    *2

    2

    Sf

    Sf

    Sf

    Sf

    uSufSu

  • 26

    ;16

    13013)0()160(

    15411)40()120(

    1679)80()80(

    1596)120()40(

    13130)160()0(

    max

    )160()([max)160(

    *32

    *32

    *32

    *32

    *32

    2*322

    1600

    *2

    2

    Sf

    Sf

    Sf

    Sf

    Sf

    uSufSu

    .19

    15015)0()200(

    17413)40()160(

    18711)80()120(

    1899)120()80(

    19136)160()40(

    18180)200()0(

    max

    )200()([max)200(

    *32

    *32

    *32

    *32

    *32

    *32

    2*322

    2000

    *2

    2

    Sf

    Sf

    Sf

    Sf

    Sf

    Sf

    uSufSu

  • 27

    Таблица 4

    1 )( 1*2 S )( 1

    *2 u

    0

    40

    80

    120

    160

    200

    0

    6

    10

    13

    16

    19

    0

    40

    40

    80

    80

    40

    1k . Учитывая, что 0 принимает только одно значение,

    имеем

    .24

    18018)0()200(

    18612)40()160(

    211011)80()120(

    231310)120()80(

    24168)160()40(

    19190)200()0(

    max

    )200()([max)200(

    *21

    *21

    *21

    *21

    *21

    *21

    1*211

    2000

    *1

    1

    Sf

    Sf

    Sf

    Sf

    Sf

    Sf

    uSufSu

    Все найденные значения *kS , *ku из табл. 2 – 4 зане-

    сем в табл. 5

  • 28

    Таблица 5

    k 4k 3k 2k 1k

    )( 3*4 S

    )( 3*4 u

    )( 2*3 S

    )( 2*3 u

    )( 1*2 S

    )( 1*2 u

    )( 0*1 S

    )( 0*1 u

    0

    40

    80

    120

    160

    200

    0

    4

    6

    8

    13

    16

    0

    40

    80

    120

    160

    200

    0

    4

    7

    9

    13

    18

    0

    0

    40

    40

    0

    200

    0

    6

    10

    13

    16

    19

    0

    40

    40

    80

    80

    40

    24

    40

    II этап. Найдем оптимальные управления на каждом

    шаге, начиная с первого, пользуясь табл. 5:

    Здесь мы учли, что 0 закреплено и равно 200, поэтому

    40)200(*1 u является оптимальным управлением на 1-м

    шаге, следовательно, однозначно находим из (8)

    ,16040200*10*1 u

    тогда из табл. 5 однозначно находим

    80)160()( *2*1

    *2 uu и т.д.

    Итак, искомый набор оптимальных управлений

    )40,40,80,40(),,,( *4*3

    *2

    *1 uuuu , при этом

    .24)(),,,( 0*1

    *4

    *3

    *2

    *1max SuuuuSS

    Ответ. Максимальный доход при распределении между

    данными четырьмя предприятиями 200 млн. руб. составля-

    ет 24 млн. руб. и будет получен, если первому предпри-

    ятию выделить 40 млн. руб., второму выделить 80 млн.

    руб., а третьему и четвертому – по 40 млн. руб.

    0

    =

    200

    *1

    =

    160

    *2

    =

    80

    *3

    =

    40

    40*1 u 80*2 u 40

    *3 u 40

    *4 u

    .*4

    =

    0

  • 29

    §8. Двумерная модель распределения средств

    Планируется деятельность двух предприятий в тече-

    ние n лет. Начальные средства составляют 0X . Средства

    x , вложенные в предприятие I, приносят к концу года до-

    ход )(1 xg и возвращаются в размере ,)(1 xx аналогич-

    но, средства x , вложенные в предприятие II, дают доход

    )(2 xg и возвращаются в размере .)(2 xx По истечении

    года все оставшиеся средства заново распределяются меж-

    ду предприятиями I и II, новых средств не поступает, и до-

    ход в производство не вкладывается.

    Требуется найти оптимальный способ распределения

    имеющихся средств.

    Вложим данную задачу в схему динамического про-

    граммирования.

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

    1) под k-м шагом будем понимать k-й год планируе-

    мого периода. Имеем n шагов;

    2) под состоянием k будем понимать остаток де-

    нежных средств к концу k-го шага или их наличие в начале

    k+1-го шага;

    3) под управлением ku будем понимать количество

    средств, вкладываемых в предприятие I. Тогда количество

    средств, вкладываемых в предприятие II, будет равно

    kk u1 . Откуда получаем

    ,0,0, 1000 kkk uXX (11)

    и формула (1) имеет вид

    ).()( 121 kkkk uu (12)

    II. Строим аддитивную целевую функцию.

    Доход на k-м шаге вычисляется по формуле

  • 30

    )()(),( 1211 kkkkkk uguguf (13)

    и целевая функция

    n

    kkkk ufS

    11 ).,(

    Задача состоит в нахождении такого набора

    ),,,( 21 nuuu , при котором maxS .

    Рассмотрим конкретный пример задачи распределе-

    ния средств.

    Составить оптимальный план ежегодного распреде-

    ления средств между двумя предприятиями в течение

    трехлетнего планового периода при следующих условиях:

    1) начальная сумма составляет 400; 2) вложенные средства

    в размере x приносят на предприятии I доход )(1 xg и воз-

    вращаются в размере 60% от x ; а на предприятии II – со-

    ответственно )(2 xg и 20%; 3) ежегодно распределяются

    все наличные средства, получаемые из возвращенных

    средств; 4) функции )(1 xg и )(2 xg заданы в табл. 6.

    Таблица 6

    )(xg x

    50 100 150 200 250 300 350 400

    )(1 xg 6 10 15 26 28 38 45 49

    )(2 xg 8 12 20 28 35 40 46 48

    Решение.

    Для данного примера 4000 и все k

    ),,2,1( nk могут принимать значение 0, 50, 100, ... ,

    400.

    Формулы (12) имеют вид

    ).(2,06,0 1 kkkk uu (14)

  • 31

    I этап. Находим, начиная с конца, все )( 1*

    kkS и

    )( 1*

    kku )1,2,3( k по следующим формулам, вытекаю-

    щим из формул (9) – (11), (13), (14).

    )].()([max)( 322310

    2*3

    23

    ugugSu

    (15)

    ))](2,06,0(

    )()([max)(

    1*

    1

    1210

    1*

    1

    kkkk

    kkku

    kk

    uuS

    ugugSkk

    (16)

    Результаты всех вычислений заносим в табл. 7.

    Таблица 7

    k )( 2*3 S

    )( 2*3 u

    )( 1*2 S

    )( 1*2 u

    )( 0*1 S

    )( 0*1 u

    0 0 0 0 0

    50 8 0 10,8 50

    100 14 50 20,4 50

    150 20 0 28,4 100

    200 28 0 42,4 200

    250 35 0 51,6 200

    300 41 50

    350 46 0,

    50,

    400 54

    200,

    300

    200 99,08 350

    Имеем по формуле (15) и из табл. 6:

    ;0)]0()0([max)0( 2100

    *3

    3

    ggSu

    ;806)0()50(

    80)50()0(max

    )]50()([max)50(

    21

    21

    3231500

    *3

    3

    gg

    gg

    ugugSu

  • 32

    ;14

    010)0()100(

    86)50()50(

    120)100()0(

    max

    )]100()([max)100(

    21

    21

    21

    32311000

    *3

    3

    gg

    gg

    gg

    ugugSu

    ;20

    015)0()150(

    810)50()100(

    126)100()50(

    200)150()0(

    max

    )]150()([max)150(

    21

    21

    21

    21

    32311500

    *3

    3

    gg

    gg

    gg

    gg

    ugugSu

    )]200()([max)200( 32312000

    *3

    3

    ugugSu

    и т.д.

    По формуле (16) находим

    ;00)0()0(

    )]0()0()([max)0(

    21

    *32221

    00

    *2

    2

    gg

    SugugSu

    .8,10

    8,406)30()0()50(

    6,180)10()50()0(max

    ))]50(2,06,0()50()([max)50(

    *321

    *321

    22*32221

    500

    *2

    2

    Sgg

    Sgg

    uuSugugSu

  • 33

    Здесь )10(*3S и )30(*3S нашли приближенно, пользу-

    ясь формулами линейной интерполяции, а именно:

    ;6,15

    08

    5

    )0()50(

    5

    050)10(

    *3

    *3*

    3*3

    SSSS

    .8,4)10(3)310()30( *3*3

    *3 SSS

    Аналогично находим

    .4,20

    2,9010)60()0()100(

    4,686)40()50()50(

    2,3120)20()100()0(

    max

    ))]100(2,06,0()100()([max)100(

    *321

    *321

    *321

    22*32221

    1000

    *2

    2

    Sgg

    Sgg

    Sgg

    uuSugugSu

    Здесь

    ;4,66,14)40(;2,36,12)20( *3*3 SS

    ;2,92,185

    )50()100()50(

    5

    5010050)60(

    *3

    *3*

    3

    *3

    *3

    SSS

    SS

    и т.д.

  • 34

    .08,99

    76,9876,49049)240()0()400(

    08,9908,46845)220()50()350(

    4,924,421238)200()100()300(

    8,848,362028)180()150()250(

    2,852,312826)160()200()200(

    8,768,263515)140()250()150(

    6,736,234010)120()300()100(

    4,724,20466)100()350()50(

    56,6456,16480)80()400()0(

    max

    ))]400(2,06,0(

    )400()([max)400()(

    *221

    *221

    *221

    *221

    *221

    *221

    *221

    *221

    *221

    11*2

    12114000

    *10

    *1

    2

    Sgg

    Sgg

    Sgg

    Sgg

    Sgg

    Sgg

    Sgg

    Sgg

    Sgg

    uuS

    ugugSSu

    II этап. Найдем оптимальные управления на каждом

    шаге, начиная с первого, пользуясь табл. 7 и формулами (14):

    Итак, нами получен следующий оптимальный план рас-

    пределения средств между двумя предприятиями по годам:

    Предприятие 1-й год 2-й год 3-й год

    I 350 200 24

    II 50 20 100

    При этом может быть получен максимальный доход

    .1,99max S

    0

    =

    400

    *1

    =

    220

    *2

    =

    124

    *3

    =

    34

    24*3 u 200*2 u 350

    *1 u

  • 35

    §9. Оптимальная стратегия замены оборудования

    Одной из экономических проблем, с которыми при-

    ходится встречаться на практике, является определение

    оптимальной стратегии в замене старого оборудования.

    Старение оборудования включает в себя его физический и

    моральный износ, в результате чего растут производствен-

    ные затраты по выпуску продукции на старом оборудова-

    нии, увеличиваются затраты на его ремонт и обслужива-

    ние, а вместе с тем снижается производительность и так

    называемая ликвидная стоимость.

    Наступает момент, когда старое оборудование более

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

    ценой больших затрат.

    Оптимальная стратегия замены оборудования состо-

    ит в определении оптимальных сроков замены. Критерием

    оптимальности при определении сроков замены служит

    прибыль от эксплуатации оборудования. Условимся счи-

    тать, что решения о замене оборудования принимаются

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

    и т.д.), на которые разбит плановый период.

    Основной характеристикой оборудования является

    его возраст. От возраста оборудования зависят эксплуата-

    ционные расходы, затраты на производство, производи-

    тельность и ликвидная стоимость.

    Конкретно задача о замене оборудования ставится

    следующим образом.

    Определить оптимальные сроки замены оборудования в

    течение n лет, при которых прибыль от эксплуатации обору-

    дования максимальна, если известны: p – начальная стои-

    мость оборудования; )(tR – стоимость производимой продук-

    ции на оборудовании возраста t лет; )(tr – ежегодные затра-ты на эксплуатацию оборудования возраста t лет; )(t – лик-

  • 36

    видная стоимость оборудования возраста t лет. Предполага-

    ются, что к началу планового периода оборудование является

    новым.

    Вложим данную задачу в схему динамического про-

    граммирования.

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

    1) под k-м шагом будем понимать k-й год планируе-

    мого периода. Имеем n шагов;

    2) под состоянием k будем понимать возраст обо-

    рудования к концу k-го шага или к началу k+1-го шага. От-

    сюда вытекает, что на каждом шаге состояние k может

    принимать следующие значения:

    ;0;,,2,1,0 0 k (17)

    3) в качестве управления ku на каждом шаге высту-

    пают решения о замене и сохранении оборудования.

    Обозначим через u решение о сохранении оборудо-

    вания; u – решение о замене оборудования.

    Формула (1) для данной задачи имеет вид

    .,1

    ,11

    uu

    uu

    k

    kk

    k

    (18)

    II. Построим аддитивную целевую функцию.

    Под доходом на k-м шаге будем понимать прибыль от

    эксплуатации оборудования на k-м шаге. Согласно усло-

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

    жаться следующим образом:

    .)()0()0(

    )()(),(

    1

    11

    1uuприpR

    uuприRuf

    kk

    kkk

    kkk

    r

    r(19)

    Очевидно, прибыль за n лет составит

  • 37

    .),(1

    1

    n

    kkkk ufS

    Рассмотрим конкретный пример задачи о замене обо-

    рудования.

    К началу текущей пятилетки на предприятии уста-

    новлено новое оборудование. Зависимость производитель-

    ности этого оборудования от времени его использования

    предприятием, а также ежегодные затраты на эксплуата-

    цию оборудования возраста t приведены в табл. 8.

    Таблица 8

    0 1 2 3 4 5

    )(tR 80 75 65 60 60 55

    )(tr 20 25 30 35 45 55

    Зная, что затраты, связанные с приобретением и ус-

    тановкой нового оборудования, идентичного с установ-

    ленным, составляют 40 тыс. руб., а заменяемое оборудова-

    ния списывается, составить такой план замены оборудова-

    ния в течение пятилетки, при котором общая прибыль за

    данный период времени максимальна.

    Решение. В данном конкретном примере число ша-

    гов 5n , функция 0)( t и 40p , функции )(tR и )(tr

    заданы табл. 8.

    I этап. Находим, начиная с конца, все )( 1*

    kkS и

    )( 1*

    kku (k = 5, 4, 3, 2, 1) по формулам (9), (10) для всех

    возможных значений k (17) и полученные значения запи-

    сываем в табл. 9, при этом следует учесть, что формулы

    (19) для нашего примера имеют вид

    .20402080

    )()(),(

    11

    1uuпри

    uuприRuf

    k

    kkk

    kkk

    r

  • 38

    При 5n и из формулы (10)

    .20

    )()(max),(max)(

    5

    544

    5454*5

    55 uuпри

    uuприRufS

    uu

    r

    Давая k всевозможные значения (17), с учетом

    табл.8, заполним первые три столбца табл. 9.

    Таблица 9

    k

    )( 4*5 S

    )( 4*5 u

    )( 3*4 S

    )( 3*4 u

    )( 2*3 S

    )( 2*3 u

    )( 1*2 S

    )( 1*2 u

    )( 0*1 S

    )( 0*1 u

    0 60 u 110 u 145 u 180 u 215 u

    1 50 u 85 u 120 u 155 u

    2 35 u 70 u 105 u, u

    3 25 u 70 u

    4 20 u

    5

    Для нахождения всех остальных )( 1*

    kkS и )( 1*

    kku

    (k = 4, 3, 2, 1) используем формулу (10):

    .705020)1(20

    )1()()(max

    )}(),({max)(

    4*5

    43*533

    4*54343

    *4

    4

    4

    uuприS

    uuприSR

    SufS

    u

    u

    r

    Давая k всевозможные значения (17), с учетом

    табл.8, заполним четвертый и пятый столбцы табл. 9. Да-

    лее заполняем все остальные столбцы таблицы аналогично.

    Следует учесть, что в последних столбцах, соответствую-

    щих 1k , достаточно положить 00 .

    II этап. Строим оптимальную траекторию, начиная с

    первого шага, пользуясь табл. 9 и формулами (18) и учи-

    тывая, что 00 .

  • 39

    Итак, искомый набор оптимальных управлений

    ),,,,( uuuuu , при этом 215)( 0*1max SS .

    Ответ. Максимальная прибыль, равная 215 тыс. руб.,

    будет достигнута предприятием в течение пятилетки, если

    заменить оборудование новым только на четвертом году

    данного периода.

    §10. Задача о повышении надежности радиоэлектронной аппаратуры

    Говорят, что случайная величина подчинена экс-поненциальному закону распределения, если

    ,1)( tetP (20)

    где 0 – параметр экспоненциального закона. Предположим, что некоторая аппаратура рассчитана

    на время T . Надежностью аппаратуры называется вероят-

    ность того, что за расчетное время аппаратура не выйдет

    из строя.

    Пусть – время безотказной работы аппаратуры, тогда

    ),( TPp

    где p – надежность аппаратуры.

    uu *4

    2

    0

    =

    0

    *1

    =

    1

    *2

    =

    2

    *3

    =

    3

    uu *1 uu *2 uu

    *3

    *4

    =

    1

    uu *5 .*5

    =

  • 40

    Предположим, что время безотказной работы подчи-

    нено экспоненциальному закону (20), тогда надежность

    аппаратуры p вычисляется по следующей форме:

    .)(1 TeTPp (21)

    Рассмотрим следующую задачу.

    Система состоит из трех блоков (рис. 7). В первый

    блок входят 4 функциональных узла, во второй – 5 функ-

    циональных узлов, в третий – 3 функциональных узла.

    Время безотказной работы каждого функционального узла

    подчиняется экспоненциальному закону со следующими, в

    зависимости от блока, параметрами:

    ,1005,0,102,0,101,0 321 rrr (22)

    Для приобретения запасного оборудования выделено

    пять условных денежных единиц. Стоимость одного функ-

    ционального узла первого и третьего блоков равна двум

    денежным единицам, одного функционального узла вто-

    рого блока – одной денежной единице. Найти количество

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

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

    времени 100T ч.

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

    Обозначим количество запасных узлов k-го типа через ku

    (k = 1, 2, 3). Найдем надежность всей системы. Надежность

    k-го блока вычисляется по правилам теории вероятности

    [7] с учетом (21), (22) следующим образом:

    )..()1.()0.(

    )100(

    k

    kk

    uоткPоткPоткP

    узловuоткажетчасовзаpp

  • 41

    Откуда

    1 1 1

    2 2 22

    3 3 3

    44 1 3 1 1

    1 1 4 1 1 4 1 1 1 1

    55 1 4 2 2

    2 2 5 2 2 5 2 2 2

    33 1 2 0,5 0,5

    3 3 3 3 3 3 3 3 3 2

    , , 1 ;

    , , 1 ;

    , , 1

    u u u

    u u u

    u u u

    P p C p q C p q p e q e

    P p C p q C p q p e q e

    P p C p q C p q p e q e

    (23)

    u1

    u2

    u3

    I II III

    Рисунок 7

    Надежность системы в целом, учитывая независи-

    мость работы блоков, равна [7]:

    .321 pppp

  • 42

    Тогда математическая модель имеет вид

    ?),,(

    max;

    ,,0,,

    ,522

    321

    321

    321

    321

    uuu

    pppp

    целыеuuu

    uuu

    Для того чтобы полученную задачу можно было ре-

    шить методом динамического программирования, перей-

    дем от этой задачи к следующей эквивалентной задаче:

    ,,0,,

    ,522

    321

    321

    целыеuuu

    uuu (24)

    min;)()()( 332211 ufufufS

    ?),,( 321 uuu

    Здесь pS ln , kkk puf ln)( . Очевидно, что

    .minlnmaxlnmax ppp

    Результаты вычислений )(ufk по формулам (23) запишем

    в табл. 10.

    Таблица 10

    u )(1 uf )(2 uf )(3 uf

    0 018,01 p 3,999 00005,02 p 10,002 225,03 p 1,493

    1 144,01 p 1,936 001,02 p 6,505 659,03 p 0,417

    2 469,01 p 0,758 02,02 p 3,911 939,03 p 0,063

    3 097,02 p 2,338

    4 475,02 p 0,745

    5 958,02 p 0,043

    Вложим эту задачу в схему динамического программиро-

    вания. Введем искусственно дискретное время. Будем ус-

  • 43

    ловно считать, что запасное оборудование приобретается

    сначала для первого блока, затем для второго, а затем для

    третьего блока.

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

    1) под k-м шагом будем понимать приобретение за-пасного оборудования для k-го блока. Получим три шага;

    2) под состоянием k будем понимать остаток денеж-

    ных средств по завершению k-го шага или их наличие к

    началу k+1-го шага. Тогда состояния k могут принимать

    следующие значения:

    ;5,5,4,3,2,1,0 0 (25)

    3) под управлением на k-м шаге будем понимать ku .

    Формулы (1) для данной задачи имеют вид

    .2,,2 323212101 uuu (26)

    Откуда вытекает, что

    .2,,2 231201 uuu

    II. Строим аддитивную целевую функцию.

    Под величиной потерь на k-м шаге будем понимать

    функции )( kk uf , тогда целевой функцией будет функция S

    из (24), которая является аддитивной.

    Решение.

    Формулы (8), (9), с учетом формул (26), имеют вид

    ),(min)( 32

    *3 ufS

    u

    (27)

    )].2()([min)(

    )],()([min)(

    0*21

    20

    *1

    *32

    *2

    0

    uSufS

    uSufS

    u

    u

    (28)

  • 44

    I этап. Находим )( 1*

    kkS по формулам (27), (28) для

    всех возможных значений k , определяемых (25). Резуль-

    таты вычислений заносим в табл. 11.

    Таблица 11

    3-й шаг 2-й шаг 1-й шаг

    k

    )( 2*3 S

    )( 2*3 u

    )( 1*2 S )( 1

    *2 u

    )( 0*1 S )( 0

    *1 u

    0 1,493 0 11,49 0

    1 1,493 0 7,998 1

    2 0,417 1 5,404 2

    3-й шаг 2-й шаг 1-й шаг

    k

    )( 2*3 S

    )( 2*3 u

    )( 1*2 S )( 1

    *2 u

    )( 0*1 S )( 0

    *1 u

    3 0,417 1 3,831 3

    4 0,063 2 2,238 4

    5 0,063 2 1,539 5 5,535 0

    По формулам (27) имеем

    ,493,1)0()(min)0( 33302

    *3

    3

    fufSu

    ,493,1)0()(min)1( 33312

    *3

    3

    fufSu

    ,417,0)}1(),0(min{)(min)2( 333322

    *3

    3

    ffufSu

    ,417,0)}1(),0(min{)(min)3( 333332

    *3

    3

    ffufSu

    ,063,0)}2(),1(),0(min{)(min)4( 3333342

    *3

    3

    fffufSu

    .063,0)}2(),1(),0(min{)(min)5( 3333352

    *3

    3

    fffufSu

  • 45

    По формулам (28) имеем

    ;495,11)0()0()]0()([min)0( *322*322

    0

    *2

    2

    SfuSufSu

    ;998,7

    998,7)0()1(

    495,11)1()0(min

    )]1()([min)1(

    *32

    *32

    2*322

    1

    *2

    2

    Sf

    Sf

    uSufSu

    ;404,5

    404,5)0()2(

    998,7)1()1(

    419,10)2()0(

    min

    )]2()([min)2(

    *32

    *32

    *32

    2*322

    2

    *2

    2

    Sf

    Sf

    Sf

    uSufSu

    ;831,3

    831,3)0()3(

    404,5)1()2(

    922,6)2()1(

    419,10)3()0(

    min

    )]3()([min)3(

    *32

    *32

    *32

    *32

    2*322

    3

    *2

    2

    Sf

    Sf

    Sf

    Sf

    uSufSu

  • 46

    ;238,2

    238,2)0()4(

    831,3)1()3(

    328,4)2()2(

    922,6)3()1(

    065,10)4()0(

    min

    )]4()([min)4(

    *32

    *32

    *32

    *32

    *32

    2*322

    4

    *2

    2

    Sf

    Sf

    Sf

    Sf

    Sf

    uSufSu

    ;536,1

    536,1)0()5(

    238,2)1()4(

    755,2)2()3(

    328,4)3()2(

    568,6)4()1(

    065,10)5()0(

    min

    )]5()([min)5(

    *32

    *32

    *32

    *32

    *32

    *32

    2*322

    5

    *2

    2

    Sf

    Sf

    Sf

    Sf

    Sf

    Sf

    uSufSu

    .535,5

    756,8)1()2(

    767,5)3()1(

    535,5)5()0(

    min

    )]25()([min)5(

    *22

    *21

    *21

    1*211

    52

    *1

    1

    Sf

    Sf

    Sf

    uSufSu

  • 47

    II этап. Строим оптимальную траекторию, начиная с

    начала:

    Оптимальный набор управлений (0, 5, 0).

    Ответ. Количество запасных узлов для второго блока

    равно 5, а для остальных блоков равно 0.

    0 =

    5

    *1

    =

    5

    *2

    =

    0

    .*3

    0*3 u 5*2 u 0*1 u

  • 48

    ПРИЛОЖЕНИЯ

    Задачи для самостоятельного решения

    1. Из всевозможных маршрутов, соединяющих точки А и В, выбрать тот, на котором сумма чисел, стоящих на звень-

    ях, была бы наименьшей. Пункты, через которые может про-

    ходить маршрут, обозначены на рисунке кружочками.

    а) 14 13 12

    7

    9

    11

    7

    9

    911

    10

    10

    8 7

    8 9

    121312

    7 6 8

    10

    A

    B

    12

    10

    10

    1112

    1 9

    1010

    10

    11

    7

    8

    10

    14

    9

    8

    б) 13 12 10

    15

    12

    14

    20

    12

    1918

    1112

    15 14

    13 14

    9810

    14 12 12

    B

    11

    12

    13

    1010

    10 13

    15

    13

    11

    13

    21

    15

    11

    12

    12

    13

    10

    11

    10

    15

    18

    14

    13

    14

    13

    8

    10

    9

    10

    19

    13

    12

    11

    18

    A

    15

    10

    12

    1513

    9 10 13

    14

    15

    16

    19

    17

    15

  • 49

    в) 13 12 11

    6

    8

    10

    6

    8

    810

    99

    7 6

    7 8

    111211

    6 5 7

    B

    11

    9

    9

    1011

    10 8

    97

    8

    9

    6

    7

    9

    12

    8

    7

    89

    9

    10

    8

    9

    8

    13

    12

    710

    10

    11

    12

    11

    12

    13

    13A

    9

    2. Определить оптимальную последовательность операций по приемке и отпуску товаров на предприятии

    оптовой торговли, позволяющую минимизировать сум-

    марные издержки при условиях, приведенных в виде мат-

    рицы вариантов связей и затрат по каждой операции.

    а) 10 8 9

    12

    14

    1112

    131010

    10

    1811 13

    19 20

    14131215 14 13

    S1

    1510

    121513

    9 10

    11

    11

    13

    1212

    21

    15

    1314

    12

    13

    10

    15

    1413

    18

    14

    1616

    12

    9

    10

    1118

    19

    13

    1917

    S0

    10

    4

    3

    2

    0

    1

    0 1 2 3 4 5 6

    m

    n

    отгрузка товаров

    приемка товаров

  • 50

    б)

    16

    1714

    121112

    11

    1013 14

    18 18

    201519 S1

    1513

    14128

    12 11

    18

    2015

    18

    22

    2216

    16

    S0

    13

    3

    2

    0

    1

    0 1 2 3 4

    m

    n

    отгрузка товаров

    приемка товаров

    в)

    18

    2018

    151313

    12

    1215 12

    21 21

    241822 S1

    2015

    191310

    11 17

    21

    2419

    22

    27

    2519

    16

    S0

    15

    3

    2

    0

    1

    0 1 2 3 4

    m

    n

    отгрузка товаров

    приемка товаров

    3. На заданной сети дорог имеется несколько маршру-тов по доставке груза из пункта А в пункт В. Стоимость пере-

    возки единицы груза между отдельными пунктами сети про-

    ставлена у ребер. Необходимо определить оптимальный

    маршрут доставки груза из пункта А в пункт В, который

    обеспечил бы минимальные транспортные расходы.

  • 51

    а)

    1

    2 5

    3

    4

    6

    9

    10

    11

    14

    3

    9 2

    4

    8

    6

    6

    55

    75

    8

    109

    5

    12

    102

    3

    8

    7

    8

    66

    5

    66

    36

    13

    А В

    б)

    1

    2

    6

    3

    47

    8

    9

    10

    11

    169

    11

    12 18

    10

    9

    12

    9

    14

    910

    8

    14

    12

    13

    16

    5

    10

    10

    16

    16

    А В

    в)

    1

    4

    7

    5

    6

    8

    9

    10

    11

    127

    88

    12 10

    9

    5

    10

    9

    11

    11

    15

    12

    15

    10 112

    3

    13

    5

    14

    10А В

  • 52

    4. Найти оптимальное распределение 0X средств

    между n предприятиями при условии, что прибыль )(xf ,

    полученная от каждого предприятия, является функцией от

    вложенных в него средств x . Вложения кратны x , а

    функции )(xf заданы таблично.

    а)

    1200 X ,

    4n ,

    20x .

    б)

    50 X ,

    3n ,

    1x .

    в)

    60 X ,

    3n ,

    1x .

    x )(xf1 )(xf2 )(xf3 )(xf4

    20 9 11 13 12

    40 17 33 29 35

    60 28 45 38 40

    80 38 51 49 54

    100 46 68 61 73

    120 68 80 81 92

    x )(xf1 )(xf2 )(xf3

    1 2,2 2 2,8

    2 3 3,2 5,4

    3 4,1 4,8 6,4

    4 5,2 6,2 6,6

    5 5,9 6,4 6,9

    x )(xf1 )(xf2 )(xf3

    1 0,14 0,9 0,11

    2 0,26 0,17 0,20

    3 0,39 0,22 0,29

    4 0,45 0,26 0,37

    5 0,50 0,27 0,44

    6 0,53 0,28 0,48

  • 53

    5. Найти оптимальное распределение начальной сум-

    мы средств 0X между двумя отраслями производства I и II в

    течение n лет, если даны функции доходов )(1 xg и )(2 xg

    для каждой отрасли, функции возврата )(1 x и )(2 x . По

    истечении года только все возвращенные средства перерас-

    пределяются, доход в производство не вкладывается.

    а) 000400 X ед.; 4n ; xxg 4,0)(1 ; xxg 3,0)(2 ;

    xx 5,0)(1 ; xx 8,0)(2 .