Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информационные системы менеджмента - Бажин И.И

..pdf
Скачиваний:
168
Добавлен:
24.05.2014
Размер:
12.28 Mб
Скачать

Глава 3. Математические модели в менеджменте

171

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

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

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

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

in

 

f(x)=Xf i(x)

(3.45)

Если критерий (или функция) f(x) обладает этим свойством, то его называют

аддитивным (аддитивной).

Во многих практических задачах критерий f(x) аддитивен. Если в первона­ чальной постановке задачи критерий неаддитивен, то постановку задачи надо изменить так, чтобы он стал аддитивным. К примеру, если рассматривается кри­ терий f(x), представленный в виде произведения выигрышей, достигаемых на отдельных этапах f(x) = fi(x)-f2(x)-. . . fm(x) (такой критерий называют мультип­ лексным), то можно просто преобразовать его к аддитивному, прологарифми­ ровав выражение для f(x)

in

lgf(x)=Elgfi<*)

m

Обозначим V = lgf(x), V, = lgfi(x). Получим новый критерий V = ^ V ; , обла-

i=I

дающий свойством аддитивности и имеющий тот же оптимум, что и f(x).

172

Часть 1. Новые принципы работы

Рассмотрим общую схему решения задач q аддитивным критерием. Процесс управления состоит из m шагов. На каждом i-том шаге управление х, переводит систему из состояния SM, достигнутого в результате (М)-го шага, в новое со­ стояние S;, которое зависит от состояния Б и и выбранного управления х*:

S, = Si(Si.<i, X|).

Здесь существенно, чтобы новое состояние Si зависело только от состояния S^ и управления Xj и не зависело от того, каким образом система пришла в состоя­ ние Sj.-i- В крайнем случае, это достигается увеличением числа состояний сис­ темы (в понятие "состояние системы" вводят те параметры, от которых зависит будущий результат).

В теории динамического программирования, если рассматривают стратегии, зависящие только от текущего состояния, оптимальную стратегию характеризу­ ют очень просто.

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

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

Рассмотрим задачу о максимизации целевой функции f(x) на т-шаговом процессе. '

Под влиянием управлений Xi, х2, . . . , х т система переходит из начального состояния S0 в конечное SK0H. За m шагов получают выигрыш (значение целевой функции)

т

 

f M = X f i ( S i l , x i )

(3.46)

i = l

где fi(Sj.i, X|) - выигрыш на i-том шаге.

Принцип оптимальности позволяет заключить, что при любом начальном управ­ лении х-1 имеет место соотношение

f(x) = f^So, хО + [f2(Si, х2) + . . .

+ USm.,, xm)] =

= f^So, X,) + fm-iESm-ifSo, X!)]

(3.47)

Поскольку соотношение (3.47) справедливо для всех начальных решений x-t, то, чтобы найти максимальный выигрыш, надо найти максимум по Xi значения f(x). Это приводит к основному функциональному уравнению динамического про­

граммирования - к рекуррентной формуле динамического

программирова­

ния (РДП)

 

 

fm(S0) = max f(x) = max [MSo, x,) + fm.i[Sm.i(S0, Xi)]];

m > 1

(3.48)

Глава 3. Математические модели в менеджменте

173

Выражение (3.48) означает, что, зная fo(S), можно вычислить fi(S), зная fY(S), - f2(S) и т.д. Такая вычислительная процедура именуется рекуррентным алго­ ритмом, а выражение (3.48) - рекуррентной формулой или рекуррентным соот­ ношением.

Согласно этому выражению, алгоритм получения решения в динамическом программировании можно определить как последовательность функций выиг­ рыша или же как последовательность стратегий {xn(S0)}. Эти последовательно­ сти определяют друг друга - в этом и состоит смысл рекуррентных соотноше­ ний. Причем имеется только одна последовательность оптимальных значений целевой функции, хотя, в принципе, могут иметь место различные оптимальные стратегии, которые приводят к тому же максимальному выигрышу.

В динамическом программировании, планируя многоэтапную операцию, управление на каждом шаге выбирают с учетом будущего. И только на одном шаге - последнем - такой необходимости нет. Этот последний шаг можно спла­ нировать так, чтобы он приносил наибольшую выгоду.

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

ным оптимальным управлением.

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

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

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

174

Часть 1. Новые принципы работы

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

4.При известном оптимальном значении первой переменной определяем исходные данные для следующего (второго) шага и по последней таблице - оптимальное(ые) значение(ия) следующей (второй) переменной.

