ЕГЭ и ОГЭ
Живые анекдоты
Главная > Математика > Исследование операций
<< Предыдущий параграф
Следующий параграф >>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
<< Предыдущий параграф Следующий параграф >>
Научная библиотека

Научная библиотека

избранных естественно-научных изданий

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

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

Математика

Физика

Методы обработки сигналов

Схемотехника

Астрономия

Разное

Макеты страниц

11. УЛУЧШЕНИЕ ПЛАНА ПЕРЕВОЗОК. ЦИКЛ ПЕРЕСЧЕТА

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

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

Циклом в транспортной таблице мы будем называть несколько клеток, соединенных замкнутой ломаной линией, которая в каждой клетке совершает поворот на 90°.

Например, в табл. 11.1 изображены два цикла: первый с четырьмя вершинами (2,1), (2,3), (4,3), (4,1) и второй — с восемью вершинами (1,4), (1,6), (4,6), (4,4), (3,4), (3,5), (5,5), (5,4). Стрелками показано направление обхода цикла.

Таблица 11.1

Таблица 11.2

Нетрудно убедиться, что каждый цикл имеет четное число вершин и, значит, четное число звеньев (стрелок).

Условимся отмечать знаком «+» те вершины цикла, в которых перевозки увеличиваются, а знаком «-» — те вершины, в которых они уменьшаются. Цикл с отмеченными вершинами будем называть «означенным». В табл 11.2 показано два означенных цикла: первый с четырьмя вершинами (1,1), (1,2), (3,2) и (3,1) и второй с восемью вершинами (3, 4), (3,6), (5, 6), (5,3), (2,3), (2,5), (4,5) и (4,4).

Перенести («перебросить») какое-то количество единиц груза по означенному циклу — это значит увеличить перевозки, стоящие в положительных вершинах цикла, на это количество единиц, а перевозки, стоящие в отрицательных вершинах — уменьшить на то же количество. Очевидно, при переносе любого числа единиц по циклу равновесие между запасами и заявками не меняется: по-прежнему сумма перевозок в каждой строке равна запасам этой строки, а сумма перевозок в каждом столбце — заявке этого столбца. Таким образом, при любом циклическом переносе, оставляющем перевозки неотрицательными, допустимый план остается допустимым. Стоимость же плана при этом может меняться — увеличиваться или уменьшаться.

Назовем ценой цикла увеличение стоимости перевозок при перемещении одной единицы груза по означенному циклу. Очевидно, цена цикла равна алгебраической сумме стоимостей, стоящих в вершинах цикла, причем стоимости, стоящие в положительных вершинах, берутся со знаком «+», а в отрицательных — со знаком «-». Например, для цикла в табл. 11.2 цена равна:

а для цикла

Обозначим цену цикла Ц через у. При перемещении одной единицы груза по циклу Ц стоимость перевозок увеличивается на величину у; при перемещении по нему k единиц груза стоимость перевозок увеличивается на

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

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

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

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

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

Пример 1. Найти оптимальный план для транспортной задачи, приведенной в табл. 11.3.

Таблица 11.3

Решение. Составляем опорный план способом северо-западного угла (табл. 11.4).

Стоимость этого плана равна:

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

Попробуем улучшить план, заняв свободную клетку (2,4) с минимальной стоимостью 4. Цикл, соответствующий этой клетке, показан в табл. 11.4. Цена этого цикла равна .

По этому циклу мы можем переместить максимум 20 единиц груза (чтобы не получить в клетке (3,4) отрицательной перевозки) Новый, улучшенный план показан в табл 11.5

Таблица 11.4

Таблица 11.5

Таблица 11.6

Таблица 11.7

Таблица 11.8

Таблица 11.9

Стоимость этого плана . В нем по-прежнему шесть базисных клеток.

Для дальнейшего улучшения плана обратим внимание на свободную клетку стоимостью 5. Цикл, соответствующий этой клетке, показан в табл. 11.5; цена его По этому циклу переместим 22 единицы груза, чем уменьшим стоимость перевозок до (см. табл. 11.6).

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

Примененный выше метод отыскания оптимального решения транспортной задачи называется распределительным; он состоит в непосредственном отыскании свободных клеток с отрицательной ценой цикла и в перенесении перевозок по этому циклу.

Пример 2. Найти оптимальный план перевозок для ТЗ, условия которой приведены в табл. 11.7.

Решение. Строим опорный план способом северо-западного угла; он получается вырожденным. Чтобы избежать этого, нарушаем баланс запасов и заявок на 8 в первой и третьей строках, не нарушая общего баланса (сумма запасов равна сумме заявок). После этого строим опорный план также способом северо-западного угла (табл. 11.8), в нем ровно столько базисных переменных, сколько нужно: пять. Улучшаем план перевозок переносом единиц груза по циклу, показанному в табл. 11.8; получим новый, лучший план (см. табл. 11.9).

План, приведенный в табл. 10.9, еще не оптимален, так как цикл с началом в свободной клетке (2,1) имеет отрицательную цену:

Перемещаем по этому циклу 20 единиц груза; получим табл. 11.10.

Цена цикла, начинающегося в клетке (2,2) табл. 11.10, также отрицательна: Однако, по этому циклу можно перенести только перевозку, равную е. Тем не менее, сделаем это и получим новый план (Табл. 11.11).

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

Заметим, что примененный здесь метод «ликвидации вырождения» путем -изменения запасов не совсем удобен, так как требует дополнительных действий с -измененными данными. Проще было бы при заполнении табл. 10.8 не изменять запасы, а «вообразить» их себе измененными и вместо поставить в базисной клетке (3,3) просто нуль. Базисная клетка с нулевой перевозкой тем будет отличаться от свободной, что в ней нуль проставлен, а в свободной — нет. Дальнейшие манипуляции с транспортной таблицей будут совершенно такими же, как если бы в базисных клетках стояли только положительные перевозки, с той лишь разницей, что когда одна из отрицательных вершин цикла окажется в базисной клетке с нулевой перевозкой, нужно переносить по этому циклу нулевую перевозку (фиктивный перенос). Если в транспортной таблице немного (одна-две) базисных переменных обращаются в нуль, можно рекомендовать этот простой метод вместо -изменений запасов (заявок).

Таблица 11.10

Таблица 11.11

Таблица 11.12

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

<< Предыдущий параграф Следующий параграф >>
Оглавление