Известия РАН. Теория и системы управления, 2022, № 6, стр. 103-111
ДЕКОМПОЗИЦИОННЫЙ МЕТОД РЕШЕНИЯ ТРЕХИНДЕКСНОЙ ЗАДАЧИ ОБ ЭФФЕКТИВНОЙ СТРЕЛЬБЕ
Н. В. Антипова a, Л. Ванг b, c, А. П. Тизик d, В. И. Цурков a, *
a Федеральный исследовательский центр “Информатика и управление” РАН
Москва, Россия
b Математический факультет, Нанкинский ун-т аэронавтики и космонавтики
Нанкин, КНР
c Лаборатория математического моделирования и высокопроизводительных расчетов
авиатранспортных средств
Нанкин, КНР
d Центральный научно-исследовательский ин-т связи
Москва, Россия
* E-mail: tsur@ccas.ru
Поступила в редакцию 15.06.2022
После доработки 06.07.2022
Принята к публикации 01.08.2022
- EDN: QFUQNN
- DOI: 10.31857/S0002338822060026
Аннотация
Метод последовательной модификации коэффициентов целевой функции распространяется на трехиндексные задачи об эффективной стрельбе. На каждом шаге итеративного процесса решаются задачи с тремя ограничениями и одной связывающей переменной. Рассматривается вырождение из-за неединственности решения упомянутых промежуточных задач. Дается процедура снятия вырождения. Окончательный алгоритм строит точное решение исходной задачи булевого программирования.
Введение. В [1] упоминается о постановках задач об эффективной стрельбе и их связи с классическими задачами транспортного типа. Другие транспортные постановки, близкие к ним, представлены в [2–4]. В [5] предлагается метод последовательной модификации коэффициентов целевых функций для линейных задач транспортного типа. Он является альтернативным для известного симплекс-метода и его модификаций. Для двухиндексной задачи в отличие от последовательного изменения допустимых решений или двойственных переменных здесь итеративно пересчитываются коэффициенты целевой функции. Строится монотонный по целевой функции процесс, который окончательно приводит к оптимуму, хотя последовательные решения (так называемые псевдорешения) не допустимы к исходным ограничениям. Особым местом является так называемое вырождение, когда из промежуточных задач невозможно сформировать исходный оптимум. Это преодолевается для каждого конкретного случая по-разному, иногда довольно сложными процедурами.
В работе рассматриваемый подход применяется для трехиндексной задачи об эффективной стрельбе. Имеется некоторое количество батарей, целей и различного вида снарядов. Каждая батарея делает несколько выстрелов разными снарядами и по разным целям. Общее количество выстрелов всех батарей равно количеству целей, умноженному на количество различных снарядов. Для выстрела по каждой цели каждым видом снарядов у каждой батареи имеется коэффициент эффективности стрельбы. Задача состоит в том, чтобы определить такой план стрельбы, при котором достигается максимум суммы эффективностей.
1. Постановка задачи. Имеется $m$ батарей, $n$ целей, $l$ видов снарядов. Задана трехмерная матрица ${{d}_{{jik}}}$ размера $m \times n \times l$. Ее элементы – коэффициенты эффективности выстрела из i-й батареи по j-й цели k-м видом снарядов являются неотрицательными числами:
Будем искать трехмерную матрицу плана стрельбы, элементы которой ${{x}_{{ijk}}}$ принимают значение единица, если производится выстрел из i-й батареи по j-й цели k-м видом снарядов, и 0, если такого выстрела не производится:
Ограничения задачи об эффективной стрельбе записываются так:
(1.1)
$\sum\limits_{j = 1}^n {{x}_{{ijk}}} = {{a}_{{ik}}},\quad i = \overline {1,m} ,\quad k = \overline {1,k} ,$(1.2)
$\sum\limits_{i = 1}^m {{x}_{{ijk}}} = {{b}_{{jk}}},\quad j = \overline {1,n} ,\quad k = \overline {1,l} ,$(1.3)
$\sum\limits_{k = 1}^l {{x}_{{ijk}}} = {{c}_{{ij}}},\quad i = \overline {1,m} ,\quad j = \overline {1,n} ,$В каждую из $n$ целей должно быть выпущено по одному снаряду каждого из l видов снарядов. Таким образом, условия баланса имеют вид
(1.4)
$\sum\limits_{i = 1}^m \sum\limits_{k = 1}^l {{a}_{{ik}}} = \sum\limits_{j = 1}^n \sum\limits_{k = 1}^l {{b}_{{jk}}} = \sum\limits_{i = 1}^m \sum\limits_{j = 1}^n {{c}_{{ij}}} = nl.$Необходимо максимизировать суммарную эффективность всех nl выстрелов:
(1.5)
$\sum\limits_{i = 1}^m \sum\limits_{j = 1}^n \sum\limits_{k = 1}^l {{d}_{{ijk}}}{{x}_{{ijk}}} \to \max $Задача (1.1)–(1.5) является линейной оптимизационной задачей с булевыми переменными и относится к трехиндексным планарным задачам. Она считается NP-трудной.
2. Метод решения задачи. Для начала решим $ml + nl + mn$ задач с одним ограничением каждая. Первые ml задач
при ограничениях (1.1). Вторые nl задач при ограничениях (1.2). Третьи $mn$ задач при ограничениях (1.3). Здесь и далее предполагаем, что условия баланса (1.4) соблюдены при составлении задачи. Все $ml + nl + mn$ задач легко решаются простым нахождением наибольших ${{d}_{{ijk}}}$ в количестве, равном правым частям оганичений (2.1)–(2.3).Если в результате решения вышеупомянутых $ml + nl + mn$ задач значения переменных удовлетворяют ограничениям (1.1)–(1.3), то тем самым решена исходная задача (1.3)–(1.5). Сумма значений целевых функций в оптимальных решениях задач (2.1)–(2.3), деленная на три, будет значением целевой функции в оптимальном решении задачи (1.1)–(1.5). В противном случае будем говорить, что получено первое псевдорешение этой задачи. Заметим, что значение целевой функции первого псевдорешения не меньше значения целевой функции искомого оптимального решения исходной задачи. Построим последовательность псевдорешений с монотонно убывающими значениями целевых функций.
Для получения второго псевдорешения решим следующую задачу с тремя ограничениями:
(2.7)
${{d}_{{111}}}{{x}_{{111}}} + \sum\limits_{j = 2}^n \frac{1}{3}{{d}_{{1j1}}}{{x}_{{1j1}}} + \sum\limits_{i = 2}^m \frac{1}{3}{{d}_{{i11}}}{{x}_{{i11}}} + \sum\limits_{k = 2}^l \frac{1}{3}{{d}_{{11k}}}{{x}_{{11k}}} \to \max .$В этой задаче ${{x}_{{111}}}$ – единственная общая переменная в ограничениях (2.4)–(2.6). Очевидно, что в оптимальное решение задачи (2.4)–(2.7) со значением единица войдут ${{a}_{{11}}} - 1$ переменных из (2.4) с наибольшими коэффициентами в целевой функции (2.7), соответственно ${{b}_{{11}}} - 1$ переменных из ограничения (2.5) и c11 – 1 переменных из (2.6). Выберем в целевой функции (2.7) все переменные, входящие в ограничение (2.4), кроме общей переменной, отсортируем по убыванию коэффициенты целевой функции при этих переменных и возьмем коэффициент с номером, равным ${{a}_{{11}}}$. Этот коэффициент обозначим ${{M}_{1}}$. Аналогично через ${{M}_{2}}$ обозначим b11-й коэффициент целевой функции среди переменных, входящих в ограничение (2.5) без общей переменной, а через ${{M}_{3}}$ – ${{c}_{{11}}}$-й коэффициент в целевой функции среди переменных, входящих в (2.6) без общей переменной. Могут иметь место три случая:
В первом случае (2.8), в оптимальное решение задачи (2.4)–(2.7) войдут дополнительно переменная из (2.4) с коэффициентом ${{M}_{1}}$ в целевой функции, переменная из (2.5) с коэффициентом ${{M}_{2}}$ в целевой функции и переменная из (2.6) с коэффициентом ${{M}_{3}}$ в целевой функции.
Во втором случае (2.9) у задачи (2.4)–(2.7), очевидно, более чем одно оптимальное решение, а значит, имеет место вырождение.
В третьем случае (2.10) к безусловно вошедшим в решение переменным добавляется переменная ${{x}_{{111}}}$.
Решив задачу (2.4)–(2.7), преобразуем ее, сохраняя оптимальное решение, в три независимые задачи, каждая из которых имеет одно из ограничений (2.4)–(2.6). Для этого в первом случае, переписав условие (2.8) как равенство
представим целевые функции трех задач с одним из ограничений (2.4)–(2.6) соответственно как(2.11)
$\left( {{{M}_{1}} - \frac{\delta }{3}} \right){{x}_{{111}}} + \sum\limits_{j = 2}^n \frac{1}{3}{{d}_{{1j1}}}{{x}_{{1j1}}} \to \max ,$(2.12)
$\left( {{{M}_{2}} - \frac{\delta }{3}} \right){{x}_{{111}}} + \sum\limits_{i = 2}^m \frac{1}{3}{{d}_{{11k}}}{{x}_{{11k}}} \to \max ,$(2.13)
$\left( {{{M}_{3}} - \frac{\delta }{3}} \right){{x}_{{111}}} + \sum\limits_{k = 2}^l \frac{1}{3}{{d}_{{1j1}}}{{x}_{{1j1}}} \to \max .$Во втором случае условие (2.9) уже является равенством и коэффициенты целевых функций (2.11)–(2.13) при x111 равны ${{M}_{1}}$, ${{M}_{2}}$, ${{M}_{3}}$.
В третьем случае, преобразовав условие (2.10) в равенство
коэффициенты в целевых функциях (2.11)–(2.13) при x111 запишем как ${{M}_{1}} + \gamma {\text{/}}3$, ${{M}_{2}} + \gamma {\text{/}}3$ и ${{M}_{3}} + \gamma {\text{/}}3$.В итоге получаем второе псевдорешение с уменьшенным значением целевой функции. Заметим, что значение целевой функции каждого псевдорешения не меньше, чем значение целевой функции в искомом оптимальном решении исходной задачи (1.1)–(1.5). Решая циклически все mnl задач с тремя ограничениями, строим последовательность псевдорешений с монотонно убывающей целевой функцией, ограниченной снизу значением целевой функции в оптимальном решении исходной задачи (1.1)–(1.5).
3. Вырождение. Заметим, что если в предельном состоянии итерационного процесса при решении произвольной задачи с тремя ограничениями некоторая не общая переменная участвует в вырождении, то она участвует в вырождении и в той задаче, где эта переменная является общей. И наоборот, участие в вырождении какой-то общей переменной влечет за собой ее участие в вырождении в качестве не общей переменной. Другими словами, в предельном состоянии множество переменных, участвующих в вырождении в каждом ограничении, определено однозначно. Отсюда следует, что после того, как заданы переменные, безусловно входящие в решение, для получения допустимого, а следовательно, оптимального решения, достаточно последовательно дополнить решение из числа переменных, входящих в вырождение.
4. Пример. Имеются две батареи, три цели и два вида снарядов. Коэффициенты эффективности стрельбы первой и второй батарей даны в табл. 1 и 2 соответственно. Ограничения этой задачи запишем следующим образом:
Целевая функция:
Первый цикл. Первая задача:
В этой задаче в первое ограничение кроме общей переменной входят ${{x}_{{121}}}$ и ${{x}_{{131}}}$. Коэффициенты при них в целевой функции равны 2 и 11/3. Правая часть первого ограничения равна 2, второй по величине коэффициент равен 2, т.е. ${{M}_{1}} = 2$. Во второе ограничение кроме общей переменной входит только ${{x}_{{211}}}$ с коэффициентом 10/3. Правая часть второго ограничения равна 1, таким образом ${{M}_{2}} = 10{\text{/}}3$. Аналогично ${{M}_{3}} = 4{\text{/}}3$. Имеет место соотношение (2.8), отсюда решение первой задачи ${{x}_{{111}}} = 0$, ${{x}_{{121}}} = {{x}_{{131}}} = {{x}_{{112}}} = {{x}_{{211}}} = 1$. Целевые функции (2.11)–(2.13) задач с одним ограничением запишутся так:
Коэффициенты здесь и далее округлены.
Вторая задача:
Ее решение: ${{x}_{{121}}} = 0$, ${{x}_{{111}}} = {{x}_{{131}}} = {{x}_{{122}}} = {{x}_{{221}}} = 1$. Целевые функции задач с одним ограничением следующие:
Третья задача:
Ее решение: ${{x}_{{131}}} = 0$, ${{x}_{{111}}} = {{x}_{{121}}} = {{x}_{{132}}} = {{x}_{{231}}} = 1$. Целевые функции задач с одним ограничением:
Четвертая задача:
Ее решение: ${{x}_{{112}}} = {{x}_{{122}}} = 0$, ${{x}_{{111}}} = {{x}_{{132}}} = {{x}_{{212}}} = 1$. Целевые функции задач с одним ограничением:
Пятая задача:
Ее решение: ${{x}_{{112}}} = {{x}_{{122}}} = 0$, ${{x}_{{132}}} = {{x}_{{121}}} = {{x}_{{222}}} = 1$. Целевые функции задач с одним ограничением:
Шестая задача:
Ее решение: ${{x}_{{112}}} = {{x}_{{132}}} = 0$, ${{x}_{{122}}} = {{x}_{{131}}} = {{x}_{{232}}} = 1$. Целевые функции задач с одним ограничением:
Седьмая задача:
Ее решение: ${{x}_{{211}}} = {{x}_{{221}}} = 0$, ${{x}_{{111}}} = {{x}_{{212}}} = {{x}_{{231}}} = 1$. Целевые функции задач с одним ограничением:
Восьмая задача:
Ее решение: ${{x}_{{211}}} = {{x}_{{221}}} = 0$, ${{x}_{{121}}} = {{x}_{{231}}} = {{x}_{{222}}} = 1$. Целевые функции задач с одним ограничением:
Девятая задача:
Ее решение: ${{x}_{{231}}} = 1$, ${{x}_{{131}}} = {{x}_{{211}}} = {{x}_{{221}}} = {{x}_{{232}}} = 0$. Целевые функции задач с одним ограничением:
Десятая задача:
Ее решение: ${{x}_{{212}}} = {{x}_{{232}}} = 1$, ${{x}_{{112}}} = {{x}_{{211}}} = {{x}_{{222}}} = 0$. Целевые функции задач с одним ограничением:
Одиннадцатая задача:
Ее решение: ${{x}_{{222}}} = {{x}_{{232}}} = 1$, ${{x}_{{212}}} = {{x}_{{122}}} = {{x}_{{221}}} = 0$. Целевые функции задач с одним ограничением:
Двенадцатая задача:
Ее решение: ${{x}_{{212}}} = {{x}_{{222}}} = {{x}_{{132}}} = {{x}_{{231}}} = 1$, ${{x}_{{232}}} = 0$. Целевые функции задач с одним ограничением:
Первый цикл на этом окончен. Допустимое решение при этом еще не получено, так как, например, в шестой задаче ${{x}_{{132}}} = 0$, а в двенадцатой ${{x}_{{132}}} = 1$.
Второй цикл. Выпишем только целевые функции (2.11)–(2.13) для задач с одним ограничением после решения всех 12 задач с тремя ограничениями. После первой задачи имеем
После второй задачи
После третьей задачи
После четвертой задачи
После пятой задачи
После шестой задачи
После седьмой задачи
После восьмой задачи
После девятой задачи
После десятой задачи
После одиннадцатой задачи
После двенадцатой задачи
И хотя предел еще не достигнут, уже получено допустимое, а следовательно, оптимальное решение:
Остальные переменные равны нулю. Значение целевой функции: $3 + 6 + 12 + 29 + 11 + 14 = 75$.
Заключение. Итак, представлено применение метода последовательной модификации целевой функции для трехиндексной задачи об эффективной стрельбе. Однако видно, что он дословно распространяется на случай четырех, пяти и так далее индексов. На каждом шаге решаются соответственно задачи с четырьмя, пятью и так далее ограничениями. Важно заметить, что вырождение снимается весьма просто, в отличие от классической транспортной задачи, где приходится дополнительно ставить оптимизационные задачи на сети [5].
Список литературы
Гольштейн Е.Г., Юдин Д.Б. Задачи линейного программирования транспортного типа. М.: Наука, 1969.
Триус Е.Б. Задачи математического программирования транспортного типа. М.: Сов. радио, 1967.
Михалевич В.С., Сергиенко И.В., Шор Н.З. Исследование методов решения оптимизационных задач и их приложения // Кибернетика. 1981. № 4. С. 89–113.
Раскин Л.Г., Кириченко И.О. Многоиндексные задачи линейного программирования. М.: Радио и связь, 1982.
Тизик А.П., Цурков В.И. Метод последовательной модификации функционала для решения транспортной задачи // АиТ. 2012. № 1. С. 148–158.
Дополнительные материалы отсутствуют.
Инструменты
Известия РАН. Теория и системы управления