Симплекс-метод

Универсальный метод решения канонической задачи линейного программирования. Общая схема симплекс-метода, его простейшая реализация на примере. Группировка слагаемых при одинаковых небазисных переменных. Определение координат нового базисного плана.

Рубрика Экономико-математическое моделирование
Вид контрольная работа
Язык русский
Дата добавления 21.10.2013
Размер файла 49,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Симплекс-метод

1. Идея симплекс-метода

Рассмотрим универсальный метод решения канонической задачи ЛП.

, , ,

известный как симплекс-метод.

Как было установлено в главе 2, множество планов канонической задачи - выпуклое многогранное множество, имеющее конечное число угловых точек. И если эта задача имеет оптимальное решение, то оно достигается хотя бы в одной угловой точке.

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

Перебор всех угловых точек сопряжен с большими вычислительными затратами и поэтому не эффективен. В 1944 году Дж. Данциг предложил упорядоченную процедуру перебора угловых точек, при которой для нахождения оптимального решения достаточно исследовать лишь небольшую их часть. Эта процедура называется симплекс-методом.

Дж. Данциг предложил при переходе от одной крайней точки к другой заменять в базисной матрице всего один вектор. Это означает, что при таком переходе мы должны одну из базисных переменных исключить - сделать ее небазисной (равной нулю), а на ее место ввести новую переменную из числа небазисных (нулевых) - сделать ее базисной (положительной).

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

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

Общая схема симплекс-метода состоит из следующих основных шагов.

· 0 шаг. Определение начального базиса  и соответствующей ему начальной угловой точки (базисного плана) .

· 1 шаг. Проверка текущего базисного плана на оптимальность. Если критерий оптимальности выполнен, то план оптимален и решение закончено. Иначе переход на шаг 2.

· 2 шаг. Нахождение переменной, вводимой в состав базисных. (Из условия увеличения целевой функции).

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

· 4 шаг. Нахождение координат нового базисного плана (смежной угловой точки). Переход на шаг 1.

Повторяющиеся шаги 1-4 образуют одну итерацию симплекс-метода.

Из этой схемы следует, что, во-первых, для начала работы симплекс-метода надо иметь какую-то угловую точку - начальный базисный план, а во-вторых, надо уметь исследовать текущую угловую точку на оптимальность, не вычисляя всех смежных вершин. Эти проблемы легко решаются, если каноническая задача ЛП имеет некий специальный вид.

Определение. Будем говорить, что каноническая задача ЛП имеет «предпочтительный вид», если

1. правые части уравнений , .

2. матрица условий содержит единичную подматрицу размера 

.

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

Пример.

Матрица условий  и вектор правых частей ограничений имеют вид

, .

Сразу очевидна одна базисная матрица: с единичными векторами

.

Следовательно , , - базисные переменные, а x2, x4 - небазисные. Полагая в системе уравнений x2=x4 =0, немедленно находим x1 =10, x3 =20, x5 =8. Видим, что значения базисных переменных равны правым частям ограничений. Из этого понятно требование положительности правых частей bi.

В дальнейшем, базисные переменные будем объединять в вектор xБ.

Таким образом, в канонической задаче предпочтительного вида в качестве начальной базисной матрицы берется единичная подматрица AБ =E, а соответствующие ей базисные переменные равны правым частям ограничений: xБ =b.

2. Простейшая реализация симплекс-метода

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

f(x) = c1x1 + c2x2 +… + cmxm + cm+1xm+1 +… + cnxn ??max

(3.1)

x1 + a1m+1 xm+1 + … + a1n xn = b1

(3.2)

x2 + a2m+1 xm+1 + … + a2n xn = b2

………………………………………………………….

xm + amm+1 xm+1 + … + amn xn = bm

xj і--0, j=1,2,…, n.

(3.3)

Матрица условий

содержит единичную подматрицу размера m x m в первых m столбцах, следовательно AБ ={A1, A2,…, Am}=E.

Основные шаги симплекс-метода (теория)

