Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Решение задач управления в экономике с помощью Еxcel. Учебное пособие
.pdf
51
60
3
1
2
i
i
x
80
3
1
3
i
i
x
60
3
1
4
i
i
x
и равенства по предложению
50
4
1
1
j
j
x
80
4
1
2
j
j
x
90
4
1
3
j
j
x
40
3
1
1
i
i
x
50
3
1
2
i
i
x
70
3
1
3
i
i
x
60
3
1
4
i
i
x
60
4
1
1
j
j
x
80
4
1
2
j
j
x
100
4
1
3
j
j
x
,
,
,
,
,
а также транспортную задачу с избытком, содержащую равенства по спросу:
,
,
,
и неравенства по предложению
,
,
.

52
Сравните полученные результаты с результатами решения исходной сба-
uuu
c
u
u
ccucu
c
24
c
u
c
c
-7
-3
10
Рис. 3.3
лансированной транспортной задачи (3.10)-(3.18).
3.2. Сетевая транспортная задача
Усложнение классической транспортной задачи (введение промежуточных
пунктов перевозок) приводит к необходимости применения сетевых моделей.
Примером таких моделей может служить диаграмма с данными о затратах cij и
пропускной способности uij сети, изображенной на рис. 3.3.
В пункте 1 находятся 10 бетономешалок, среди которых 3 (обозначено как
–3) необходимо доставить в пункт 3 и 7 (обозначено как –7) – в пункт 4 строительства. Из рисунка следует, что бетономешалки могут быть доставлены в
пункт 3 по любым из возможных маршрутов 123, 1243,
12543 или 1253, с учетом их стоимости cij и пропускной способности uij.
Определим переменные модели хij как количество бетономешалок, отправленных по дуге (i, j) = поток из узла i в узел j.
Тогда модель сетевой транспортной задачи можно записать так:
f = c12x12 + c23x23 + c24x24 + c25x25 + c34x34 + c43x43 + c53x53 + c54x54 min (3.19)
при ограничениях
x12 = 10, (3.20)

53
x12 + x23 + x24 + x25 = 0, (3.21)
5,1
x23 x43 x53 + x54 = 3, (3.22)
x24 + x43 x34 x54 = 7, (3.23)
x25 + x53 + x54 = 0, (3.24)
0 xij uij, i, j =
. (3.25)
Здесь с каждым узлом связано одно уравнение баланса потоков. Первое
уравнение показывает, что общий поток, выходящий из узла 1, составляет 10
единиц. Второе уравнение означает, что общий поток, выходящий из узла 2
(x23 + x24 + x25), минус общий поток x12, входящий в узел 2, равен нулю. Из тре-
тьего уравнения следует, что для узла 3 выходящий поток x34 должен быть на 3
единицы меньше, чем входящий (x23 + x43 + x53). Таким образом выполняется
требование, чтобы поставка в узел 3 составляла 3 единицы. Аналогично объясняются уравнения для узлов 4 и 5. Промежуточные узлы (такие как 2 и 5), которые не являются пунктами предложения и спроса, называются узлами перевалки. Баланс потока для узла j задается формулой
Суммарный поток, выходящий из узла j – суммарный
поток, входящий в узел j = предложение в узле j. (3.26)
Положительные правые части соответствуют узлам-поставщикам (источникам), отрицательные – узлам-потребителям (стокам), а нулевые – узлам перевалки, в которых отсутствуют спрос и предложение. Суммарное значение правых частей всех уравнений равно нулю, т.е. спрос равен предложению.
Технология решения задачи на Excel
На рис. 3.4 показано табличное представление данной модели в Excel на
рабочем листе «СТ3» и соответствующее оптимальное решение.
В ячейки B3:F7 (рис. 3.4, а) введите матрицу u
путей (дуг), в ячейки I3:M7 – матрицу c
удельной стоимости перевозок, в ячей-
ij
пропускных способностей
ij
ки B17:F17 – правые части ограничений, задающих значения спроса. Искомые
переменные находятся в ячейках B10:F14, а выражение целевой функции – в
ячейке N15.

54
а
б
в
Рис. 3.4
В ячейки G10:G14 (рис. 3.4, б) введите копированием формулы расчета отгруженных бетономешалок, а в ячейки B15:F15 – формулы расчета полученных
бетономешалок. В ячейках B16:F16 (рис. 3.4, б) наберите формулы = G10 – B15,

