Алгоритм Гомори

Материал из testwiki
Перейти к навигации Перейти к поиску

Алгоритм Го́мори — алгоритм, который используется для решения полностью целочисленных задач линейного программирования. Алгоритм разработан в 1950-х годах американским математиком Ральфом Гомори.

Порядок действий

1. Используя симплекс-метод, без учёта требования целочисленности, получаем набор равенств:

xi+∑a¯i,jxj=b¯i,

где xi — переменные базиса, а xj — свободные переменные

2. Вводим новое ограничение (k соответствует переменной xk, которая в оптимальном плане имеет максимальную дробную часть):

k=argmaxt(b¯t−⌊b¯t⌋)=argmaxt{bt}

∑(⌊a¯k,j⌋−a¯k,j)xj⩽⌊b¯k⌋−b¯k∼−∑{ak,j}xj⩽−{b¯k}∼∑{ak,j}xj⩾{b¯k}

где ⌊⋅⌋ — пол (см. целая часть)

3. Если при решении с новым ограничением получено целочисленное решение, задача решена. В противном случае необходимо повторить второй этап.

Литература

Шаблон:Книга

Шаблон:Math-stub Шаблон:Методы оптимизации