Поскольку единичная базисная матрица находится в первых m столбцах матрицы условий, то первые m координат начального базисного плана являются базисными, а последние n - m координат являются небазисными, то есть равны нулю:

xo = (x1, x2,…, xm, 0,…, 0).

Подставляя координаты точки xo в ограничения (3.2) и учитывая, что

xm+1 =… = xn = 0, получаем: x1 = b1, x2 = b2,…, xm = bm, то есть xoБ = b.

Значит начальный базисный план имеет вид:

xo = (b1,…, bm, 0,…, 0),

где сБ = (с1,…, сm) - вектор, составленный из коэффициентов целевой функции при базисных переменных.

1 шаг. Проверка базисного плана на оптимальность.

Из системы ограничений (3.2) выразим базисные переменные через небазисные:

x1= b1 - a1m+1xm+1 - … - a1nxn,

x2 = b2 - a2m+1xm+1 - … - a2nxn,

…………………………………………

xm = bm - amm+1xm+1 - … - amnxn,

(3.4)

Подставим эти выражения в целевую функцию (3.1).

f (x) = c1 (b1 - a1m+1xm+1 - … - a1nxn) + c2 (b2 - a2m+1xm+1 - … - a2nxn) +

………………………………………………..

+ cm (bm - amm+1xm+1 - … - amnxn) + cm+1xm+1 +… + cnxn.

Сгруппируем слагаемые при одинаковых небазисных переменных:

f (x) = - (c1 a1m+1 + c2 a2m+1 + … + cm amm+1 - cm+1). xm+1 - …-

- (c1 a1n + c2 a2n + … + cm amn - cn). xn.

(3.5)

Заметим, что выражения в круглых скобках можно записать в виде

c1 a1m+1 + c2 a2m+1 + … + cm amm+1 - cm+1 = < cБ, Am+1 > - cm+1 =--Dm+1,

…………………………………………………………………………………………………………………………

c1 a1n + c2 a2n + … + cm amn - cn = < cБ, An > - cn =--Dn,

где сБ = (с1,…, сm) - вектор, составленный из коэффициентов целевой функции при базисных переменных, Am+1,…, An - столбцы матрицы условий А при небазисных переменных xm+1,…, xn.

Выражения

D--j = < сБ, Aj > - cj, j = m+1,…, n,

(3.6)

называются симплексными разностями или симплексными оценками базисного плана.

С учетом (3.6), формулу (3.5) для целевой функции можно переписать в виде

.

Эта формула позволяет получить признак оптимальности базисного плана. Если все симплексные оценки с небазисными номерами D--j і--0, то текущий базисный план - оптимален.

Действительно, если хотя бы одна оценка, например, ?k строго отрицательна, то придавая соответствующей небазисной переменной xk положительное значение, а остальные небазисные переменные плана x полагая равными нулю, получим

f (x) = f (xo) - Dxk = f (xo) + | D--k | xk > f (xo),

(3.7)

то есть в этом случае план xo может быть улучшен.

Легко проверить, что симплексные оценки, соответствующие единичным базисным столбцам всегда равны 0.

2 шаг. Нахождение переменной вводимой в состав базисных переменных.

Как следует из формулы (3.7), целевую функцию можно увеличить, если ввести в состав базисных переменных (сделать положительной) небазисную переменную xj, которой соответствует отрицательная оценка ?j < 0. Если таких оценок несколько, то обычно в состав базисных вводят небазисную переменную хк с наибольшей по модулю отрицательной оценкой, то есть такую, для которой

,

где D--j = < CБ, Aj > - cj, j = m+1,…, n (номера небазисных переменных).

Таким образом мы получим новый план

x1 = (x1,…, xm,0,…, xk,…, 0,…, 0).

Но х1 - небазисный план, так как число положительных координат равно m+1, число нулевых координат равно n - m -1.

Чтобы получить новую угловую точку, занулим одну из базисных переменных, то есть выведем одну переменную из состава базисных.

3 шаг. Определение переменной выводимой из базиса.

Подставим координаты точки х1 в условия (3.4) и учтем, что переменные xj должны быть неотрицательны

