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

Решение задач управления в экономике с помощью Еxcel. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
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, 12543 или 1253, с учетом их стоимости 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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]