5.Если следующая переменная не характеризует последний шаг, то перехо­ дим к п.4. Иначе переходим к п.6.

6.Формируем (выписываем) оптимальное решение.

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

3.9.2.ЗАДАЧА ОБ ОПТИМАЛЬНОЙ ЗАГРУЗКЕ ТРАНСПОРТНОГО СРЕДСТВА

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

Представим, что в самолет требуется погрузить 4 вида предметов (предметы будем считать неделимыми), чтобы сумма эффективностей этих предметов (например, стоимость) была максимальной. Грузоподъемность само­ лета равна W. Пусть Pi, P2, Р3, Р4 - масса соответствующей единицы различных предметов; V-i, V2, V3, V4 - соответствующая эффективность каждого предмета; х-ь Хг, х3, х4 - число предметов различных видов, взятых на борт самолета (управляющие переменные).

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

4

 

X XjV; = XiVi + x2V2 + X3V3 + X4V4 -> max

(3.49)

Ограничение по допустимой загрузке самолета имеет вид

4

 

XxiPi = x ip i + x2p2 + x3P3 + x 4 P4<W

(3.50)

Математическую модель вида (3.49) - (3.50) часто называют "задачей о рюкзаке" из-за следующей гипотетической ситуации. Турист, собираясь в поход,

Глава 3. Математические модели в менеджменте

175

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

Для определенности примем, что W = 83; P-i = 24, Р2 = 22, Р3 = 16, Р4 = 10; \/ч = 96, V2 = 85, V3 = 50, V4 = 20 условных единиц.

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

Первый этап. Он будет содержать 4 шага.

На шаге 1 находим возможные оптимальные варианты загрузки самолета только предметами первого вида. Нам необходимо найти и запомнить значения X] и соответствующую им максимальную стоимость груза f|(W) при различных возможных значениях W. В этом случае максимальная эффективность груза со­ ставляет

fi(W) = maxfx^)

при условии x-|Pi < W, Xi = 0, 1, 2, 3, . . .. Так как x-i < W/P-i, то для нахождения максимума f-i(W) надо х-i взять возможно большим, то есть Xi = [W/P-i] - наи­ большее целое число, не превосходящее W/P-i, и, таким образом,

f,(W) = [W/PiJV!

(3.51)

Зададимся значениями W с некоторым шагом и найдем для них Хч и f-i(W). Очевидно, если грузоподъемность самолета меньше 24 ед., то ни одного пред­ мета первого вида погрузить нельзя. При грузоподъемности от 24 до 47 ед. можно погрузить 1 ед. предметов первого вида и т.д. Результаты представим в виде таблиц. Значения W, f|(W) и x-i приведены в таблице 3.9.1.

 

 

 

 

 

 

 

Таблица 3.9.1

W

fi(W)

Ъ

 

W

 

fi(W)

Xi

0. . . 23

0

0

48

. . .

71

192

2

24 . . . 47

96

1

72

. . .

87

288

3

В таблице принят более широкий предел для W - до 87 ед.

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

Максимальную эффективность загрузки обозначим f2(W). Если погружено х2 предметов второго типа, то масса предметов первого типа должна быть не

176

Часть 1. Новые принципы работы

больше W - Р2Х2- Максимальная эффективность загрузки предметами первого типа при этом составляет

f i ( W - x 2 P 2 ) = m a x f x ^ )

при условии X! < W - Х2Р2, Xi = 0, 1, 2 а общая эффективность загрузки

fi2 = x2V2 + fi(W - x 2 P 2 )

Тогда

f2(W) = max {x2V2 + f ^ W - x2P2)};

X 2

(3.52)

0 < x2 < [W/P2]

Максимум этого выражения ищут только по х2. Но мы не знаем, какая грузо­ подъемность W может потребоваться для предметов второго типа. Поэтому не­ обходимо рассмотреть выражение (3.52) для различных значений W от 0 до 83. При вычислении fi(W - x2P2) воспользуемся уже полученными результатами (табл.3.9.1).

Например, возьмем W = 46 ед. Для х2 возможны значения 0, 1, 2. Соответ­ ствующая эффективность от предметов второго типа равна 0, 85, 170, а для предметов первого вида остается грузоподъемность 46, 24, 2 ед. Из табл.3.9.1 для W = 46, 24, 2 ед. находим f-i(W) = 96, 96, 0 ед. Складываем соответствую­ щие значения 0+96 = 96 ед., 85+96 = 181 ед., 170+0 = 170 ед. и выбираем наи­ большее - 181 ед. Оно получено при х2 = 1. Для \Л/ = 46 заносим в табл. 3.9.2 х2= 1; f2(W) = 181. Результаты вычислений f2(W) и х2 приведены в табл. 3.9.2.

 