x1 = b1 - a1kxk і--0

x2 = b2 - a2kxk і--0

………………………….

xm = bm - amkxk і--0

(3.8)

Из формулы (3.7) видно, что чем больше величина хк > 0, тем больше возрастает целевая функция. Постараемся найти максимальное значение хк, не нарушая ограничений задачи и выполняя условия неотрицательности (3.8).

Неравенства (3.8) можно переписать в виде

A1kxk Ј b1

a2kxk Ј b2

………………

amkxk Ј bm

(3.9)

При решении системы неравенств (3.9) возможны два случая:

a) среди коэффициентов при хк нет положительных: aik Ј--0, i=1,2,…, m. Так как bi >--0, то неравенства (3.9) выполняются при любом сколь угодно большом значении хк. Это говорит о том, что целевая функция не ограничена на множестве планов (max f(x) ®--Ґ) и следовательно, решения задачи ЛП не существует.

b) среди коэффициентов при хк есть положительные aik > 0. Решая систему неравенств (3.9) получим:

хк Ј--bi /aik, для всех i, для которых aik > 0.

(3.10)

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

хк = min {bi /aik} по всем i: aik > 0.

Пусть минимум достигается при i = r, то есть хк ? br /ark. Это означает, что базисная переменная хr в условиях (3.8) обращается в нуль.

хr = br - ark xk = br - ark (br /ark) = 0, 1 ??r ??m.

Переменная xr исключается из базиса. Следовательно, получили новый состав базисных и небазисных переменных, отличающийся от исходного одной базисной и одной небазисной координатой.

4 шаг. Определение координат нового базисного плана.

Новый базисный план будет иметь вид

x1 = (x1, x2,…, 0,…, xm, 0,…, хk,0,…, 0),

где на месте хr стоит ноль, а хк > 0. тому базисному плану соответствует новая базисная матрица:

Для нахождения координат новой угловой точки х1 каноническая задача ЛП приводится к новому предпочтительному виду, то есть к такой форме, чтобы матрица стала единичной (= E). Для этого столбец Аk нужно преобразовать к единичному представлению,

- r-я строка,

в котором коэффициент = 1, а все остальные элементы =0, i ??r. Этого можно добиться с помощью элементарных операций над уравнениями системы. Решение заканчивается тогда, когда для некоторой точки все оценки Dj і--0.

3. Реализация симплекс-метода на примере

Продемонстрируем применение симплекс-метода на примере из главы 2.

Рассмотрим каноническую задачу ЛП

f(x) = x1+ 2x2 +0 x3 + 0 x4 max

(3.11)

-x1+ 2x2+ x3 = 4,

(3.12)

3 x1 +2x2 + x4 = 12,

(3.13)

xj ? 0, j = 1,2,3,4.

(3.14)

Матрица условий A = (A1, A2, A3, A4), где

, , , .

Целевой вектор c =(c1, c2, c3, c4)=(1, 2, 0, 0); вектор правых частей b=(b1, b2) = (4, 12).

0 шаг. Нахождение начальной угловой точки (базисного плана).

Задача имеет предпочтительный вид, так как правые части уравнений положительны, а столбцы матрицы условий A3, A4 образуют единичную подматрицу. Значит начальная базисная матрица = (A3, A4); x3 и x4 - базисные переменные, x1 и x2 - небазисные переменные, cБ = (c3, c4) = (0, 0).

Начальный базисный план имеет вид

x0 = (0, 0, x3, x4) = (0, 0, 4, 12); f(xo) = 0.

1 шаг. Проверка базисного плана на оптимальность.

Подсчитаем симплексные оценки для небазисных переменных по формуле (3.6)

D1 = < cБ, A1 > - c1 = 0 ·(-1) + 0 ·3 - 1 = -1.

D2 = < cБ, A2 > - c2 = 0 ·2 + 0 · 2 - 2 = -2.

Так как оценки отрицательны, то план xo - не оптимален. Будем искать новый базисный план (смежную угловую точку) с большим значением целевой функции.

