Сергейкин О.А. - Наложение взаимосвязей на параметры при оптимизации конструкций
Описание файла
Документ из архива "Сергейкин О.А. - Наложение взаимосвязей на параметры при оптимизации конструкций", который расположен в категории "". Всё это находится в предмете "основы автоматизированного проектирования (оап)" из 7 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "основы автоматизированного проектирования (сапр)" в общих файлах.
Онлайн просмотр документа "Сергейкин О.А. - Наложение взаимосвязей на параметры при оптимизации конструкций"
Текст из документа "Сергейкин О.А. - Наложение взаимосвязей на параметры при оптимизации конструкций"
НАЛОЖЕНИЕ ВЗАИМОСВЯЗЕЙ НА ПАРАМЕТРЫ ПРИ ОПТИМИЗАЦИИ КОНСТРУКЦИЙ
Сергейкин Олег Анатольевич
МГТУ им. Н. Э. Баумана, кафедра МТ-1 (“Металлорежущие станки”)
http://sergeykin.hotbox.ru http://sergeykin.da.ru
sergeykin@hotbox.ru
28 октября 2001 г.
Рассматриваются различные способы наложения взаимосвязей типа «A < B» между переменными проекта при оптимизации конструкций в программе ANSYS. Указан способ наложения таких ограничений без введения дополнительных переменных состояния.
Введение
При назначении какого-либо параметра в программе ANSYS в качестве переменной проекта (design variable) задание максимального и минимального значений параметра не представляет собой особой проблемы. Для того чтобы задать такие ограничения для какого-либо параметра A, нужно ввести соответствующие значения (Amin и Amax) при назначении параметра A в качестве переменной проекта:
O
Рис. 1. Для сохранения топологии конструкции при оптимизации нужно наложить взаимосвязи между переменными проекта (R<M и R<N)
PVAR,A,DV,AMIN,AMAXОднако в некоторых случаях введение ограничений такого рода оказывается недостаточным. Например, рассмотрим конструкцию, показанную на рис. 1. Предположим, что параметры M, N и R являются переменными проекта. Очевидно, что в данном случае для сохранения топологии конструкции в процессе оптимизации (окружность не должна пересекаться с отрезками) нужно наложить условия R < M и R < N, т. е. недостаточно задать максимальные и минимальные значения параметров.
В данной статье рассмотрены два способа наложения таких ограничений: первый – рекомендованный в документации к программе ANSYS и второй – альтернативный, кажущийся автору более удобным, чем первый.
Способ, рекомендованный в документации к программе ANSYS
Данный способ наложения зависимостей типа «A < B» между параметрами рекомендован в ANSYS Theory Reference (Chapter 20 – Design Optimization, p. 20-3), он предусматривает введение для этой цели дополнительной переменной состояния (state variable). Ниже приведено его описание.
-
Определяем параметр A (в analysis file)
-
Определяем параметр B (в analysis file)
-
Определяем параметр C = B - A (в analysis file)
-
Назначаем параметр A в качестве переменной проекта
-
Назначаем параметр B в качестве переменной проекта
-
Назначаем параметр C в качестве переменной состояния и накладываем на нее ограничение C > 0
Команды ANSYS, соответствующие данному способу, выглядят следующим образом:
A=A0
B=B0
C=B-A
...
OPVAR,A,DV,AMIN,AMAX
OPVAR,B,DV,BMIN,BMAX
OPVAR,C,SV,0,,
Однако, данный способ имеет недостатки, заключающиеся в следующем:
-
На начальных итерациях вполне возможно нарушение условия A < B, даже если в исходной конструкции оно было соблюдено. Его выполнение наступит только при приближении к сходимости. Это может вызвать проблемы со сходимостью. Кроме того, если A и B являются какими-либо геометрическими параметрами и условие A < B вызвано геометрической конфигурацией модели, то процесс оптимизации вообще может остановиться с сообщением о невозможности построить геометрический примитив №...
-
Введение дополнительной переменной состояния вызывает наложение дополнительной штрафной функции на целевую функцию, что также вызывает дополнительные трудности со сходимостью.
-
Возникает вопрос о том, какой допуск нужно наложить на ограничение C > 0. Если допуск уменьшить, то ухудшиться сходимость, а если увеличить, то ограничение C > 0 будет выполняться неточно.
Альтернативный способ
Т. к. недостатки приведенного выше способа ограничивают его применение, то хотелось бы найти другой способ наложения условия A < B, свободный от данных недостатков. В качестве такого способа можно использовать следующий:
-
Определяем параметр B (в analysis file)
-
Определяем параметр D (в analysis file)
-
Определяем параметр A = D*(B-Amin)+Amin (в analysis file), где Amin - минимальное значение параметра A
-
Назначаем параметр B в качестве переменной проекта
-
Назначаем параметр D в качестве переменной проекта, имеющей минимальное значение Dmin = 0 и максимальное значение Dmax = 1
Параметр A напрямую не участвует в оптимизации ни в качестве переменной проекта, ни в качестве переменной состояния, однако условие A < B будет соблюдаться.
Т. к. при использовании данного способа не вводятся дополнительные переменные состояния, то отсутствуют и проблемы, описанные выше.
Команды ANSYS, соответствующие данному способу:
B=B0
D=D0
A = D*(B-AMIN)+AMIN
...
OPVAR,B,DV,BMIN,BMAX
OPVAR,D,DV,0,1
Следует отметить, что данный способ напрямую невозможно применить для наложения на параметр A двух или более условий такого типа. Т. е. если, например, поочередно наложить на параметр A два условия A < B и A < C, то при оптимизации будет учтено только то из этих условий, которое было наложено последним.
Для того чтобы при оптимизации были учтены оба этих условия (A < B и A < C), нужно поступить следующим образом:
-
Определяем параметр B (в analysis file)
-
Определяем параметр C (в analysis file)
-
Определяем параметр D (в analysis file)
-
Определяем параметр A = D*[min(B,C)-Amin]+Amin (в analysis file), где Amin - минимальное значение параметра A
-
Назначаем параметр B в качестве переменной проекта
-
Назначаем параметр C в качестве переменной проекта
-
Назначаем параметр D в качестве переменной проекта, имеющей минимальное значение Dmin = 0 и максимальное значение Dmax = 1
Использование данной процедуры при любых значениях параметров будет обеспечивать наложение на параметр A верхнего ограничения исходя из наименьшего значения параметров B и C.
Соответствующая данной процедуре последовательность команд ANSYS приведена ниже. Выражение [(B+C)-|B-C|]/2 эквивалентно выражению min(B,C) (в программе ANSYS отсутствует операция нахождения минимума для двух чисел). Аналогичным способом можно накладывать любое количество ограничений на параметр.
B=B0
C=C0
D=D0
A = D*(((B+C)-ABS(B-C))/2-AMIN)+AMIN
...
OPVAR,B,DV,BMIN,BMAX
OPVAR,C,DV,CMIN,CMAX
OPVAR,D,DV,0,1
Заключение
Таким образом, указан способ наложения взаимосвязей типа «A < B» между переменными проекта в программе ANSYS, не требующий введения дополнительных переменных состояния. Применение данного способа кажется автору наиболее целесообразным по сравнению со способом, описанным в документации к программе ANSYS, поскольку введение дополнительных переменных состояния затрудняет процесс оптимизации.