Файл: Е.В. Буйная Симплексный метод решения оптимизационных задач.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 01.06.2024
Просмотров: 59
Скачиваний: 0
1
Министерство образования Российской Федерации
Кузбасский государственный технический университет
Кафедра вычислительной техники и информационных технологий
СИМПЛЕКСНЫЙ МЕТОД РЕШЕНИЯ ОПТИМИЗАЦИОННЫХ ЗАДАЧ
Методические указания и задания к практическим занятиям по курсу «Экономико-математические методы» для студентов экономических специальностей
Составители Е.В. Буйная
М.А. Тынкевич
Кемерово 2000
2
Министерство образования Российской Федерации
Кузбасский государственный технический университет
Кафедра вычислительной техники и информационных технологий
СИМПЛЕКСНЫЙ МЕТОД РЕШЕНИЯ ОПТИМИЗАЦИОННЫХ ЗАДАЧ
Методические указания и задания к практическим занятиям по курсу «Экономико-математические методы» для студентов экономических специальностей
Составители Е.В. Буйная
М.А. Тынкевич
Утверждены на заседании кафедры Протокол № 5 от 30.11.99
Рекомендованы к печати учебнометодической комиссией по специальности 071900 Протокол № 2 от 30.11.99
Электронная копия находится в библиотеке главного корпуса КузГТУ
Кемерово 2000
3
1. Основные понятия и алгоритм стандартного симплекс-метода
Пусть стоит задача максимизации (минимизации)
|
L(X) |
= |
∑n |
C |
j X |
j |
( 1.1 ) |
|
|
|
|
|
j = 1 |
|
|
|
|
при условиях |
|
|
|
|
|
|
|
|
∑n |
A |
j |
X |
j = |
B |
, |
|
(1.2 ) |
j = |
1 |
|
|
|
|
|
|
|
X |
j ≥ |
0 |
, |
j = 1, .., n |
, |
(1.3 ) |
где Aj (j=1,...,n) , B – m-мерные векторы.
Напомним несколько ключевых определений и свойств задачи.
Вектор X=(X1,X2,..,Xn) , удовлетворяющий условиям (1.2) и (1.3), называется планом. Множество планов в геометрической интерпретации представляет собой выпуклый многогранник.
План, который обращает в равенство хотя бы n независимых ограничений задачи, называется опорным планом. Опорный план соответствует некоторой вершине многогранника планов.
Опорный план содержит не свыше m положительных компонент (m – число независимых ограничений задачи). Опорный план, содержащий менее m положительных компонент, называют вырожденным.
Оптимальный план является опорным (если оптимум достигается на двух опорных планах, то оптимальны все планы, соответствующие отрезку, соединяющему соответствующие вершины).
Система m векторов Aj при положительных компонентах опорного плана называется базисом этого плана.
Симплексметод - это метод упорядоченного перебора опор-
ных планов. Упорядоченность в данном случае обеспечивается последовательным перебором опорных планов с монотонным изменением значения целевой функции в сторону возрастания (убывания).
В теоретическом обосновании симплексного метода [1] обнаруживается, что в случае единичного базиса (векторы образуют единичную матрицу) коэффициенты разложения некоторого вектора по векторам базиса, используемые в симплексной процедуре, совпадают с компонентами самого вектора (в общем же случае придется решать систему
4
уравнений). Поэтому на практике стремятся иметь дело с единичным базисом.
Предположим, что исходная задача приведена к канонической форме (1.1)-(1.3) при В ≥ 0 и первые m векторов начального базиса образуют единичную матрицу (их можно принять за базис).
Для единообразия описания вычислительной процедуры в дальнейшем будем пользоваться т. н. симплексными таблицами вида:
C |
|
Базис |
План |
С1 |
C2 ... |
Сm |
Cm+1 |
... |
Ck |
... |
Cn |
|
|||
баз |
|
плана |
X |
A1 |
A2 ... |
A |
A |
m+1 |
… |
A |
... |
A |
|
||
|
|
|
|
|
|
|
m |
|
|
k |
|
n |
|
||
С1 |
|
A1 |
B1 |
1 |
0 ... |
0 |
Z |
|
... |
Z |
... |
Z1n |
|
||
|
|
|
|
|
|
|
|
1,m+1 |
|
1k |
|
|
|
|
|
С2 |
|
A2 |
B2 |
0 |
1 ... |
0 |
Z |
|
... |
Z |
... |
Z2n |
|
||
|
|
|
|
|
|
|
|
2,m+1 |
|
2k |
|
|
|
|
|
... |
|
... |
|
... |
... ... ... ... |
|
... |
... ... ... ... |
|
|
|||||
Cm |
|
Am |
Bm |
0 |
0 ... |
1 |
Zm m+1 |
... |
Zmk |
... |
Zmn |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Zk |
L(X) |
Z1 |
Z2 ... |
Zm |
Z m+1 |
... |
Zk |
... |
Zn |
|
|
|||
|
∆ k |
|
|
∆ 1 |
∆ 2 ... |
∆ m |
∆ m+1 |
... |
∆ k |
... |
∆ n |
|
В первом столбце таблицы (С баз) записывают коэффициенты целевой функции (С1, С2 …Сm) при базисных переменных (напомним, что в базис входят только векторы, образующую единичную подматрицу, как в нашем случае А1 Аm). Во втором столбце (Базис плана) должны находиться базисные векторы данного опорного плана, а в третьем столбце (План Х) – правая часть ограничений задачи (базисные компоненты плана). Таким образом, перемножая элементы первого столбца таблицы со столбцом – «План Х», и суммируя эти произведения, мы получаем значение целевой функции (ячейка – L(X)=С1 В1 + С2 В2+…+
+Сm Bm).
Первая строка симплексной таблицы содержит коэффициенты линейной функции нашей задачи и остается неизменной на протяжении всего решения (С1, С2, …, Сn).
В центральной части таблицы записывают коэффициенты при неизвестных в ограничениях исходной задачи (Z11,…, Z1n,…, Zm1,…, Zmn). При этом следует заметить, что коэффициенты при базисных переменных в ограничениях задачи составляют единичную подматрицу.
|
5 |
|
|
Строку Zk рассчитывают по формуле |
|
|
|
Zk = ∑m C j Z jk , |
|
(1.4) |
|
|
j=1 |
|
|
а строку ∆ k рассчитывают по формуле |
|
|
|
∆ k = Z k - C k . |
|
(1.5) |
|
Известно, что при переходе к новому опорному плану X(Θ |
), в ко- |
||
тором k-я компонента равна Θ |
>0 (станет базисной), |
значение целевой |
|
функции изменится и будет равно |
|
|
|
L { X( Θ |
) } = L(X 0 ) - Θ ∆ |
k . |
(1.6) |
Выводы относительно данного опорного плана делают на основании содержимого последней строки таблицы по следующим критериям.
Критерий 1 (критерий оптимальности). Если все ∆ k ≥ 0 , то вы-
бранный план для задачи максимизации является оптимальным (для за-
дачи на минимум признак оптимальности - неположительность всех ∆ k
).
Критерий |
2 . Если обнаруживается некоторое ∆ k < 0 (для задачи |
|
минимизации ∆ |
k>0) и хотя бы одно из значений Zjk >0, |
то переход к |
новому опорному плану увеличит (уменьшит) значение |
целевой функ- |
ции. При этом в базис будет вводиться новый вектор, выбор которого определяется по критерию максимального по модулю произведения Θ∆ k. Если к тому же учесть, что число положительных (базисных) ком-
понент опорного плана должно оставаться |
равным |
m, то одну из m |
||||
базисных компонент исходного плана обращаем в нуль выбором |
||||||
Θ = m |
i n |
X 0j |
|
, |
(1.7) |
|
Z jk |
||||||
Z |
jk > 0 |
|
|
где X 0j - компоненты опорного плана;
Z jk - коэффициенты при k-й переменной в ограничениях задачи.
6
Критерий 3 . Если обнаруживается некоторое ∆ k < 0, но все Zjk≤ 0, то линейная форма задачи не ограничена по максимуму (неограниченность по минимуму устанавливается аналогично при ∆ k>0 и всех Zjk
≤ 0).
Переход к очередной симплексной таблице сводится к тому, чтобы
выразить Xk из уравнения, соответствующего минимуму для Θ , и исключить из остальных уравнений (в итоге получаем единичный вектор при новой базисной компоненте и тем самым сохраняется единичная подматрица при базисных векторах):
1.Строку, соответствующую вектору, выводимому из базиса (главная строка), делим на коэффициент (главный элемент), находящийся на пересечении этой строки и столбца, соответствующего вектору, вводимому в базис (главный столбец).
2.От всех остальных строк вычитаем преобразованную главную строку, умноженную на элемент, находящийся на пересечении искомой строки и главного столбца.
Получив новую симплексную таблицу для улучшенного опорного плана, действуем по той же схеме, т.е. проверяем новый план на оптимальность и при необходимости переходим к очередному опорному плану. Этот процесс продолжаем до тех пор, пока найденный опорный план не окажется оптимальным.
2.Приведение задачи к канонической форме
Как мы уже отмечали, изложенный алгоритм стандартного сим- плекс-метода применим к задачам, представленным в каноническом виде.
Для приведения задачи к такому виду используют следующие приемы.
1. Если на некоторую переменную Xk отсутствует условие неотрицательности, то ее всегда можно заменить разностью двух неотрицательных переменных, т.е.
X k = X k' - X "k , где X k' ≥ |
0 , X "k ≥ 0 . |
Если же на некоторую переменную стоит условие неположи- |
|
тельности, производится замена X k = - X k© |
, X k© ≥ 0 . |
7
2. Если некоторые из основных ограничений допускаются в виде неравенства, то можно ввести неотрицательную, так называемую ослаб-
ляющую (свободную, дополнительную), переменную, уравновешиваю-
щую разность между левой и правой частями ограничения.
Например, ограничения |
|
|
|
|
X 1 + 2 X 2 + 3 X 3 |
≥ 7 |
|||
X 1 - |
X 2 + |
X 3 |
≤ |
2 |
преобразуются к виду |
|
|
|
|
X 1 + 2 X 2 + 3 X 3 - X 4 |
= 7 , X 4 ≥ 0 |
|||
X 1 - X 2 + |
X 3 |
+ X 5 = 2 , X 5 ≥ 0 . |
3. Если среди основных ограничений присутствует ограничение с отрицательной правой частью, из соображений удобства последующего поиска начального опорного плана его умножают на (-1).
Рассмотрим несколько примеров:
Пример 1.
Пусть стоит задача максимизации
L(X) = 3X1+4X2-5X3
при условиях
3X1 - 4X2 + X3 ≤ 5
X1 - 10X2 + X3 = 10 5X2 - 3X3 ≥ 0 X1, X2 ≥ 0, X3 ≤ 0.
Так как X3 ≤ 0, произведем замену X3 = - X3’, где X3’≥ 0.
Так как первое и третье ограничения записаны в форме неравенства, необходимо ввести ослабляющие переменные. В первое ограничение вводим переменную Х4 = 5 - 3X1 - 4X2 + X3 , Х4 ≥ 0, а в третье - переменную Х5 = 0 - 5X2 - 3X3 , Х5 ≥ 0. В итоге исходная задача примет вид:
Максимизировать
L(X) = 3X1 + 4X2 + 5X3’
при условиях |
- X3’ + Х4 |
|
3X1 - 4X2 |
= 5 |
|
X1 - 10X2 |
- X3’ |
= 10 |
5X2 - 3X3’ - Х5 = 0 X1, X2, X3’, X4 , X5 ≥ 0.