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

advertisement
Е. В. Морозова, С. В. Мягкова
МОДЕЛИ ЗАДАЧ
МАТЕМАТИЧЕСКОГО
ПРОГРАММИРОВАНИЯ
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«ВОЛГОГРАДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
КАМЫШИНСКИЙ ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ (ФИЛИАЛ)
ГОУ ВПО «ВОЛГОГРАДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Е. В. Морозова, С. В. Мягкова
МОДЕЛИ ЗАДАЧ
МАТЕМАТИЧЕСКОГО
ПРОГРАММИРОВАНИЯ
Учебное пособие
Волгоград
2009
1
УДК 519.85
М 80
Рецензенты: кафедра «Математика и информатика» Волгоградского
института бизнеса; ст. преподаватель СГА Н. В. Выпова
МОДЕЛИ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ: учеб. пособие / Е. В. Морозова, С. В. Мягкова; ВолгГТУ, Волгоград, 2009. – 56 с.
ISBN 978-5-9948-0345-5
Является продолжением учебного пособия «Экономико-математические методы». Приводятся краткие теоретические сведения и подробно
решенные примеры по основным темам дисциплины «Экономикоматематические методы».
Предназначено для студентов экономических специальностей высшего профессионального образования очной, очно-заочной и заочной
форм обучения.
Ил. 6.
Табл. 13.
Библиогр. 7 назв.
Печатается по решению редакционно-издательского совета
Волгоградского государственного технического университета
Учебное издание
Елена Васильевна Морозова, Светлана Васильевна Мягкова
МОДЕЛИ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ
Учебное пособие
Редактор Попова Л. В.
Компьютерная верстка Сарафановой Н. М.
Темплан 2009 г., поз. № 24К.
Лицензия ИД № 04790 от 18 мая 2001 г. Подписано в печать 19. 11. 2009 г.
Формат 60×84 1/16. Бумага листовая. Печать офсетная.
Усл. печ. л. 3,5. Усл. авт. л. 3,38. Тираж 100 экз. Заказ №
Волгоградский государственный технический университет
400131 Волгоград, просп. им. В. И. Ленина, 28.
РПК «Политехник»
Волгоградского государственного технического университета
400131 Волгоград, ул. Советская, 35.

ISBN 978-5-9948-0345-5
2
Волгоградский
государственный
технический
университет, 2009
СОДЕРЖАНИЕ
Введение .................................................................................................4
1. Линейная производственная задача .................................................6
2. Двойственная задача ........................................................................12
3. Задача о «расшивке узких мест производства»............................. 15
4. Транспортная задача ........................................................................19
5. Распределение капитальных вложений .........................................27
6. Динамическая задача управления запасами ..................................31
7. Анализ доходности и риска финансовых операций .....................38
8. Оптимальный портфель ценных бумаг ..........................................41
9. Элементы сетевого планирования. .................................................45
10. Задача о замене оборудования. .....................................................50
11. Задача календарного планирования трудовых ресурсов ............54
Список использованной и рекомендуемой литературы ...................56
3
ВВЕДЕНИЕ
Многие задачи, с которыми приходится иметь дело в повседневной
практике, являются многовариантными. Среди множества возможных вариантов в условиях рыночных отношений приходится находить наилучшие в некотором смысле при ограничениях, налагаемых на природные,
экономические и технологические возможности. До недавнего времени
большинство таких задач решалось, исходя из здравого смысла и опыта
лиц, принимающих решения или просто «на глаз». При таком подходе не
было и не могло быть никакой уверенности, что найденный вариант
наилучший, а при современных масштабах производства даже незначительные ошибки оборачиваются громадными потерями. В связи с этим
возникла необходимость применять для анализа экономической ситуации
математические методы и вычислительную технику, такие методы объединяются под общим названием математическое программирование
или математическое моделирование.
Математическое программирование – область математики, разрабатывающая теорию и численные методы решения многомерных экстремальных задач с ограничениями, т. е. задач на экстремум функции многих переменных с ограничениями на область определения этих переменных. Функция, экстремальное значение которой нужно найти в условиях
экономических возможностей, называется целевой функцией или показателем эффективности, или критерием оптимальности. Экономические
возможности формализуются в виде системы ограничений. Все это составляет математическую модель.
Математическая модель задачи – это отражение оригинала в виде
функций, уравнений, неравенств, цифр и т. д. Модель задачи математического программирования включает:
1. Совокупность неизвестных величин X  x1 ; x2 ; xi ; xn , действуя на которые систему можно совершенствовать, называют планом
задачи (вектором управления, решением, стратегией, поведением и т. д.).
2. Целевую функцию (она позволяет выбирать наилучший вариант
из множества возможных) обозначают z; z  z X . Это может быть прибыль, объем выпуска или реализация, затраты производства издержки и т. д.
3. Условия (или систему ограничений), налагаемые на неизвестные
величины; эти условия могут быть материальные (ресурсы), финансовые,
трудовые ресурсы, возможности технического и научного потенциала.
Математические ограничения выражаются в виде уравнений и неравенств. Их совокупность образует область допустимых решений (ОДР),
если ОДР обозначим за Q , то модель задачи математического программирования примет вид max min  : Z  zx, X  Q.
4
В развернутом виде:
Найти план X  x1 ; xn  , доставляющий экстремальное значение
целевой функции z при ограничениях i ( x1; xn )  Bi . Из экономических соображений на план задачи налагаются условия неотрицательности xi  0 , иногда целочисленности. Допустимый план, доставляющий функции цели экстремальное значение, называется оптимальным.
Начало математического программирования было положено в 1939 г. советским математиком-экономистом Канторовичем. Составными частями
математического программирования являются линейное, нелинейное,
динамическое программирование, а также теория игр и графов.
5
1. ЛИНЕЙНАЯ ПРОИЗВОДСТВЕННАЯ ЗАДАЧА
Линейная производственная задача – это задача о рациональном использовании имеющихся ресурсов, для решения которой применяют методы линейного программирования. В общем виде задача может быть
сформулирована следующим образом:
Предположим, предприятие или цех может выпускать n видов продукции, используя m видов ресурсов. При этом известно количество
каждого вида ресурса, расход каждого вида ресурса на выпуск каждого
вида продукции, прибыль, получаемая с единицы выпущенной продукции. Требуется составить такой план производства продукции, при котором прибыль, получаемая предприятием, была бы наибольшей.
Примем следующие обозначения:
i
– номер ресурса (i = 1,2, …, m);
j
– номер продукции (j = 1,2, …, n);
a ij
– расход i-го ресурса на единицу j-ой продукции;
bi
cj
– имеющееся количество i-го ресурса;
xj
– планируемое количество единиц j-ой продукции;
x1 , x2 , ... , xn
– прибыль на единицу j-ой продукции;
– искомый план производства.
Таким образом, математическая модель задачи состоит в том, чтобы
найти производственную программу x x1 , x2 , ... , xn  , максимизирующую прибыль:
n
z  c j x j .
j 1
При этом, какова бы ни была производственная программа x , ее
компоненты должны удовлетворять условию, что суммарное использование данного вида ресурса, при производстве всех видов продукции, не
должно превышать имеющееся количество данного вида ресурса, т.е.
n
a
ij x j
 bi , где i  1, m .
j 1
А так как компоненты программы – количество изделий, то они не
могут быть выражены отрицательными числами, следовательно добавляется еще одно условие:
x j  0 , где j  1, n.
6
Предположим, что предприятие может выпускать четыре вида продукции ( n  4 ), используя для этого три вида ресурсов ( m  3 ). Известна
технологическая матрица А затрат любого ресурса на единицу каждой
продукции, вектор В объемов ресурсов и вектор С удельной прибыли:
 3 2 6 0
150 




A   4 2 3 5  , B  130  , C  30, 11, 45, 6 .
 4 3 2 4
124 




Тогда математическая модель задачи будет иметь вид:
Найти производственную программу ( x1 , x2 , x3 , x4 ) , максимизирующую прибыль:
z  30 x1  11x2  45 x3  6 x,
(1.1)
при ограничениях по ресурсам:
 150 ,
3x1  2 x2  6 x3

(1.2)
4 x1  2 x2  3x3  5 x4  130 ,
4 x  3x  2 x  4 x  124 ;
2
3
4
 1
где по смыслу задачи: x1  0 , x 2  0 , x3  0 , x 4  0 .
Таким образом, получили задачу на нахождение условного экстремума. Для ее решения введем дополнительные неотрицательные неизвестные:
остаток ресурса определенного вида (неиспользуемое
x5 , x 6 , x 7
количество каждого ресурса)
Тогда вместо системы неравенств (1.2), получим систему линейных
алгебраических уравнений:
 x5
 150 ,
3x1  2 x2  6 x3

4
x

2
x

3
x

5
x

x
 130 ,
(1.3)
 1
2
3
4
6
4 x  3x  2 x  4 x

x

124
;
2
3
4
7
 1
где среди всех решений, удовлетворяющих условию неотрицательности:
x1  0 , x 2  0 , x3  0 , x 4  0 , x5  0 , x6  0 , x7  0
надо найти решение, при котором функция (1.1) примет наибольшее
значение. Эту задачу будем решать методом последовательного улучшения плана – симплексным методом.
Воспользуемся тем, что правые части всех уравнений системы (1.3)
неотрицательны, а сама система имеет предпочитаемый вид – дополнительные переменные являются базисными. Приравняв к нулю свободные
переменные x1, x2, x3, x4, получаем базисное неотрицательное решение:
x1  0 , x 2  0 , x3  0 , x 4  0 , x5  150 , x6  130 , x7  124 ,
7
первые четыре компоненты которого представляют производственную программу x  0,0,0,0 , по которой пока ничего не производится.
Из выражения (1.1) видно, что наиболее выгодно начинать производить продукцию третьего вида, т. к. прибыль на единицу выпущенной
продукции здесь наибольшая, поэтому в системе (1.3) принимаем переменную x3 за разрешающую и преобразуем эту систему к другому предпочитаемому виду. Для чего составляем отношения правых частей уравнений к соответствующим положительным коэффициентам при выбранной неизвестной и находим наибольшее значение x3, которое она может
принять при нулевых значениях других свободных неизвестных, сохранив правые части уравнений неотрицательными, т. е.
 bi 
150 130 124  150
  min 
min 
;
;
 25 .


3
2 
6
 6
 ai 3  0 
Оно соответствует первому уравнению в системе (1.3), и показывает
какое количество изделий третьего вида предприятие может изготовить с
учетом объемов сырья первого вида. Следовательно, в базис вводим неизвестную x3, а исключаем оттуда неизвестную x5. Тогда принимаем первое уравнение в системе (1.3) за разрешающее, а разрешающим элементом будет a13 = 6.
Применив формулы исключения, переходим к новому предпочитаемому виду системы с соответствующим базисным допустимым решением.
Полный процесс решения приведен в табл. 1, где в последней строке
третьей симплекс-таблицы нет ни одного отрицательного относительного
оценочного коэффициента
 j  z j  c j , где z j 
m
c
j
 xij , где j  1, n ,
i 1
т. е. выполняется критерий оптимальности для максимизируемой
функции (1.1).
8
Таблица 1
30
11
45
6
0
0
0
x1
x2
x3
x4
x5
x6
x7
Базис
СБ
В
x5
0
150
3
2
[6]
0
1
0
0
x6
0
130
4
2
3
5
0
1
0
Пояснения
min
9
x3
0
45
124
 150;
 6