2 шаг. Нахождение переменной вводимой в базис.

Целевую функцию можно увеличить, если ввести в состав базисных переменных (сделать положительной) одну из небазисных переменных x1 или x2, поскольку обе оценки Dj < 0. Обычно в состав базисных вводят небазисную переменную с наибольшей по модулю отрицательной оценкой, поэтому будем вводить в базис переменную x2.

3 шаг. Определение переменной выводимой из базиса.

После ввода в базис переменной x2 новый план будет иметь вид

x1 = (0, x2, x3, x4).

Этот план не является базисным, так как он содержит только одну нулевую координату, значит надо сделать нулевой (исключить из базиса) одну из переменных x3 или x4.

Подставим координаты плана x1 = (0, x2, x3, x4) в ограничения задачи. Получим

2x2+ x3 = 4,

2x2 + x4 = 12.

Выразим отсюда базисные переменные x3 и x4 через переменную x2, вводимую в базис.

x3 = 4 - 2x2,

(3.15)

x4 = 12 - 2x2.

(3.16)

Так переменные x3 и x4 должны быть неотрицательны, получим систему неравенств

4 - 2x2 і--_,

(3.17)

12 - 2x2 --і--_.

(3.18)

Чем больше значение x2, тем больше возрастает целевая функция. Найдем максимальное значение новой базисной переменной, не нарушающее ограничения задачи, то есть удовлетворяющее условиям (3.17), (3.18).

Перепишем неравенства в виде

2x2 Ј--4,

2x2 Ј12,

откуда максимальное значение x2 = min {4/2, 12/2} = 2. Подставляя это значение в выражения (3.15), (3.16) для x3 и x4, получаем x3 = 0. Следовательно x3 выводится из базиса.

4 шаг. Определение координат нового базисного плана.

Новый базисный план (смежная угловая точка) имеет вид

x1 = (0, x2, 0, x4).

Базис этой точки состоит из столбцов A2 и A4, так что = (A2, A4). Заметим, что этот базис не является единичным, так как вектор A2 = (2, 2), и следовательно задача (3.11) - (3.14) не имеет предпочтительного вида относительно нового базиса. Преобразуем условия задачи (3.12), (3.13) таким образом, чтобы она приняла предпочтительный вид относительно новых базисных переменных x2, x4, то есть чтобы переменная x2 входила в первое уравнение с коэффициентом, равным единице, и не присутствовала во втором уравнении. Перепишем уравнения задачи

- x1+ 2x2+ x3 = 4, (p1)

3x1 +2x2 + x4 = 12. (p2)

Поделим первое уравнение на коэффициент при x2. Получим новое уравнение = p1 / 2, эквивалентное исходному

- 1/2 x1+ x2+ 1/2 x3 = 2. ()

Используем это уравнение, которое назовем разрешающим, для исключения переменной x2 из второго уравнения. Для этого надо уравнение умножить на 2 и вычесть из p2. Получим уравнение = p2 - 2 = p2 - p1.

4 x1 - x3 + x4 = 8. ()

В итоге получили новое «предпочтительное» представление исходной задачи (3.11) - (3.14) относительно новых базисных переменных x2, x4:

f(x) = x1+ 2x2 + 0 x3 + 0 x4® max

- 1/2 x1+ x2+ 1/2 x3 = 2. ()

4 x1 - x3 + x4 = 8. ()

xj і 0, j = 1,2,3,4.

Подставляя сюда представление нового базисного плана x1 = (0, x2,0, x4), сразу найдем его координаты, так как значения базисных переменных равны правым частям уравнений

x1 = (0,2,0,8); f(x1)=4.

На этом завершается первая итерация простого симплекс-метода. Далее процесс решения задачи продолжается с шага 1, состоящем в проверке найденного плана на оптимальность. Решение заканчивается тогда, когда все симплексные оценки текущего базисного плана окажутся неотрицательными.

Мы не будем проводить вторую итерацию по схеме первой, поскольку все вычисления симплекс-метода удобнее проводить в табличном виде.

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

