- •Лекция 1 Общие понятия математического моделирования процессов в машиностроении
- •Требования, предъявляемые к математическим моделям
- •Лекция 3 Основы теории множеств и теории графов
- •Лекция 4 Общая постановка и виды задач принятия решений. Математическая постановка и разрешимость задач оптимизации
- •Основы теории оптимизации
- •Математическая постановка задачи оптимизации
- •Локальный и глобальный минимум (максимум) целевой функции
- •Разрешимость задач оптимизации
- •Лекция 5 Графо – аналитический метод решения задач математического программирования
- •Графо-аналитический метод решения задач оптимизации
- •Лекция 6 Методы решения задач линейного программирования
- •Графо-аналитический метод решения задач линейного программирования
- •Симплекс метод решения задач линейного программирования
- •Симплекс – метод. Этапы поиска решений
Симплекс – метод. Этапы поиска решений
Для использования симплекс - метода, задачу линейного программирования необходимо привести к стандартному виду: найти , доставляющие минимум целевой функции
при условиях:
…
Здесь
значок
означает
«все».
C
формальной точки зрения нет необходимости
строго различать задачи поиска минимума
или максимума целевой функции. Одна
задача сводится к другой изменением
знака
на
противоположный. Все
должны
быть положительными, в противном случае
соответствующее уравнение умножается
на (-1).
Рассмотрим этапы поиска решений симплекс – методом на следующем примере.
Пример. Модель раскроя листовых материалов. Выбор наилучшего варианта.
Имеется некоторый материал в виде стандартных листов, которые необходимо раскроить для получения не менее 80шт. деталей типа 1 и не менее 40шт. деталей типа 2. Известны четыре способа раскроя листа, каждый из которых дает результат, представленный в таблице 6.1.
Таблица 6.1 Исходные данные для решения задачи
Способы раскроя листа |
1 |
2 |
3 |
4 |
Результат |
3 детали типа 1; 1 деталь типа 2 |
2 детали типа 1; 6 деталей типа 2 |
1 деталь типа 1; 9 деталей типа 2 |
0 деталей типа 1; 13 деталей типа 2 |
Требуется так провести операцию изготовления деталей, чтобы общий расход листов оказался минимальным.
Пусть
–
количество листов, раскраиваемых j – м
способом (
).
Тогда целевая функция, будет иметь
следующий вид:
Здесь – это общий суммарный расход листов.
Формулировка
задачи. Найти
,
доставляющие минимум приведенной выше
целевой функции при следующих ограничениях:
|
(6.10) |
|
(6.11) |
|
(6.12) |
Ограничение (6.10) обеспечивает заданное число деталей типа 1, ограничение (6.11) – заданное число деталей типа 2. Ограничение (6.12) необходимо, т.к. количество листов не может быть отрицательным.
Для того, чтобы для решения данной задачи применить симплекс метод, необходимо систему ( 6.10) – (6.12) привести к стандартному виду:
|
(6.13) |
|
(6.14) |
|
(6.15) |
Очевидно
следующее решение системы (6.13) – (6.15):
.
Это
решение называется базисным.
Оно неприемлемо, т.к.
и
отрицательны.
Следовательно, систему (6.13) – (6.15)
необходимо преобразовать и решать ее
в два этапа.
1 этап. Вспомогательный.
Он выполняется для нахождения приемлемого (допустимого) и оптимального для данного этапа базисного решения, т.е. по существу координат одной крайней точки области допустимых решений с целью направленного перебора на втором этапе остальных крайних точек для выбора оптимального решения для задачи в целом.
Преобразуем систему ( 6.13) – (6.15) в систему ( 6.16) – (6.18):
|
(6.16) |
|
(6.17) |
|
(6.18) |
Ставим
вспомогательную задачу. Необходимо
найти
,
доставляющие минимум следующей целевой
функции:
.
Здесь легко находятся исходное допустимое
базисное решение:
.
После этого начинается реализация симплекс – алгоритма для решения вспомогательной задачи. Работа при этом осуществляется c системой (6.16) – (6.18).
Выражаются базисные переменные
и
через
свободные переменные
.
Определяется целевая функция:
.
Анализируется выражение для целевой функции, в нем присутствуют отрицательные коэффициенты, значит текущее базисное решение не оптимально.
Теорема.
Допустимое базисное решение является
оптимальным, если коэффициенты
при
свободных переменных
в
выражении для целевой функции
неотрицательны.
Для
текущего базисного решения
,
т.к.
.
В выражении для целевой функции находится переменная, имеющая наибольший по модулю отрицательный коэффициент, она вводится в базис для получения нового базисного решения.
Для
этого анализируются зависимости текущих
базисных переменных (здесь
и
),
от вводимой в базис переменной (здесь
,
т.к. она имеет коэффициент «-13») при
условии, что свободные переменные равны
нулю (
):
.
Очевидно, что
можно
увеличить самое большее до 40/13, при этом
,
т.е. получим новое базисное решение:
.
Снова выполняем симплекс алгоритм:
Опять выражаем базисные переменные через свободные:
.Минимум
не
достигнут (текущее базисное решение
не оптимально), т.к. выражение для целевой
функции содержит переменные с
отрицательными коэффициентами.
,
т.к
,
т.е. значение целевой функции уменьшилось
по сравнению с предыдущим.Вводим в базис , т.к. эта переменная в выражении для целевой функции имеет коэффициент «-3».
,
т.к.
.
,
т.к.
(см.
уравнение (6.17), принимая во внимание,
что
).
Здесь
,т.е.
можно
увеличить до 80/3 (до 40 нельзя, т.к. при
этом
).
Следовательно,
,
т.е. получили новое базисное решение:
.
Это
базисное решение на данном этапе является
оптимальным (выражение для целевой
функции
не
содержит отрицательных коэффициентов).
При этом
.
Целевую
функцию уменьшить нельзя, т.к.
.
Переменные
,
т.е. они перешли в разряд свободных
переменных и могут быть отброшены.
Окончательное базисное решение
является
оптимальным для вспомогательного этапа
1 и допустимым для системы (6.13) – (6.15).
2
этап.
Работаем с системой (6.13) – (6.15). Имея
допустимое базисное решение
,
полученное в результате минимизации
на
этапе 1, оценим его для исходной задачи
с целевой функцией
.
Тем самым начинается повторное
использование симплекс - алгоритма, но
уже для исходной задачи.
С помощью системы (6.13) – (6.15) получим:
(приводится
без вывода).Данное базисное решение не оптимально, т.к. переменная имеет отрицательный коэффициент.
. Вводим в базис переменную x2.
;
(выражение
для
приводится
без вывода).
,
можно
увеличить самое большее до 40/16=5/2, при
этом
т.е.
получили новое базисное решение:
.
Снова выполняем симплекс – алгоритм:
1,2.
Выражаем
через
свободные переменные
.
(приводится
без вывода).
3.
В выражении для целевой функции все
коэффициенты при переменных положительны.
Т.е. текущее базисное решение является
оптимальным, значит
.
Т.е. наилучший вариант технологии состоит
в применении только первого и второго
способов раскроя листов, причем первым
способом необходимо раскроить 25 листов,
а вторым 2,5 листа, тогда наименьший общий
суммарный расход листов составит 27,5
шт. Количество получаемых деталей при
этом будет: деталь типа 1 –
,
деталь типа 2 –