W

 

 

W

 

 

Таблица 3.9.2

 

f2(W)

2

 

f2(W)

2

0

21

0

х

48

65

192

х

0

0

22 ...

23

85

1

66 ...

67

255

3

24 ...

43

96

0

68 ...

69

266

2

44 ...

45

170

2

70 ...

71

277

1

46 ...

47

181

1

72 ...

87

288

0

Из таблицы 3.9.2 следует, что при грузоподъемности транспортного средст­ ва до 21 ед. ничего в него погрузить нельзя, при грузоподъемности 22...23 ед. можно погрузить только один предмет второго типа, при грузоподъемности 24...43 ед. - либо один предмет первого типа, либо один предмет второго типа. Максимальная эффективность будет при загрузке предметами первого типа. При грузоподъемности 44...45 ед. можно погрузить либо один предмет первого

Глава 3. Математические модели в менеджменте

177

типа, либо два предмета второго вида. Эффективность будет больше в послед­ нем случае и f2<W) = 170. При грузоподъемности 46...47 ед. можно погрузить один предмет первого типа, до двух предметов второго вида, или же по одному предмету первого и второго видов. Эффективность загрузки в последнем вари­ анте максимальна.

Приступим к оптимизации на шаге 3. Будем загружать транспортное средст­ во предметами первых трех видов. Требуется максимизировать по х3

fi23 = x3V3 + f2(W - Х3Р3); f3(W) = max f123;

X 3

(3.53)

0 < x3 < [W/P3]

Задаемся значением W и для каждого такого значения получаем максимум f123 по х3. Значения f2(W) берем из таблицы 3.9.2. Например, пусть W = 38 ед. Воз­ можное значение х3 = 0, 1, 2 ед., и соответствующая эффективность предметов третьего вида - 0, 50, 100 ед. На предметы первого и второго видов остается, соответственно, грузоподъемность 38, 22, 6 ед. По данным таблицы 3.9.2 нахо­ дим f2(W) = 96, 85, 0 ед. Суммарная эффективность 96, 135, 100 ед. Макси­ мальное значение эффективности при W = 38 ед. равно 135 ед. для х3 = 1. Ре­ зультаты расчетов помещены в табл. 3.9.3.

 

 

 

 

 

Таблица 3.9.3

W

f3(W)

х

W

f3(W)

х

3

3

0. ..15

0

0

44. . . 45

170

0

16... 21

50

1

46 ... 47

181

0

22 ... 23

85

0

48 ... 63

192

0

24 ... 31

96

0

64 ... 69

242

1

32 ... 37

100

2

70 ... 71

277

0

38 ... 39

135

1

72 ... 87

288

0

40. . . 43

146

1

 

 

 

Проводим оптимизацию на последнем (четвертом) шаге. Получим опти­ мальную загрузку самолета W .

Зададимся значением W, которое может быть занято грузом четырех видов, и вычислим х4, f4(W). Строго говоря, здесь нам достаточно было бы вычислить одну строку табл.3.9.4 для W = 83.

Второй этап. Нахождение оптимального решения поставленной задачи. Максимальное значение f4(W) - это и есть W, а соответствующее значение ар­ гумента х4 - количество груза четвертого вида, которое берет самолет (х4):

W* = max f4(W) = 308; х4* = 1

178 Часть 1. Новые принципы работы

Масса предметов четвертого вида будет х4 Р4 = 10 ед. На остальные три вида

груза остается W -

10 = 73 ед. При значении W = 73 ед. по табл.3.9.3 получаем

х3 = 0; аналогично получаем х2

= 0; Xi

= 3.

 

Таблица 3.9.4

 

 

 

 

 

 

0

W

f4(W)

х4

W

f4(W)

х4

. .9

0

0

46. .47

181

0

10. .15

20

1

48. .57

192

0

16

. .21

50

0

58. .63

212

1

22

. . 23

85

0

64. . 69

242

0

24. .33

96

0

70. .71

277

0

34. .37

116

1

72. .81

288

0

38. .39

135

0

82. .87

308

1

40. . . 45

146

0

 

 

 