55
= G11 – C15, = G12 – D15, = G13 – E15 и =G14 – F15, реализующие левые части
ограничений (3.20-3.24), а в ячейки B17:F17 (рис.3.4, б) – значения их правых
частей. В ячейки N10:N14 и I15:M15 (рис. 3.4, б) введите формулы для расчета
суммарных затрат.
Командой Сервис, Поиск решения откройте окно "Поиск решения" и заполните его следующими данными:
Установить целевую ячейку: $N$15
равной: минимальному значению
Изменяя ячейки: $B$10:$F$14
Ограничения: $B$10:$F$14>=0
$B$10:$F$14<=$B$3:$F$7
$B$16:$F$16=$B$17:$F$17
Повторите действия п.2.1.5 из раздела 2, нажмите кнопку Выполнить и получите решение задачи, представленное на рис. 3.4, в.
3.3. Задача нахождения кратчайшего пути
Задача нахождения кратчайшего пути имеет место в сети, в которой с каждой дугой (i, j) связано число cij, имеющее смысл расстояния, стоимости или
времени движения от узла i к узлу j. Маршрут или путь, пролегающий между
двумя узлами – это некоторая последовательность дуг, соединяющих данные
узлы. Задача заключается в определении кратчайшего (в смысле минимума
суммарных затрат и времени) пути из определенного узла-источника в определенный узел, именуемый стоком. Рассмотрим следующую сетевую модель. Из
оптового склада в семь пунктов поставляются насосы. На рис. 3.5 показаны эти
пункты и соединяющие их маршруты. Следует отметить, что дуги ненаправленные. Следовательно, по каждой дуге допускается движение в обоих направлениях.
Связанное с дугой число обозначает расстояние между узлами, соединенными данной дугой. Цифрой 0 обозначен исходный пункт – источник, а цифрой
5 – конечный пункт – сток. Оптимальное решение – это кратчайший путь между пунктами 0 и 5.

56
71 1imj
ijij
xc
2 2 4 1 6 1 1 3 3 1 8
0
4
7
Н
6 3 1 5 2
3
3
Рис. 3.5
Переменные xij принимают значения 0 или 1 и показывают, происходит
(xij = 1) или не происходит (xij = 0) движение по дуге (i, j).
Целевой функцией будет суммарное расстояние между пунктами 0 и 5
f =
(3.27)
Искомые переменные xij соответствуют ограничениям для узла 0 – источника
(оптового склада)
x01 + x04 + x
– (x10 + x40 + x70) = 1, (3.28)
07
промежуточных узлов 2, 3, 4, 6, 7
x10 + x12 + x
x21 + x23 + x
x31 + x32 + x
x40 + x43 + x
+ x46 + x
45
– (x01 + x21 + x31) = 0, (3.29)
13
– (x12 + x32 + x52) = 0, (3.30)
25
– (x13 + x23 + x25) = 0, (3.31)
34
– (x40 + x34 + x
47
+ x64 + x74) = 0, (3.32)
54
x64 + x65 + x
x70 + x74 + x
и узла – стока 5
x52 + x54 + x
– (x46 + x56 + x76) = 0, (3.33)
67
– (x07 + x47 + x67) = 0, (3.34)
76
– (x25 + x45 + x65) = –1. (3.35)
55

57
Наличие двух сумм (положительной и отрицательной) в каждом ограничении связано с тем, что каждая дуга допускает движение в двух направлениях.
Технология решения задачи на Excel
Решение задачи начните с построения таблиц путей и их длины (рис. 3.6).
Рис. 3.6
В таблице «Пути» (ячейки В3:I10) по горизонтали единицами выделите
положительные переменные ограничений. Например, в ограничении (3.28)
сумма положительных переменных в узле 0 равна
x01 + x04 + x07,
тогда единицами заполняются ячейки C1, F1, E1 в строке Пункт 0.
Отрицательные элементы суммы в ограничении (3.28)
– (x10 + x40 + x70)
отображаются единицами в ячейках В4, В7, В10 столбца Пункт 0.
В таблице «Длина пути» (ячейки L3:S10) соответствующие ячейки M3, P3,
S3 строки Пункт 0 и ячейки L4, L7, L10 столбца Пункт 0 заполняются значениями длины пути 4, 7, 8. Аналогичным образом заполняются остальные ячейки

