Постановка задачи целочисленного программирования
Экстремальная задача, переменные которой принимают лишь целочисленные значения, называется задачей целочисленного программирования.
В математической модели задачи целочисленного программирования как целевая функция, так и функция в системе ограничений могут быть линейными, нелинейными и смешанными. Ограничимся случаем, когда целевая функция и система ограничений задачи являются линейными.
Рассмотрим задачи целочисленного программирования, в которых как целевая функция, так и функции в системе ограничений являются линейными. В связи с этим сформулируем основную задачу линейного программирования, в которой переменные могут принимать только целые значения. В общем виде эту задачу можно записать так: найти максимум функции
m
F=∑ cjxi (1)
j=1
при условиях
m
∑ aij=bj (j=1,m),
i=1 (2)
Xj≥0(j=1, n), (3)
Xj — целые (j= 1, п). (4)
Если найти решение задачи (1) —(4) симплексным методом, то оно может оказаться как целочисленным, так и нет (примером задачи линейного программирования, решение которой всегда является целочисленным, служит транспортная задача). В общем же случае для определения оптимального плана задачи (1) — (4) требуются специальные методы. В настоящее время существует несколько таких методов, из которых наиболее известным является метод Гомори, в основе которого лежит описанный выше симплексный метод.