- •Козлова с.Ж.
- •Содержание
- •Часть I
- •Часть II
- •Введение
- •Часть I Линейное программирование в оптимальном Планировании постановка задачи линейного программирования
- •Общая теория
- •Построение математической модели экономической задачи Сформулируем конкретную экономическую задачу и построим математическую модель, адекватную исходным данным.
- •Построение математической модели:
- •Тогда общая стоимость выпущенной продукции составит:
- •1. Графический метод.
- •2. Симплекс-метод. Решение задачи линейного программирования графическим методом
- •Решение задачи линейного программирования симплекс – методом
- •Общая теория
- •Алгоритм симплекс-метода для решения з.Л.П.
- •Алгоритм решения з.Л.П. С использованием симплекс – таблицы
- •Задачи для самостоятельного решения
- •Дополнительная литература
- •Часть II транспортная задача. Методы решения Общая постановка транспортной задачи
- •Построение математической модели
- •Общий вид таблицы перевозок
- •Методы решения транспортной задачи
- •Методы решения транспортной задачи
- •Построение первоначального т-плана методом северо-западного угла
- •Построение первоначального т-плана методом наименьшей стоимости
- •Метод потенциалов
- •Распределительный метод
- •Задачи для самостоятельного решения
- •Варианты контрольных работ
- •Дополнительная литература
- •Математическое программирование в оптимальном планировании (Учебное пособие)
- •617766, Пермский край, г. Чайковский, ул. Декабристов, 23.
Алгоритм решения з.Л.П. С использованием симплекс – таблицы
1 шаг: привести целевую функцию f (x) = с1x1+с2x2 +с3x3+…+сnxn к виду: f (x) -с1x1-с2x2 -с3x3-…-сnxn = 0.
2 шаг: свести систему ограничений к системе линейных уравнений путем добавления дополнительных переменных.
3 шаг: путем эквивалентных преобразований представить систему ограничений в виде системы линейных уравнений с выделенными переменными.
4 шаг: заполнить симплекс-таблицу (предположим, что первые m переменные – базисные):
Базис |
Свободные члены |
Переменные |
Разрешающий коэффициент | |||||
x1 |
x2 |
x3 |
… |
xn | ||||
x1 |
b1 |
a11 |
a12 |
a13 |
… |
a1n |
ri = , для aij > 0 | |
x2 |
b2 |
a21 |
a22 |
a23 |
… |
a2n | ||
… |
… |
… |
… |
… |
… |
… | ||
xm |
bm |
am1 |
am2 |
am3 |
… |
amn | ||
f (x) |
0 |
с1 |
с2 |
с3 |
… |
сn |
|
5 шаг: пользуясь Теоремой 1*, проверить базисное решение на оптимальность:
если все коэффициенты целевой функции при небазисных переменных положительные, а при базисных равны нулю, то критерий оптимальности выполнен. Далее перейти к 6-му шагу алгоритма.
если в целевой функции найдется хотя бы один отрицательный коэффициент сj перед небазисной переменной xj, то найденное базисное решение не является оптимальным. В этом случае, пользуясь теоремой 3*, исследуют возможность перехода к новому базисному решению. Если получили, что такой переход возможен, то необходимо осуществить смену одной базисной переменной по схеме 1*.
Схема 1*
- Пусть в целевой функции при небазисной переменной xj коэффициент сj < 0. Тогда для всех положительных коэффициентов aik, стоящих в столбце “xj” симлекс-таблицы, вычисляют разрешающий коэффициент по формуле:
ri = , где bi - свободный член в i-ой строке таблицы.
- Среди всех разрешающих коэффициентов находят минимальный. Пусть rp=min ( ri ). Тогда в p-ой строке таблицы производят замену исходной базисной переменной на переменную xj.
После смены одной базисной переменной необходимо путем эквивалентных преобразований привести симплекс-таблицу к следующему виду:
Базис |
Свободные члены |
Переменные |
Разрешающий коэффициент | |||||||
x1 |
x2 |
x3 |
… |
xj |
… |
xn | ||||
x1 |
b1’ |
a11’ |
a12’ |
a13’ |
… |
0 |
… |
a1n’ |
ri = , для aij’ > 0 | |
x2 |
b2’ |
a21’ |
a22’ |
a23’ |
… |
0 |
… |
a2n’ | ||
… |
… |
… |
… |
… |
… |
0 |
… |
… | ||
xp xj |
… |
1 |
… | |||||||
… |
… |
… |
… |
… |
… |
0 |
… |
… | ||
xm |
bm’ |
am1’ |
am2’ |
am3’ |
… |
0 |
… |
amn’ | ||
f (x) |
c |
с1’ |
с2’ |
с3’ |
… |
0 |
… |
сn’ |
|
-Теперь переменная xj будет являться базисной. Получили новое базисное решение. Его необходимо проверить на оптимальность по теореме 1*. Если найденное базисное решение является оптимальным, то перейти к 6 шагу алгоритма. В противном случае необходимо произвести смену одной базисной переменной по схеме 1*.
6 шаг: сформулировать выводы по результатам решения З.Л.П.
Проиллюстрируем использование симплекс-таблицы для решения З.Л.П. следующего вида:
f (x) = х1 + х2 – х3 max
х1 0, х2 0, х3 0
1 шаг алгоритма: приведем целевую функцию f (x) = х1+ х2 – х3
к виду: f (x) - х1 - х2 + х3 = 0.
2 шаг алгоритма: сведем систему ограничений к системе линейных уравнений путем добавления дополнительных переменных х4 и х5:
х1 0, х2 0, х3 0, х4 0, х5 0
3 шаг алгоритма: в данном случае, после ввода дополнительных переменных, в каждой из двух уравнений системы уже присутствует выделенная переменная ( х4 - в первом уравнении и х5 – во втором).
4 шаг алгоритма: заполним симплекс-таблицу (Табл.1):
Таблица 1
Базис |
Свободные члены |
Переменные |
Разрешающий коэффициент | ||||
х1 |
х2 |
х3 |
х4 |
х5 |
| ||
х4 |
2 |
1 |
1 |
4 |
1 |
0 |
2/1=2 |
х5 |
1 |
1 |
-1 |
2 |
0 |
1 |
1/1=1min |
f(x) |
0 |
-1 |
-1 |
1 |
0 |
0 |
|
Базисное решение имеет вид: (х1,х2,х3,х4,х5)=(0,0,0,2,1). Найденное базисное решение не является оптимальным, так как не все коэффициенты целевой функции неотрицательные. Следовательно, необходимо осуществить смену одной базисной переменной. Для этого выберем одну из переменных, при которой в целевой функции стоит отрицательный коэффициент (например, переменную х1) и произведем для этой переменной расчет разрешающих коэффициентов (Табл. 1).
Поскольку наименьший из разрешающих коэффициентов стоит во второй строке таблицы, то необходимо заменить базисную переменную х5 на переменную х1. Так как теперь х1 является базисной переменной, то необходимо путем эквивалентных преобразований получить а11=0, с1=0 и а21=1.
В данном случае, чтобы получить:
а21=1, необходимо разделить вторую строку таблицы на разрешающий коэффициент;
а11=0, необходимо вычесть из элементов первой строки соответствующие элементы второй;
с1=0, необходимо сложить вторую и третью строку таблицы.
После указанных преобразований получим таблицу 2 (стр.28).
Получили новое базисное решение (х1,х2,х3,х4,х5)=(1,0,0,1,0). Выделенное базисное решение не доставляет максимума целевой функции (не является оптимальным), так как не все коэффициенты целевой функции являются неотрицательными числами.
Таблица 2
Базис |
Свободные члены |
Переменные | ||||
х1 |
х2 |
х3 |
х4 |
х5 | ||
х4 |
1 |
0 |
2 |
2 |
1 |
-1 |
х1 |
1 |
1 |
-1 |
2 |
0 |
1 |
f(x) |
1 |
0 |
-2 |
3 |
0 |
1 |
Так перед переменной х2 в целевой функции стоит коэффициент с2 = -2. Следовательно, необходимо произвести смену одной базисной переменной. Но, поскольку в столбце «х2» (Табл. 2) присутствует только один положительный коэффициент а12 = 2, стоящий в первой стоке таблицы, то нет необходимости в расчете разрешающих коэффициентов. Можно сразу сделать вывод, что базисную переменную х4 необходимо заменить на переменную х2. Так как теперь х2 является базисной переменной, то необходимо путем эквивалентных преобразований получить а12=1, с2=0 и а22=0.
В данном случае, чтобы получить:
с1=0, необходимо сложить вторую и третью строку таблицы;
а12=1, необходимо разделить вторую строку таблицы на 2;
а22=0, необходимо прибавить к элементам второй строки соответствующие элементы первой, полученные после умножения на 2;
Внесем все преобразования в таблицу 3.
Таблица 3
Базис |
Свободные члены |
Переменные |
Разрешающий коэффициент | ||||
х1 |
х2 |
х3 |
х4 |
х5 |
| ||
х2 |
1/2 |
0 |
1 |
1 |
1/2 |
-1/2 |
|
х1 |
3/2 |
1 |
0 |
3 |
1/2 |
1/2 |
|
f(x) |
2 |
0 |
0 |
5 |
1 |
0 |
|
По таблице 3 составим новое базисное решение, приравнивая базисные переменные к свободным членам, небазисные – к нулю: (х1,х2,х3,х4,х5) = (3/2,1/2,0,0,0). Данное базисное решение является оптимальным (по теореме 1*), так как все коэффициенты целевой функции есть неотрицательные числа. Следовательно, найденный базис будет доставлять максимальное значение целевой функции: f (x) = х1 + х2 – х3 . Таким образом, max (f (x)) = 2 + 5х3 + х4 = 2. Поставленная З.Л.П решена.