Решение задачи методом ветвей и границ 1 страница
Согласно методу для каждой целочисленной переменной возможно задать верхнюю и нижнюю границу, в пределах которых содержится ее оптимальное значение. В данном случае нижняя граница равна нулю. На практике верхний предел не вводят в виде дополнительного ограничения, а учитывают его в процессе решения не явно, то есть к исходным ограничения на практике добавляется ограничение, которое определяется самим методом. Решаем исходную задачу - Задачу №1 (п.1.3) до получения оптимального решения методом линейного программирования. Воспользуемся итоговой таблицей (Таблица 1.13). Эта таблица и будет исходной для нашей задачи (Таблица 2.1.6). Таблица 2.1.6
Полученное решение не удовлетворяет требованиям целочисленности. Поэтому составляем относительно любой нецелочисленной переменной две новых порожденных задачи (2 и 3). Выберем переменную x1. ПримемY1 = 0. Новые ограничения строятся по формуле: 1) х ≤ [х*] 2) x ≥ [х*] + 1 где [х*] – целая часть числа х* (нецелочисленная переменная) Задача №2: Добавляется ограничение x1≥5. Тогда задача примет вид:
При ограничениях: x1≥5 и целые. Выразим допустимый базис в форме Таккера: x5=-3-(-x1-2x2+0x3+0x4) x6=-9-(-2x1+0x2+0x3+2x4) x7=-5-(-x1-x2+x3+2x4) x8=-2-(-x1+0x2+2x3-x4) x9=-5-(-x1+0x2+0x3+0x4) Целевая функция в форме Таккера Y=0-(4x1+x2-3x3+2x4)
Таблица 2.1.7
Используем двойственный симплекс-метод. Вводим в базис x1, выводим из базиса x6 Таблица 2.1.8
Используем двойственный симплекс-метод. Вводим в базис x2, выводим из базиса x7 Таблица 2.1.9
Используем двойственный симплекс-метод. Вводим в базис x6, выводим из базиса x9 Таблица 2.1.10
Используем обычный симплекс-метод. Вводим в базис x3, выводим из базиса x8 Таблица 2.1.11
Решение данной задачи: Y=-17; X=(5;3/2;3/2;0;5;1;0;0;0)
Решение данной задачи не удовлетворяет требованиям целочисленности, поэтому необходимо простроить две порождённые задачи. Для образования порожденных задач выберем переменную x2 Задача №4: Добавляется ограничение x2≥2. Выразим допустимый базис в форме Таккера: x5=-3-(-x1-2x2+0x3+0x4) x6=-9-(-2x1+0x2+0x3+2x4) x7=-5-(-x1-x2+x3+2x4) x8=-2-(-x1+0x2+2x3-x4) x9=-5-(-x1+0x2+0x3+0x4) x10=-2-(0x1-x2+0x3+0x4) Целевая функция в форме Таккера Y=0-(4x1+x2-3x3+2x4) Таблица 2.1.12
Используем двойственный симплекс-метод. Вводим в базис x1, выводим из базиса x6 Таблица 2.1.13
Используем двойственный симплекс-метод. Вводим в базис x2, выводим из базиса x10 Таблица 2.1.14
Используем двойственный симплекс-метод. Вводим в базис x6, выводим из базиса x9 Таблица 2.1.15
Используем обычный симплекс-метод. Вводим в базис x3, выводим из базиса x8 Таблица 2.1.16
Решение данной задачи: Y=-35/2; X=(5;2;3/2;0;6;1;1/2;0;0;0)
Решение данной задачи не удовлетворяет требованиям целочисленности, поэтому необходимо простроить две порождённые задачи.
Для образования порожденных задач выберем переменную x3 Задача №6: Добавляется ограничение x3≥2 Выразим допустимый базис в форме Таккера x5=-3-(-x1-2x2+0x3+0x4) x6=-9-(-2x1+0x2+0x3+2x4) x7=-5-(-x1-x2+x3+2x4) x8=-2-(-x1+0x2+2x3-x4) x9=-5-(-x1+0x2+0x3+0x4) x10=-2-(0x1-x2+0x3+0x4) x11=-2-(0x1+0x2-x3+0x4) Целевая функция в форме Таккера Y=0-(4x1+x2-3x3+2x4) Таблица 2.1.17
Используем двойственный симплекс-метод. Вводим в базис x1, выводим из базиса x6 Таблица 2.1.18
Используем двойственный симплекс-метод. Вводим в базис x2, выводим из базиса x10 Таблица 2.1.19
Используем двойственный симплекс-метод. Вводим в базис x3, выводим из базиса x11 Таблица 2.1.20
Используем двойственный симплекс-метод. Вводим в базис x4, выводим из базиса x8
|