![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Каждая из которых не является допустимой, т.е. попытка найти решение ЗЦЛП путем округления соответствующего решения ЗЛП является несостоятельной.
Существует принципиальная возможность свести решение задачи (5.1)-(5.4) к нахождению оптимального плана некоторой задачи Линейного программирования (без условия целочисленности переменных). Основная трудность в использовании этой возможности состоит в том, что в вычислительном отношении эта проблема столь же сложна, как и исходная задача поиска оптимального целочисленного решения. Однако эта идея привела к созданию нескольких алгоритмов решения ЗЦЛП, носящих название " методы отсечения". 5.2.Метод ветвей и границ решения целочисленных задач линейного программирования (ЦЗЛП) Задачей целочисленного линейного программирования (ЗЦЛП) называют следующую: Найти вектор
и удовлетворяющий условиям:
При p = n (p < n) задача (5.9)-(5.12)- называется полностью (частично) целочисленной задачей линейного программирования. Для решения ЗЦЛП обычно применяются методы типа отсечений, например, метод Гомори и методы типа возврата - метод ветвей и границ. Метод ветвей и границ применим для решения как полностью, так и частично целочисленных задач. Пусть, для каждой целочисленной переменной можно указать верхнюю и нижнюю границы, в пределах которых безусловно содержатся ее оптимальные значения, то есть
которые являются функциональными ограничениями. В начале любой S -й итерации метода ветвей и границ необходимо иметь: 1) основной список (ОС) задач линейного программирования, каждая из которых должна быть решена в последующих итерациях (на первой итерации список содержит одну ЗЛП - ЗI (5.9-5.11) и (5.13). нижнюю границу оптимального значения линейной формы задачи (5.9-5.11) и (5.13) - Алгоритм S -й итерации метода ветвей и границ. - Пусть в результате S итераций метода получили список из N задач: 1, 2,..., Z, …N и имеем - Шаг 1. Выбираем из списка ЗЛП одну задачу для решения, задачу Z - Шаг 2. Если задача Z имеет решение, то переходим к шагу 3. В противном случае - исключаем задачу Z из списка и, полагая - Шаг 3. Если - Шаг 4. Если не все компоненты вектора - Шаг 5. Задачу Z исключаем из списка, включая в него две новые задачи линейного программирования - задачу (Z+1) и задачу (Z+2). Далее, полагая
………………
……………….
Задача Z+2:
……………… ……………….. Процесс решения продолжаем до тех пор, пока не будут решены все задачи линейного программирования из списка. Тогда решением задачи (5.9)-(5.12) и (5.13) будет вектор Пример 5.4. Решить ЗЦЛП.
Основной список содержит ЗI – (1), (2), (4), (5). Положим Итерация 1. Шаг 1. Решаем задачу (1), (2), (4), (5). Ее решением будет точка Шаг 2. Так как ЗI имеет решение, то переходим к шагу 3. Шаг 3. Так как Шаг 4. Так как обе компоненты вектора Шаг 5. ЗI исключаем из ОС и включаем в него 2 новые задачи ЗII и ЗIII. Пусть
Далее полагая Итерация 2. ОС содержит ЗII и ЗIII, Шаг1. Выбираем из ОС ЗII и решаем ее. Ее решением будет
Шаг 2. Т.к. ЗII имеет решение, то переходим к шагу 3. Шаг 3. Т.к. Шаг 4. Т.к. Шаг 5. ЗII выбрасываем из ОС и включаем в него 2 новые задачи ЗIV и ЗV. Т.к. [8/3]=2, то. Следовательно, ЗIV и ЗV будут иметь вид:
Далее полагая Итерация 3. ОС содержит ЗIII, ЗIV и ЗV, Шаг 1. Выбираем из ОС ЗIII и решаем ее. Ее решением будет Шаг 2. Т.к. ЗIII имеет решение, то переходим к шагу 3. Шаг 3. Т.к. Шаг 4. Т.к. Шаг 5. ЗIII исключаем из ОС и включаем в него 2 новые задачи ЗVI и ЗVII. Т.к. [20/9]=2, то, следовательно, ЗVI и ЗVII будут иметь вид:
Далее полагая Итерация 4. ОС содержит ЗIV и ЗV, ЗVI и ЗVII Шаг 1. Выбираем из ОС ЗIV и решаем ее. Ее решением будет Шаг 2. Т.к. ЗIV имеет решение, то переходим к шагу 3. Шаг 3. Т.к. Шаг 4. Т.к. обе компоненты к шагу 1. Итерация 5. ОС содержит ЗV, ЗVI и ЗVII Шаг 1. Решаем ЗV. Ее решением будет Шаг 2. Т.к. ЗV имеет решение, то переходим к шагу 3. Шаг 3. Т.к. Шаг 4. Т.к. обе компоненты Итерация 6. ОС содержит ЗVI и ЗVII Шаг 1. Выбираем из ОС ЗVI и решаем ее. Ее решением будет
Шаг 3. Т.к. Шаг 4. Т.к. Шаг 5. ЗVI выбрасываем из ОС и включаем в него 2 новые задачи ЗVIII и ЗIX. Т.к. [27/5]=5, то. Следовательно, ЗVIII и ЗIX будут иметь вид:
Далее полагая Итерация 7. ОС содержит ЗVII, ЗVIII и ЗIX Шаг 1. Выбираем из ОС ЗVII и решаем ее. Она не имеет решения, т.к. множество ее планов пусто. Шаг 2. Т.к. ЗVII не имеет решения, то исключаем её из ОС и переходим к шагу 1, полагая что Итерация 8. ОС содержит, ЗVIII и ЗIX Шаг1. Выбираем из ОС ЗVIII и решаем ее. Ее решением будет Шаг 2. Т.к. ЗVIII имеет решение, то переходим к шагу 3. Шаг 3. Т.к. Шаг 4. Т.к. обе компоненты Итерация 9. ОС содержит ЗIX Шаг 1. Выбираем из ОС ЗIX и решаем ее. Ее решением будет Шаг 2. Т.к. ЗIX имеет решение, то переходим к шагу 3. Шаг 3. Т.к. Шаг 4. Т.к. Шаг 5. ЗIX исключаем из ОС и включаем в него 2 новые задачи ЗX и ЗXI. Т.к. [15/9]=1, то. Следовательно, ЗX и ЗXI будут иметь вид:
Далее полагая Итерация 10. ОС содержит ЗX и ЗXI Шаг 1. Выбираем из ОС ЗX и решаем ее. Ее решением будет Шаг 2. Т.к. ЗX имеет решение, то переходим к шагу 3. Шаг 3. Т.к. Шаг 4. Т.к. Шаг 5. ЗX исключаем из ОС и включаем в него 2 новые задачи ЗXII и ЗXIII. Т.к. [36/5]=7, то. Следовательно, ЗXII и ЗXIII будут иметь вид:
Далее полагая Итерация 11. ОС содержит ЗXI, ЗXII и ЗXIII Шаг1. Выбираем из ОС ЗXI и решаем ее. Она не имеет решения, т.к. множество ее планов пусто. Шаг 2. Т.к. ЗXI не имеет решения, то исключаем её из ОС и переходим к шагу 1, полагая что Итерация 12. ОС содержит ЗXII и ЗXIII Шаг 1. Выбираем из ОС ЗXII и решаем ее. Ее решением будет
Шаг 2. Т.к. ЗXII имеет решение, то переходим к шагу 3. Шаг 3. Т.к. Шаг 4. Т.к. обе компоненты Итерация 13. ОС содержит ЗXIII Шаг 1.Выбираем из ОС ЗXIII и решаем ее. Ее решением будет
Шаг 2. Т.к. ЗXIII имеет решение, то переходим к шагу 3. Шаг 3. Т.к. Шаг 4. Т.к. Шаг 5. ЗXIII исключаем из ОС и включаем в него 2 новые задачи ЗXIV и ЗXV. Т.к. [5/9]=0, следовательно, ЗXIV и ЗXV будут иметь вид:
Далее полагая Итерация 14. ОС содержит ЗXIV и ЗXV Шаг 1. Выбираем из ОС ЗXIV и решаем ее. Ее решением будет Шаг 2. Т.к. ЗXIV имеет решение, то переходим к шагу 3. Шаг 3. Т.к. Шаг 4. Т.к. обе компоненты Итерация 15. ОС содержит ЗXV Шаг1. Выбираем из ОС ЗXV и решаем ее. Она не имеет решения, т.к. множество ее планов пусто. Шаг 2. Т.к. ЗXV не имеет решения, то переходим к шагу 1, полагая что Итерация 16. Шаг1. Т.к. ОС пуст, то задача решена. Задача (1)-(5) имеет 4 оптимальных плана:
|