Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Методы решения задач целочисленного программирования





Методы решения задач Ц. п. (релаксация, отсечения, динамическое программирование, метод ветви и границы)

Графический метод
При наличии в задаче линейного программирования двух переменных, задача может быть решена графическим методом.
В системе координат X10X2 находят область допустимых решений, строят вектор С и линию уровня. перемещая линию уровня по направлению С для задач на максимум, определяют наиболее удаленную от начала координат точку и ее координаты.
В случае, когда координаты этой точки нецелочисленные, в области допустимых решений строят целочисленную решетку и находят на ней такие целые числа x1 и x2, которые удовлетворяют системе ограничений и при которых значение целевой функции наиболее близко к экстремальному нецелочисленному решению. Координаты такой вершины являются целочисленным решением.
Аналогично решается задача на минимум. Целочисленному минимуму целевой функции будет соответствовать координаты вершины целочисленной решетки, лежащей в области допустимых решений, наиболее близкой к началу координат в направлении вектора С.

L = 11x1 + 12x2 →max

 

 

12x1 + 11x2 ≤ 132;

10x1 + 15x2 ≤ 150;

x1 ≥ 0, x2 ≥ 0,

x1, x2 Z.

Метод ветвей и границ
Первоначально находим симплексным методом или методом искусственного базиса оптимальный план задачи без учета целочисленности переменных. Если среди компонент этого плана нет дробных чисел, то тем самым найдено искомое решение данной задачи.
Если среди компонент плана имеются дробные числа, то необходимо осуществить переход к новым планам, пока не будет найдено решение задачи.
Метод ветвей и границ основан на предположении, что новый оптимальный нецелочисленный план дает значение функции, большее, чем всякий последующий план перехода
Пусть переменная xi в плане дробное число. Тогда в оптимальном план ее значение будет, по крайней мере:

  1. либо меньше или равно ближайшему меньшему целому числу Ki*.
  2. либо больше или равно ближайшему большему целому числу Ki*.


Определяя эти числа симплексным методом решения двух задач линейного программирования:
1) F=∑cjxj → max
∑aijxj ≤ bi
xi ≤Ki*
xj≥0, xj – целые, j=1..n

2) F=∑cjxj → max
∑aijxj ≤ bi
xi ≥Ki*+1
xj≥0, xj – целые, j=1..n
Возможны четыре случая при решении этой пары задач:
1) Одна из задач неразрешима, а другая имеет целочисленный оптимальный план. Тогда этот план и значение целевой функции и дают решение исходной задачи.
2) Одна из задач неразрешима, а другая имеет нецелочисленный оптимальный план. Тогда рассматривается вторая задача и в ее оптимальном плане выбирается одна из компонент, значение которой равно дробному числу и строятся две новые задача, аналогично предыдущим.
3) Обе задачи разрешимы. Одна из задач имеет оптимальный целочисленный план, а в оптимальном плане другой задачи есть дробные числа. Тогда вычисляем значение целевой функции от планов и сравниваем их между собой. Если на целочисленном оптимальном план значение целевой функции больше или равно ее значению в плане, среди компонент которого есть дробные числа, то данный целочисленный план является оптимальным для исходной задачи и дает искомое решение.
4)Обе задачи разрешимы, и среди оптимальных планов обеих задач есть дробные числа. Тогда рассматриваем ту из задач, для которой значение целевой функции является наибольшим. Строятся новые две задачи.

Алгоритм метода ветвей и границ

  1. Находится решение задачи линейного программирования без учета целочисленности
  2. Составляется дополнительные ограничения на дробную компоненту плана.
  3. Находится решение двух задач с ограничениями на компоненту.
  4. Строятся в случае необходимости дополнительные ограничения, согласно возможным четырем случаям. Определяется оптимальный целочисленный план, либо устанавливается неразрешимость задачи.

 

L = 11x1 + 12x2 →max

12x1 + 11x2 ≤ 132;

10x1 + 15x2 ≤ 150;

x1 ≥ 0, x2 ≥ 0,

x1, x2 Z

L = 134 ; x1 = 4 ; x2 = 6 .

Начинаем вводить ограничения:

x2 12 x1 + 11*6 = 132; x1 = 5 ; x2 = 6; L = 132 ; Решений нет x2 10 x1 +15*7 = 150 x1=4 ; x2 = 7; L = 133 >132 , значит продолжаем ветвление здесь.  

 

 

x1 10*4 +15x2 = 150; x1 = 4; x2 = 7 ; L=132; Продолжаем ветвление здесь. x1 15х2=100 х1=5; х2=6 ; L=135; Решений нет  


 

х2 Решений нет.   x2 10х1 + 15*8 = 150 х1 = 3; х2 = 8; L=129 Получено целочисленное решение, прекращаем ветвление..

 

Итак, оптимальное целочисленное решение равно 129 при x1 = 3; x2 = 8.

 







ЧТО ПРОИСХОДИТ ВО ВЗРОСЛОЙ ЖИЗНИ? Если вы все еще «неправильно» связаны с матерью, вы избегаете отделения и независимого взрослого существования...

Что способствует осуществлению желаний? Стопроцентная, непоколебимая уверенность в своем...

Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам...

ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.