130
3
;
124 
2
150


6
4
3
2
4
0
0
1
- 30
-11
- 45
-6
0
0
0
первая строка – разрешающая
x3  в базис, x5  из базиса.
разрешающий элемент = 6
25
1
1
1
0
1
0
0
min
[ 5
0
5
1
2
1
0
x1 – разрешающая переменная
0
4
1
3
0
1
min
0
вторая строка – разрешающая
разрешающий элемент = 5
x6
0
55
x7
0
74
2
2
3
 15
1125
2
]
7
3
6
-6
15
1
-1
4
5
0
2
1
15
0
-2
4
7
0
9
4
x3
45
14
0
x1
30
22
1
2
x7
0
8
0
17
0
3
1
2
1290


30;  11;  45;  6    45
x3 – разрешающая переменная
min
x7
 

15
0
0
2
5
15
9
15 ; 4; 0;  6  

2
 25 ;
1
 2

55
5 ;
2
74 
3


2
5
5
2
6
3
0
0
5
5
1
0

55
2
1
15
6
 

Все  j  0
15
2
При этом каждый элемент симплексной таблицы имеет определенный экономический смысл. Например, во второй симплексной таблице:
В столбце x1 :
Показывают, на сколько следует уменьшить изготовление
1
2
изделия третьего вида, если запланирован выпуск одного
изделия первого вида.
Показывают, сколько потребуется сырья второго и третьего
5 ;3
2
вида, при включении в план одного изделия первого вида.
Т. е. при включении в план одного изделия первого вида, потребуется уменьшение выпуска продукции третьего вида на 0,5 единиц, а
также потребуются дополнительные затраты 2,5 единиц сырья второго
вида и 3 единицы сырья третьего вида, что приведет к увеличению прибыли предприятия на 7,5 денежных единиц.
В столбце x5 :
Показывают, что увеличение объема сырья пер1 ; 1 ; 1
6
3
2
вого вида на единицу позволило бы увеличить
выпуск продукции третьего вида на 1 6 .
25 
1
2 x1
 1 3 x 2  x3  1 6 x5 .
что одновременно потребовало бы
1
2
единицы
сырья второго вида и 1 3 единицы сырья третьего
вида.
Так как в последней строке третьей симплекс-таблицы табл. 1 нет ни
одного отрицательного относительного оценочного коэффициента, то
производственная программа, при которой получаемая предприятием
прибыль имеет наибольшее значение, найдена, т. к., например, коэффициент  2  7 при переменной x2 показывает, что если произвести одну
единицу продукции второго вида, то прибыль уменьшится на 7 денежных
единиц.
Таким образом, получили производственную программу:
x1  22 , x 2  0 , x3  14 , x 4  0 ,
которая является оптимальной и обеспечивает предприятию
наибольшую возможную прибыль:
z  30 x1  11x2  45x3  6 x4  30  22  11 0  45 14  6  0  660  630  1290.
При этом первый и второй ресурсы будут использованы полностью,
т. е. первый и второй ресурсы образуют «узкие места производства»:
x5  0 , x 6  0 ,
а третий ресурс будет иметь остаток: x7  8 .
10
Помимо этого в третьей симплексной таблице получен обращенный
базис, отвечающий оптимальной производственной программе:
 415  15 0 


1
Q    15 2 5 0  ,
 4

6
 15  5 1 
тогда можно проверить выполнение соотношения H  Q 1 B :
 4 15  1 5 0  150   4 15  150  1 5 130  0 124 

 

 
H    1 5 2 5 0   130     1 5 150  2 5 130  0 124  
4
 

  4
6
6
 15  5 1  124   15  150  5 130  1124 
 40  26   14 

  
   30  52    22 
 40  156  124   8 

  
а т. к. из третьей симплексной таблицы:
 14 
 
1
H   22  , следовательно, соотношение H  Q B выполняется.
8
 
11
2. ДВОЙСТВЕННАЯ ЗАДАЧА
Задача, двойственная линейной производственной задаче, например,
может заключаться в оценке выгоды от продажи сырья, используемого в
производстве, на сторону.
Например, выше была рассмотрена линейная производственная задача по выпуску четырех видов продукции с использованием трех видов
ресурсов по заданным технологиям. Предположим, некий предприниматель, занимающийся производством других видов продукции с использованием трех таких же видов ресурсов, предлагает «уступить» ему все
имеющиеся ресурсы и обещает платить y1 денежных единиц за каждую
единицу первого ресурса, y2 денежных единиц за каждую единицу второго ресурса и y3 денежных единиц за каждую единицу третьего ресурса.
Возникает вопрос: при каких значениях y1, y2, y3 можно согласиться с
предложением этого предпринимателя.
Так в предыдущей задаче технологическая матрица А затрат любого
ресурса на единицу каждой продукции, вектор В объемов ресурсов и вектор С удельной прибыли имели вид:
150 
 3 2 6 0




,
B

A   4 2 3 5
130  , C  30, 11, 45, 6 .
124 
 4 3 2 4




Значит, для производства, например, первого вида продукции, предприятие должно затратить 3 единицы ресурса первого вида, 4 единицы
ресурса второго вида и 4 единицы ресурса третьего вида, за что оно получит прибыль 30 денежных единиц. Следовательно, согласиться с предложением предпринимателя можно, если он заплатит не меньше, т. е. в
ценах y1, y2, y3 это условие будет иметь вид:
3 y1  4 y2  4 y3  30 .
Аналогично и с продукцией второго, третьего и четвертого вида, при
этом, за все имеющиеся ресурсы, предприниматель должен заплатить не
меньше:
150 y1  130 y2  124 y3 денежных единиц.
Следовательно, предприниматель будет искать такие значения y1, y2,
y3, при которых эта сумма была бы как можно меньше. При этом речь
идет о ценах, которые зависят не от цен, по которым эти ресурсы были
когда-то приобретены, а о ценах, зависящих от применяемых в производстве технологий, объемов ресурсов и прибыли, которую возможно получить за произведенную продукцию.
Таким образом, задача определения расчетных оценок ресурсов приводит к задаче линейного программирования: найти вектор двойственных
оценок y  y1, y2 , y3  , минимизирующий общую оценку всех ресурсов
f  150 y1  130 y2  124 y3 ,
12
при условии, что по каждому виду продукции суммарная оценка
всех ресурсов, затрачиваемых на производство единицы продукции, не
меньше прибыли, получаемой от реализации единицы этой продукции, т. е.
3 y1  4 y2  4 y3  30 ,

2 y1  2 y2  3 y3  11,

6 y1  3 y2  2 y3  45,

