назад Оглавление вперед


[Старт] [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]


79

Стоимость замены (долл.) в зависимости от срока эксплуатации

Год покупки

2001

3800

4100

6800

2002

4000

4800

7000

2003

4200

5100

7200

2004

4800

5700

2005

5300

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

Рис. 6.13. Сеть для задачи из упражнения 2

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

полнения различных операций.

Операция Время (секунды) Помещение ломтика хлеба в тостер 3

Поджаривание одной стороны ломтика 30

Переворачивание ломтика в тостере 1

Извлечение ломтика из тостера 3



4. Планирование производства. Компания продает некую продукцию, спрос на которую в следующие 4 месяца составит 100, 140, 210 и 180 единиц соответственно. Компания может удовлетворить любой помесячный спрос на продукцию и даже спрос на два и более месяцев вперед. В последнем случае необходимо платить 1,20 долл. за хранение единицы избыточно произведенной продукции в течение месяца. Покупная цена единицы продукции в следующие 4 месяца будет равна 15, 12, 10 и 14 долл. соответственно. Стоимость переналадки оборудования для выполнения заказа составляет 200 долл. Компания хочет разработать такой производственный план, чтобы минимизировать расходы на выполнение заказов, покупку продукции и ее хранение. Сформулируйте задачу как поиск кратчайшего пути и найдите ее оптимальное решение с помощью программы TORA.

5. Задача о рюкзаке. Путешественник, собираясь в путь, пытается поместить в свой рюкзак (объемом 5 кубических футов) наиболее необходимые в путешествии вещи. Есть три вещи, объемом соответственно 2, 3 и 4 кубических фута, необходимость в которых оценивается (по 100-балльной шкале) в 30, 50 и 70 баллов. Сформулируйте эту задачу как сетевую, где необходимо определить самый длинный путь, и найдите ее оптимальное решение. {Совет. Узел в этой сети можно определить как пару [i, и], где i - номер выбираемой вещи, a v - свободный объем рюкзака, оставшийся после выбора t-й вещи.)

6.3.2. Алгоритм определения кратчайшего пути

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

1. Алгоритм Дейкстры.

2. Алгоритм Флойда.

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

Алгоритм Дейкстры. В процессе выполнения этого алгоритма при переходе от Узла i к следующему узлу / используется специальная процедура пометки ребер. Обозначим через и, кратчайшее расстояние от исходного узла 1 до узла i, через dtj - длину ребра (г, j). Тогда для узла / определим метку [ujt i] следующим образом.

[Uj, i] = [ut + dh, i],d(/>0

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

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

Этап 0. Исходному узлу (узел 1) присваивается постоянная метка [0, -]. Полагаем i = 1.

Этап 1.

а) Вычисляются временные метки [и1 + dtj, i] для всех узлов у, которые можно достичь непосредственно из узла I и которые не имеют постоянных ме-



ток. Если узел уже имеет метку [и, k], полученную от другого узла k, и, если ut + dtj < ujt тогда метка [uy, k] заменяется на \ul + dtj, i],

b) Если все узлы имеют постоянные метки, процесс вычислений заканчивается. В противном случае выбирается метка [ur, s] с наименьшим значением расстояния иг среди всех временных меток (если таких меток несколько, то выбор произволен). Полагаем i = г и повторяем этап i.

Пример 6.3.4

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

(2\

100/ \20 ,

(Л 30 »Vi

V У V У

Рис. 6.14. Пример сети для алгоритма Дейкстры

Этап 0.

Назначаем узлу 1 постоянную метку [0, -].

Этап 1.

Из узла 1 можно достичь узлов 2 и 3. Вычисляем метки для этих узлов, в результате получаем следующую таблицу меток.

Узел

Метка

Статус метки

[0,-]

Постоянная

[0 + 100, 1] = [100, 1]

Временная

[0 + 30, 1] = [30, 1]

Временная

Среди узлов 2 и 3 узел 3 имеет

наименьшее значение расстояния

(и3 = 30). Поэтому статус метки этого узла изменяется на " постоянная".

Этап 2.

Из узла 3 (последнего узла с постоянной меткой) можно попасть в узлы 4 и 5. Получаем следующий список узлов.

Узел

Метка

Статус метки

[0,-]

Постоянная

[100, 1]

Временная

[30, 1]

Постоянная

[30 + 10, 3] = [40, 3]

Временная

[30 + 60, 3] = [90, 3]

Временная

[Старт] [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]