- •Лекция № 9
- •3. Задачи и методы дискретного программирования
- •3.1. Постановки задач дискретного программирования
- •3.I.I. Задачи целочисленного программирования
- •3.1.2. Комбинаторные задачи
- •3.1.3. Задачи частично-целочисленного программирования
- •3.2.1. Метод лексикографического неявного перебора (млнп)
3.1.2. Комбинаторные задачи
Этот подкласс задач можно рассматривать как частный случай задач целочисленного программирования. Особенность состоит в том, что оптимизационные переменные этих задач - бинарные, т.е. могут принимать лишь одно из двух значений: 0 и 1.
Задача о назначениях.
Существует целый ряд разновидностей постановок задач о назначениях (ЗН). Рассмотрим наиболее простую из них.
Имеется п машин и п работ. Каждая машина может выполнять только одну работу. С другой стороны, для выполнения каждой работы необходима лишь одна машина. Выполнение i-й машиной j-й работы характеризуется затратами с[i,j]. Необходимо определить такую перестановку машин по работам, чтобы суммарные затраты были минимальными. К задаче такого рода, например, может быть сведена одна из частных постановок задач целераспределения активных средств противовоздушной обороны по средствам нападения с минимизацией времени перехвата всех целей.
Формальная запись задачи имеет следующий вид:
, (3.4)
, (
),
, (
),
x[i,j] = 0 или 1, ( , ),
где x[i,j]- оптимизационная переменная, принимающая следующие значения: 1, если i -я машина назначена на выполнение j -й работы, и 0 - в противном случае;
целевая функция определяет суммарные затраты выполнения всех работ назначенными на них машинами;
ограничения первого типа определяют, что каждая i -я машина может выполнять лишь одну работу;
ограничения второго типа определяют, что для выполнения j -й работы необходима лишь одна машина.
Таким образом, ограничения обоих типов соответствуют условиям реализации перестановки n машин по n работам.
Задача коммивояжера.
Имеется n городов. Задана матрица расстояний между городами (в общем случае необязательно симметричная), каждый элемент которой c[i,j] определяет расстояние, между i-м и j-м городом. Коммивояжеру необходимо составить план обхода всех городов, осуществляя заход в каждый город лишь один раз таким образом, чтобы минимизировать общий пройденный путь. К такого рода задаче может быть сведена задача инспектирования нескольких космических объектов за один полет космического корабля многоразового использования. Формальная запись задачи коммивояжера (ЗК) имеет следующий вид:
, (3.5)
, ( ),
, ( ),
, (для "
S и
),
x[i,j] = 0 или 1, ( , ),
где x[i,j]- оптимизационная переменная, принимающая значения: 1, если дуга (i,j) включена в обход, 0-в противном случае;
целевая функция определяет общую длину планируемого маршрута;
ограничения первого типа - условия выхода из каждого i -го города лишь один раз, а второго типа - входа в каждый j -и город лишь один раз;
ограничения третьего типа - условия того, что обход всех городов будет определять гамильтонов контур на графе, соответствующем рассматриваемой задаче (S и - два непересекающихся подмножества, на которые осуществляется разбиение всего множества городов).
На рис. 3.2 а показан пример решения, не удовлетворяющего только ограничениям третьего типа задачи (3.5), а на рис.3.2 б – пример допустимого ее решения.
Рис.3.2
Задача о размещении взаимосвязанных производств.
Планируется создать m территориально рассредоточенных и, в то же время, взаимосвязанных производств. В ходе производственного процесса между отдельными производствами осуществляются перевозки продукции, определяемые матрицей Р, каждый элемент которой p[k,l] (l,k=1,m) представляет объем перевозимой продукции из k-го в l-е производство. Существует n различных мест, пригодных для размещения каждого отдельного производства (n³m). Расстояния транспортного сообщения между различными пунктами определяются матрицей R, каждый элемент которой r[i,j] (i,j=1,n) определяет расстояние транспортировки груза из i-го пункта в j-ый. Необходимо так разместить производства по различным пунктам, чтобы, поместив в каждый пункт по одному производству, минимизировать суммарный грузооборот в рассматриваемой производственной системе.
Формализованная запись такой задачи имеет следующий вид:
, (3.6)
,одно
производство – в одном месте;
,
в одном месте – не более одного
производства.
где x[k,j] – бинарная оптимизационная переменная, равная 1, если k-е производство размещено в j-ом пункте, и 0 – в противном случае;
- определяет
составляющую планируемого грузооборота
между пунктами i
и j
при размещении k-го
производства в i-ом
пункте, а l-го
– в j-ом
(т.е. когда
);
ограничения первого типа определяют условие обязательного размещения k-го производства в одном из n пунктов;
ограничения второго типа определяют условие размещения в j-ом пункте не более одного производства.
Рассмотренная задача в противоположность предыдущим комбинаторным задачам относится к классу нелинейных (по целевой функции) ЗДИСП.