5 y2  4 y3  6.
Причем оценки ресурсов не могут быть отрицательными, т. е.
y1  0 , y2  0 , y3  0 .
Решение полученной задачи можно найти с помощью второй теоремы двойственности:
Дефицитный (избыточный) ресурс, полностью (неполностью) используемый по оптимальному плану производства, имеет положительную (нулевую) оценку, и технология, применяемая с ненулевой (нулевой)
интенсивностью, имеет нулевую (положительную) оценку.
То есть. для оптимальных решений x x1, x2 , ... , xn  и y  y1, y2 , y3 
пары двойственных задач необходимо и достаточно выполнение условий:
 x1 (3 y1  4 y2  4 y3  30 )  0,
 150 )  0,
 y1 (3x1  2 x2  6 x3
x
 2 (2 y1  2 y2  3 y3  11)  0, 

 y2 (4 x1  2 x2  3x3  5 x4  130 )  0,
 x3 (6 y1  3 y2  2 y3  45 )  0,  y (4 x  3x  2 x  4 x  124 )  0.
1
2
3
4
 x4 (
5 y2  4 y3  6)  0.  3
Выше было показано, что x1  0 , x3  0 , а x4  0 и x2  0 , тогда:
3 y1  4 y2  4 y3  30  0,

6 y1  3 y2  2 y3  45  0.
Но т. к. третий ресурс был избыточным (см. п. 1.), то по второй теореме двойственности, его двойственная оценка равна нулю, т. е. y3  0 .
Тогда переходим к новой системе уравнений:
3 y1  4 y2  30  0,

6 y1  3 y2  45  0.
Откуда получаем: y1  6 , y2  3 .
Таким образом, получили двойственные оценки ресурсов:
y1  6 , y2  3 , y3  0 .
Тогда общая оценка всех ресурсов равна:
f  150 y1  130 y2  124 y3  150  6  130  3  124  0  900  390  1290 .
13
То же самое решение значений двойственных оценок содержится в
последней строке симплексной табл. 1 и имеет определенный экономический смысл:
y1  6 – показывает, что добавление одной единицы первого ресурса
обеспечит прирост прибыли в 6 денежных единиц.
y2  3 – показывает, что добавление одной единицы второго ресурса
обеспечит прирост прибыли в 3 денежные единицы.
Одновременно технологические оценки из той же строки симплексной таблицы:
показывает, что если произвести одну единицу продукции
 2  7 – второго вида (не входящую в оптимальную производственную программу), то это уменьшит прибыль на 7 денежных
единиц.
 4  9 – показывает, что если увеличить выпуск продукции четвертого вида на одну единицу, то это уменьшит прибыль на 9
денежных единиц.
14
3. ЗАДАЧА О «РАСШИВКЕ УЗКИХ МЕСТ ПРОИЗВОДСТВА»
Задача о «расшивке узких мест производства» заключается в том,
что, например, когда в процессе производства происходит изменение
объема какого-либо ресурса, используемого в производстве, то, соответственно изменяется план производства и прибыль предприятия, получаемая от реализации готовой продукции. Это может происходить по различным причинам, например: сломался станок, поставщик предлагает
сырье в большем количестве и т. п.
Поэтому, когда какой-либо ресурс используется полностью, то
уменьшение объема этого ресурса может повлиять на всю структуру плана производства и прибыль предприятия. Следовательно, такой ресурс,
образующий «узкие места производства», желательно иметь с некоторым
запасом, т. е. заказывать дополнительно, чтобы сохранить структуру плана
производства и получить возможность увеличить прибыль предприятия.
Для примера возьмем данные и результаты вычислений из решения
предыдущих задач, где определено, что первый и второй ресурс используются полностью, и, соответственно, именно их нужно заказывать дополнительно. Но в таких объемах, чтобы сохранить структуру ранее
найденной программы производства, и с условием, что от поставщика
можно получить дополнительно не более одной трети первоначально выделенного объема ресурса любого вида.
Следовательно, задача сводится к нахождению объемов приобретения дополнительных ресурсов, удовлетворяющих указанным условиям, и
вычислению дополнительной возможной прибыли.
Тогда, пусть Т – вектор дополнительных объемов ресурсов:
 t1 
 
T   t2  .
t 
 3
При этом, для сохранения структуры производственной программы,
должно выполняться условие устойчивости двойственных оценок:
H  Q1T  0
 t1 
 
Так как. y3  0 , то задача состоит в том, чтобы найти вектор: T   t2  ,
0
 
максимизирующий суммарный прирост прибыли:
(3.1)
W  6t1  3t2 .
При условии сохранения структуры производственной программы:
 14   415  15 0   t1   0 
    
  
 22     15 2 5 0    t2    0  ,
    
8 4
6
   15  5 1   t3   0 
15
(3.2)
предполагая, что можно надеяться получить дополнительно не более
одной трети первоначального объема ресурса каждого вида, т. е.:
 t1 
  1
 t2  
0 3
 
150 


130  .
124 


(3.3)
Причем дополнительные объемы ресурсов, по смыслу задачи, не могут быть отрицательными, т. е.:
t1  0 , t2  0
(3.4)
Так как неравенства (3.2) и (3.3) должны выполняться одновременно,
то их можно переписать в виде одной системы неравенств:
 4 t  1 t  14 
5 2
 15 1
1

t1  2 t 2  22 
5
 5
 4
6

(3.5)
 15 t1  5 t 2  8


 t1  150 3


 t 2  130 3
Таким образом, получена задача линейного программирования: максимизировать функцию (3.1) при условиях (3.4) и (3.5).
Эту задачу с двумя переменными можно решить графически.
На рис. 1 видно, что система линейных неравенств (3.4), (3.5), образует область допустимых решений, ограниченную прямыми:
20 2
 t1 .
t1  0 , t2  0 , t1  50 , t2 
3 9
При этом линии уровня функции (3.1) перпендикулярны векторуградиенту grad W  6;3 и образуют семейство параллельных прямых
(градиент указывает направление возрастания функции). Наибольшего
значения функция (3.1) достигает в точке М пересечения прямых:
20 2
 t1 .
t1  50 и t2 
3 9
Координаты этой точки и определяют искомые объемы дополнительных ресурсов. Следовательно, программа «расшивки узких мест производства» имеет вид:
16
 
t2
70
17
1
43
3
17
6

7

M  50;17 
9

7
9
2
3


0
50
110
Рис. 1. Графическое решение задачи
17
t1
t1  50 , t 2  17
7
, t3  0
9
и прирост прибыли составит:
7 1060
1

 353
9
3
3
Сводка результатов по пунктам 1–3 приведена в табл. 2.
W  6t1  3t 2  6  50  3  17
Таблица 2
Cj
30
11
45
6
B
x 4i
yi
ti
3
2
6
0
150
0
6
50
4
2
3
5
130
0
3
17
4
3
2
4
124
8
0
0
xj
22
0
14
0
1290
j
0
7
0
9
a ij
18
7
9
353
1
3
4. ТРАНСПОРТНАЯ ЗАДАЧА
Транспортная задача – это задача о минимизации транспортных
расходов, связанных с обеспечением пунктов потребления определенным
количеством однородной продукции, производимой (хранимой) в нескольких пунктах производства (хранения). В общем виде задача может
быть сформулирована следующим образом:
Однородный продукт, сосредоточенный в m пунктах производства
(хранения), необходимо распределить между n пунктами потребления.
Стоимость перевозки единицы продукции известна для всех маршрутов.
Необходимо составить такой план перевозок, при котором запросы
всех пунктов потребления были бы удовлетворены за счет имеющихся
продуктов в пунктах производства и общие транспортные расходы по доставке продуктов были бы минимальными.
Примем следующие обозначения:
i
– номер пункта производства (хранения) (i = 1,2,…, m);
j
– номер пункта потребления (j = 1,2,…, n);
ai
– количество продукта, имеющееся в i-ом пункте производства;
– количество продукта, необходимое для j-го пункта потребления;
– стоимость перевозки единицы продукта из i-го пункта отправc ij
ления в j-ый пункт назначения;
x ij – количество груза, планируемого к перевозке от i-го пункта отправления в j-ый пункт назначения.
Тогда, при наличии баланса производства и потребления:
bj
m

n
ai 
i 1
b
j
.
j 1
Математическая модель транспортной задачи будет выглядеть следующим образом:
Найти план перевозок
X  xij , где i  1, m ; j  1, n ,
 
минимизирующий общую стоимость всех перевозок
m
L
n
 c
ij x ij
,
i 1 j 1
при условии, что из любого пункта производства вывозится весь
продукт, т. е.
n
x
j 1
ij
 ai , где i  1, m
19
(4.1)
и любому потребителю доставляется необходимое количества груза
m
x
i 1
ij
 b j , где j  1, n,
(4.2)
причем, по смыслу задачи
x11  0 , …, xmn  0.
Для решения транспортной задачи чаще всего применяется метод
потенциалов, при котором вводят обозначение вектора симплексных
множителей или потенциалов:
  p1 , p2 , ...., pm , q1 , q2 , ...., qn  .
Тогда
 ij  Aij  cij , где i  1, m ; j  1, n .
Откуда следует:
 ij  pi  q j  cij , где i  1, m ; j  1, n .
При этом один из потенциалов можно выбирать произвольно, т. к. в системе (4.1) и (4.2) одно уравнение линейно зависит от остальных, а остальные потенциалы находятся, из условия что, для базисных значений  ij  0 .
Предположим, что однородный продукт, находящийся в трех пунктах производства (m = 3), необходимо доставить в четыре пункта потребления (n = 4). При этом матрица С транспортных затрат на перевозку
единицы продукта из любого пункта отправления в любой пункт назначения, вектор А объемов запасов продукта в пунктах производства и вектор В объемов продукта, необходимых пунктам потребления, имеют вид:
3 2 6 1


C   4 2 3 5
 4 3 2 4


A a1 , a2 , a3   50; 70; 30 
B b1 , b2 , b3 , b4   30; 11; 45; 36 
Тогда получается, что общий объем продукта в пунктах производства
3
a
i
 50  70  30  150 больше, чем требуется всем потребителям
b
j
 30  11  45  36  122 .
i 1
4
j 1
Имеем открытую модель транспортной задачи.
Для того чтобы превратить открытую модель транспортной задачи в
закрытую, необходимо ввести фиктивный пункт потребления с объемом
потребления
m

i 1
n
ai 

j 1
3
bj 

i 1
4
ai 
b
j 1
20
j
 150  122  28 единиц,
при этом тарифы на перевозку продукта в этот пункт потребления будут равны нулю, т. к. фактического перемещения продукта не происходит.
Тогда, первое базисное допустимое решение легко построить по
правилу «северо-западного угла». А так как оценки базисных клеток
транспортной таблицы равны нулю, то, приняв, что p1  0 , получим, что
первая транспортная таблица и потенциалы имеют вид:
В1
В2
2
9
6
A2
4
2
36
3
A3
bj
4
3
30
30
qj
11
3
11  p1  q1  c11  0 ,
12  p1  q2  c12  0 ,
13  p1  q3  c13  0 ,
 34
 35
В4
3 11
A1
 23
 24
В3
 p2  q3  c23  0 ,
 p2  q4  c24  0 ,
 p3  q4  c34  0 ,
 p3  q5  c35  0 ,
13
2
34 56
14
2
0 28
36
28
*
2
45
2
В5
6
8
ai
pi
0
50
0
0
70
-3
0
30
-4
150
4
14  p1  q4  c14  0  8  1  7
0  q1  3  0 ,
0  q2  2  0 ,
0  q3  6  0 ,
p2  6  3  0 ,
3  q4  5  0 ,
p3  8  4  0 ,
4  q5  0  0 ,
15  p1  q5  c15  0  4  0  4
21  p2  q1  c21  3  3  4  4
22  p2  q2  c22  3  2  2  3
 25  p2  q5  c25  3  4  0  1
31  p3  q1  c31  4  3  4  5
32  p3  q2  c32  4  2  3  5
33  p3  q3  c33  4  6  2  0


max ij  0  7  14
Так как наибольшая положительная оценка всех свободных клеток
транспортной таблицы соответствует клетке (1;4), то строим цикл
пересчета: (1;4) → (1;3) → (2;3) → (2;4) и производим перераспределение
поставок вдоль цикла пересчета:
9
*
36
34

9

36  
34  
max  9
21

0
9
45
25
То получаем второе базисное допустимое решение и находим новые
потенциалы, полагая p3  0 :
В1
В2
В3
3 11
2
A2
4 *
2
A3
bj
4
3
A1
30
30
qj
45
11
6
В4
ai
pi
6
9
1
0
50
-3
3
25
5
0
70
1
2
2
4
0
30
0
45
5
В5
28
36
2
28
4
34  p3  q4  c34  0 , 0  q4  4  0 ,
35  p3  q5  c35  0 , 0  q5  0  0 ,
24  p2  q4  c24  0 , p2  4  5  0 ,
14  p1  q4  c14  0 ,
p1  4  1  0 ,
23  p2  q3  c23  0 , 1  q3  3  0 ,
12  p1  q2  c12  0 , 3  q2  2  0 ,
11  p1  q1  c11  0 , 3  q1  3  0 ,
150
0
13  p1  q3  c13  3  2  6  7 ;
15  p1  q5  c15  3  0  0  3 ;
21  p2  q1  c21  1  6  4  3 ;
 22  p2  q2  c22  1  5  2  4;
25  p2  q5  c25  1  0  0  1 ;
31  p3  q1  c31  0  6  4  2 ;
32  p3  q2  c32  0  5  3  2 ;
33  p3  q3  c33  0  2  2  0 ;


max ij  0  4  22 .
Так как теперь наибольшая положительная оценка всех свободных
клеток транспортной таблицы соответствует клетке (2;2), то строим цикл
пересчета: (2;2) → (1;2) → (1;4) → (2;4) и производим перераспределение
поставок вдоль цикла пресчета:
11
11 
9

*
25

9 
25  
0
20
11
14

max  11
Отсюда получаем третье базисное допустимое решение и находим
новые потенциалы, принимая p1  0 :
22
В1
В2
В3
A1
30
3
2
A2
*
4 11
2
4
3
A3
bj
30
qj
45
11
3
В4
ai
pi
6
20
1
0
50
0
3
14
5
0
70
4
2
2
4
0
30
3
45
-2
В5
28
36
-1
28
1
11  p1  q1  c11  0 , 0  q1  3  0 ,
14  p1  q4  c14  0 , 0  q4  1  0 ,
24  p2  q4  c24  0 ,
p2 1  5  0 ,
34  p3  q4  c34  0 ,
p3  1  4  0 ,
35  p3  q5  c35  0 , 3  q 5  0  0 ,
23  p2  q3  c23  0 ,
4  q3  3  0 ,
 22  p2  q2  c22  0 , 4  q 2  2  0 ,
150
-3
12  p1  q2  c12  0  2  2  4 ;
13  p1  q3  c13  0  1  6  7 ;
15  p1  q5  c15  0  3  0  3 ;
 21  p2  q1  c21  4  3  4  3;
25  p2  q5  c25  4  3  0  1 ;
31  p3  q1  c31  3  3  4  2 ;
32  p3  q2  c32  3  2  3  2
;
 33  p3  q3  c33  3  1  2  0
;


max ij  0  3  21 .
Так как наибольшая положительная оценка всех свободных клеток
транспортной таблицы теперь соответствует клетке (2;1), то строим цикл
пересчета: (2;1) → (1;1) → (1;4) → (2;4) и производим перераспределение
поставок вдоль цикла пресчета:
30
20
*
14

30  
20  

14  
16
34
14
0

max  14
Получаем четвертое базисное допустимое решение и находим новые
потенциалы, принимая p1  0 :
23
В1
В2
В3
В4
A1
16
3
2
A2
14
4 11
2
45
3
4
3
*
2
A3
bj
30
qj
11
3
6
45
1
11  p1  q1  c11  0 ,
21  p2  q1  c21  0 ,
14  p1  q4  c14  0 ,
34  p3  q4  c34  0 ,
35  p3  q5  c35  0 ,
22  p2  q2  c22  0 ,
23  p2  q3  c23  0 ,
34
В5
0
50
0
5
0
70
1
0
30
3
36
2
pi
1
4
2
ai
28
28
1
150
-3
0  q1  3  0 ,
12  p1  q2  c12  0  1  2  1 ;
13  p1  q3  c13  0  2  6  4 ;
p2  3  4  0 ,
0  q4  1  0 ,
15  p1  q5  c15  0  3  0  3 ;
p3  1  4  0 ,
24  p2  q4  c21  1  1  5  3 ;
3  q5  0  0 ,
 25  p2  q5  c25  1  3  0  2
1  q2  2  0 , 4;
31  p3  q1  c31  3  3  4  2 ;
1  q3  3  0 ,
32  p3  q2  c32  3  1  3  1 ;
 33  p3  q3  c33  3  2  2  3;
max ij  0  3  33 .


Так как наибольшая положительная оценка всех свободных клеток
транспортной таблицы соответствует клетке (3;3), то строим цикл
пересчета: (3;3) → (2;3) → (2;1) → (1;1) → (1;4) → (3;4) и производим
перераспределение поставок вдоль цикла пресчета:
16
14
34
 14   45  
45
*
34  
16  
2

14

2 
16
36
43
2
0
max  2
Получаем пятое базисное допустимое решение и находим новые потенциалы, опять принимая p1  0 :
24
В1
В2
В3
В4
pi
0
50
0
14
3
2
A2
16
4 11
2
43
3
5
*
0
70
1
4
3
2
2
4
28
0
30
0
30
qj
11
3
11  p1  q1  c11  0 ,
14  p1  q4  c14  0 ,
21  p2  q1  c21  0 ,
22  p2  q2  c22  0 ,
23  p2  q3  c23  0 ,
33  p3  q3  c33  0 ,
35  p3  q5  c35  0 ,
36
45
1
1
ai
A1
A3
bj
6
В5
36
2
28
1
0  q1  3  0 ,
0  q4  1  0 ,
p2  3  4  0 ,
1  q2  2  0 ,
1  q3  3  0 ,
p3  2  2  0 ,
0  q5  0  0 ,
150
0
12  p1  q2  c12  0  1  2  1 ;
13  p1  q3  c13  0  2  6  4 ;
15  p1  q5  c15  0  0  0  0 ;
 24  p2  q4  c24  1  1  5  3 ;
25  p2  q5  c25  1  0  0  1;
31  p3  q1  c31  0  3  4  1 ;
32  p3  q2  c32  0  1  3  2 ;
34  p3  q4  c34  0  1  4  3 ;


max ij  0  1  25 .
Теперь наибольшая положительная оценка всех свободных клеток
транспортной таблицы соответствует клетке (2;5), отсюда строим цикл
пересчета: (2;5) → (2;3) → (3;3) → (3;5) и производим перераспределение
поставок вдоль этого цикла пресчета:
43

2
28

43  
*
2 
28  
15
28
30
0

 max  28
Получаем пятое базисное допустимое решение и снова находим новые потенциалы, принимая p1  0 :
25
В1
В2
В3
В4
A1
14
3
2
A2
16
4 11
2
15
3
5
4
3
30
2
4
A3
bj
qj
30
6
В5
11
3
45
1
36
2
11  p1  q1  c11  0 ,
14  p1  q4  c14  0 ,
21  p2  q1  c21  0 ,
22  p2  q2  c22  0 ,
23  p2  q3  c23  0 ,
25  p2  q5  c25  0 ,
33  p3  q3  c33  0 ,
1
36
28
ai
pi
0
50
0
0
70
1
0
30
0
28
1
150
-1
0  q1  3  0 ,
0  q4  1  0 ,
p2  3  4  0 ,
1  q2  2  0 ,
1  q3  3  0 ,
1  q5  0  0 ,
p3  2  2  0 .
Находим оценки всех свободных клеток таблицы:
12  p1  q2  c12  0  1  2  1 ;
13  p1  q3  c13  0  2  6  4 ;
15  p1  q5  c15  0  1  0  1 ;
 24  p2  q4  c24  1  1  5  3 ;
31  p3  q1  c31  0  3  4  1 ;
32  p3  q2  c32  0  1  3  2 ;
Все ij  0 ,
34  p3  q4  c34  0  1  4  3 ;
где i  1, m ; j  1, n .
35  p3  q5  c35  0  1  0  1 .
Так как получили таблицу, для которой нет ни одной положительной
оценки, следовательно, найдено оптимальное базисное допустимое
решение:
 14 0 0 36 


X   16 11 15 0  ,
 0 0 30 0 


при котором транспортные расходы по обеспечению продуктом всех
четырех пуктов потребления будут наименьшими. При этом, из второго
пункта производства товар будет вывезен не полностью, т. е. там
останется остаток продукта 28 единиц.
26
5. РАСПРЕДЕЛЕНИЕ КАПИТАЛЬНЫХ ВЛОЖЕНИЙ
Задача о распределении капитальных вложений – это нелинейная
задача распределения ресурсов между предприятиями одного производственного объединения или отрасли.
Предположим, что указано n пунктов, где требуется построить или
реконструировать предприятия одной отрасли, для чего выделена
определенная сумма. При этом известен прирост мощности или прибыли
для каждого предприятия, в зависимости от суммы капитальных вложений в это предприятие. Требуется найти такое распределение капитальных вложений между предприятиями, которое максимизирует суммарный прирост мощности или прибыли всей отрасли.
Примем следующие обозначения:
j
– номер предприятия (j = 1,2,…, n);
b
– общая сумма капитальных вложений;
xj
– сумма капитальных вложений в j-ое предприятие;
– прирост мощности или прибыли j-го предприятия, если оно получит xj денежных единиц капитальных вложений.
Тогда задача состоит в том, чтобы найти такие значения x1 , x2 , …,
 
f j xj
xn , при которых значение суммарного прироста прибыли или мощности
всей отрасли:
z  f1x1   f 2 x2   ....  f n xn 
было бы наибольшим, при ограничении общей суммы:
x1  x2  ...  xn  b , причем будем считать, что все переменные x j принимают только целые неотрицательные значения, т. е.:
x j = 0 или 1, или 2, или 3, …; j  1, n .
Эту задачу можно решить методом динамического программирования. Для этого необходимо ввести параметр состояния  и функцию состояния Fk   :
– некоторое количество предприятий, для которых опредеk
ляется параметр и функция состояния ( 1  k  n );
– сумма капитальных вложений, выделяемая нескольким

предприятиям ( 0    b );
– максимальный прирост прибыли или мощности на первых
Fk  
k предприятиях, если они вместе получат  капитальных
вложений.
27
Тогда, если из  денежных единиц k-ое предприятие получит xk
денежных единиц, то остаток   xk денежных средств необходимо распределить между предприятиями от первого до k  1 так, чтобы был получен максимальный прирост прибыли или мощности Fk 1   xk  . Следовательно, прирост прибыли или мощности k предприятий будет равен
f k xk   Fk 1  xk  и нужно выбрать такое значение xk между 0 и  ,
чтобы увеличение прибыли или мощности k предприятий было бы максимальным, т. е.:
Fk    max  f k xk   Fk 1   xk  , где k  2, n .
0 xk 
Если же k = 1, то:
F1   f1  .
Допустим, что производственное объединение состоит из четырех
предприятий (n = 4). Общая сумма капитальных вложений равна 700 денежных единиц (b = 700), при этом суммы, выделяемые предприятиям, кратны
100 денежным единицам. Значения функций f j ( x j ) приведены в табл. 3.
Таблица 3
xj
0
100
200
300
400
500
600
700
f1 ( x1 )
0
42
58
71
80
89
95
100
f 2 ( x2 )
0
30
49
63
68
69
65
60
f 3 ( x3 )
0
22
37
49
59
68
76
82
f 4 ( x4 )
0
50
68
82
92
100
107
112
Для заполнения табл. 5 необходимо в табл. 4 сложить значения
функции f 2 ( x2 ) со значениями F1 (  x2 )  f1 (  x2 ) и на каждой северо-восточной диагонали выбрать наибольшее число (отмечено звездочкой), указав соответствующее значение ~
x2 ( ) .
Для заполнения табл. 7 необходимо в табл. 6 сложить значения
функции f 3 ( x3 ) со значениями F2 (  x3 ) и на каждой северо-восточной
диагонали выбрать наибольшее число (отмечено звездочкой), указав соответствующее значение ~
x3 ( ) .
Теперь, в табл. 8, необходимо сложить значения функции f 4 ( x4 ) со
значениями F3 (  x4 ) , но только для значения   700 , т. е. заполнить
только одну диагональ:
28
Таблица 4
  x2
F1 (  x2 )
x2
f 2 ( x2 )
0
30
49
63
68
69
65
60
0
100
200
300
400
500
600
700
0
100
200
300
400
500
600
700
0
42
58
71
80
89
95
100
0
30
49
63
68
69
65
60
42*
72*
91*
105
110
111
107
58
88
107*
121*
126
127
71
101
120
134*
139
80
110
129
143*
89
119
138
95
125
100
Таблица 5

F2 ( )
~
x ( )
2
0
100
200
300
400
500
600
700
0
42
72
91
107
121
134
143
0
0
100
200
200
300
300
300
Таблица 6
  x3
F2 (  x3 )
x3
f 3 ( x3 )
0
22
37
49
59
68
76
82
0
100
200
300
400
500
600
700
0
100
200
300
400
500
600
700
0
42
72
91
107
121
134
143
0
22
37
49
59
68
76
82
42*
64
79
91
101
110
118
72*
94*
109
121
131
140
91
113*
128
140
150
107
129*
144*
156
121
143
158*
134
156
143
Таблица 7

F3 ( )
~
x ( )
3
0
100
200
300
400
500
600
700
0
42
72
94
113
129
144
158
0
0
0
100
100
100
200
200
29
Таблица 8
  x4
F3 (  x4 )
x4
f 4 ( x4 )
0
50
68
82
92
100
107
112
0
100
200
300
400
500
600
700
0
100
200
300
400
500
600
700
0
42
72
94
113
129
144
158
158
194
197*
195
186
172
149
112
Наибольшее число этой диагонали показывает максимально возможный суммарный прирост прибыли всех четырех предприятий данного производственного объединения, при общей сумме капитальных вложений в 700 денежных единиц, т. е.:
zmax  197 денежных единиц,
причем четвертому предприятию должно быть выделено:
x*  ~
x 700  200 денежных единиц.
4
4
Тогда третьему предприятию должно быть выделено (см. табл. 7.):
~
 ~
x3*  ~
x3  700  x*
4   x3 700  200   x3 500   100 денежных единиц,


второму предприятию должно быть выделено (см. табл. 5.):
* ~
~
x*2  ~
x2  700  x*
4  x3   x2 700  200  100   x2 400   200 денежных


единиц,
на долю первого предприятия остается:
x*  700  x*  x*  x*  700  200 100  200  200 денежных единиц.
1
4
3
2
Таким образом, наилучшим является следующее распределение капитальных вложений по предприятиям:
x*  200 , x*  200 , x*  100 , x*  200 ,
1
2
3
4
которое обеспечивает производственному объединению наибольший
возможный прирост прибыли:
z  f1200   f 2 200   f3 100   f 4 200   58  49  22  68  197 денежных единиц.
30
6. ДИНАМИЧЕСКАЯ ЗАДАЧА УПРАВЛЕНИЯ ЗАПАСАМИ
Задача управления запасами – это задача о поддержании баланса
производства и сбыта продукции предприятия, минимизирующего расходы предприятия на производство и хранение продукции.
Предположим, что предприятие, производящее партиями некоторую
продукцию, получило заказы на n месяцев. Размеры заказов значительно
меняются от месяца к месяцу, поэтому иногда лучше выполнять заказы
сразу нескольких месяцев, а затем хранить готовую продукцию, пока она
не потребуется, чем выполнять заказ именно в тот месяц, когда этот заказ
должен быть отправлен. Поэтому необходимо составить план производства
на эти n месяцев с учетом затрат на производство и хранение изделий.
Примем следующие обозначения:
j
– номер месяца (j = 1,2,…, n);
– число изделий, производимых в j-ом месяце;
xj
– величина запаса к началу j-го месяца;
– число изделий, которые должны быть отгружены в jdj
ом месяце;
– затраты на хранение и производство изделий в j-ом
f j x j ; y j 1
месяце.
Тогда, задача состоит в том, чтобы найти план производства
x1, x2 , ... , xn  , компоненты которого удовлетворяют условиям материального баланса:
x j  y j  d j  y j 1 , где j  1, n
и минимизируют суммарные затраты за весь планируемый период:
yj


 f x ; y  ,
n
z
j
j 1
j 1
причем по смыслу задачи x j  0 , y j  0 , при n j  1, n .
Так как объем произведенной продукции x j на этапе j может быть
настолько велик, что запас y j 1 может удовлетворить спрос всех последующих этапов и при этом не имеет смысла брать величину запаса y j 1
больше суммарного спроса на всех последующих этапах, то переменная
x j должна удовлетворять ограничениям:
0  x j  d j  y j 1 .
Полученную задачу можно решить методом динамического программирования, для чего необходимо определить параметр состояния 
и функцию состояния Fk   :
31

– наличный запас продукции в конце k-го месяца (   yk 1 );
– минимальные затраты за первые k месяцев:
Fk  
Fk   
 f x ; y  .
k
min
x1, x 2 , ..., x k
1
j
j
j 1
Тогда, минимальные затраты за один первый месяц ( k  1 ):
F1   y2   min  f1 x1;   .
x1
Следовательно, минимальные затраты при k  2, n :
Fk    min  f k xk ;    Fk 1  d k  xk  , где 0  xk  d k   .
xk
Если при этом функция затрат на хранение и производство изделий в
j-ом месяце имеет вид:
f j x j ; y j 1  Aj j  q j x j  h j y j 1 , где


 
 j  1 , при x j  0 и  j  0 , при x j  0 .
– затраты на оформление заказа (переналадку оборудования) в j-ом месяце;
– затраты на хранение единицы продукции, переходящей из
hj
j-го месяца в месяц (j+1);
– затраты на производство (закупку) x j единиц продукции
qj xj
в j-ом месяце,
то минимальные затраты за один первый месяц ( k  1 ):
F1   y2   min A11  q1 x1   h1 y2  .
Aj
 
x1
Если ввести обозначение:
k xk ; yk 1   Ak k  qk xk   hk yk 1  Fk 1  yk  ,
то, следовательно, минимальные затраты при k  2, n :
Fk   yk 1   min k xk ; yk 1  , где 0  xk  d k  yk 1 .
xk
Допустим, что предприятие заключило договора на поставку своей
продукции на три месяца. Исходные данные приведены в табл. 9. При этом
исходный запас товара на складе составляет две единицы, т. е y1  2 .
Таблица 9
Период k
1
2
3
Спрос ( d j )
3
2
3
4
2
3
1
1
1
Затраты на оформление заказа (
Aj )
Затраты на хранение единицы запаса ( h j )
32
Предполагается, что затраты на приобретение продукции составляют
5 руб. за каждую единицу для первых трех единиц и 7 руб. за каждую дополнительную единицу, т. е.
при 0  x j  3

5 x j
qj xj  
при x j  4

15  7 x j  3
Положим k  1 , тогда:
 




, при 0  x1  3
5 x


F1   y2   min 41   1
 1 y2  .

x1 


15

7
x

3
,
при
x

4

1
1




Так как параметр состояния   у2 может принимать значения на
отрезке:
0  y2  d2  d3  0  y2  2  3  0  y2  5 ,
т. е. y2  0, 1, 2, 3, 4, 5 , при этом каждому значению параметра состояния отвечает определенная область изменения переменной
x1 :
0  x1  d1  y2  0  x1  3  y2 .
Однако на первом этапе объем производства не может быть меньше
одной единицы, т. к. спрос d1  3 , а исходный запас y1  2 , при этом из
балансового уравнения следует, что объем производства связан с
параметром состояния   у2 соотношением:
x1  y2  d1  y1  y2  3  2  y2  1 ,
т. е. каждому значению y2 отвечает единственное значение x1 , поэтому:
F1   y2   1 x1; y2  , тогда:
y2  0 ,
x2  0  1  1 ,
1 1;0  4 1  5 1  1 0  9 ;
x2  1  1  2 ,
y2  1 ,
12;1  4 1  5  2  11  15 ;
y2  2 ,
x2  2  1  3 ,
13;2  4 1  5  3  1 2  21 ;
y2  3 ,
x2  3  1  4 ,
14;3  4 1  15  7 1  1 3  29 ;
y2  4 ,
x2  4  1  5 ,
1 5;4  4 1  15  7  2  1 4  37 ;
y2  5 ,
x2  5  1  6 ,
16;5  4 1  15  7  3  1 5  45 .
Значения функции состояния F1   приведены в табл. 10.
Таблица 10
  y2
0
1
2
3
4
5
F1   y2 
~
x1   y2 
9
15
21
29
37
45
1
2
3
4
5
6
33
Положим k  2 , тогда
F2   y3   min 2 x2 ; y3  , где
x2
, при 0  x2  3
5 x
2 x2 ; y3   2 2   2
  1 y3  F1  y2  .
15  7x2  3 , при x2  4 
Здесь минимум берется по переменной x2 , которая может изменяться в пределах:
0  x2  d2  y3  0  x2  2  y3 ,
где верхняя граница зависит от параметра состояния   y3 , который
принимает значения на отрезке:
0  y3  d3  0  y3  3 ,
т. е. y3  0, 1, 2, 3, при этом из балансового уравнения следует, что
остаток товара на начало второго месяца y2 связан с объемом производства x2 и с параметром состояния   у3 соотношением:
y2  y3  d 2  x2  y3  2  x2 .
Тогда:
y3  0,
( 0  x2  2 ),
y2  0  2  0  2 ;
y2  0  2  1  1 ;
y2  0  2  2  0 .
x2  0,
x2  1,
x2  2,
2 0;0  2  0  5  0  1 0  F1 2  0  21  21 *;
2 1;0  2  1  5  1  1 0  F1 1  7  15  22 ;
2 2;0  2  1  5  2  1 0  F1 0  12  9  21 *.
34
Наименьшие из полученных значений 2 , есть F2 0 , т. е.:
F2   y3  0  min 2 x2 ; 2  min 21, 22, 21  21 ,
x2
35
причем минимум достигается при x2  0 и x2  2 , т. е.:
~
x2   y3  0  2 ,
x2   y3  0  0 и ~
эти значения указываем в результирующей табл. 11.
Аналогично:
x2  0 ,
y2  1  2  0  3 ,
y3  1 ,
2 0;1  2  0  5  0  1 1  F1 3  1  29  30 ;
( 0  x 2  3 ),
y2  1  2  1  2 ,
x2  1 ,
2 1;1  2  1  5  1  1 1  F1 2  8  21  29 ;
y2  1  2  2  1 ,
x2  2 ,
2 2;1  2  1  5  2  1 1  F1 1  13  15  28 ;
x2  3 ,
y2  1  2  3  0 ,
 2 3;1  2  1  5  3  1  1  F1 0  18  9  27 *;
y3  2 ,
( 0  x2  4 ),
x2  0 ,
x2  1 ,
x2  2 ,
x2  3 ,
x2  4 ,
y3  3 ,
( 0  x2  5 ),
x2  0 ,
x2  1 ,
x2  2 ,
x2  3 ,
x2  4 ,
x2  5 ,
y2
y2
y2
y2
y2
 2  2  0  4,
 2  2 1  3 ,
 222  2 ,
 2  2  3  1,
 2  2  4  0,
2 0;2  2  0  5  0  1 2  F1 4  2  37  39 ;
2 1;2  2  1  5  1  1 2  F1 3  9  29  38 ;
 2 2;2  2  1  5  2  1  2  F1 2  14  21  35 ;
 2 3;2  2  1  5  3  1  2  F1 1  19  15  34 *;
y2
y2
y2
y2
y2
y2
 3  2  0  5,
 3  2 1  4 ,
 3  2  2  3,
 3 2  3  2,
 3  2  4  1,
 3 2 5  0,
 2 0;3  2  0  5  0  1  3  F1 5  3  45  48 ;
 2 1;3  2  1  5  1  1  3  F1 4  10  37  47 ;
 2 2;3  2  1  5  2  1  3  F1 3  15  29  44 ;
 2 3;3  2  1  5  3  1  3  F1 2  20  21  41 *;
2 4;3  2  1  15  7  1  1 3  F1 1  27  15  42 ;
2 5;3  2  1  15  7  2  1 3  F1 0  34  9  43 .
 2 4;2  2  1  15  7  1  1  2  F1 0  26  9  35 ;
35
Таким образом:
  y3
0
1
2
F2   y3 
21
27
34
~
0
2
3
3
x2   y3 
Теперь положим, что k  3 , тогда:
F3   y4   min 3 x3 ; y4  , где:
Таблица 11
3
41
3
x3
, при 0  x3  3
5 x
3 x3 ; y4   3 3   3
  1 y4  F2  y3  .
15  7x3  3 , при x3  4 
Если оставлять продукцию к концу третьего периода не нужно, тогда параметр состояния принимает единственное значение   y4  0 ,
следовательно, переменная x3 может изменяться в пределах:
0  x3  d3  y4  0  x3  3 ,
а из балансового уравнения следует, что остаток товара на начало
третьего месяца y 3 связан с объемом производства соотношением:
y3  y4  d3  x3  3  x3 .
Тогда: у3 = 0 + 3 – 3 = 0
y4  0
x3  0 у3 = 0 + 3 – 0 = 3 3 0;0  3  0  5  0  1 0  F2 3  0  41  41
( 0  x3  3 ) x3  1 у3 = 0 + 3 – 1 = 2 3 1;0  3 1  5 1  1 0  F2 2  8  34  42
x3  2 у3 = 0 + 3 – 2 = 1 3 2;0  3 1  5  2  1 0  F2 1  13  27  40
x3  3 у3 = 0 + 3 – 3 = 0 3 3;0  3 1  5  3  1 0  F2 0  18  21  39 *
Следовательно, получаем:
F3   y4  0  min 3 x3 ; 0  min 41, 42, 40, 39  39,
x3
причем минимум достигается при x3  3 , т. е.:
~
x3   y4  0  3 .
Таким образом, получили минимальные общие затраты на производство и хранение продукции и последнюю компоненту оптимального
решения:
x3*  3 .
Для нахождения остальных компонент оптимального решения
необходимо воспользоваться обычными правилами динамического программирования.
Тогда т. к. x3  y3  d3  y4 , то 3  y3  3  0 , откуда y3  0 , следовательно, из табл. 11 получаем:
x2*  ~
x2   y3  0  0 или x2*  ~
x2   y3  0  2 .
36
Аналогично т. к. x2  y2  d 2  y3 , то 0  y2  2  0 или 2  y2  2  0 ,
откуда y2  2 или y2  0 , следовательно, из табл. 10 получаем:
x*  ~
x   y  2  3 или x*  ~
x   y  0  1 .
1
1
2
1
1
2
Следовательно, получен оптимальный план производства, который
имеет два варианта:
x1  3 ;
x1  1 ;
x2  0 ;
x2  2 ;
x3  3 ;
x3  3 .
При этом, каждый вариант оптимального плана производства
обеспечивает минимальные общие затраты на производство и хранение
продукции в размере 39 денежных единиц.
37
7. АНАЛИЗ ДОХОДНОСТИ И РИСКА ФИНАНСОВЫХ ОПЕРАЦИЙ
Финансовой называется операция, начальное и конечное состояние
которой имеют денежную оценку и цель проведения которой заключается в максимизации дохода в виде разности между конечной и начальной оценками. При этом практически все финансовые операции проходят в условиях неопределенности и, следовательно, их результат невозможно предсказать заранее. Поэтому при проведении финансовой операции возможно получение как прибыли, так и убытка.
Поэтому задача анализа доходности и риска финансовой операции
заключается в оценке финансовой операции с точки зрения ее доходности и риска. Наиболее распространенным способом оценки финансовой
операции является представление дохода операции как случайной величины и оценка риска операции как среднего квадратического отклонения этого случайного дохода.
Например, если доход от проведения некоторой финансовой операции есть случайная величина Q , то средний ожидаемый доход Q –
это математическое ожидание случайной величины Q :
Q
 q p , где
i i
pi есть вероятность получить доход qi ,
i
то есть среднеквадратическое отклонение:
2
  D Q  , где D Q   M  Q  Q   M Q 2  Q 2


– это мера разбросанности возможных значений дохода вокруг
среднего ожидаемого дохода, то его можно считать количественной
мерой риска операции и обозначить как r :

 

 
r  M Q2  Q 2 .
Допустим, что по четырем финансовым операциям Q1 , Q2 , Q3 ,
Q4 ряды распределения доходов и вероятностей получения этих доходов имеют вид:
Q1 :
Q2 :
q1
2
6
8
4
p1
1
1
1
1
q2
0
p2
1
4
3
4
3
6
Q3 :
q3
2
3
4
10
p3
1
1
1
1
3
3
6
1
2
8
Q4 : q4
0
4
6
1
1
1
p4
1
1
1
3
6
6
38
5
5
5
6
10
2
5
Тогда т. к. Q 
q p
i
i
, то средний ожидаемый доход каждой опе-
i
рации имеет вид:
1 3 8 2 16
Q1  2  1  6  1  8  1  4  1     
 5.33 ;
4
4
3
6 2 2 3 3 3
1 1 4
Q2  0  1  1  1  2  1  8  1     2 ;
3
3
6
6 3 3 3
2 3 2 5
Q3  2  1  3  1  4  1  10  1      4 ;
3
3
6
6 3 3 3 3
4 6 20
Q4  0  1  4  1  6  1  10  2   
6.
5
5
5
5 5 5 5
 
Так как. r  M Q 2  Q 2 , то риски каждой финансовой операции
имеют вид:
 
Q12 
 
Q22  4 ;
 
Q32  16 ;
 
Q42  36 ;
64 8
M Q12  4  1  36  1  64  1  16  1  1  9    34 ,
4
4
3
6
3 3
34  9  256
50
r1 

 2.36 ;
9
9
1 2 32 35
,
M Q22  0  1  1 1  4  1  64  1   

3
3
6
6 3 3 3
3
35  4  3
23
r2 

 2.77 ;
3
3
4 9 8 50 71
M Q32  4  1  9  1  16  1  100  1      ,
3
3
6
6 3 3 3 3
3
71  16  3
23
r3 

 2.77 ;
3
3
16 36 200 252
,
M Q42  0  1  16  1  36  1  100  2   

5
5
5
5 5 5
5
5
r4 
252  36  5

5
256
;
9
72
 3.79 .
5
Нанесем средние ожидаемые доходы Q и риски r каждой операции на плоскость (см. рис. 2).
Тогда, чем правее точка на графике, тем более доходная операция,
чем точка выше – тем более она рисковая.
Для определения операции оптимальной по Парето, необходимо на
графике найти точку, которую не доминирует никакая другая точка.
39
r
4
3,79
2
2,77
3
1
2,36
2
4
5,33
6
Q
Рис. 2. Графическое решение
Так как точка (Q ; r ) доминирует точку (Q ; r ) , если Q   Q и

r  r , то из рис. 2 видно, что 3-я операция доминирует 2-ю операцию,
а 1-я операция доминирует 3-ю и 2-ю операции. Но 1-я и 4-я операции
несравнимы, т. к. доходность 4-й операции больше, но и риск ее тоже
больше, чем доходность и риск 1-й операции, следовательно, 1-я операция является оптимальной по Парето.
Для нахождения лучшей операции можно применить взвешивающую формулу, которая для пар (Q ; r ) дает одно число, по которому
можно определить лучшую операцию. Допустим, что взвешивающей
формулой будет  Q   2Q  r , тогда:
 Q1   2Q1  r1  2  5.33  2.36  8.3 ;  Q3   2Q3  r3  2  4  2.77  5.23
 Q4   2Q4  r4  2  6  3.79  8.21
Отсюда видно, что 1-ая финансовая операция – лучшая, а 2-ая –
худшая.
 Q2   2Q2  r2  2  2  2.77  1.23 ;
40
8. ОПТИМАЛЬНЫЙ ПОРТФЕЛЬ ЦЕННЫХ БУМАГ
Задача о формировании оптимального портфеля ценных бумаг –
это задача о распределении капитала, который участник рынка хочет потратить на покупку набора ценных бумаг, по различным видам ценных
бумаг, удовлетворяющих возможность получения некоторого дохода.
Из характеристик ценных бумаг наиболее значимы две: эффективность и рискованность. Так как эффективность Е – это некоторый
обобщенный показатель дохода или прибыли, то ее считают случайной
величиной, а ее математическое ожидание обозначают как mE . Рискованность ценных бумаг отождествляют со средним квадратическим отклонением, при этом дисперсию обычно называют вариацией и обозначают как V, т. е.:


  V , где V  D E   M E  mE 2 .
Примем следующие обозначения:
i
– номер вида ценных бумаг;
xi
mi
– доля капитала, потраченная на закупку ценных бумаг i-го вида (сумма всех долей равна единице);
– эффективность ценных бумаг i-го вида, стоящих одну денежную единицу;
– математическое ожидание эффективности Ei ;
Vij
– ковариация ценных бумаг i-го и j-го видов;
Vii
– вариация (дисперсия) эффективности Ei ;
i
– рискованность ценных бумаг i-го вида;
EP
– эффективность портфеля (набора) ценных бумаг.
Ei
Тогда математическое ожидание эффективности портфеля ценных
бумаг:
mp  M E p 
xi mi .
  
i
Вариация портфеля ценных бумаг:
Vp  D E p 
   xi x jVij .
i, j
Риск портфеля ценных бумаг:
 p  Vp .
Следовательно, математическая формализация задачи формирования оптимального портфеля ценных бумаг:
41
Найти такое распределение долей капитала, которое минимизирует
вариацию эффективности портфеля, при заданной ожидаемой эффективности портфеля m p .
Тогда, если оптимальное решение обозначить как *, то:
xi*  0 – означает рекомендацию вложить долю x i* капитала в
ценные бумаги i-го вида;
*
xi  0 – означает возможность проведения операции “short sale”,
т. е. краткосрочного вложения доли капитала в более доходные ценные бумаги.
Если на рынке есть безрисковые ценные бумаги, то решение задачи
о формировании портфеля ценных бумаг приобретает новое качество.
Пусть:
m0 – эффективность безрисковых ценных бумаг;
x0
– доля капитала, вложенного в безрисковые ценные бумаги;
mr
– средняя ожидаемая эффективность рисковой части портфеля;
Vr
– вариация рисковой части портфеля;
– среднее квадратическое отклонение эффективности рисковой
части портфеля.
Тогда в рисковую часть портфеля вложена 1  x0 часть всего капитала, а т. к. считается, что безрисковые ценные бумаги некоррелированы с остальными, то ожидаемая эффективность всего портфеля ценных
бумаг:
mp  x0m0  1 x0  mr .
r
Вариация портфеля ценных бумаг:
V p  1 x0 2Vr .
Риск портфеля ценных бумаг:
 p  1 x0  r .
Допустим, что задача состоит в нахождении распределения капитала, при формировании оптимального портфеля ценных бумаг заданной эффективности, состоящего из трех видов ценных бумаг: безрисковых эффективности 3 и некоррелированных рисковых с ожидаемой эффективностью 5 и 9, риски которых равны 4 и 6, т. е.:
m0  3 , m1  5 , m2  9 , 1  4 ,  2  6 .
Тогда, вариации некоррелированных рисковых ценных бумаг первого и второго вида:
V1  12  42  16 ,
V2   22  62  36 .
42
Следовательно, матрица V ковариаций рисковых видов ценных
бумаг и вектор-столбец M ожидаемой эффективности рисковых видов
ценных бумаг имеют вид:
16 0 
 5
 ,
V  
M    .
 0 36 
9
Пусть I – двухмерный вектор-столбец, компоненты которого равны 1, т. е.:
1
I    .
1
*
Тогда значение вектора-столбца X оптимальных значений долей,
вложенных в рисковую часть портфеля ценных бумаг:
X* 
m p  m0
M  m0 I 
T
V
1
M  m0 I 
V 1 M  m0 I  .
Где:
1
V 1   16
 0
0 .

36 
1
 5
1  5   3   2 
M  m0 I     3             .
9
 
1  9   3   6 
1
V 1 M  m0 I    16
 0
M  m0 I T  2
0   2   116  2  0  6   18 
     
    .
1
1
36   6   0  2  36  6   6 
1
6 .
M  m0 I T V 1M  m0 I   2
1 
1
1 1
5
6  18   2   6    1  .
8
6
4
4
 6
То есть:
X* 



5


 m 3 2 m 3
p
p
10


 1   4 m p  3 1   2  m  3    10 
15
 6  5  6    p  
 15 
   18    4 m5 3  18   
4 mp  3
p


m p 3

7 mp  3
30
Таким образом, доли рисковых ценных бумаг в оптимальном
портфеле:
mp  3
2 mp  3
, x2* 
.
x1* 
10
15

43

Следовательно, доля безрисковых ценных бумаг в оптимальном
портфеле:
x0*  1 

  30  7m p  21  51  7m p .
7 mp  3
30
30
30
Так как необходимость проведения операции «short sale» возникает, когда x*  0 , то в данном случае, необходимость проведения операции “short sale” возникает, когда x0*  0 :
51  7m p
30
т. е. когда m p  51 .
7
 0  51  7m p  0  7m p  51 ,
44
9. ЭЛЕМЕНТЫ СЕТЕВОГО ПЛАНИРОВАНИЯ
При планировании и оперативном управлении сложными комплексами работ, объединенных общностью цели, с успехом используются
их графические модели – сетевые графики (сети). С математической
точки зрения сетевой график – это связанный орграф без петель и контуров. В настоящее время разработаны специальные математические
методы сетевого планирования и управления (СПУ). Основными понятиями СПУ являются работа и событие. Под работой понимаются любые действия (трудовые процессы), которые сопровождаются затратами
ресурсов или времени и которые приводят к определенным результатам. Под событием понимают результат завершения одной или несколько работ. Событие является предпосылкой для выполнения работ,
следующих за ним. Поэтому любая работа на сети может быть определена двумя событиями, между которыми она находится. Событием же
может заканчиваться или начинаться сразу несколько работ. Работы на
сети изображают произвольной длины направленными отрезками прямых (дугами, стрелками), а событие – обычно кружками, в которых указывают номер события. У каждого отрезка проставляется время выполнения работы, а иногда и другие характеристики (расход ресурсов, количество исполнителей и т. д.). Сетевые графики выполняются с соблюдением правил:
1) он должен иметь только одно исходное событие (исток сети J)
– начало работ комплекса;
2) только одно завершающее событие (сток сети S) – окончание
всех работ комплекса;
3) прежде чем строить сеть, надо составить подробный список
работ комплекса. В отношении каждой работы выяснить: а) ее связи с
другими работами, б) ее место в комплексе, в) ее конечные результаты
(события). После того, как описанный подготовительный этап будет закончен, приступают к построению сети.
1. По данным табл. 12 построить сеть
Таблица 12
Обозначение
работы
Непосредственно
предшествующие
работы
Продолжительность
работы
а1
а2
а3
а4
а5
а6
а7
а8
а9
-
-
-
а1
а1 а2
а1 а2
а3 а5
а4 а6 а7
а3 а5
3
6
4
5
1
9
6
8
5
Решение: работы а1, а2, а3 не имеют предшествующих, поэтому реализация комплекса начинается с этих работ и изображаем их прямыми,
выходящими из одного события 1 (исток J сети).
45
Рис. 3. Сеть
Дуги а1, а2, а3 и так далее располагаются произвольно.
Работе а4 предшествует работа а1. Далее надо изобразить работы а5
и а6, им предшествуют одни и те же работы а1 и а2. Во избежание путаницы на сетях не рекомендуется изображать параллельными дугами одновременно выполняемые работы. В подобных случаях вводятся дополнительные события и фиктивные работы (нулевой продолжительности), которые изображаются штриховыми линиями. Их назначение –
показать, что одна работа не может быть выполнена ранее какого-либо
события или работы. Учитывая это, введем фиктивную работу, соединив событие 2 работы а1 с событием 3 работы а2. После этого изобразим
а5 и а6 дугами, выходящими из события 3, причем дуги а3, а5 должны
прийти в одно событие (работа а7 начинается после них), такое событие
уже есть – это 4, а дуги а4,а6 аналогично идут в событие 5. Так как работа
а8 может быть начата только после работ а4,а6 и а7, поэтому работу а7
направим в событие 5. И, наконец, дуги а8 и а9 моделируют заключительные работы комплекса, поэтому сведем их в одно завершающее комплекс
событие 6 (сток сети S). Правильность нумерации событий (вершин графа) можно проверить алгоритмом Фалкерсона: упорядочить граф.
Допустим, что сеть некоторого комплекса построена и известна
продолжительность каждой работы (в днях). Возникает вопрос: за какое
минимальное время можно выполнить все работы комплекса?
Рассмотрим все
пути от J до S (рис. 4)
1) L1:1-2-4-5;
2) L2:1-3-4-5;
3) L3:1-3-5.
Рис. 4. Сеть
Найдем продолжительность этих путей: t(L1) = 8, t(L2) = 12, t(L3) = 6.
Наиболее продолжительным оказался путь L2. Его называют критическим. Он и определяет минимальное время выполнения всех работ
данного комплекса. Это min время называют критическим сроком и
обозначают tкр. Итак tкр.=12. Работы и события, лежащие на критическом пути называются критическими, а остальные работы и события се46
ти – некритическими. Если выполнение какой-либо критической работы будет задержано, это вызовет задержку выполнения всего комплекса
на тот же срок; некритические работы допускают некоторое запаздывание их выполнения без нарушения критического срока. Чтобы определить время, на которое можно задержать выполнение некритических
работ, введем понятие резерва времени событий и работ.
Под совершением события будем понимать момент, к которому заканчиваются все входящие в него работы. Событие может иметь некоторый интервал свободы свершения. Поясним это: Событие 2 может
свершиться через 2 дня, но оно может наступить и позже, если добавить
время на выполнение работы (1–2), а это сделать можно, так как на пути L1 есть резерв времени R(L1) = tкр – t(L1) = 12 – 8 = 4. Поэтому работу
1–2 можно выполнить и за 2 + 4 = 6 дней, и это не повлияет на критический срок. Следовательно, для события различают ранний и поздний
сроки свершения. Ранним сроком tp(j) свершения события j назовем самый ранний период времени, к которому завершаются все работы,
предшествующие этому событию.
Итак, согласимся, что tp(1) = 0, tp(5) = tкр = 12 (и вообще tp(J) = 0, а
tp(S) = tкр). Тогда tp(2) = 2 или tp(2) = 0 + 2 = tp(1) + t(1,2), где t(1,2) –
время выполнения работы 1–2. Аналогично tp(3) = 0 + 4 = tp(1) + t(1,3).
Для события 4: по работе 2–4 имеем tp(2) + t(2,4) = 2 + 1 + 3, а по работе
3–4 => tp(3) + t(3,4) = 4 + 3 = 7, так как к моменту tp(4) должны закончиться
все предшествующие работы, tp(4) = max (tp(2) + (2,4); tp(3) + t(3,4) = 7.


Получаем формулу tp(j) = max (tp(i) + t(i,j)),(i,j)  U j , где U j –
множество работ, входящих в j- событие;
tp(j) – ранний срок завершения начального события работы (i,j);
t(i,j) – продолжительность работы i-j.
Поздним сроком tп(J) = 0, tп(S) = tp(S) = tкр => tп(5) = 12,
Чтобы не нарушился критический срок, событие 4 должно произойти по крайней мере на 5 дней раньше события 5, поэтому tп(4) = 12 –
5 = tп(5) – t(4,5) = 7. Аналогично для события 3: по работе 3–5 => 12 – 2 =
tп(5) – t(3;5) = 10; по работе 3 – 4 => 7 – 3 = tп(4) – t(3,4) = 4.
Поскольку tп(3) – это предельный момент времени, после которого
должны быть выполнены все последующие работы, то за
tп(3) = min(tп(4) – t(3,4); tп(5) – t(3,5) = min(4,10) = 4.

Итак, tп(i) = min (tп(j) – t(i,j)), (i,j)  U i ,

где  U i – множество работ, выходящих из i – события,
tп(j) – поздний срок свершения конечного события i-j.
Разность между поздним и ранним сроками свершения события i
47
называется резервом R(i) времени этого события:
R(i) = tп(i) – tp(i).
Резерв R(i) – показывает, на какой предельно допустимый срок
может задержаться свершение события i без изменения срока работы
всего комплекса.
У критических событий ранние и поздние сроки свершения равны,
так как резерв времени у них равен 0.
Полный резерв времени Rп(i,j) – это max количество времени, на
которое можно задержать начало работы или увеличить ее продолжительность, не нарушая критический срок:
Rп(i,j) = tп(j) – tp(i) – t(i,j).
Проиллюстрируем формулу:
Рис. 5. Графический смысл формулы
Существуют различные способы расчета временных параметров
сети. Мы рассмотрим способ подсчета непосредственно на сети и разберем его на примере 1.
Каждое событие изобразим кружком, разделим на четыре сектора
(рис. 5 и 6).
1) в верхнем секторе запишем Ni событие;
2) в левом по мере вычисления будем записывать tp(i)-ранний срок свершения события i;
3) в правом – поздний срок tп(i);
4) в нижнем – резерв времени R(i) событие.
Рис. 5.
Рис. 6. Поиск критического пути
48
Работы проводят (вычисляют) в 4 этапа: 1) tp(i); 2) tп(i); 3) R(i);
4) критический путь.
1 этап: при вычислении tp(i) перемещаются по сети от события J к
событию S в порядке возрастания номеров:
tp(1) = 0 => в левом секторе кружка 1 записываем 0.
Событие 2 => tp(2) = tp(1) + t(1,2) = 0 + 3 = 3,
tp(3) = max(tp(1) + t(1,2); tp(2) + t(2,3)) = max(0 + 6; 3 + 0) = 6 =>
во всех работах фиктивные работы учитываются наряду с реальными.
Аналогично считаем все оставшиеся сроки.
2 этап: при вычислении поздних сроков свершения событий tп(i)
перемещаемся по сети от событий S к событию J в порядке убывания
номеров, так как tп(S) = tp(S), то правый сектор кружка 6 записываем
tп(6) = tp(6) = 23.
Событие 5 => tп(5) = tп(6) – t(5;6) = 23 – 8 = 15.
Событие 4 => выходят две работы 4–5 и 4–6, поэтому
tп(4) = min (tп(5) – t(4;5); tп(6) – t(4,6)) = min (15 – 6; 23 – 5) = 9.
Аналогично считаем все оставшиеся поздние сроки свершения событий.
3 этап: для определения резервов времени событий R(i) = tп(i) –
tp(i) => из чисел, записанных в правом секторе, вычесть числа, записанные в левых секторах и заполнить нижние секторы.
4 этап:. у критических событий резерв времени равен 0 => критическими являются события 1–3–5–6.
Чтобы найти Rп(3;4), применяем формулу = tп(4) – tp(3) – t(3,4) = 9 –
6 – 1 = 2 и т. д.
В данном примере критический путь на сети оказался единственным. Их может быть несколько, также критический путь может включать и фиктивные работы.
49
10. ЗАДАЧА О ЗАМЕНЕ ОБОРУДОВАНИЯ
Одной из важных задач производственного менеджмента является
определение оптимальной стратегии в замене старого оборудования на
новое. В процессе эксплуатации оборудования наступает момент, когда
старое оборудование выгоднее заменить новым, чем эксплуатировать
дальше. Критерием оптимальности может служить прибыль от эксплуатации оборудования. Будем считать, что решения о замене оборудования принимаются периодически в начале каждого промежутка времени,
на которые разбит планируемый период. Основной характеристикой
оборудования будем считать его возраст, так как от возраста зависит
производительность, затраты на эксплуатацию и т. д.
В начале каждого промежутка времени принимается решение либо
о сохранении оборудования, либо о его замене, поэтому управление на
k-м шаге:
 c
 j
