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


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


4

1.3. Формы задач линейного программирования

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

Мы рассмотрели примеры задач линейного программирования, на основании которых можно представить три формы задач линейного профам-мирования в зависимости от наличия офаничений разного типа

Стандартная задача линейного профаммирования

<fe/,/= 1, W,

Xj>0,J=\, ,..,п.

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

Каноническая задача линейного программирования.

max i;c,x,, /=1

/= 1, W,

Xj>Oj = 1,

Основные вычислительные методы (симплекс-метод и его модификации) решения задач линейного профаммирования разработаны именно для канонической задачи.

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

при Офаничениях

сл:, max (или min) /=1

TayXj ubii== 1,2, У-1

(1.14)

(1.15) 19



£ах =bii = K+\, .,.,т(1.16)

xi>0,...,x,>0.(1.17)

Здесь к <т, г <п. Понятно, что стандартная задача получается как частный случай общей при к = т, г = п\ каноническая - при fc = О, г = «.

Все три перечисленные формы задач эквивалентны в том смысле, что каждую из них можно простыми преобразованиями привести к любой из двух остальных. Поэтому если имеется способ решения одной из этих трех задач, то тем самым может быть решена и любая другая из двух оставшихся. Покажем, например, как можно привести стандартную задачу к канонической форме. Для этого введем в рассмотрение новые переменные Z\,.,.,Zm, количество которых совпадает с числом ограничений в стандартной задаче и рассмотрим следующую каноническую задачу:

max (cixx + С2Х2+ ... + + О • Zi +... + 0 • Zm) аих\ +ai2X2+ ... + a\rbXn-Zx = bi

Cl2lX\ + 22x2 + ... + a2nXn + Z2 = Z72

Clm\X\ + am2X2- ... ClmnXnZm = Ь m

Xi>0,X2>0, ...,x„>0 Zi>0,Z2>0,...,Z;„>0.

Пусть (x*i,..., Z*i,..., Z*;;,,) решение сформулированной канонической задачи. Тогда решением исходной стандартной задачи является

вектор (х*1,х*2,...,х*«).

Докажем это, показав вначале, что вектор (x*i, х%..., х*„) является допустимым. Это вытекает из того, что его координаты неотрицательны, как следует из канонической задачи, и так как Z*i,..., Z*;„ неотрицательны, то из равенств

aaxi + ааХ2 + ... + + Z* = b, (/ = 1,2,..., т)

следует

axi*+ а,2Х2* + +atrtXn* <Ь, (/= 1,2, ...,w).

Предположим, что х* = (xiх„*) не является оптимальным решением. В этом случае существует значение х = (xi,..., х„), которое удовле-



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

C\Xi + С2Х2 + ... + Сгп > CiXi* + С2Х2* + ... + Сггг*

Покажем, что это невозможно, для чего построим решение, удовлетворяющее ограничениям канонической задачи и доставляющее большее значение целевой функции, чем на (xiZiZm% что будет противоречить оптимальности последнего.

Рассмотрим вектор (xi,..., х„, Zi,..., Z где Z/ = - (aXi + ... + ал) (/= l,...,/w).

Так как х = (xi,...,х„) удовлетворяет ограничениям стандартной задачи, то Z/ >0 (/ = 1,..., т). Получаем, что вектор (xi,..., х,„ Zi,..., Z;„) удовлетворяет всем ограничениям канонической задачи и при этом с\Х\ + С2Х2 + ... + СпХп > c\Xi* + С2Х2 *+...+ СпХп*, что противоречит оптимальности вектора (xi*,..., х„, *, Zi*,..., Z;„*). Полученное противоречие доказывает тот факт, что стандартная задача линейного программирования может быть сведена к канонической.

Для того чтобы свести каноническую задачу к стандартной, необходимо каждое ограничение вида:

(Я/iXi +а,2Х2+ ,..+air„ = bi

записать двумя следующими неравенствами

апХ1 + ааХ2 + ,..+ainXn<bi

-anxi - ааХ2 - ... - atXri -bt.

Если на переменную Х/ общей задачи не накладывается ограничение неотрицательности, то для того, чтобы общую задачу свести к стандартной, необходимо ввести новые переменные ut >0 и v, > О и положить X/ = W/-V,. Тот случай, когда необходимо минимизировать линейную целевую функцию вида ciXi + С2Х2 + ... + сх легко свести к задаче максимизации, для чего необходимо рассмотреть задачу нахождения максимума функции

~CiXi-C2X2~...-C„.

Рассмотрим примеры задачи линейного программирования, приведенные ранее. Задача о диете и задача выбора оптимальной производственной программы являются стандартными задачами линейного программирования, а задача о раскрое материалов и транспортная задача - канонические задачи линейного программирования.

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