Если еще раз вернуться к табл. 3.9.1 - 3.9.4, то увидим, что они содержат "заготовки" для оптимальной загрузки самолета любой грузоподъемности (до W= 87 ед.) указанными предметами. Таким образом, мы решили не только по­ ставленную задачу, а большой набор родственных задач. С одной стороны, это хорошо, но, с другой стороны, в памяти компьютера необходимо хранить табл.3.9.1 - 3.9.4: столбцы fi(W) -f4 (W) до выполнения следующего (п+1)-го ша­ га, а столбцы х-ь х2, х3, х4 и соответствующие им значения W - на протяжении всего процесса решения. Для сложных задач последнее обстоятельство имеет существенное значение и ограничивает возможности рассмотренного метода.

Подчеркнем, что полученное оптимальное решение х / = 3, х2* = 0, х3* = 0, х4 = 1 и W = 308 легко может быть получено как решение задачи целочисленно­ го программирования в виде (3.49) - (3.50) с использованием программы Micro­ soft Excel.

3.9.3. ЗАДАЧА О ВКЛАДЕ СРЕДСТВ В ПРОИЗВОДСТВО

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

Рассмотрим задачу с непрерывными переменными, связанную с планиро­ ванием вклада средств в производство. Эта задача методически может быть от-

Глава 3. Математические модели в менеджменте

179

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

Пусть планируется деятельность цехов (например, швейного и по ремонту обуви) сроком на 5 лет ( т = 5). Функции вклада в производство средств ф(х) = 0,75х, ф(у) = 0,3у, то есть, если средства z вкладывать только в продукцию пер­ вого цеха, то по годам будет вкладываться средств 0,75z; 0,752z; 0,753z, . . . .

Соответственно, если средства z вкладывать только в выпуск продукции второго цеха, то получим 0,3z; 0,32z; 0,33z, . . ..

Функции дохода как функции от объема вкладываемых средств х и у имеют

вид

f(x)

= 1 - e - x

;

 

g(y)

= 1 - e - 2 y

.

(3.54)

Требуется распределить имеющиеся ресурсы z = 2 между цехами по годам так, чтобы получить максимальный доход. То есть, необходимо определить по годам объемы вложений х в первый цех, и у - во второй цех.

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

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

Итак, примем в качестве управляющих переменных х^ Хг, х3, х4, Xs - объе­ мы средств, вкладываемых по годам в продукцию первого цеха, yi, у2, уз, Ул, Уь - объемы средств, вкладываемых по годам в продукцию второго цеха.

В соответствии с выражениями (3.54) целевую функцию, максимизирующую суммарный доход, запишем в виде

5

 

F(x, У) = 2 ( 2 ~ e~Xi ~ e"2>i) -> max

(3.55)

i=l

Ограничения выражаются в распределении имеющихся ресурсов по годам в со­ ответствии с приведенными выше функциями вклада средств в производство

Zj = 0,75Xj + 0,3(Zj.i - Х|) при условии Xj + у* = ZM

(3.56)

для i = 1, 2, 3, 4, 5.

Именно условия (3.56) отражают динамический характер задачи, обеспечивая "стыковку" вложений ресурсов по годам.

180

Часть 1. Новые принципы работы

Математическая модель (3.55) - (3.56) описывает задачу нелинейного про­ граммирования и успешно может быть решена с использованием табличного процессора интегрированной системы Microsoft Office. Результат такого реше­ ния представлен в виде таблицы Microsoft Excel (табл.3.9.5).

Таблица 3.9.5. Решение задачи о вкладе средств в производство

Вложения в

Доход 1-го

Вложения во

Доход 2-го

1-й цех

 

цеха

2-й цех

цеха

Х1 = 1,619

f1 = 0,802

Y1 =0,381

g1 = 0,533

Х2= 1,040

f2

= 0,646

Y2 = 0,289

g2 = 0,439

ХЗ = 0,627

f3

= 0,466

Y3 = 0,239

g3 = 0,381

Х4 = 0,301

f4

= 0,260

Y4 = 0,241

g4 = 0,382

Х5 = 0,000

f5 = 0,000

Y5 = 0,298

g5 = 0,449

 

Суммарные ресурсы по годам

Z0

Z1

 

Z2

Z3

Z4

Z5

2

1,329

0,867

0,542

0,298

0,089

Суммарный доход от двух цехов за 5

 

лет

 

 

 

 

 

4,358

В таблице приведены оптимальные значения управляющих переменных x-i - x5 и У1 - У5, значение целевой функции (суммарного дохода) в оптимальном реше­ нии, а также распределение по годам суммарных ресурсов (здесь z5 = 0,089 - остаток средств на конец планируемого периода - на конец 5-го года).

3.9.4. МОДЕЛЬ УПРАВЛЕНИЯ ЗАПАСАМИ

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

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

Соседние файлы в предмете Экономика