j =   ,
 j
где  cj – решение о сохранении оборудования, а  j – решение о
замене оборудования.
Пример: Предположим, что на предприятии установлено новое
оборудование. Зависимость производительности оборудования от времени его использования, а также зависимость затрат на содержание и
ремонт оборудования от времени приведены в табл. 13:
Таблица 13
Время, в течение которого
используется оборудование
0
1
2
3
4
Годовой выпуск продукции R( X j 1 ), млн. руб
Ежегодные затраты на ремонт и содержание оборудования Z ( X j 1 ) млн. руб.
80
75
65
60
60
20
25
30
35
45
Затраты, связанные с приобретением и установкой нового оборудования составляют C = 40 млн. руб., а заменяемое оборудование списывается. Составить такой план замены оборудования, при котором
общая прибыль за рассматриваемый период (пять лет) – максимальная.
Обозначим через X j 1 – возраст оборудования в начале j-го года.
c
x
j  1  1,  j   j ;
Тогда X j = 
1,  j   j


Обозначим через f j* ( X
) – максимальную прибыль, полученную
j 1
предприятием в течение j, j+1,..., 5 лет при заданном значении X j 1 .
50
Тогда рекуррентное соотношение для обратной вычислительной
схемы запишется в следующем виде:
1. *
= max 
* (
c
f j ( X j1)
 R( X j 1)  Z ( X j 1)  f
j 1 X j 11),  j   j ;



