- •Содержание
- •Раздел 1. Рабочая программа дисциплины
- •График учебного процесса
- •Самостоятельная работа
- •Раздел 2. Краткое содержание основных тем
- •1. Линейное и дискретное программирование
- •1.1. Модели линейного программирования
- •Геометрический метод решения задачи линейного программирования
- •Симплексный метод решения злп
- •Двойственные задачи
- •1. 2. Модели целочисленного линейного программирования
- •Методы отсечения
- •Метод ветвей и границ
- •1. 3. Транспортная задача Классическая транспортная задача
- •Симплексный метод решения задач транспортного типа (метод потенциалов)
- •2. Модели динамического программирования Динамическое программирование
- •3. Элементы теории игр Платежная матрица
- •Игры двух участников с нулевой суммой
- •Решение игр двух участников с нулевой суммой в смешанных стратегиях
- •Игры двух участников с ненулевой суммой
- •4. Элементы теории массового обслуживания Марковские процессы
- •Уравнения Колмогорова. Предельные вероятности состояний
- •Смо с отказами
- •Смо с ожиданием (очередью)
- •5. Сети Эйлеровы и гамильтоновы графы. Деревья
- •Минимальное порождающее дерево
- •Кратчайший маршрут
- •Максимальный поток
- •Сетевой график. Критический путь
- •6. Модель Леонтьева многоотраслевой экономики (дополнительно)
- •Раздел 3. Рекомендуемая литература
- •Раздел 4. Типовые расчеты
- •Раздел 5. Методические указания по выполнению типовых расчетов
- •1. В целях единообразного оформления типовых расчетов в орагс принят следующий титульный лист:
- •2. Вместо а подставьте третью справа цифру в номере зачетной книжки. Если по плану один типовой расчет, то произвольно выбираются 8 задач из предложенных 14.
- •Раздел 6. Практические и лабораторные работы
- •Раздел 7. Контроль знаний студентов
- •Отметка "незачтено"
Метод ветвей и границ
Его суть заключается в упорядоченном переборе вариантов и рассмотрении лишь тех из них, которые оказываются по определенным признакам перспективными, и отбрасывании бесперспективных вариантов.
Метод ветвей и границ состоит в следующем: множество допустимых решений (планов) некоторым способом разбивается на подмножества, каждое из которых этим же способом снова разбивается на подмножества. Процесс продолжается до тех пор, пока не получено оптимальное целочисленное решение исходной задачи.
Пусть ЗЛП решена
симплексным методом и известны нижняя
и верхняя границы для каждой целочисленной
переменной xj:vjxjwj
(j=1, 2, ..., n), а также нижняя граница
линейной функции Z0, т.е. при любом
плане Х Z(X) Z0.
Предположим для определенности, что
только первая компонента
оптимального плана Х* ЗЛП не удовлетворяет
условию целочисленности. Тогда из
области допустимых решений задачи
исключается область: [
]<
<[
]+1,
где [
]-
целая часть числа
.
В результате из ЗЛП (ЗЛП1) формируют две
задачи: 2 и 3, отличающиеся друг от друга
тем, что в задаче 2 кроме ограничений
(2) задачи 1 добавлено ограничение
[
]+1
w1.
Получим список из двух задач: 2 и 3.
Решаем одну из них (любом порядке). В зависимости от полученного решения список задач расширяется, либо уменьшается.
Если в результате решения одной из задач 2 или 3 получен не целочисленный оптимальный план, для которого Z(X*)Z0, то данная задача исключается из списка. Если Z(X*)>Z0, то из данной задачи формируются новые две задачи. Если полученной решение Х* удовлетворяет условию целочисленности и Z(X*)>Z0, то значение Z0 исправляется и за величину Z0 принимается оптимум линейной функции полученного оптимального целочисленного плана.
Процесс продолжается до тех пор, пока список задач не будет исчерпан, т.е. задачи не будут решены.
Проиллюстрируем метод ветвей и границ на примере.
Задача. Решить задачу Z = 3x1 + x2 max при ограничениях:
х1, х2 – целые числа.
Решение. За нижнюю границу линейной функции примем, например, ее значение в точке (0,0), т.е. Z0= Z(0; 0) = 0.
I этап. Решая
задачу симплексным методом, получим
Zmax=13 при
=
(4,5; 0; 0; 1,5; 0,5; 4); так как первая компонента
дробная, то из области решения исключается
полоса, содержащая дробное оптимальное
значение
,
т.е. 4<x1<5. Поэтому задача 1
разбивается на две задачи 2 и 3:
Задача 2 |
Задача 3 |
Z = 3x1 + x2 max при ограничениях:
х1, х2 – целые числа. |
Z = 3x1 + x2 max при ограничениях:
х1, х2 – целые числа. |
Список задач: 2 и 3. Нижняя граница линейной функции не изменилась: Z0=0.
II этап. Решаем (по выбору) одну из задач списка, например задачу 3 симплексным методом.
Получим, что условия задачи 3 противоречивы.
III этап. Решаем
задачу 2 симплексным методом. Получим
при
.
Хотя
,
по-прежнему сохраняется Z0=0, ибо
план Х3 нецелочисленный. Так как
-
дробное число, из области решений
исключаем полосу 0<x2<1 и
задачу 2 разбиваем на две задачи 4 и 5.
Задача 4 |
Задача 5 |
Z = 3x1 + x2 max при ограничениях:
х1, х2 – целые числа. |
Z = 3x1 + x2 max при ограничениях:
х1, х2 – целые числа. |
Список задач: 4 и 5. Значение Z0=0.
IV этап. Решаем
задачу 4 симплексным методом. Получим
Zmax = 12 при
=
(4; 0; 2; 2; 0; 0). Задачу исключаем из списка,
но при этом меняем Z0; Z0=
Z(
)=12,
ибо план
целочисленный.
V этап. Решаем
задачу 5 симплексным методом. Получим
Zmax = 12,25 при
=(3,75;
1; 0; 0,25; 0,25; 0; 3). Z0 не меняется, т.е.
Z0=12, ибо план
нецелочисленный. Так как
- дробное, из области решений исключаем
полосу 3<x1<4 и задача 5
разбивается на две задачи: 6 и 7.
Задача 6 |
Задача 7 |
Z = 3x1 + x2 max при ограничениях:
х1, х2 – целые числа. |
Z = 3x1 + x2 max при ограничениях:
х1, х2 – целые числа. |
Список задач: 6 и 7. Значение Z0=12.
VI этап. Решаем одну из задач списка, например задачу 7, симплексным методом.
Получим, что условия задачи 7 противоречивы.
VII этап. Решаем
задачу 6 симплексным методом. Получим
Zmax = 10,5 при
=(3;
1,5; 1,5; 0; 0; 0,5; 2,5). Так как Z(
)=10,5
< Z0=12, то задача исключается из
списка.
Итак, список задач исчерпан и оптимальным целочисленным решением исходной задачи будет Х* = = (4; 0; 2; 2; 0; 0), а оптимум линейной функции Zmax =12.
