femap
Главная / Статьи / Ansys Multiphysics / Наложение взаимосвязей на параметры при оптимизации

Наложение взаимосвязей на параметры при оптимизации

( 1 Голос )
Сергейкин Олег Анатольевич 20.04.2009

Материал сайта: http://sergeykin.nm.ru

Введение

При назначении какого-либо параметра в программе ANSYS в качестве переменной проекта (design variable) задание максимального и минимального значений параметра не представляет собой особой проблемы. Для того чтобы задать такие ограничения для какого-либо параметра A, нужно ввести соответствующие значения (Amin и Amax) при назначении параметра A в качестве переменной проекта:

OPVAR,A,DV,AMIN,AMAX

взаимосвязи в ansys

Однако в некоторых случаях введение ограничений такого рода оказывается

недостаточным. Например, рассмотрим конструкцию, показанную на рис. 1. Предположим, что параметры M, N и R являются переменными проекта. Очевидно, что в данном случае для сохранения топологии конструкции в процессе оптимизации (окружность не должна пересекаться с отрезками) нужно наложить условия R < M и R < N, т. е. недостаточно задать максимальные и минимальные значения параметров.

В данной статье рассмотрены два способа наложения таких ограничений: первый - рекомендованный в документации к программе ANSYS и второй - альтернативный, кажущийся автору более удобным, чем первый.

Способ, рекомендованный в документации к программе ANSYS

Данный способ наложения зависимостей типа «A < B» между параметрами рекомендован в ANSYS Theory Reference (Chapter 20 - Design Optimization, p. 20-3), он предусматривает введение для этой цели дополнительной переменной состояния (state variable). Ниже приведено его описание.

1. Определяем параметр A (в analysis file)
2. Определяем параметр B (в analysis file)
3. Определяем параметр C = B - A (в analysis file)
4. Назначаем параметр A в качестве переменной проекта
5. Назначаем параметр B в качестве переменной проекта
6. Назначаем параметр 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,,

Однако, данный способ имеет недостатки, заключающиеся в следующем:

1. На начальных итерациях вполне возможно нарушение условия A < B, даже если в исходной конструкции оно было соблюдено. Его выполнение наступит только при приближении к сходимости. Это может вызвать проблемы со сходимостью. Кроме того, если A и B являются какими-либо геометрическими параметрами и условие A < B вызвано геометрической конфигурацией модели, то процесс оптимизации вообще может остановиться с сообщением о невозможности построить геометрический примитив №...

2. Введение дополнительной переменной состояния вызывает наложение дополнительной штрафной функции на целевую функцию, что также вызывает дополнительные трудности со сходимостью.

3. Возникает вопрос о том, какой допуск нужно наложить на ограничение C > 0. Если допуск уменьшить, то ухудшиться сходимость, а если увеличить, то ограничение C > 0 будет выполняться неточно.

Альтернативный способ

Т. к. недостатки приведенного выше способа ограничивают его применение, то хотелось бы найти другой способ наложения условия A < B, свободный от данных недостатков. В качестве такого способа можно использовать следующий:
1. Определяем параметр B (в analysis file)
2. Определяем параметр D (в analysis file)
3. Определяем параметр A = D*(B-Amin)+Amin (в analysis file), где Amin - минимальное значение параметра A
4. Назначаем параметр B в качестве переменной проекта
5. Назначаем параметр 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), нужно поступить следующим образом:
1. Определяем параметр B (в analysis file)
2. Определяем параметр C (в analysis file)
3. Определяем параметр D (в analysis file)
4. Определяем параметр A = D*[min(B,C)-Amin]+Amin (в analysis file), где Amin - минимальное значение параметра A
5. Назначаем параметр B в качестве переменной проекта
6. Назначаем параметр C в качестве переменной проекта
7. Назначаем параметр 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, поскольку введение дополнительных переменных состояния затрудняет процесс оптимизации.

Добавить комментарий


Защитный код
Обновить

© ProCae.ru 2007-2010 При полной или частичной перепечатке редакционных и авторских материалов гиперссылка на «ProCae.ru» обязательна

Rambler's Top100
форум воронежа