R(0) Z (0)C  f *j 1(1),  j   j.


для j = 1,2,3,4.
2.
c

f *5 ( X 4) = max  R( X 4)  Z ( X 4),  j   j ;

 R (0)  Z (0) C ,  j   j.

Этап 5. X 4  {1,2,3,4} ,
1) X 4 = 1,
 = max  75  25  = max 50  = 50,
80 - 20 - 40 
20 



 
 R ( 0)  Z ( 0)  C 
f *5 (1) = max  R (1)  Z (1)
следовательно,  *5 (1)   c .
5
2) X 4 = 2,
f *5 (2) = max  R(2)  Z (2)
 = max

 R ( 0)  Z ( 0)  C 
 65  30 
80 - 20 - 40  = 35 ,


следовательно,  *5 (2)   5c .
3) X 4 = 3,
f *5 (3) = max  R (3)  Z (3)
 = max

 R ( 0)  Z ( 0)  C 
 60  35 
80 - 20 - 40  = 25 ,


следовательно,  *5 (3)   c .
5
4) X 4 = 4,
 R ( 4)  Z ( 4) 
f*
5 ( 4) = max  R (0)  Z (0)  C  = max

следовательно,  *5 (4)    .
5
Возраст оборудования – { X 4 }
 60  45  = 20 ,
