Аннотация:
Рассматривается задача целочисленного сбалансирования с ограничениями второго рода. В вещественной трехмерной матрице элементы внутренней части (все три индекса больше нуля) просуммированы по каждому направлению и сечению матрицы, а также найдена общая сумма. Данные суммы размещаются в элементах матрицы, у которых один или несколько индексов равны нулю (в соответствии с направлениями суммирования). Ищется целочисленная матрица той же структуры, получаемая из исходной заменой элементов внутренней части на округления до целого сверху или целого снизу. При этом суммирующие элементы должны отклоняться от исходных менее чем на 2, а элемент с тремя нулевыми индексами получается по обычным правилам округления.
В статье разрабатываются эвристические алгоритмы решения задачи. Послойный алгоритм получается как обобщение соответствующего алгоритма для задачи с ограничениями первого рода. Предлагается новый матричный алгоритм, состоящий из трех частей: поиск базовой матрицы, поиск максимальной матрицы и коррекция матрицы. На всех шагах циклически проводятся изменения целочисленной матрицы, затрагивающие от 1 до 3 элементов внутренней части. Определяется модифицированный матричный алгоритм, направленный на более равномерное заполнение внутренней части целочисленной матрицы.
Также в статье оценивается сложность всех трех алгоритмов и приводится сравнительный анализ матричных алгоритмов на основе результатов вычислительных экспериментов.