Я интересно, что это лучший известный алгоритм, в терминах big- нотации, для решения целочисленных линейного программирования?
Я знаю, что проблема в полном, поэтому я не ожидаю ничего полиномиального. И я знаю, что есть много эвристик и тому подобного, которые используются в практических приложениях, таких как CPLEX, но меня больше интересует формальная сложность точного алгоритма в худшем случае.
Некоторые -полные задачи имеют алгоритмы во времени O ( b n p ( n ) ), где 1 < b < 2, а p - многочлен. Покрытие вершин, независимый набор и 3SAT попадают в эту категорию, но обычные SAT и TSP не (насколько мы знаем).
Могут ли быть сделаны такие заявления о целочисленном программировании или конкретных подэлементах?
Если у кого-нибудь есть справка по связанной проблеме Quantifier Free Presburger Arithmetic, меня это тоже очень заинтересует.
Ответы:
Из того, что я могу сказать путем поиска, определенное исследование выглядит так:
Аардал, Карен, Роберт Вейсмантел и Лоуренс А. Уолси. «Нестандартные подходы к целочисленному программированию». Дискретная прикладная математика 123.1 (2002): 5-74.
В частности, в разделе 2.1 обсуждается целочисленное программирование в ограниченной размерности и представлены алгоритмы, разработанные разными авторами. Действительно, в опросе перечислено много ссылок и обсуждаются некоторые практические реализации.
Для фиксированного числа переменных целочисленное линейное программирование решается за полиномиальное время по алгоритму Ленстры.
источник