80 - 20 - 40 


f *5 ( x 4)
 *5 ( X 4)
1
50
 5c
2
35
 5c
3
25
 5c
4
20
 5
51
Этап 4: X 3 = {1,2,3}
 R( X )  Z ( X )  f * ( X 1)
3
3
5 3
R(0)  Z (0)  C  f *5(1)


f *4 ( X 3) = max 
1) X 3 = 1,
 R(1)  Z (1)  f * (2) 

 = max
5
f *4 (1) = max 

*
R(0)  Z (0)  C  f 5 (1) 




= max 85 
 = 85, следовательно,  *4 (1)   4c .
70 
2) X 3 = 2,
 75  25  35 
80 - 20 - 40 + 50  =


 R(2)  Z (2)  f * (3)
5
f *4 (2) = max 

 = max 65  30  25  =
 20 + 50 

*


R
(
0
)

Z
(
0
)

C

(
1
)
f5 




= max 60 
 = 70, следовательно,  *4 (2)   4 .
70 
3) X 3 = 3,
 R(3)  Z (3)  f * (4) 


60  35  20 
5
f *4 (3) = max 
 = max  20 + 50  =
*


R
(
0
)

Z
(
0
)

C

(
1
)
f

5 



max 45 
 = 70, следовательно,  *4 (3)   4 .
