всех вершин были дифференцируемы. Это условие следует из формулы (2). Для вычисления допустимых погрешностей градиента уже необходимо, чтобы функциональный символ выходной вершины графа F был дважды дифференцируемым. Это опять следует из формулы (2), поскольку эта формула должна применяться к частным производным функционального символа выходной вершины графа F.
Таким образом, мы получили формулы для оценки погрешностей элементов графа, вычисляющего градиент сложной функции многих переменных, если аргументы функции имеют погрешности. Последовательно применяя эти формулы для каждого элемента графа, мы имеем возможность оценить погрешности вычисления градиента сложной функции.
ЗАКЛЮЧЕНИЕ
В работе изложен способ оценки погрешностей вычисления сложной функции многих переменных и ее градиента, если аргументы функции имеют погрешность. Вычисление функции и градиента представлено в виде графа. Это позволяет ускорить процесс вычисления за счет возможности параллельного выполнения вычислений для одного слоя графа. Кроме того, это позволяет легко строить двойственные графы для оценки погрешностей вычисления. Причем на двойственных графах вычисления проводятся так же параллельно.
ПЕРЕЧЕНЬ ССЫЛОК
1. Лебедев А.Н., Смолов В.Б. и др. Проектирование и расчет вычислительных машин непрерывного действия / Под ред. Лебедева А.Н. - М.: Машиностроение, 1966.
2. Лебедев А.Н. Основы теории точности счетно-решающих устройств, ч. 1. - Л.: Изд. ЛЭТИ им. В.И. Ленина, 1964.
3. Маликов И.М., Половко А.М., Романов Н.А., Чукреев П.Л. Основы теории и расчета надежности. - Л.: Судпромгиз, 1960.
4. Горбань А.Н., Сенашова М.Ю. Быстрое дифференцирование, двойственность и обратное распространение
ошибок // Вычислительные технологии / Издательство СО РАН. - Новосибирск. 1999. Т. 4. С. 55-68.
5. Сенашова М.Ю. Быстрое дифференцирование сложных функций многих переменных // Радюелектрота, 1нфор-матика, Управлшня / Запорожский государственный технический университет. - Запорожье. 2000. №1. С. 101106.
6. Rummelhart D.E., Hinton G.E., Williams R.J. Learning representations by back-propagating errors. Nature, 1986. V. 323, 533-536.
7. Сенашова М.Ю. Оценки погрешностей вычисления сложной функции многих переменных // Радюелек-трошка, 1нформатика, Управлшня / Запорожский государственный технический университет. - Запорожье. 2001. №2. С. 114-117.
8. Сенашова М.Ю. Погрешности нейронных сетей. Вычисление погрешностей весов синапсов // Методы нейро-информатики: Сб. научн. трудов / Под ред. А.Н. Горбаня; отв. за вып. М.Г. Доррер. Красноярск; КГТУ. - 1998. -С. 48-64.
9. Горбань А.Н. Обучение нейронных сетей. СП ПараГраф, М., 1990.
10. Горбань А.Н., Россиев Д.А. Нейронные сети на персональном компьютере. Новосибирск, Наука, 1996.
11. Горбань А.Н., Дунин-Барковский В.Л., Кирдин А.Н. и др. Нейроинформатика. Новосибирск. Наука. 1998.
12. Senashova M. Yu., Gorban A. N., and Wunsch D. Back-Propagation of Accuracy. Proc. IEEE/INNS International Coonfer-ence of Neural Networks, IEEE, USA, 1997, 1998-2001.
13. Калмыков С.А., Шокин Ю.И., Юлдашев З.Х. Методы интервального анализа. Сиб. Отд-ние АН СССР, Новосибирск, 1986.
14. Барцев С.И., Гилев С.Е., Охонин В.А. Принцип двойственности в организации адаптивных систем обработки информации. "Динамика химических и биологических систем", Наука, Новосибирск, 1989, 6-55.
15. Rummelhart D.E., Hinton G.E., Williams R.J. Learning internal representation by error propagation. "Parallel Distributed Processing: Exploration in the Microstructure of Cognition" MA: MIT Press, Greate Britain, 1986. Vol. 1, pp. 318-362.
16. Zurada J. M. Introduction to artificial neural systems. PWS Publishing Company, 1992.
17. Haykin S. Neural networks. A comprehensive foundations. USA, 1994.
Надшшла 10.12.2003 Шсля доробки 03.06.2004
Описано графи обчислення складних функцш багатьох змгнних, викладено принцип deoicmocmi для обчислення гра-дгента складно'( функцп. Наведено алгоритми ощнювання похибок обчислень функцИ та 'i'i градieнmа.
Graphs are described for the calculation of composite functions of multiple variables, the duality principle for obtaining the gradient of a composite function is presented. Algorithms for the estimation of the computation error of the composite function and of its gradient are described.
УДК 519.859
А. М. Чугай
МЕТОД ПОИСКА ЛОКАЛЬНЫХ ЭКСТРЕМУМОВ В ЗАДАЧЕ УПАКОВКИ ОДИНАКОВЫХ ЦИЛИНДРОВ В МНОГОУГОЛЬНОЙ ПРИЗМЕ С ЗОНАМИ ЗАПРЕТА
Построена математическая модель и исследованы особенности задачи. Разработан метод поиска локальных экстремумов задачи. Поиск включает следующие этапы: построение крайних точек; поиск лучших крайних точек
модифицированным методом сужающихся окрестностей; локальная оптимизация методом возможных направлений. Для получения крайних точек строится дерево решений. Приведен численный пример.
ВВЕДЕНИЕ
Задача упаковки цилиндров в многоугольной призме с зонами запрета относится к классу задач геометрического проектирования. Задачи геометрического проектирования возникают в различных сферах человеческой деятельности, областях науки и техники и состоят в поиске оптимального размещения множества геометрических объектов относительно области размещения при наличии заданных технологических ограничений и критериев качества размещения. К данному классу задач относятся задачи компоновки оборудования, задачи управления сложными техническими системами, задачи построения генеральных планов промышленных предприятий, оптимального раскроя промышленных материалов, рационального использования отходов, оптимального размещения грузов, задачи размещения модулей на радиоэлектронной плате, задачи календарного планирования и многие другие задачи.
Решению задачи размещения цилиндров разных диаметров в параллелепипеде (задача загрузки трюмов корабля) посвящены работы таких зарубежных авторов как [1, 2]. Данная задача сводится к двумерной задаче размещения кругов разных радиусов в прямоугольнике. Авторы строят математическую модель задачи в терминах целочисленного линейного программирования. Рассматриваются разные эвристические подходы к решению задачи (генетический алгоритм, квази-вероятностный алгоритм и т. п.). В [2] предложены три эвристических алгоритма, которые позволяют решить эту задачу в трехмерной постановке.
Анализ работ по средствам моделирования и решения трехмерных задач размещения позволяет сделать вывод, что подавляющее большинство зарубежных публикаций посвящено размещению прямых параллелепипедов в параллелепипеде или наборе параллелепипедов, которые, как правило, сводятся к двумерным задачам. Предлагаемые методы решения являются преимущественно эвристическими.
Таким образом, необходимо проведение исследований по созданию адекватных математических моделей и разработке эффективных методов решения 3Б задач размещения геометрических объектов.
ПОСТАНОВКА ЗАДАЧИ
Пусть имеются одинаковые цилиндры С,(г= 1, 2..., М) радиуса т и задана многоугольная призма, основание которой можно представить в виде многосвязной области Р, образованной вычитанием из выпуклого многоугольника областей, которые будем называть зонами запрета на размещение цилиндров:
P = cl
( \\ ? - 1 7
М 7
С к2,
конечного числа кругов. При этом, цилиндры ориентированы так, что их оси перпендикулярны основанию призмы, которое принадлежит плоскости ХОУ. Обозначим координаты центра основания цилиндра С, через
V = (х;> У;).
Задача. Необходимо разместить в призме максимальное количество одинаковых цилиндров С,. Так как все цилиндры одинаковые, то каждый цилиндр можно заменить его проекцией на плоскость основания призмы Р. Тогда задача из трехмерной постановки может быть сведена к двумерной задаче упаковки максимального количества одинаковых кругов С, в многосвязной области Р.
МАТЕМАТИЧЕСКАЯ МОДЕЛЬ ЗАДАЧИ
Решение поставленной задачи можно свести к решению последовательности задач
F(u) = max Fn(u), (1)
u e D
где ^{и) = £ г^ и = (У1,У2, г1, Г2,..., гп1 щ =
1 = 1
= (V;, г;), т, - радиус цилиндра (круга) С,; D описывается системой неравенств [3, 4]:
ФДu;)> 0, i = 1, 2, ..., n;
Ф.u,, uf)> 0, i <j = 1, 2, ..., n;
ч . J
r - ri > 0, i = 1, 2, ..., n; r, > 0, i = 1, 2, ..., n;
(2)
фч(u)=min{Qi(ui), min {8Jui)}, min {¥..(u,.)}};
J =1, 2 ..., m
Qi( ui) = min {фг.^( ui)};
k =1, 2..., n0
j=m +1, m+2...,q-1
где с1(А) - замыкание А, Р0 - выпуклый многоугольник, - выпуклые многоугольники или объединение
ф.к( ui) = A0kxi + В0кУч + Ci0k, A0k = (y0k + 1 - y0k)/d0k' В0к = -(x0k + 1 - x0 k)/d0k' Ci0k = C0k - ri, C0k = (x0k + 1y0k - x0ky0k + 1)/d0k>
d0k = J(x0k + 1 - x0k) + (y0k + 1 - y0k) '
(x0k, y0k) и (x0k +1, y0k + 1) - координаты вершин ^ и V0k + 1 многоугольника P0;
8ij(ui) = max {max{Xjk(ui),min{jui),aijk(ui)}>};
k=1,2., nj
Xijk( ui) = A'jkxi + B'jky. + C' ijk' A'jk = -(y.k +1 - yjk)/djk, B'jk = (xjk +1- xjk)/djk, C'ijk = C'jk - r,->
C .Jk = -(xjk + 1y.k- jy.k +1У djk,
n
djk = J( xjk +1 - xjk)2 +(yjk +1 - yjif
(xjk yjk) и (xjk + 1' yjk + 1) - координаты вершин Vjk и Vjk + 1 многоугольника Zj, j = 1, 2, ..., m;
j ui) = A*jkXi + B*ijk + C*ijk,
A*ijk = -(y)jk -yj),
д* =1 0
B ijk xijk xijk,
C*ijk = -(xijk y0k - xijk yijk) , (xjk ' yjk ) = (xjk yjk) + vijk - 1, (xijk ' y^'k ) = (xijk yijk) + vijk,
Vijk =
J( j + (в>Д
'A)k
j ui) = (xi- xjk) + (yi- yjf - ri2;
^ij(ui) = min {jui)},
J k =1, nj J
^ijk( ui) = (xi- x'jk)2 + (yi- y'jk)2 - (ri + r'jk)2,
x'jk, y'jk и r'jk - соответственно координаты центра и радиус k-го круга из Zj-ой области, j = m + 1, m + 2, ..., q - 1;
фу(ui, uj) = (xi -xj)2 + (yi-yj)2 - (ri + rj)2-
Таким образом, если Fn(u*)< nr, а Fn -1(u*) = = (n -1), то решение задачи (1) достигается в u* = = (V*1,V*2, ...,V*n - 1, r*1, r*2, .r*n - 1).
ОСОБЕННОСТИ ЗАДАЧИ
1. Для каждого локального максимума и* всегда найдется крайняя точка и' е Б [5], определяемая системой из 3п уравнений (активных неравенств), входящих в систему (2), такая что Fn(и*) = Fn(и'). (Точка и' е Б называется крайней точкой П, если для любой окрестности Nи, с Я3п точки и' существует гиперплоскость О с Я3п, такая, что Б п Nu, п О = {и}.
2. Локальные максимумы и* могут быть нестрогими.
3. Задача является многоэкстремальной; число локальных экстремумов и* значительно больше п!, т. е. задача (1) ЫР - трудная [6];
4. Для того чтобы найти глобальный максимум Fn(и), достаточно перебрать все крайние точки и' е Б;
5. В настоящее время не существует метода, позволяющего получить глобальный максимум поставленной задачи, если п > 10 [5].
МЕТОД РЕШЕНИЯ
Первоначально производится оценка величины п = ц, так что п кругов гарантированно размещаются в Р. Для этого можно воспользоваться, например, методом после-
довательно-одиночного размещения. Далее решается задача (1) для п = ц + 1.
Общая стратегия решения задачи (1) может быть представлена в виде следующих этапов:
1) построение крайних точек;
2) поиск крайних точек с наибольшими значениями целевой функции с помощью модифицированного метода сужающихся окрестностей;
3) переход из полученных лучших крайних точек в каждой из сформированных окрестностей к локальным максимумам с помощью метода локальной оптимизации;
4) выбор лучшего локального максимума в качестве приближения к оптимальному решению задачи (глобальному максимуму).
ПОСТРОЕНИЕ КРАЙНИХ ТОЧЕК
Процесс получения крайней точки можно представить как процедуру последовательного выделения гиперплоскостей и гиперповерхностей, уравнения (активные неравенства) которых входят в систему (2). Чтобы описать все крайние точки области П, необходимо построить полное дерево решений [7], которое позволяет получить все системы 3п уравнений, соответствующие активным неравенствам из системы (2). Так как число крайних точек, значительно больше п!, то для решения примеров средней сложности (п > 10), такой подход не пригоден из-за своей вычислительной сложности, если только не будут найдены очень сильные правила отсечения. Поэтому для построения крайних точек и' е Б в исследовании используется дерево Т возможных размещений кругов в области Р, конечные вершины которого определяют системы уравнений, формирующие некоторое подмножество крайних точек из П. Однако весьма значительное множество вершин дерева символизирует несовместные системы.
Дерево решений имеет п уровней (по количеству рассматриваемых кругов). Корню дерева ставится в соответствие пространство Л3п. Вершины 1-го уровня дерева соответствуют множествам размерности 3(п - 1), I = 1, 2, ..., п, образованным пересечением множеств размерности 3(п - I + 1) (полученных на предыдущем уровне) с тремя гиперповерхностями, задаваемыми уравнениями (активными неравенствами) из системы (2), которые содержат переменные Х[, у/, Т[. При этом, 1-й уровень состоит из
' ! 1 ^ г«о + (I - 1) ^ пк +2(г - 1)(I - 2) вершин. Каждой из
к = 1 )
этих вершин соответствует система уравнений, решение
которой (в случае совместности системы) определяет
параметры размещения кругов С^ г = 1, 2, ..., /.
На первом уровне дерева рассматриваются по систем из трех уравнений вида:
Ф1 к(их) = 0, ф1к + 1(и1) = 0, г - Г1 = 0; к = 1, 2,..., по;
которые соответствуют размещению круга С1, при котором он касается двух соседних сторон Р0.
i
П
i=1
На втором уровне рассматривается 2п0 + £ п1 систем
; = 1
из шести уравнений вида (при этом, первые три уравнения определяются системой, которая соответствует родительской вершине первого уровня):
Ф2к(и2) = 0, Ф2к + 1(и1) = 0, г - г2 = 0; к = 1, 2, ..., по;
Ф12(и1, и2) = 0, ф2к(и2) = 0, г - г2 = 0; к = 1, 2, .... пп;
Ф
(u1, u2) = 0, ф2д(u2) = 0, r - r2 = 0;
12
7 = 1, 2, ..., и; к = 1, 2, ..., п4;
которые соответствуют размещению круга С2, при котором он касается либо двух соседних сторон Р0, либо круга С1 и одной из сторон Р0, либо круга С1 и одной из сторон многоугольной области 2у.
т
На третьем уровне рассматривается 3п0 + 2 £ п1 + 1
; = 1
систем из девяти уравнений вида (при этом, первые шесть уравнений определяются системой, которая соответствует родительской вершине второго уровня):
Фзк(из) = 0 Фзк + 1из = 0, г - гз = 0; к = 1, 2, ..., п^;
ф;з(ир из) = 0, Фзк(из) = 0, г - гз = 0;
; = 1, 2; к = 1, 2, ..., п0;
ф;з(ир из) = 0, Фзк(из) = 0, г - гз = 0;
■ = 1, 2; 7 = 1, 2, ..., т; к = 1, 2, ..., п4; Ф1з(и1, из) = 0, Ф2з(и2, из) = 0, г - гз = 0;
которые соответствуют размещению круга Сз, при котором он касается либо двух соседних сторон Р0, либо одного из кругов С, (г = 1, 2) и одной из сторон Р0, либо одного из кругов С, (г = 1, 2) и одной из сторон многоугольной области 2у, либо двух кругов С1 и С2.
т
На четвертом уровне рассматривается 4п0 + з £ п 1 + з
; = 0
систем из двенадцати уравнений вида (при этом, первые девять уравнений определяются системой, которая соответствует родительской вершине третьего уровня):
Ф4к(и4) = 0, Ф4к + 1 и4 = 0, г - г4 = 0; к = 1, 2, ..., п^;
Ф;4(и;, и4) = 0, Ф4к(и4) = 0, г - г4 = 0;
; = 1, 2, з; к = 1, 2, ..., п^;
ф;4(u!■, и4) = ^ %4]к(и4) = ^ г - г4 =
■ = 1, 2, з; 7 = 1, 2, ..., т; к = 1, 2, „., п^;
Ф14(и1, и4) = 0, Ф24(и2, и4) = 0, г - г4 = 0;
Ф14(и1, и4) = 0, Фз4(из, и4) = 0, г - г4 = 0;
Ф24(и2, и4) = 0, Фз4(из, и4) = 0, г - г4 = 0;
которые соответствуют размещению круга С4, при котором он касается либо двух соседних сторон Р0, либо одного из кругов С, (г = 1, 2, з) и одной из сторон Р0, либо одного из кругов С, (г = 1, 2, з) и одной из сторон многоугольной области 2^, либо одной из следующих пар кругов: С1 и С2, С^ и Сз, С2 и С4. Аналогично четвертому уровню строятся вершины на всех оставшихся уровнях дерева.
Из всех решений описанных выше систем, выбираются только те, которые обеспечивают непересечение С, и Су, / = 1, 2, ..., г-1, и принадлежность Сг области Р.
В случае, если на 1-м уровне в выбранной вершине система является несовместной либо ее решение дает точку вне D при г1 = г, то на этом уровне производится поиск ближайшей допустимой вершины, в которой решение соответствующей ей системы дает точку области D при г1 = г. Если такую вершину найти не удается, то на данном 1-м уровне выбирается вершина, в которой решение соответствующей ей системы дает точку области D с максимально допустимым значением переменной г1. Для этого в каждой вершине данного уровня решается вспомогательная оптимизационная задача поиска максимального значения величины г1, при котором решение соответствующей этой вершине системы уравнений дает точку области D. Для поиска величины г1, используется метод половинного деления, на каждой итерации которого решается соответствующая рассматриваемой вершине система уравнений при определенном значении г1. В результате решения этой задачи дополнительно становиться активным хотя бы одно из ограничений системы (2), которое не входит в систему, соответствующую выбранной вершине дерева.
Очевидно, что размещение кругов в Р по описанному дереву в общем случае не соответствует локальному максимуму целевой функции, но оно является некоторым приближениям к ближайшему максимуму. Поэтому для решения задачи предлагается применить способ поиска приближения к глобальному максимуму и*, состоящий из направленного перебора модифицированным методом сужающихся окрестностей [5, 8] крайних точек области D. Для этого, в соответствии с определенным алгоритмом, случайным образом генерируются последовательности = П; , ..., } е П комбинаторного множества П, элементы которых определяются номерами вершин на соответствующих уровнях дерева Т. В соответствии со сгенерированными последовательностями определяются крайние точки D. Таким образом, каждой последовательности п; е П ставится во взаимнооднозначное соответствие крайняя точка ие Ь.
Из полученных в соответствии с модифицированным методом сужающихся окрестностей крайних точек
выбираются точки с наибольшими значениями целевой функции в каждой из окрестностей. Каждая из выбранных таким образом крайних точек u't, t = 1, 2, ..., 8 затем берется в качестве начальной точки для поиска локального максимума u*t. В итоге, точка и* = = arg max{F(и):t = 1, 2, ..., 8} выбирается в качестве приближения к глобальному максимуму задачи.
допустимым планом. Значит, вспомогательная задача имеет решение (А/, о7), причем а7 > 0. Если а7 > 0, то нетрудно показать, что направление А7 является возможным направлением возрастания целевой функции (1), т. е. точка й- +1 = й- + tXJ при достаточно малом Ь принадлежит множеству П и обеспечивает большее значение целевой функции (1), чем й-. Значение шага Ь, при котором происходит максимальное увеличение целевой функции (1), определяется методом половинного деления. Это позволяет определить расстояние от точки й- до ближайшей в найденном направлении А7 предельной точки й/+ 1 е Б.
Если а7 = 0, то получается стационарная точка процесса, которая для задачи выпуклого программирования дает решение, а в общем случае требует дополнительных исследований (т. е. полученная точка может быть либо локальным экстремумом, либо нестрогим локальным экстремумом, либо седловой точкой). Предложена специальная методология определения седловых точек, основанная на анализе множителей Лагранжа, полученных при решении модифицированным симплекс-методом [11] вспомогательной задачи поиска вектора (А7, а7). Выход из седловых точек обеспечивается уменьшением размерности задачи. Для этого в седловой точке фиксируются значения переменных, входящих в ограничения, которым соответствуют положительные множители Лагран-жа, определенные на последней итерации решения за-направление из точки й , которое будет учитывать ло- дачи поиска вектора (А7, а7) в рассматриваемой точке й-. кальные свойства множества допустимых решений в В случае фиксации всех переменных точка й- считается окрестности рассматриваемой точки. В точке й- снова локальным максимумом. переопределяется вектор переменных. При вычислении направления улучшения целевой функции (1) в точке й- строится конус возможных направлений, задаваемый системой линейных неравенств (3):
ЛОКАЛЬНАЯ ОПТИМИЗАЦИЯ
Для отыскания локальных максимумов рассматриваемой задачи, которая является задачей нелинейного программирования, применяется метод оптимизации, который основывается на стратегии метода возможных направлений [9, 10]. Идея метода состоит в следующем. Найденная крайняя точка й'1 е Б становится начальной для поиска локального максимума й*(. В полученной крайней точке й'( переопределяется вектор переменных й = Г1, г2, ..., гп) таким образом, что из него
исключаются радиусы тех кругов, которые приняли значение равное г, тем самым уменьшается общая размерность задачи (1) и вектор переменных принимает вид й = (V, V-,, .... V г;, г , •••, г ).
4 1' 2 ' и' 12 1Т'
Пусть имеем /-е приближение й- к локальному максимуму (при этом, принимаем й0 = й'). Для того чтобы улучшить значение целевой функции (1) рассчитывается
(VFn( uj),xj)> a (v^i( up, xj)> a
(v^2( u ,.),xj)> a, (3)
(v^( up, j > a -i <xj< i
где Рп(й-) - целевая функция задачи (1), й-), ^2(й-), ..., й-) - неравенства из системы (2), являющиеся е-активными в точке й-, А7 = (7 А2, • .., А2п + т).
В построенном конусе возможных направлений избирается вектор А7 конечной длины, который обеспечивает наибольшее увеличение целевой функции (1). Для этого решается следующая вспомогательная задача: максимизировать величину скалярного произведения а7 при ограничениях, описываемых системой (3). Эта задача представляет собой задачу линейного программирования в (2и + т + 1) - пространстве векторов (А7, а7). Множество допустимых планов этой задачи замкнуто, ограничено и непусто, так как А7 = 0, а7 = 0 является
РЕЗУЛЬТАТЫ РЕШЕНИЯ ЗАДАЧИ
Задача. Необходимо упаковать максимальное количество одинаковых цилиндров радиуса г = 28 в призму, основанием которой является многосвязная область Р, заданная следующими данными: координатами вершин многоугольника Р0 - У01 = (30,400), У02 = (190,470), У03 = = (300,470), У04 = (450,400), У05 = (520,310), У06 = = (540,150), У07 = (340,30), У08 = (120,85), У09 = = (10,250); координатами вершин многоугольника Х^: У11 = (340,270), У12 = (370,340), У13 = (420,260), У14 = = (400,210), У15 = (355,220); координатами вершин многоугольника Х2: У21 = (180,380), У22 = (280,330), У23 = =-(250,300), У24 = (200,310); координатами центров и радиусов кругов области Х3: (180,180,28), (225,200,32), (220,160,26).
Результат решения задачи (1) при п = 46 показан на рис. 1. При этом, г1 = г = 28, г = 1, 2, ..., п. Координаты v¡ = (х, у) центров оснований цилиндров представлены в таблице 1.
Результат решения задачи (1) при п = 47 показан на рис. 2. При этом, г1 = г = 28, г = 1, 2, ..., п - 1, а гп = = 20, 7926 < г.
Таким образом, решение задачи упаковки цилиндров радиуса г = 28 в призму с заданным в примере основанием Р достигается при п = 46.
Таблица 1 — Координаты центров оснований упакованных цилиндров, n = 46
i 1 2 3 4 5 6 7
1-7 316,349 208,873 55,161 287,420 221,457 341,549 47,778
yi 249,841 279,203 374,403 297,805 391,045 195,434 318,887
8-14 Xi 152,009 40,035 286,018 159,977 104,003 197,149 450,488
yi 287,288 263,408 202,756 399,603 401,814 441,501 215,784
15-21 xi 334,398 253,151 161,104 96,096 173,665 67,322 98,385
yi 328,309 441,646 342,553 290,548 235,642 214,495 167,900
22-28 xi 105,192 416,612 129,448 319,956 309,113 275,071 387,496
yi 345,818 319,139 121,305 114,314 434,844 147,829 398,270
29-35 xi 335,440 366,596 446,289 498,679 277,415 505,585 117,742
yi 60,482 145,334 271,643 251,832 388,660 196,247 238,894
36-42 xi 382,080 436,669 479,522 180,850 281,092 333,258 236,213
yi 91,505 371,436 146,670 99,063 73,993 384,315 107,501
43-46 xi 472,303 257,087 416,074 431,556 - - -
yi 325,101 250,713 171,586 117,765 - - -
г э
1
Рисунок 1 — Решение задачи упаковки одинаковых цилиндров, п = 46
ВЫВОДЫ
Задача упаковки одинаковых цилиндров в многоугольной призме с зонами запрета сведена к двумерной задаче упаковки одинаковых кругов в выпуклом многоугольнике с зонами запрета. Построена математическая модель задачи и исследованы ее особенности. Разработан метод поиска локальных экстремумов задачи, который основывается на комбинации следующих методов: метода получения крайних точек с помощью дерева решений; модифицированного метода сужающихся окрестностей; метода локальной оптимизации, основанного на стратегии метода возможных направлений. На основа-
1
Рисунок 2 — Решение задачи упаковки одинаковых цилиндров, n = 47
нии построенной модели и разработанного метода решения создан программный продукт. Предложенный в статье подход к решению задачи развивает существующие методы решения многоэкстремальных задач оптимизационного геометрического проектирования. Его применение может быть расширено на решение и многих других многоэкстремальных задач, которые требуют организации перебора многочисленных локальных экстремумов.
ПЕРЕЧЕНЬ ССЫЛОК
1. George J.A., George J.M. and Lamar B.W. Packing different-sized circles into a rectangular container // European Journal of Operational Research. - 1995. - N. 84. - P.693-712.
2. George J.A. Multiple container packing: a case study of pipe packing // Journal of the Operational Research Society. -1996. - N. 47. - P.1098-1109.
3. Stoyan Yu.G. Ф-function and its basic properties // Доп. HAH Украши. - 2001. - № 8. - С. 112-117.
4. Stoyan Y, Terno J., Scheithauer G., Gil N, Romanova Т. Ф-functions for primary 2D-objects. Preprint MATH-NM-15-2001, Technical University of Dresden, 2001.
5. Stoyan Yu., Yaskov G., Scheithauer G. Packing of various radii solid spheres into a parallelepiped. Preprint MATH-NM-17-2001, Technical University of Dresden, 2001.
6. Пападимитриу X, Стайглиц К. Комбинаторная оптимизация. Алгоритмы и сложность: Пер. с англ. - Москва: Мир, 1985. -512 с.
7. Стоян Ю.Г., Аристова И.В., Яськов Г.Н. Адаптация метода ветвей и границ для решения задачи размещения прямоугольников с учетом минимально и максимально допустимых расстояний. - Харьков, 1995. - 35 с. - (Препр. HAH Украины. Ин-т пробл. машиностроения; № 384).
8. Стоян Ю.Г., Соколовский В.З. Решение некоторых многоэкстремальных задач методом сужающихся окрестностей. - Киев: Наук. думка, 1980. - 208 с.
9. Polak E. Computation methods in optimization. New York and London: Academic Press, 1971. - 329 p.
10. Зонтендейк Г. Методы возможных направлений. Изд-во иностранной литературы, Москва, 1963. - 176 с.
11. Гилл Ф., Мюррей V., Райт М. Практическая оптимизация: Пер. с англ. - Москва: Мир, 1985. - 509 с.
Надшшла 18.05.2004 Шсля доробки 27.11.2004
Побудована математична модель та досл1джет влас-mueocmi задач1. Розроблено метод пошуку локальних екс-тремум1в задачi. Пошук включае наступт етапи: побудова крайтх точок; пошук кращих крайтх точок модифжова-ним методом околиць, що звужуються; локальна oпmимi-защя методом можливих напрямкiв. Для отримання крайтх точок будуеться дерево рШень. Наведено чисельний приклад.
A mathematical model of the problem is constructed and its peculiarities are investigated. A method of searching for local extremums of the problem is developed. Searching includes following stages: construction of extreme points; searching for best extreme points by a modified method of convergent neighbourhood; local optimization by a method of feasible directions. For reception of extreme points a tree of decisions is constructed. A numerical example is given.