Литература

1. Эконометрика: Учебник / Под ред. И.И. Елисеевой. - М.: Финансы и статистика, 2002. - 344 с.: ил.

2. Практикум по эконометрике: Учеб. пособие / И.И. Елисеева, С.В. Курышева, Н.М. Гордеенко и др.; Под ред. И.И. Елисеевой. - М.: Финансы и статистика, 2002. - 192 с.: ил.

3. Кремер Н.Ш., Путко Б.А. Эконометрика: Учебник для вузов. - М.: ЮНИТИ-ДАНА, 2002. - 311 с.

4. Магнус Я.Р., Катышев П.К., Пересецкий А.А. Эконометрика. Начальный курс: учебник. - М.: Дело, 2001. - 400 с.

5. Катышев П.К., Магнус Я.Р., Пересецкий А.А. Сборник задач к начальному курсу эконометрики. - 3-е изд., испр. - М.: Дело, 2003. - 208 с.

6. Доугерти К. Введение в эконометрику. - М.: Финансы и статистика, 1999.

7. Джонстон Дж. Эконометрические методы. - М.: Статистика, 1980.

8. Кейн Э. Экономическая статистика и эконометрия. Введение в количественный экономический анализ. Вып. 1. - М.: Статистика, 1977.

9. Ланге О. Введение в эконометрику / Пер. с польск. - М.: Прогресс, 1964.

10. Лизер С. Эконометрические методы и задачи. - М.: Статистика, 1971.

11. Маленво Э. Статистические методы эконометрии. - М.: Статистика, 1976.

12. Тинтнер Г. Введение в эконометрию. - М.: Финансы и статистика, 1965.

13. Айвазян С.А., Мхитарян В.С. Прикладная статистика и основы эконометрики: учебник для вузов. - М.: ЮНИТИ, 1998.

14. Вентцель Е.С. Теория вероятностей: Учебник для вузов. - 6-е изд. - М.: Высш. шк., 1999.

Размещено на Allbest.ru


Подобные документы

  • Геометрический способ решения стандартных задач линейного программирования с двумя переменными. Универсальный метод решения канонической задачи. Основная идея симплекс-метода, реализация на примере. Табличная реализация простого симплекс-метода.

    реферат [583,3 K], добавлен 15.06.2010

  • Цель работы: изучить и научиться применять на практике симплекс - метод для решения прямой и двойственной задачи линейного программирования. Математическая постановка задачи линейного программирования. Общий вид задачи линейного программирования.

    реферат [193,4 K], добавлен 28.12.2008

  • Решение задачи линейного программирования графическим и симплекс-методом. Решение задачи двойственной к исходной. Определение оптимального плана закрепления потребителей за поставщиками однородного груза при условии минимизации общего пробега автомобилей.

    контрольная работа [398,2 K], добавлен 15.08.2012

  • Формы задачи линейного программирования, каноническая форма. Симплекс-метод: теоретические основы, прямой алгоритм; метод Гомори. Математическая и техническая постановка задачи, программная реализация: запуск, графический интерфейс и созданные функции.

    курсовая работа [578,7 K], добавлен 04.02.2011

  • Математическая формулировка задачи линейного программирования. Применение симплекс-метода решения задач. Геометрическая интерпретация задачи линейного программирования. Применение методов линейного программирования к экстремальным задачам экономики.

    курсовая работа [106,0 K], добавлен 05.10.2014

  • Симплекс метод решения задач линейного программирования. Построение модели и решение задачи определения оптимального плана производства симплексным методом. Построение двойственной задачи. Решение задачи оптимизации в табличном процессоре MS Excel.

    курсовая работа [458,6 K], добавлен 10.12.2013

  • Виды задач линейного программирования и формулировка задачи. Сущность оптимизации как раздела математики и характеристика основных методов решения задач. Понятие симплекс-метода, реальные прикладные задачи. Алгоритм и этапы решения транспортной задачи.

    курсовая работа [268,0 K], добавлен 17.02.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.