
- •Методы и модели в экономике
- •Введение
- •1. Формулировка общей задачи линейного программирования
- •2. Графический метод решения задач линейного программирования
- •3. Табличный симплекс-метод
- •3.1. Алгоритм симплекс – метода
- •3.2. Определение первоначального допустимого базисного решения
- •3.3. Особые случаи симплексного метода
- •4. Двойственные задачи
- •5. Балансовые модели
- •5.1. Балансовый метод. Принципиальная схема межпродуктового баланса
- •5.2. Экономико-математическая модель межотраслевого баланса
- •6. Построение трендовой модели
- •6.1. Понятие временного ряда
- •6.2. Этапы статистического анализа временных рядов
- •6.3. Выявление тренда и построение трендовой модели
- •6.4. Проверка адекватности моделей
- •6.5. Оценка точности модели
- •6.6. Построение прогнозов
- •Литература
- •Задание IV.
- •Задание V.
- •164500, Г. Северодвинск, ул. Воронина, 6
3. Табличный симплекс-метод
Среди универсальных методов решения задач линейного программирования наиболее распространен симплексный метод (метод последовательного улучшения плана). Суть этого метода в том, что вначале получают допустимый вариант, удовлетворяющий всем ограничениям, но необязательно оптимальный (начальное опорное решение); оптимальность достигается последовательным улучшением исходного варианта за определенное число этапов (итераций). При применении этого метода исходная ЗЛП формулируется в канонической форме (1.3).
Симплекс-метод основан на следующих свойствах ЗЛП:
-
Не существует локального экстремума, отличного от глобального. Другими словами: если экстремум есть, то он единственный.
-
Множество всех планов задачи линейного программирования выпукло.
-
Целевая функция ЗЛП достигает своего максимального (минимального) значения в угловой точке многогранника решений (в его вершине). Если целевая функция принимает свое оптимальное значение более чем в одной угловой точке, то она достигает того же значения в любой точке, являющейся выпуклой линейной комбинацией этих точек.
-
Каждой угловой точке многогранника решений отвечает опорный план ЗЛП.
Существует две разновидности симплексного метода:
-
симплекс-метод с естественным базисом;
-
симплекс-метод с искусственным базисом (М-метод);
-
Симплекс-метод с естественным базисом.
Для применения этого метода ЗЛП должна быть сформулирована в канонической форме (1.4), причем матрица системы уравнений должна содержать единичную подматрицу размерностью mm . В этом случае очевиден начальный опорный план (неотрицательное базисное решение).
3.1. Алгоритм симплекс – метода
I. Если задача не приведена к каноническому виду, то сделать это так, как в описано в пункте №1. Получить расширенную систему вида:
II. Исходную
расширенную систему заносим в первую
симплексную таблицу. Последняя строка
таблицы, в которой приведено уравнение
для линейной функции цели, называется
оценочной. В ней указываются коэффициенты
функции цели с противоположным знаком:
Δj =.
В левом столбце таблицы записываем
основные переменные (базис), в первой
строке таблицы — все переменные (отмечая
при этом основные), во втором столбце –
коэффициенты при основных переменных
системы сi,
в третьем столбце – свободные члены
расширенной системы b1,
b2, ..., bm. Последний
столбец подготовлен для оценочных
отношений, необходимых при расчете
наибольшего возможного значения
переменной. В рабочую часть таблицы
(начиная с четвертого столбца и второй
строки) занесены коэффициенты aij
при переменных из расширенной системы.
Далее таблица преобразуется по
определенным правилам.
III. Проверяем
выполнение критерия оптимальности при
решении задачи на максимум — наличие
в последней строке отрицательных
коэффициентов Δj
< 0 (ci > 0). Если таких
нет, то решение оптимально, достигнут
max F =
(в левом нижнем углу таблицы), основные
переменные принимают значения bi
(третий столбец), неосновные переменные
равны 0, т.е. получаем оптимальное базисное
решение.
IV. Если критерий оптимальности не выполнен, то наибольший по модулю отрицательный коэффициент Δj < 0 в последней строке определяет разрешающий столбец s.
Составляем оценочные ограничения каждой строки по следующим правилам:
-
, если bi и ais имеют разные знаки;
-
, если bi = 0 и ais < 0;
-
, если ais = 0;
-
0, если bi = 0 и ais > 0;
-
, если
ai0 и ais имеют одинаковые знаки.
Определяем
.
Если конечного минимума нет, то задача
не имеет конечного оптимума (Fmax = ).
Если минимум конечен, то выбираем строку
q, на которой он достигается (любую,
если их несколько), и называем ее
разрешающей строкой. На пересечении
разрешающих строки и столбца находится
разрешающий элемент aqs.
V. Переходим к следующей таблице по правилам:
а) в левом столбце записываем новый базис: вместо основной переменной xq - переменную xs,
б) в столбцах, соответствующих основным переменным, проставляем нули и единицы: 1 — против "своей" основной переменной, 0 — против "чужой" основной переменной, 0 — в последней строке для всех основных переменных;
в) новую строку с номером q получаем из старой делением на разрешающий элемент aqs;
г) все остальные элементы aqs вычисляем по правилу прямоугольника:
Далее переходим к п. III алгоритма.
Пример 3.1. Решить задачу об использовании ресурсов, приведенную в лекции, с помощью симплексных таблиц.
Решение. Расширенная система задачи имеет вид:
Линейную функцию представим в виде F – 2x1 - 3x2 = 0.
Заполняем первую симплексную таблицу (табл. 3.1), в которой переменные x3, x4, x5, x6 основные. Последняя строка заполняется коэффициентами линейной функции с противоположным знаком (см. п. II алгоритма).
Таблица 3.1
Базис |
Коэф. при базисных переменных |
Свободный член (План) |
Переменные |
Оценка |
||||||
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
|||||
2 |
3 |
0 |
0 |
0 |
0 |
|||||
x3 |
0 |
18 |
1 |
3 |
1 |
0 |
0 |
0 |
18/3 |
|
x4 |
0 |
16 |
2 |
1 |
0 |
1 |
0 |
0 |
16 |
|
x5 |
0 |
5 |
0 |
1 |
0 |
0 |
1 |
0 |
5 |
|
x6 |
0 |
21 |
3 |
0 |
0 |
0 |
0 |
1 |
|
|
|
F=0*18+0*16+0*5+0*21=0 |
Δj = |
-2 |
-3 |
0 |
0 |
0 |
0 |
|
В соответствии с п. III алгоритма проверяем критерий оптимальности.
Δj
=
для всех j = 1, 2, ..., 6:
Δ1 = 0*1+0*2+0*0+0*3 – 2 = – 2
Δ2 = 0*3+0*1+0*1+0*0 – 3 = – 3
Δ3 = 0*1+0*0+0*0+0*0 – 0 = 0
Δ4 = 0*0+0*1+0*0+0*0 – 0 = 0
Δ5 = 0*0+0*0+0*1+0*0 – 0 = 0
Δ6 = 0*0+0*0+0*0+0*1 – 0 = 0
В последней строке имеются отрицательные коэффициенты. Выбираем из них наибольший по модулю (Δ2 = –3); второй столбец разрешающий, переменная x2 перейдет в основные (этот столбец отмечен рамочкой). В соответствии с п. IV находим оценочные отношения и min{18/3; 16; 5; } = 5. Третья строка является разрешающей (отмечена горизонтальной стрелкой и рамочкой). На пересечении разрешающих строки и столбца стоит разрешающий элемент a11 = 1.
Строим табл. 2 по правилам п. V алгоритма:
а) в новом базисе основные переменные: x3, x4, x2, x6;
б) расставляем
нули и единицы; например, в клетке,
соответствующей основной переменной
x3 по столбцу и
строке, ставим 1, а в клетке,
соответствующей основной переменной
x3 по строке, а
основной переменной x2
— по столбцу, ставим
0 и т.п. В последней строке против
всех основных переменных ставим
0. Третья строка получается делением
на разрешающий элемент a11
= 1. Остальные клетки
заполняем по правилу прямоугольника.
Например:
,
и т.д.
Получим вторую симплексную таблицу (табл. 3.2)
Таблица 3.2
Базис |
Коэф. при базисных переменных |
Свободный член |
Переменные |
Оценка |
|||||
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
||||
2 |
3 |
0 |
0 |
0 |
0 |
||||
x3 |
0 |
3 |
1 |
0 |
1 |
0 |
-3 |
0 |
3 |
x4 |
0 |
11 |
2 |
0 |
0 |
1 |
-1 |
0 |
11/2 |
→ x2 |
3 |
5 |
0 |
1 |
0 |
0 |
1 |
0 |
|
x6 |
0 |
21 |
3 |
0 |
0 |
0 |
0 |
1 |
7 |
|
F=0*3+0*11+3*5+0*21=15 |
Δj = |
-2 |
0 |
0 |
0 |
3 |
0 |
|
Δj
=
для всех j = 1, 2, ..., 6:
Δ1 = 0*1+0*2+3*0+0*3 – 2 = – 2
Δ2 = 0*0+0*0+3*1+0*0 – 3 = 0
Δ3 = 0*1+0*0+3*0+0*0 – 0 = 0
Δ4 = 0*0+0*1+3*0+0*0 – 0 = 0
Δ5 = 0*(-3)+0*(-1)+3*1+0*0 – 0 = 3
Δ6 = 0*0+0*0+3*0+0*1 – 0 = 0
Критерий оптимальности вновь не выполнен (Δ1 <0). Теперь первый столбец разрешающий; x1 — переходит в основные, min{3/l; 11/2; ; 7}= 3; первая строка разрешающая, a11 — разрешающий элемент.
Новая симплексная таблица примет вид табл. 3.3.
Таблица 3.3
Базис |
Коэф. при базисных переменных |
Свободный член |
Переменные |
Оценка |
|||||
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
||||
2 |
3 |
0 |
0 |
0 |
0 |
||||
→ x1 |
2 |
3 |
1 |
0 |
1 |
0 |
-3 |
0 |
|
x4 |
0 |
5 |
0 |
0 |
-2 |
1 |
5 |
0 |
5/5 |
x2 |
3 |
5 |
0 |
1 |
0 |
0 |
1 |
0 |
5/1 |
x6 |
0 |
12 |
0 |
0 |
-3 |
0 |
9 |
1 |
12/9 |
|
F=2*3+0*5+3*5+0*12=21 |
Δj = |
0 |
0 |
2 |
0 |
-3 |
0 |
|
Δj
=
для всех j = 1, 2, ..., 6:
Δ1 = 2*1+0*0+3*0+0*0 – 2 = 0
Δ2 = 2*0+0*0+3*1+0*0 – 3 = 0
Δ3 = 2*1+0*(-2)+3*0+0*(-3) – 0 = 0
Δ4 = 2*0+0*1+3*0+0*0 – 0 = 0
Δ5 = 2*(-3)+0*5+3*1+0*9 – 0 =-6 + 3=-3
Δ6 = 2*0+0*0+3*0+0*1 – 0 = 0
И на этот раз критерий оптимальности не выполнен (Δ5 <0); пятый столбец и вторая строка разрешающие, a25 = 5 — разрешающий элемент.
Переходим к табл. 3.4
Таблица 3.4
Базис |
Коэф. при базисных переменных |
Свободный член |
Переменные |
Оценка |
|||||
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
||||
2 |
3 |
0 |
0 |
0 |
0 |
||||
x1 |
2 |
6 |
1 |
0 |
-1/5 |
3/5 |
0 |
0 |
|
x5 |
0 |
1 |
0 |
0 |
-2/5 |
1/5 |
1 |
0 |
|
x2 |
3 |
4 |
0 |
1 |
2/5 |
-1/5 |
0 |
0 |
|
x6 |
0 |
3 |
0 |
0 |
3/5 |
-9/5 |
0 |
1 |
|
|
F=2*6+0*11+3*4+0*3=24 |
Δj = |
0 |
0 |
4/5 |
3/5 |
0 |
0 |
|
Δj
=
для всех j = 1, 2, ..., 6:
Δ1 = 2*1+0*0+3*0+0*0 – 2 = 0
Δ2 = 2*0+0*0+3*1+0*0 – 3 = 0
Δ3 = 2*(-1/5)+0*(-2/5)+3*2/5+0*3/5 – 0 = 4/5
Δ4 = 2*(3/5)+0*1/5+3*(-/5)+0*(-9/5) – 0 = 3/5
Δ5 = 2*0+0*1+3*0+0*0 – 0 = 0
Δ6 = 2*0+0*0+3*0+0*1 – 0 = 0
Критерий оптимальности выполнен (все Δj > 0), значит Fmax = 24, оптимальное базисное решение (6; 4; 0; 0; 1; 3).