
- •«Математическое программирование»
- •Реферат
- •Содержание
- •Введение
- •1 Теория решения задачи
- •2 Построение математической модели
- •3 Численный метод решения задачи лп
- •3.1. Симплекс – метод
- •3.2. Алгоритм симплекс-метода для задачи на минимум
- •3.3. Алгоритм симплекс-метода для задачи на максимум
- •На шаге 2: :
- •На шаге 4: .
- •4 Постановка аналитической модели (Математическая модель).
- •5 Реализация задачи в программном виде
- •Список литературы
3 Численный метод решения задачи лп
3.1. Симплекс – метод
Рассмотрим задачу ЛП в канонической форме:
(5)
……………………… (6)
(77)
Будем предполагать,
что
(иначе, умножим соответствующее уравнение
на -1), уравнения системы (6) линейно
независимы, m<n
и система (6) -(7) совместна.
При сделанных
предположениях можно выбрать m
неизвестных (к примеру
)
таких, чтобы определитель, составленный
из коэффициентов при этих неизвестных,
не обращался в ноль. Тогда задача (5) -
(7) может быть приведена к виду, который
называетсяспециальной
формой задачи ЛП:
…………………………………….. (8)
Одно из допустимых
решений этой задачи можно найти, если
переменные
положить равными нулю. Такое решение
называетсядопустимым
базисным решением.
Оно имеет вид:
Этому решению
соответствует значение целевой функции
.
Переменные
называютбазисными,
набор переменных
называютбазисом,
а переменные
называютнебазисными
или свободными.
Число возможных базисов в задаче
размерности n
с m
ограничениями не превосходит величину
.
Известно, что каждому допустимому базисному решению соответствует вершина многоугольника допустимых решений и оптимальное решение задачи (при условии его существования) достигается в одной из вершин многоугольника. Поэтому оптимальное решение задачи ЛП находится среди допустимых базисных решений. Существуют рациональные способы последовательного перебора допустимых базисных решений, которые позволяют рассматривать не все допустимые базисные решения, а их минимальное число. К таким методам относится симплекс-метод [1,2,3].
3.2. Алгоритм симплекс-метода для задачи на минимум
Шаг 0 Подготовительный этап. Приводим задачу ЛП к специальной форме (15).
Шаг 1 Составляем симплекс-таблицу, соответствующую специальной форме:
|
B |
|
… |
|
… |
|
L |
|
|
… |
|
… |
|
|
|
|
… |
|
… |
|
.. |
.. |
………… | ||||
|
|
|
… |
|
… |
|
.. |
.. |
………… | ||||
|
|
|
… |
|
… |
|
Заметим, что этой
таблице соответствует допустимое
базисное решение
задачи (15). Значение целевой функции на
этом решении
Шаг 2 Проверка на оптимальность.
Если среди элементов
индексной строки симплекс – таблицы
нет ни одного положительного элемента
то
,оптимальное
решение
задачи ЛП найдено:
.Алгоритм
завершает работу.
Шаг 3Проверка на неразрешимость.
Если среди
есть положительный элемент
,
а в соответствующем столбце
нет ни одного положительного элемента
,
то целевая функцияL
является неограниченной снизу на
допустимом множестве. В этом случае
оптимального
решения не существует.
Алгоритм завершает работу.
Шаг 4Выбор ведущего столбцаq.
Среди элементов
выбираем максимальный положительный
элемент
.Этот
столбец объявляемведущим
(разрешающим).
Шаг 5Выбор ведущей строки p.
Среди положительных
элементов столбца
находим элемент
,
для которого выполняется равенство:
Строку p
объявляем ведущей
(разрешающей).
Элемент
объявляем ведущим
(разрешающим).
Шаг 6Преобразование симплексной таблицы.
Составляем новую симплекс-таблицу, в которой:
а) вместо базисной
переменной
записываем
,
вместо небазисной переменной
записываем
;
б)
ведущий элемент заменяем на обратную
величину
;
в)
все элементы ведущего столбца (кроме
)
умножаем на
;
г)
все элементы ведущей строки (кроме
)
умножаем на
;
д) оставшиеся элементы симплексной таблицы преобразуются по следующей схеме «прямоугольника».
Из элемента вычитается произведение трех сомножителей:
первый - соответствующий элемент ведущего столбца;
второй - соответствующий элемент ведущей строки;
третий
- обратная величина ведущего элемента
.
Преобразуемый элемент и соответствующие ему три сомножителя как раз и являются вершинами «прямоугольника».
Шаг 7 Переход к следующей итерации осуществляется возвратом к шагу 2.