58
таблицы. Для удобства ввода формул в ячейки B13:I20 скопируйте содержимое
ячеек B3:I10 и получите форму на рис. 3.7. В ячейку J13 введите формулу
= C13 + F13 + I13
с адресами ячеек, в которых находятся единицы, т.е. выполните суммирование
положительных переменных ограничения (3.28) для пункта 0. Аналогичным
образом введите в ячейки J14:J20 формулы суммирования не заключенных в
скобки переменных в ограничениях (3.29)( 3.35) для пунктов 1, 2,…, 7.
Рис. 3.7
В ячейку В21 введите формулу
= В14 + В17 + В20
с адресами ячеек, в которых находятся единицы, т.е. выполните суммирование
отрицательных переменных ограничения (3.28) для пункта 0. Аналогичным образом в ячейки C21:I21 введите формулы суммирования заключенных в скобки
переменных в ограничениях (3.29)-( 3.35) для пунктов 1, 2,…, 7. В ячейках
B22:I22 запишите левые части ограничений (3.28)-( 3.35). Например, левая
часть ограничения (3.28) в ячейке B22 записывается так:
= J13 – B21,
а правая часть – в ячейке В23, как 1. Аналогичным образом введите левые и
правые части остальных ограничений (3.29)( 3.35) в ячейки C22:I23.
Для вычисления длины пути в ячейку L13 введите формулу
= L3B13
и скопируйте ее в ячейках L13:S20.

59
Для вычисления суммарного пути по строкам в ячейку T13 введите
функцию
= СУММ(L13:S13)
и скопируйте ее в ячейках T14:T20.
Для вычисления суммарного пути по столбцам в ячейку L21 введите
функцию
= СУММ(L13:L20)
и скопируйте ее в ячейках M21:S21.
В ячейку T21 введите функцию
= СУММ(L13:S20),
вычисляющую целевую функцию (2.33), т.е. суммарный пройденный путь.
Командой Сервис, Поиск решения откройте окно «Поиск решения» и
введите следующие данные:
Установить целевую ячейку: $T$21
Равной: минимальному значению
Изменяя ячейки: $B$13:$I$20
Ограничения: $B$13:$I$20<=$B$31:$I$10
$B$13:$I$20=двоичное
$B$22:$I$22=$B$23:$I$23
повторите действия п.2.1.5 из раздела 2 и нажмите кнопку Выполнить. Решение
в виде единиц, отмечающих оптимальный путь, приводится в ячейках B13:I20.
Этот путь можно обозначить следующим образом: 0 → 1 → 3 → 2 → 5.
Самостоятельно определите кратчайший путь из пункта 1 в пункт 6.
3.4. Задача о назначениях
Задачу о назначениях можно сформулировать следующим образом. Необхо-
димо выполнить m различных работ. Для их выполнения можно привлечь m рабочих. Каждый из рабочих за определенную плату выполняет любую работу.
Выполнение любой работы поручается одному рабочему. Требуется так распределить работы между рабочими, чтобы общие затраты на выполнение всех

60
работ были минимальными. Следует отметить, что задача о назначениях явля-
mjm
i
ijij
xc
1 1
min
m
j
ij
mix
1
,1,1
m
i
ij
mjx
1
,1,1
,0
ij
x
mji ,1,
Работа 1
Работа j
Работа т
Рабочий 1
c
11
c1j c1m,
…
…
...
Рабочий i
с
i1
с
ij
с
im
…
…
…
…
Рабочий m
c
m1
cmj cmn
ется частным случаем транспортной задачи, в которой количество пунктов
производства совпадает с количеством пунктов потребления, а все величины
спроса и величины предложения равны.
При рассмотрении сбалансированной задачи о назначениях предполагается, что количество рабочих равно количеству работ. Обозначения: т — число
работ; сij —показатель эффективности назначения рабочего i на работе j,
например, издержки выполнения рабочим i работы j; xij — переменная модели;
xij = 1, если рабочий i используется на работе j, xij = 0 в противном случае. Модель задачи о назначениях:
, (3.36)
, (3.37)
, (3.38)
, (3.39)
Ограничения (3.37), (3.38) имеют следующий смысл: (3.37) – каждая работа должна быть выполнена одним рабочим; (3.38) – каждый рабочий может использоваться на одной работе.
Для решения задачи о назначениях представим исходную информацию в
табличном виде (рис. 3.8). Для сбалансированной задачи о назначениях количество строк этой таблицы совпадает с количеством столбцов.
Рис. 3.8
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
