
- •Введение
- •Глава 1. Теория вероятностей
- •1.1. Испытания и события
- •1.2. Классическое определение вероятности события
- •Основные свойства вероятности
- •1.3. Статистическое определение вероятности события
- •1.4. Понятия суммы и произведения событий
- •1.5.Теорема сложения вероятностей
- •1.6.Теорема умножения вероятностей
- •1.7. Формула полной вероятности. Формула Байеса
- •1.8. Повторные независимые испытания
- •1.8.1. Формула Бернулли
- •1.8.2. Локальная теорема Лапласа
- •1.8.3. Интегральная теорема Лапласа
- •1.9. Случайные величины
- •1.9.1. Дискретная случайная величина
- •1.9.2. Непрерывная случайная величина
- •1.10. Законы распределения случайных величин
- •1.10.1. Биномиальный закон распределения
- •1.10.2. Закон распределения Пуассона
- •1.10.3. Нормальный закон распределения (закон Гаусса)
- •1.11. Элементы корреляционного и регрессионного анализа
- •Расчетная таблица
- •Глава 2. Линейное программирование
- •2.1 Введение
- •2.1.1. Элементы линейной алгебры
- •Матрицы и действия над ними
- •2.1.2. Основные понятия линейного программирования
- •2.2. Геометрическое решение задач линейного программирования
- •Основные шаги графического метода
- •2.3. Симплексный метод
- •2.3.1. Решение производственной задачи симплексным методом
- •2.4 Транспортная задача
- •2.4.1. Математическая модель и анализ транспортной задачи
- •2.4.2. Составление начального плана перевозок
- •2. Метод наименьших стоимостей.
- •2.4.3. Распределительный метод решения транспортной задачи
- •Алгоритм распределительного метода решения транспортной задачи
- •Решение транспортной задачи распределительным методом
- •2.4.4. Метод потенциалов
- •Алгоритм решения транспортной задачи методом потенциалов
- •Решение транспортной задачи методом потенциалов
- •2.4.5. Особенности решения транспортной задачи с невыполненным балансом
- •Литература
- •Значения функции Гаусса
- •Нормальный закон распределения
- •Оглавление
- •Глава 1. Теория вероятностей 4
- •Глава 2. Линейное программирование 29
2.3. Симплексный метод
Алгебраический метод решения (симплекс-метод) разработан американским математиком Д. Данцигом и опубликован в 1951 г. В его основе лежит использование элементарных преобразований матрицы ограничений канонической задачи линейного программирования (метод Жордана-Гаусса).
Переход
от общей задачи линейного программирования
(2.1), (2.2), (2.4) к задаче в канонической форме
(2.1), (2.3), (2.4), осуществляется с помощью
введения m
неотрицательных
дополнительных
переменных
.
Эти переменные добавляются к каждому
из неравенств системы (2.2), обращая их в
равенства, и входят в функцию цели с
коэффициентами, равными нулю. В этом
случае задача линейного программирования
в канонической форме формулируется
так: требуется найти совокупность
неотрицательных чисел
,
,
(2.5),
которые удовлетворяют системе линейных уравнений:
(2.6)
и
дают экстремум функции цели:
max(min)(2.7)
Правомерность перехода от общей задачи к задаче в канонической форме основывается на теореме: неотрицательное решение системы неравенств (2.2) является решением системы уравнений (2.6). Справедливо и обратное утверждение.
Рассмотрим задачу линейного программирования на нахождение минимума целевой функции.
Справедливы теоремы.
Теорема 1. Если для некоторого фиксированного индекса j выполняется условие Zj - Cj > 0, то можно построить хотя бы один опорный план, для которого значение целевой функции Z будет меньше первоначального, т. е. Z < Z0.
Теорема 2. Если для некоторого опорного плана`x выполняется соотношение Zj - Cj£ 0, то план`x является оптимальным.
Сформулируем алгоритм симплексного метода.
По условию задачи составляется экономико-математическая модель задачи в общем виде:
Z(x1,...xn) = c1x1+...+cnxn max
xj
0,
(
j = 1,….n)
.
Переходят от задачи на максимум к задаче на минимум Z. Для этого целевую функцию умножают на (-1).
-Z(x1,...xn) = -c1x1 -...-cnxn min.
От общей задачи линейного программирования с помощью дополнительных переменных переходят к задаче в канонической форме.
xj 0, ( j = 1,….n+m) .
Запишем систему ограничений в векторной форме:
или
.
Составляется первая симплексная таблица:
Таблица 2.1
Базис |
C |
b |
-C1 |
-C2 |
… |
-Cn |
Cn+1=0 |
… |
Cn+m=0 |
|||||||
a1 |
a2 |
… |
an |
an+1 |
… |
an+m |
||||||||||
an+1 |
Cn+1=0 |
b1 |
a11 |
a12 |
… |
a1n |
1 |
… |
0 |
|||||||
an+2 |
Cn+2=0 |
b2 |
a21 |
a22 |
… |
a2n |
0 |
… |
0 |
|||||||
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
|||||||
an+m |
Cn+m=0 |
bm |
am1 |
am2 |
… |
amn |
0 |
… |
1 |
|||||||
Zj-Cj |
Z0 |
C1 |
C2 |
… |
Cn |
0 |
… |
0 |
Столбец “Базис” – столбец векторов, входящих в базис.
Столбец “С” – столбец коэффициентов, стоящих в целевой функции при векторах базиса.
Строка “Zj-Cj” - называется индексной строкой.
Столбец “b” - столбец ограничений по ресурсам, входящих в базис.
Столбцы a1 … am, …, am+1… an - это коэффициенты, стоящие при неизвестных в системе ограничений.
Заполним индексную строку “Zj-Cj”. Для столбца “b” это значение равно сумме попарных произведений элементов столбца “C” на элементы столбца “b”, т. е.
.
Решение находится в столбце “b”:
`x=(b1, b2 ,…, bm, 0,…, 0); Z = Z0..
Две верхние строки таблицы содержат коэффициенты функции цели и n+m векторов системы ограничений.
4. Просматриваются числа Zj-Сj индексной строки.
Если в задаче требуется найти минимум функции цели, то базисное решение будет минимальным, при условии, что все числа индексной строки неположительные, то есть отрицательные или нули. Если же среди чисел индексной строки есть хотя бы одно положительное, то план не оптимальный и его следует улучшить.
5.
Предположим, что базисное решение не
оптимальное. Из всех положительных
чисел индексной строки выбирается
наибольшее по абсолютной величине, то
есть
.
Индекс j,
которому соответствует такое число
индексной строки, укажет вектор, который
следует ввести в базис. Пусть им будет
.
Столбец, соответствующий этому вектору,
будет направляющим
(ведущим).
6.
Определяем направляющую
(ведущую) строку. Определяется
число
.
С этой целью компоненты базисного
решения делятся на положительные
компоненты ведущего вектора-столбца.
Индекс i,
которому соответствует
,
укажет вектор, который следует исключить
из базиса. Пусть им будет вектор
.
Строка, соответствующая этому вектору,
будет направляющей
(ведущей).
Элемент
xij,
стоящий на пересечении ведущего столбца
и ведущей строки, называется разрешающим
элементом.
После выбора разрешающего элемента симплексная таблица преобразовывается по формулам прямоугольника:
,
(2.8)
aij
-
разрешающий элемент матрицы, aij
0.
После
преобразования получим:
все остальные элементы в столбце с
разрешающим элементом преобразуются
в нули. Тем самым, в соответствующей
системе линейных уравнений неизвестное
xj
останется с коэффициентом, равным
единице в i
- м уравнении, а во всех остальных будет
исключено.
Элементы, участвующие в процедуре преобразования, являются вершинами прямоугольника, причем в одной из них обязательно находится разрешающий элемент aij.
8. После преобразования элементов исходной симплексной таблицы вновь просматривают числа индексной строки. Если эти числа неположительны, то базисное решение оптимальное, и процесс преобразования симплексной таблицы прекращается.
Если же решение не оптимальное, то процесс преобразования симплексной таблицы повторяется. Симплексный метод повторяют до тех пор, пока не будет найдено базисное решение.