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


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


116

Следующее критическое значение t2 определяем из условия Хв = В, Ь(г) >0. Отсюда получаем следующее.

( 30-7/

ХУ =

30+/

>

\X4j

-10 + 3/

i 2 ;

Это условие показывает, что В, остается допустимым базисом для 10/3 < t < 30/7.

При t = t2 = 30/7 новый базис можно получить с помощью модифицированного двойственного симплекс-метода, при этом исключаемой из базиса будет переменная х2.

Новый базис при t2 = 30/7.

Определив исключаемую переменную х2, находим вводимую переменную следующим образом. Поскольку

ХЯ = (х2, х3, х/ и СЯ (/) = (2, 5, 0),

Далее вычисляем

{(В[Р.)Д, }>=,.5.б = (строка в В;, ассоциированная с х2) (Р,, Р5, Р6) = = (1-я строка в В) (Plf Р5, Р6) =

-(o.0.i)(PlfP„ Р.)-

Поскольку все элементы неотрицательны, задача не имеет допустимых решений при £>30/7. Таким образом, параметрический анализ заканчивается в точке f = *2 = 30/7.

Оптимальные решения при различных значениях параметра t приведены в следующей таблице.

xi хг

0< f S 10/3

0 5-f

30 + f

160+ 3f

10/3 S f<30/7

0 (30 - 7()/4

30+ f

165 + (3/2)f

t > 30/7

Допустимых решений нет



УПРАЖНЕНИЯ 7.6.2

1. Для задачи из примера 7.6.2 найдите первое критическое значение £, и определите векторы, составляющие матрицу В,, для следующих случаев.

a) Ь(*) = (40 + 2t, 60 - 3t, 30 + 6tf.

b) b(r) = (40 - t, 60 + 2t, 30 - 5t)T.

2. Проведите параметрический анализ оптимального решения следующей задачи ЛП, предполагая, что t > 0.

Минимизировать г = 4Xj 4- х2 + 2х3

при ограничениях

Зхх + х2 + 2хг = 3 + 3t, 4х, + Зх, + 2х3 > 6 + 2f, х, + 2х2 + 5х3 < 4 - г,

*2* 3~ *

3. При выполнении параметрического анализа в этом разделе предполагалось, что оптимальное решение задачи ЛП при £ = 0 получено обычным симплекс-методом. Однако в некоторых ситуациях предпочтительнее получать оптимальное решение двойственным симплекс-методом (раздел 4.4). Разработайте схему проведения параметрического анализа для такого случая и выполните анализ задачи ЛП из примера 4.4.1, предполагая, что вектор правых частей ограничений задачи задан следующим выражением (считаем, что t > 0).

b(f) = (3 + 2r, б-t, 3-4г)т

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

Ь(0 = (3 + 3t\ 6 + 2t\ 4 - t2f

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

7.7. МЕТОД КАРМАРКАРА

В симплекс-методе оптимальное решение находится путем продвижения вдоль граней пространства решений от одной угловой (крайней) точки к другой. Хотя на практике симплекс-метод применяется для решения очень больших задач, теоретически количество итераций, необходимых для достижения оптимального решения, может расти по экспоненциальному закону. Можно построить задачу ЛП с л переменными, при решении которой необходимо перебрать все 2" крайних точек, пока не будет достигнуто оптимальное решение.

В 1984 году Н. Кармаркар (N. Karmarkar) разработал алгоритм с полиномиальным временем выполнения, который "пробегает" по внутренним точкам пространства решений. Этот алгоритм особенно эффективен при решении очень больших задач ЛП.

Мы сначала рассмотрим основную идею метода Кармаркара, а затем остановимся на вычислительной реализации алгоритма.



7.7.1. Основная идея метода Кармаркара

Рассмотрим очень простой пример.

Максимизировать г = хх при выполнении ограничения

0<x,<2.

Вводим дополнительную (остаточную) переменную х2. Задача в стандартной форме будет записана следующим образом.

Максимизировать г = х1

при ограничениях

ос j ~\~ ос 2) хх, х2 > 0.

Эта задача представлена на рис. 7.6. Ее пространство решений совпадает с отрезком прямой АВ. Направление возрастания целевой функции z совпадает с положительным направлением оси хх.

Рис. 7.6. Иллюстрация основной идеи метода Кармаркара

Начнем поиск оптимального решения с произвольной внутренней (не крайней) точки С пространства допустимых решений (отрезок АВ). Градиент целевой функции г = х, в точке С показывает направление скорейшего возрастания функции г. Если мы зафиксируем какую-нибудь точку вдоль градиента и опустим из нее перпендикуляр на пространство допустимых решений, то получим новую точку D с лучшим значением целевой функции. Такое улучшение значения целевой функции получено вследствие движения по направлению проекции CD градиента. Если мы повторим описанную процедуру для точки D, получим новую точку Е, которая будет еще ближе к точке оптимума В. Таким образом, если мы будем двигаться (но осторожно) в направлении проекции градиента, то, вероятно, рано или поздно

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