Академический Документы
Профессиональный Документы
Культура Документы
10 x 1 − 7 x 2 − 5 x 3 → min
⎧ 6 x 1 + 15 x 2 + 6 x 3 ≤ 9
⎪
⎪ 14 x 1 + 42 x 2 + 16 x 3 ≤ 21
⎨
⎪ 2x1 + 8 x 2 + 2x 3 ≤ 4
⎪ x ≥ 0 ( j = 1 , 2 , 3)
⎩ j
Б
► Сведём данные в 1-й блок таблицы Гаусса (в столбце c стоят коэффициенты базисных переменных
целевой функции):
10 ‐7 ‐5 0 0 0
базис cБ x1 x2 x3 x4 x5 x6 bi θi комментарий
x4 0 6 15 6 1 0 0 9 9:16=0,6
x6 0 2 8 2 0 0 1 4 4:8=0,5
‐10 7 5 0 0 0 0 таблица №0
x( ) = ( 0 ; 0 ; 0 ; 9 ; 21 ; 4 )
0
L( ) = 10 ⋅ 0 − 7 ⋅ 0 − 5 ⋅ 0 + 0 ⋅ 9 + 0 ⋅ 21 + 0 ⋅ 4 = 0
0
1
T
⎛1⎞ ⎛ 4 ⎞
⎜ ⎟ ⎜ ⎟
⎜ ⎟ ⋅ ⎜ 5 ⎟ отражает скалярное произведение векторов, т.е. например
Заметим, что запись вида 2
⎜ 3⎟ ⎜ 6 ⎟
⎝ ⎠ ⎝ ⎠
T
⎛1⎞ ⎛ 4 ⎞ ⎛4⎞
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜ 2 ⎟ ⋅ ⎜ 5 ⎟ = ( 1 2 3 ) ⋅ ⎜ 5 ⎟ = 1 ⋅ 4 + 2 ⋅ 5 + 3 ⋅ 6 = 32 .
⎜ 3⎟ ⎜ 6 ⎟ ⎜6⎟
⎝ ⎠ ⎝ ⎠ ⎝ ⎠
► Поскольку в строке индексов есть положительные оценки, то опорный план не оптимален. Переходим к
новому опорному плану, т.е. изменим базис.
Ведущий столбец α в случае задачи на минимум определяется по наибольшей оценке в строке индексов и
указывает, какая переменная будет вводиться в новый базис. В данном случае ведущий столбец α = 2 и в
новый базис вводится переменная x 2 .
Замечания.
● Если a i α ≤ 0 , то θi не вычисляется.
● При вычислении θi может получиться так, что минимум отношения окажется одинаковым для нескольких
номеров i, т.е. сразу несколько строк таблицы могут быть разрешающими. Если выбирать ведущую строку
произвольно, то это может привести к зацикливанию алгоритма симплекс-метода (вырожденный случай).
Чтобы избежать этого, рекомендуется этот выбор осуществлять по определённому правилу, например:
правило а) в качестве разрешающей следует всегда выбирать строку с наименьшим номером в
системе ограничений [5, стр. 78].
правило б) для строк таблицы с одинаковым минимумом отношений θ i вычисляются отношения
a i 1 a i α , и находится строка, для которой это отношение является минимальным. Если такая строка
единственная, то её считают разрешающей. В противном случае вычисляются следующие отношения
a i 2 a i α и т.д. В результате получим единственную разрешающую строку [1, стр. 21].
2
10 ‐7 ‐5 0 0 0
базис c Б
x1 x2 x3 x4 x5 x6 bi θi комментарий
Опорный план:
⎛ 11 ⎞
x( ) = ⎜ 0 ; 0 ; ; ; 0 ; ⎟
2 21 9
⎝ 16 8 8 ⎠
L( ) = 10 ⋅ 0 − 7 ⋅ 0 − 5 ⋅ + 0 ⋅ + 0 ⋅ 0 + 0 ⋅ = −
2 21 9 11 105 9
= −6
16 8 8 16 16
Индексы:
T T
⎛ 0 ⎞ ⎛3 4⎞ ⎛ 0 ⎞ ⎛−3 4⎞
⎜ ⎟ ⎜ ⎟ 115 ⎜ ⎟ ⎜ ⎟ 49
Δ 1 = ⎜ −5 ⎟ ⋅ ⎜ 7 8 ⎟ − 10 = − Δ2 = ⎜ −5 ⎟ ⋅ ⎜ 21 8 ⎟ − ( −7 ) = −
⎜ 0 ⎟ ⎜1 8 8
⎝ ⎠ ⎝ 4 ⎟⎠ ⎜ 0 ⎟ ⎜ 11 4 ⎟
⎝ ⎠ ⎝ ⎠
T
⎛ 0 ⎞ ⎛ −3 8⎞
⎜ ⎟ ⎜ ⎟ 5
Δ 5 = ⎜ −5 ⎟ ⋅ ⎜ 1 16 ⎟ − 0 = −
⎜ 0 ⎟ ⎜ −1 8 ⎟ 16
⎝ ⎠ ⎝ ⎠
3
Опорный план, составленный по последней симплекс-таблице, является оптимальным, т.к. оценки в строке
индексов все неположительны.
Найдено решение, оптимальное с точки зрения достижения минимума целевой функции при заданных
ограничениях:
x1 = 0 ,
x2 = 0 ,
5
x3 = 1 ,
16
при этом
⎛ 21 ⎞ 9
L ⎜ 0; 0; ⎟ = −6 (минимально возможное значение целевой функции).
⎝ 16 ⎠ 16
4
Решение задачи в Mathematica, Mathcad, MuPAD Pro.
5
► Решение задачи в MuPAD Pro 4 с использованием встроенной функции minimize:
► Решение задачи в MuPAD Pro 4 с выводом всех промежуточных таблиц; преобразование Жордана-Гаусса
выполняется встроенной функцией userstep.
В userstep идёт ссылка на таблицу, затем указывается переменная, которая выводится из базиса, и
переменная, которая войдёт в базис. Таблица 2 содержит оптимальное решение, т.к. в строке obj все
элементы неположительны. Величина -105/16 есть значение целевой функции в оптимальном решении.
Из базиса выводится переменная с наибольшей величиной obj. Вводится в базис переменная с наименьшим
отношением θ . Разрешающие элементы в таблицах 0 и 1 выделены красным цветом, а также стоимости
плана выделены синим цветом вручную.
Литература:
1) Тюлюкин В.А. “Исследование операций”, методичка УрГЭУ (Екатеринбург), 2002;
2) Лунгу К.Н. "Линейное программирование; руководство к решению задач", 2005, стр. 28 (пример 3.1 - графический метод), стр. 56
(пример 4.6 - симплекс-метод), стр. 66 (двойственность);
3) Истомин Л.А., Степин В.П. "Математическое программирование", методичка УрГЭУ, 2003, стр. 10...18 (решение типовой задачи
линейного программирования);
4) Алексеев Е.Р., Чеснокова О.В. "Mathcad 12", 2005, стр. 223 (задача 8.3);
5) Плотников А.Д. "Математическое программирование", 2006;
6) Ермаков В.И. "Общий курс высшей математики для экономистов", 2007, стр. 571.
6