
- •«Математическое программирование»
- •Содержание
- •Введение
- •2. Построение математической модели
- •3. Численный метод решения задачи лп
- •3.1. Симплекс – метод
- •3.2. Алгоритм симплекс-метода для задачи на минимум
- •3.3. Алгоритм симплекс-метода для задачи на максимум
- •Пример решения задачи о раскрое
- •5. Описание программы
- •Список литературы
3.2. Алгоритм симплекс-метода для задачи на минимум
Шаг 0 Подготовительный этап. Приводим задачу ЛП к специальной форме (15).
Шаг 1 Составляем симплекс-таблицу, соответствующую специальной форме:
|
B |
|
… |
|
… |
|
L |
|
|
… |
|
… |
|
|
|
|
… |
|
… |
|
.. |
.. |
………… | ||||
|
|
|
… |
|
… |
|
.. |
.. |
………… | ||||
|
|
|
… |
|
… |
|
Заметим,
что этой таблице соответствует допустимое
базисное решение
задачи (15). Значение целевой функции на
этом решении
Шаг 2 Проверка на оптимальность.
Если
среди элементов индексной строки
симплекс – таблицы
нет ни одного положительного элемента
то
,оптимальное
решение
задачи ЛП найдено:
.Алгоритм
завершает работу.
Шаг 3 Проверка на неразрешимость.
Если
среди
есть положительный элемент
,
а в соответствующем столбце
нет ни одного положительного элемента
,
то целевая функцияL
является неограниченной снизу на
допустимом множестве. В этом случае
оптимального
решения не существует.
Алгоритм завершает работу.
Шаг 4 Выбор ведущего столбца q.
Среди
элементов
выбираем максимальный положительный
элемент
.Этот
столбец объявляемведущим
(разрешающим).
Шаг 5 Выбор ведущей строки p.
Среди
положительных элементов столбца
находим элемент
,
для которого выполняется равенство:
Строку
p
объявляем ведущей
(разрешающей).
Элемент
объявляем ведущим
(разрешающим).
Шаг 6 Преобразование симплексной таблицы.
Составляем новую симплекс-таблицу, в которой:
а)
вместо базисной переменной
записываем
,
вместо небазисной переменной
записываем
;
б)
ведущий элемент заменяем на обратную
величину
;
в)
все элементы ведущего столбца (кроме
)
умножаем на
;
г)
все элементы ведущей строки (кроме
)
умножаем на
;
д) оставшиеся элементы симплексной таблицы преобразуются по следующей схеме «прямоугольника».
Из элемента вычитается произведение трех сомножителей:
первый - соответствующий элемент ведущего столбца;
второй - соответствующий элемент ведущей строки;
третий
- обратная величина ведущего элемента
.
Преобразуемый элемент и соответствующие ему три сомножителя как раз и являются вершинами «прямоугольника».
Шаг 7 Переход к следующей итерации осуществляется возвратом к шагу 2.
3.3. Алгоритм симплекс-метода для задачи на максимум
Алгоритм
симплекс-метода для задачи на максимум
отличается от алгоритма для задачи на
минимум только знаками индексной строки
коэффициентов в целевой функции
,
а именно:
На
шаге 2:
:
На
шаге 3
.
Целевая функция является неограниченной
сверху на допустимом множестве.
На
шаге 4:
.
Пример решения задачи о раскрое
Нужно найти длину материала для раскройки на изделия с заданной длинной:
Длина 1-го изделия 3,5;
Длина 2-го изделия 4,5;
Длина 3-го изделия 5;
Зададим ассортимент:
Количество 1-го изделия 2шт.
Количество 2-го изделия 1шт.
Количество 3-го изделия 1шт.
Построим таблицу в которой указаны способы раскройки материала для заданного ассортимента и длины изделий.
Таблица 1 – Возможные варианты раскроя материала.
-
Способ раскроя
Раскрой
(Длина матер.=10м)
Разница раскроя
Материал
1
5 : 5
0
X1
2
5 : 3,5
1,5
X2
3
5 : 4,5
0,5
X3
4
4,5 : 4,5
1
X4
5
4,5 : 3,5
2
X5
6
3,5 : 3,5
3
X6
Где xi- количество материала i-го раскроя.
Сразу видно, что для нашей задачи оптимальным будет материал длиной 16,5 метров для заданного ассортимента, так как: 3,5 + 3,5; +4,5; +5 = 16,5, то есть идёт полный расход материала, что оптимизирует нашу задачу.
2x1+x2+x3
x3+2x3+x5
x2+x5+2x6
x2+x5+2x6=2(x3+2x3+x5)
x2+x5+2x6=2(2x1+x2+x3)
из этого следует что разница раскроя, т.е. количество оставшегося материала стремитья к минимуму, а значит число изделий для заданного материала максимально.
1.5x2+0.5x3+x4+2x5+3x6
min
(9)