70 
Возраст оборудования – { X 3 }
f *4 ( X 3)
 *4 ( X 3)
1
85
 4c
2
70
 4
3
70
 4
Этап 3: X 2 = {1,2},
 R( X )  Z ( X )  f * ( X 1)
2
2
4 2
f *3 ( X 2) = max 
R(0)  Z (0)  C  f *4 (1)

1) X 2 = 1,
52
 R(1)  Z (1)  f * (2) 


 75  25  70 
4
f *3 (1) = max 
 = max 80 - 20 - 40 + 85  =
*


R(0)  Z (0)  C  f 4 (1)

= max 120 
 = 120, следовательно,  *3 (1)   3c .
105 
2) X 2 = 2,
 R(2)  Z (2)  f * (3) 


4
f *3 (2) = max 
 = max
*
R(0)  Z (0) C  f 4 (1) 
 c

следовательно,  *3 (2)   3 .


 3
 35  70 
20 + 85  = 105,


f *3 ( X 2)
Возраст оборудования – { X }
2
 *3 ( X 2)
1
120
 3c
2
105
 3c ,  3
Этап 2: X 1 = {1},
*

 R( X 1)  Z ( X 1)  f 3( X 11)
f *2 ( X 1) = max 
*

 R(0)  Z (0) C  f 3(1)
 R(1)  Z (1)  f * (2) 


 75  25  105 
