Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мат мод консп сум-2012.doc
Скачиваний:
175
Добавлен:
25.08.2019
Размер:
4.48 Mб
Скачать

Задача коммивояжера.

Пример простой комбинаторной задачи – задача о назначениях. Здесь требование целочисленности выполняется автоматически, поскольку задача о назначениях представляет собой частный случай транспортной задачи (в котором m = n, ai = bj = 1). Более общий случай представляет собой задача коммивояжера.

Имеется n+1 городов; задана матрица С = расстояний между этими городами. Выезжая из исходного города (с номером 0), коммивояжер должен побывать во всех остальных городах по одному разу и вернуться в город 0. В каком порядке объезжать следует города, чтобы суммарное расстояние было минимальным?

Это напоминает задачу о назначениях (минимизация суммарного расстояния), но уже не по всем матрицам перестановок, что усложняет решение.

Параметры задачи

xij = 1, если коммивояжер из города i переезжает в город j,

xij = 0 в противном случае,

где i, j = 0, 1, 2, . . ., n.

Задача минимизации

(суммарное расстояние минимальное)

при условиях

(коммивояжер выезжает из каждого города, кроме начального, один раз)

(коммивояжер въезжает в каждый город, кроме начального, один раз)

ui – uj + nхij ≤ n - 1, , i ≠ j.

Здесь переменные ui принимают целые неотрицательные значения. Последнее условие вводится для того, чтобы путь коммивояжера не распался на несколько не связанных между собой подциклов (задача о назначениях) – любой путь состоит из одного цикла.

Задача о ранце.

Имеется n предметов, вес предмета jaj, его ценность – сj. Требуется загрузить ранец набором предметов с общим весом А с максимальной суммарной ценностью.

Введем переменные xj, , имеющие следующий смысл

xj = 1, если j-й предмет подлежит загрузке,

xj = 0 в противном случае.

Задача о ранце сводится к максимизации

с1х1 + с2х2 + . . . . + сnxn → max

при условиях

xj = 1,

xj = 0

а1х1 + а2х2 + . . . . + аnxnА.

Пример.

Оптимальная загрузка бомбардировщиков различных типов бомбовым запасом с целью максимизации суммарного эффекта данной системы боевых операций.

Обозначим через i = 1, 2, . . ., m типы бомб, через j = 1, 2, . . ., n – типы бомбардировщиков, через к = 1, 2, . . ., р – боевые операции.

Введем величины

bi- имеющийся запас бомб типа i,

aik- эффективность бомбы типа i на операции к,

nj- планируемое число вылетов бомбардировщика j,

wk- "вес", приписываемый командованием операции к.

Искомой величиной здесь является

xijk- количество бомб типа I, подлежащее загрузке в бомбардировщик j при его использовании в операции к.

Задача сводится к минимизации суммарного эффекта

при ограничениях

, i = 1, 2,. . ., m

xijk ≥ 0, xijk – целые числа.

Общая задача теории расписаний.

Обычно это задача календарного планирования, и ее варианты являются схемами основных задач по организации производства.

Имеется n станков и m деталей, каждая из которых должна пройти обработку на всех станках в определенной последовательности. Задано аij – время, необходимое для обработки j-ой детали на i-ом станке. Требуется найти такой порядок обработки деталей, который минимизировал бы общее время выполнения всех работ (длину производственного цикла). Несмотря на большое прикладное значение, пока получено решение только для случая двух станков. В этом случае, поскольку операции на первом станке можно выполнить без задержек, оптимизация заключается в минимизации суммарного времени простоя второго станка.