Постановки задач целочисленного программирования
Пример. Задача целочисленного линейного программирования ( ЦЛП ).
Задачей ЦЛП называют следующую задачу оптимизации:
- целочисленно.
Здесь
,
,
. Элементы матрицы
и векторов
и
предполагаются целыми. На рис.1 приведен пример двумерной задачи ЦЛП.

Рис.1. Четыре целочисленные точки, ближайшие к оптимуму задачи ЛП, недопустимы.
В некоторых приложениях дробные решения недопустимы, например, в приложении, где
- число самолетов, назначаемых на маршрут
. Задачи ЛП, формулируемые как задачи ЦЛП, как правило, по своей природе не допускают подхода, основанного на округлении. Один из эффектов округления - это потеря допустимости решения (см. рис.1).
Пример. (Задача коммивояжера (ЗК)). Коммивояжеру необходимо объехать
городов
, начиная с города 1, и посещая каждый город ровно 1 раз, по самому короткому маршруту.
Обозначим
матрицу расстояний между городами. Сопоставим дуге
переменную
и, положив
, если дуга
содержится в обходе, и
в противном случае, можно сформулировать ЗК следующим образом:

(a)
(4.1.1)
(б)

- целые 
Равенства (а) выражают тот факт, что в каждую вершину входит ровно одна дуга, а равенства (б) - тот факт, что из каждой вершины выходит ровно одна дуга.
В действительности, задача (4.1.1) описывает задачу о назначении и содержит в своем допустимом множестве маршрутов маршруты, состоящие из нескольких замкнутых циклов. Нужны дополнительные ограничения для исключения подобных решений.