3
f *2 (1) = max 
 = max 80 - 20 - 40 + 120  = 155,
*


R(0)  Z (0)  C  f 3 (1)
следовательно,  *2 (1)   c .
2
Возраст оборудования – { X 1 }
1
f *2 ( X 1)
 *2 ( X 1)
155
 2c
Этап 1: X 0 = {0},
f 1* (0) = R(0)  Z (0)  f *2(1) = 60155 = 215,
следовательно,  1* (0)   c . Таким образом, максимальная прибыль
1
предприятия составит 215 млн. руб. В задаче возможны два решения.
1)  *  ( c ,  c ,  c ,   ,  5c) ;
1
2 3 4
*
c
2)   ( ,  c ,   ,  c ,  5c) .
1
2 3 4


53
11. ЗАДАЧА КАЛЕНДАРНОГО ПЛАНИРОВАНИЯ ТРУДОВЫХ РЕСУРСОВ
Предприниматель составляет план регулирования численности рабочих на каждую из пяти последующих недель. Он располагает сведениями о минимальном количестве рабочих, которое требуется для проведения работ на каждой неделе {b j =(5,7,8,4,6)}. Наем или увольнение, а также простой рабочих связаны с накладными расходами, величины которых известны. Пусть
1) X j – количество рабочих, имеющихся в наличии на j-й неделе;
2) C1( X j  b j )  3  ( X j  b j ) – величина убытков, связанных с тем,
что X j превышает заданное значение b j , ( X j  b j ) ;
4  2( X j  X j 1), ( X j  X j 1)
3) C 2 ( X j  X j 1)  
– величи0, ( X j  X j 1)

на накладных расходов по найму новых рабочих.
Необходимо определить, сколько рабочих следует нанимать или
увольнять еженедельно, чтобы обеспечить минимум суммарных затрат
для планируемого периода. Исходное количество рабочих к началу
первой недели составляет X 0 = 5.
Обозначим через f *j ( X j ) – минимальную величину расходов,
осуществленных в течение недель 1,2 ,..., j при заданном значении X j .
Тогда рекуррентное уравнение записывается в виде:
f 1* ( X 1) = min { C1( X 1  b1) + C 2 ( X 1  X 0) } , ( X 1  b1) ;
f *j ( X j ) = min { C1( X j  b j ) + C 2 ( X j  X j 1) + f *j 1( X j 1) },
( X j  b j) .
Определим границы для значений переменных
X j . Так как в
нашей задаче увольнение не требует накладных расходов, то достаточно рассмотреть следующие ситуации:
X 1 = {5,6,7,8}, X 2 = {7,8}, X 3 ={8}, X 4 = {4,5,6}, X 5 = {6}.
Этап 1. (b1  5) , ( X j  X j 1   j ) .
X1
5
6
7
8
{ C1( X 1  5) + C 2 ( X 1  5) }
X0= 5
0+0=0
31 + 4 + 21 = 9
32 + 4 + 22 = 14
33 + 4 + 23 = 19
54
Оптимальное решение
f 1* ( X 1)
 1*
0
9
14
19
0
1
2
3
Этап 2. (b 2 = 7 ).
{ C1( X 2  7) + C 2 ( X 2  X 1) + f * ( X 1) }
1
X1= 8
X1= 6
X1= 5
X1= 7
X2
7
0 + 4 + 22 + 0 + 4 + 21 + 0 + 0 + 14 = 14 0 + 0 + 19 =
19
+ 0=8
+ 9 = 15
31 + 4 + 31+ 4 + 22+ + 31+ 4 + 21 + 31 + 0+
9 = 20
+ 14 = 23
+ 19 =22
+ 23 + 0 = 13
8
Оптимальное
решение
f *2 ( X 2)
 *2
8
2
13
3
Этап 3. (b3 = 8 ).
X3
8
{ C1( X 3  8) + C 2 ( X 3  X 2) + f * ( X 2) }
2
X2= 7
X2=8
0 + 0 + 13 = 13
0 + 4 + 21 + 8 = 14
Оптимальное
решение
f *3 ( X 3)
13
 *3
0
Этап 4. (b4 = 4 ).
{ C1 ( X 4  4) + C 2 ( X 4  X 3) + f * ( X 3) }
3
Оптимальное
решение
X4
X 3= 8
f *4 ( X 4)
 *4
4
5
6
0 + 0 + 13 = 13
31 + 0 + 13 = 16
32 + 0 + 13 = 19
13
16
19
-4
-3
-2
Этап 5. (b5 = 6 ).
Оптимальное
решение
{ C1( X 5  6) + C 2 ( X 5  X 4) + f * ( X 4) }
4
X5
X4= 4
X4= 5
X4= 6
f *5 ( X 5)
 *4
6
0 + 4 + 22 +
+ 13 = 21
0 + 4 + 21 +
+ 16 = 22
0 + 0 + 19 =
= 19
19
0
Так как X j  X j 1   j , то X *5 = 6, X *4 = 6 - 0 = 6, X *3 = 6 + 2 = 8,
X *2 = 8 + 0 = 8, X 1* = 8 - 3 = 5, X *0 = 5.
Неделя
bj
Xj
Решение
1
2
3
4
5
5
7
8
4
6
5
8
8
6
6
Никого не нанимать и не увольнять
Нанять трех рабочих
Никого не нанимать и не увольнять
Уволить двух рабочих
Никого не нанимать и не увольнять
55
СПИСОК ИСПОЛЬЗОВАННОЙ И РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ
1. Аоки, М. Введение в методы оптимизации / М. Аоки. – М.: Наука, 1999. – 343 с.
2. Акоф, Р., Сасиени М. Основы исследования операций / Р. Акоф, М. Сасиени. –
М. : Мир,1997. – 536 с.
3. Вентцель, Е. С. Исследование операций: задачи, принципы, методология / Е. С.
Вентцель. – М. : Дрофа, 2004. – 208 с.
4. Вентцель, Е. С. Элементы динамического программирования / Е. С. Вентцель. –
М. : Наука, 2001. – 176 с.
5. Зайченко, Ю. П. Исследование операций / Ю. П. Зайченко. – К. : Высшая школа, 2001. – 688 с.
6. Карманов В. Т. Математическое программирование / В. Т. Карманов. – М. ::
Наука, 1996. – 420 с.
7. Кузнецов Ю. Н. Математическое программирование / Ю. Н. Кузнецов. – М. :
Наука, 2004. – 352 с.
56
Download