ПРИБОРОСТРОЕНИЕ. ИНФОРМАТИКА
УДК 623.681.5
ДИСКРЕТНАЯ МНОГОМЕРНАЯ ЗАДАЧА СТАНДАРТИЗАЦИИ ПРИ ДЕТЕРМИНИРОВАННОМ СПРОСЕ И ЕЕ РЕШЕНИЕ МЕТОДОМ ВЕТВЕЙ И ГРАНИЦ
Канд. воен. наук СИНЯВСКИЙ В. К.
Научно-исследовательский институт Вооруженных Сил Республики Беларусь
Большой класс задач выбора оптимальных параметрических рядов сводится к многомерной задаче оптимизации [1]. Общая постановка таких задач может быть записана следующим образом. Задано множество 3 = {1, 2, Щ видов потребностей, которые необходимо выполнить. Каждый вид потребности определяется совокупностью характеристик (параметров). Имеется также множество I = {1, 2, ..., М} изделий, способных совместно обеспечить все виды потребностей. Каждому /-му изделию также соответствует набор значений параметров, характеризующих его эксплуатационные, технические, эргономические и другие свойства. Так как каждый набор значений параметров соответствует изделию с определенным номером /, будем считать, что тип изделия полностью определяется своим порядковым номером. Необходимо из множества I допустимых типов изделий выбрать такое подмножество !*с I (оптимальный ряд изделий), которое полностью обеспечит множество 3 видов потребностей с минимальными затратами. Требуется определить
М
С = шт
М
М N
С/У/ +11 сл-
/=1 1 =1 /
(1)
при ограничениях:
М
= 1, ] = 1,2,..., Щ; (2)
/ = 1
X < у, -= 1 2,..., М; ]= 1,2,..., N (3)
х е {0,1}, у е {0,1}, 1= 1, 2,..., М; ] = 1, 2,..., N (4)
I У/ < м о
М0 < М,
(5)
где с0- постоянные затраты на разработку и применение изделий /-го типа; с. = а .с Ь. - затраты, связанные с обеспечением потребностей .-го вида изделиями / -го типа; а. - число изделий -го типа, необходимых для обеспечения единицы потребностей .-го вида; с. - затраты
на производство и эксплуатацию одного изделия /-го типа; Ь. - величина потребностей .-го
вида; М0- количество типов изделий, которые
могут быть включены в оптимальный ряд I.
Взаимосвязь между элементами множеств I и 3 задается с помощью матрицы применений
а. в которой а. = 1, если изделие /-го
II у11мхЩ ’ 1
типа может обеспечивать .-й вид потребности, и а. = 0 - в противном случае. Полагаем, что
с. = да, если а. = 0 . Управляющие переменные:
у- =
1, если/ -й тип изделия включают в выбираемый ряд изделий;
0 — в пробивлом случае;
1, едли /-й тип изделий назначен для удовлетворения потребности .-го вида;
0 — о противном спучид.
Ограничения (2) обозначают, что все потребности .-го вида должны быть обеспечены. Из (3) следует, что для обеспечения потребностей .-го вида можно назначать изделия только тех типов, для которых У = 1.
=1
Рассмотрим решение задачи (1)-(4) методом ветвей и границ. Построение дерева возможных вариантов осуществляется в соответствии с односторонней схемой ветвления [2]. Непосредственное ветвление выбранной вершины производится в отличие от традиционных способов с помощью специальных показателей. Для оценки нижней границы решения в процессе ветвления используется задача линейного программирования, двойственная по отношению к (1)-(4), в которой условие целочисленности (4) заменяется условием
0 < у < 1, i = 1,2,..., M. (6)
Проверка допустимого решения задачи (1)-(4) на оптимальность осуществляется решением оценочной двойственной задачи. Двойственная задача линейного программирования по отношению к релаксированной задаче (1)-(3), (6)
Z = max T Vj (7)
при ограничениях
< c0, i = 1,2,..., M ; (8)
j^-J
Vj-Wj < c, j= 1, 2,..., N; i= 1, 2,..., M; (9) W1} > 0, j= 1,2,..., N i= 1, 2,..., M, (10)
где Vj, Wij - переменные двойственной задачи.
Введя дополнительные переменные Yip
(i= \M, j= 1,N), задачу (7)-(10) можно представить в виде основной задачи линейного программирования, исходное базисное решение которой имеет вид:
N
z=1V
j=1
Yj = Cj + W-V, i= 1, 2,...,M; j= 1, 2,..., N
N
Si = C-TW i= 1 2,..., M.
j=1
Полученную задачу (7)-(10) можно решить симплексным методом. Однако практика показала, что даже небольшие задачи унификации требуют решения задач линейного программирования большой размерности. Их опорные планы сильно вырождены, а установление оп-
тимальности в некоторых случаях связано с большим числом итераций. Действительно, количество переменных к1 и число уравнений ограничений к2 задачи линейного программирования связаны с размерностью исходной задачи соотношениями: к1 = М + 2МЩ + Щ; к2 = = М(Щ + 1). Для решения задачи линейного программирования такой размерности требуется обычно от М(Щ + 1) до 3М(Щ + 1) итераций. В силу того, что оценка нижней границы производится многократно, такой способ решения является нерациональным. Нецелесообразно искать и точное решение задачи (7)-(10), так как можно получить точное решение не исходной целочисленной задачи (1)-(4), а лишь непрерывной релаксированной задачи (1)-(3), (6). Поэтому дальнейшее развитие рассматриваемого направления идет по пути построения приближенных методов решения двойственной задачи и упрощения способов оценки нижней границы исходной целочисленной задачи [3]. Основное отличие алгоритмов, использующих для оценки двойственную задачу, заключается в способе определения приближенного решения задачи (7)-(10).
Ее простая структура позволяет получить приближенное решение, достаточно близкое к оптимальному. Вычислительные на ЭВМ эксперименты показали, что особенностью задачи (1)-(4) является частое совпадение оптимального целочисленного решения с непрерывным. Поэтому обычно приближенно решают двойственную задачу, а от нее переходят к соответствующему решению непрерывной задачи
(1)-(3), (6). При совпадении целочисленного и непрерывного решений полученный результат является оптимальным, в противном случае переходят к обычному алгоритму ветвей и границ. Однако переход от приближенного решения двойственной задачи к соответствующему приближенному решению задачи (1 )-(4) сложный и не всегда однозначный. Более простым является способ, когда сначала определяется достаточно точное решение (1)-(4), а по нему -решение двойственной задачи. Совпадение решений свидетельствует об оптимальности целочисленного решения. Рассмотрим этот способ решения двойственной задачи (7)-(10).
Упростим ее структуру, для чего исключим переменные Щ-, входящие лишь в ограничения.
При любом допустимом наборе переменных Vj переменные Wj можно положить равными максимальной из величин 0 и Vj - Cj. C учетом этого двойственную задачу (7)-(10) запишем в виде
N
Z= max 'YJVJ, (11)
j=i
при ограничениях
N
Zmax (Vj- c 0) < С, i= 1, 2,..., M j=i
(12)
Сущность направленного решения двойственной задачи (11), (12) заключается в следующем. Учитывая ее простую структуру и возможность использования приближенного решения для оценки нижней границы на различных этапах ветвления, предлагается следующий способ формирования значений переменных Vj, доставляющих целевой функции
(11) по возможности большее значение. Процесс начинается с допустимого решения Vj = min cij задачи (11), (12) и состоит в много-
1 ieIleI3 1
кратном последовательном просмотре j-х столбцов (j = 1, 2, ..., N) матрицы ||cj|| с целью проверки возможности увеличения Vj до ближайшей большей величины cij. В каждом цикле просмотра проверяется возможность увеличения Vj для тех столбцов, в которых находится наименьшее количество элементов ci, удовлетворяющих условию Cj < V. Увеличение значений переменных Vj происходит с учетом (12) и ограничено величинами
V. < min[min c; min(Cj + Ci)]. (13)
ie/1 ieI
Оценка, получаемая с помощью данного способа, определяется элементами множеств I1, I3 и, когда дальнейшее увеличение переменных
V становится невозможным, вычисляется по формуле
N
Z (I,) = zx = ^Vj + £ ci. (14)
j=1 iel!
Особенностью предлагаемого алгоритма является то, что решение двойственной задачи используется не только для оценки нижней границы решения задачи (1)-(4) в ходе ветвления, но главным образом для проверки оптимальности ее
допустимых решений, получаемых в процессе ветвления. Способ, предлагаемый для проверки оптимальности, основан на том, что при решении двойственной непрерывной задачи используется найденное целочисленное решение задачи (1)-(4). Эффективность применения способа и точность полученного с его помощью результата в значительной степени определяются точностью используемого целочисленного решения. Если для оценки нижней границы целевой функции путем направленного решения двойственной задачи (11), (12) используются ограничения (13), то при проверке допустимого решения на оптимальность вместо (13) требуется выполнение неравенств:
cj <V < min[Cj min(Cj + С0)];
J J ^ J (15)
j= 1, 2,..., N,
где
cn = min Ci. c = min c.
i In i I
H
Процесс проверки допустимого решения задачи (1)-(4) на оптимальность начинается с допустимого решения V = min cif задачи (11),
i&I j
(12).
Необходимость неравенств (15) следует из соотношений:
N
y[C-Z max( V* - Cji)] = 0; j=1
(У - x max(Vj* - C.; 0) = 0,
определяющих оптимальность полученных решений для непрерывной и целочисленной задач. Знак «*» указывает на оптимальность решений соответствующих задач. При выполнении ограничения (15) совпадение величины
ZI) = Zv, (16)
j=1
полученной в результате решения двойственной задачи (11), (12), со значением целевой функции задачи (1)-(4), соответствующей проверяемому целочисленному решению
N
сд=Zс?+Zmin с. I =1 (17)
ieIa j=1 1^1д
указывает на оптимальность найденного це-
С = Са.
лочисленного решения, т. е. „
В случае несовпадения значений целевых функций поиск оптимального решения задачи (1)-(4) продолжается методом ветвей и границ. Поиск первого допустимого решения и дальнейшее ветвление осуществляется с помощью показателей вида
N
Рг = X тах(^/ - Сг/ ;0) - с0, г е Ь,
/=1
где
тіп Су.; тіп(сг0 + сгі)
(18)
Таким образом, общая схема решения задачи (1)-(4) включает:
1) определение допустимого решения 1д, Сд исходной задачи;
2) проверку допустимого решения на оптимальность путем решения двойственной задачи;
3) уточнение допустимого решения методом ветвей и границ и проверку его на оптимальность.
Вычислительный процесс заканчивается при оптимальности допустимого решения с помощью решения двойственной задачи или в случае анализа всех перспективных ветвей дерева вариантов.
В Ы В О Д
Большинство многомерных задач стандартизации, как правило, не удовлетворяют свойству связности, и следовательно, метод динамического программирования не может быть использован для их решения. Наиболее перспективным методом решения таких задач является метод ветвей и границ, достоинства которого заключаются в возможности учета их особенностей в ходе вычисления оценок в процессе ветвления, в том числе и наличия целочисленных переменных. Сформулированная задача многомерной оптимизации может найти широкое применение в области стандартизации и унификации промышленной продукции различного назначения при ее разработке и проектировании.
Л И Т Е Р А Т У Р А
1. Берсенев, В. Л. Экстремальные задачи стандартизации / В. Л. Берсенев, Э. Х. Гимади, В. Г. Дементьев. -Новосибирск: Наука, 1978. - 248 с.
2. Анисимов, В. Г. Метод решения одного класса задач целочисленного программирования / В. Г. Анисимов, Е. Г. Анисимов // Журнал вычислительной математики и математической физики. - 1984. - № 10. - С. 1565-1570.
3. Анисимов, В. Г. Формальная структура задач стандартизации и унификации при управлении развитием сложных технических систем / В. Г. Анисимов, Е. Г. Анисимов // Защита и безопасность. - 2004. - № 4. - С. 26-31.
Поступила 10.02.2005
УДК 351.746.1+623.4
ПЕРИОДЫ РАЗВИТИЯ, ВНЕДРЕНИЯ И ПРИМЕНЕНИЯ ТЕХНИЧЕСКИХ СРЕДСТВ И СРЕДСТВ АВТОМАТИЗАЦИИ ПОГРАНИЧНОГО КОНТРОЛЯ В ПОГРАНИЧНЫХ ВОЙСКАХ РЕСПУБЛИКИ БЕЛАРУСЬ
КАМЗАЛОВ С. Н.
Брестская пограничная группа
Применение технических средств пограничного контроля (ТСПК) в служебной деятельности подразделений пограничного контроля осуществляется более 50 лет. При классификации периодов развития ТСПК необходимо учитывать исторические эпохи, цели и зада-
чи, стоящие перед пограничными войсками, а также содержание руководящих документов, отражающих развитие научной мысли и достижения практики на момент их создания, объективные и субъективные факторы, которые влияли на происходившие изменения.