Задача минимизации массы при ограничении прочности
Рассмотрим простейшую однокритериальную задачу параметрической оптимизации конструкции по массе.
Рисунок 2.1 – Конструктивно-силовая схема трехстержневой фермы
Требуется найти площади поперечных сечений стержней b1, b2 и b3 так, чтобы конструкция имела минимальную массу. Дополнительным требованием является способность конструкции нести статическую нагрузку заданного вида и величины.
Деформирование трехстержневой фермы описывается системой двух линейных уравнений относительно перемещений нагруженного узла. В матричном виде эта система имеет вид:
, (2.1)
где K – матрица жесткости,
- столбец перемещений,
– столбец нагрузок.
Матрица жесткости зависит от конструктивных параметров. Для каждого из трех стержней матрица жесткости имеет вид:
, (2.2)
где E – модуль упругости,
li – длина i-го стержня,
bi – площадь сечения i-го стержня,
i – угол между осью i-го стержня и горизонтальной осью x.
Напряжения в каждом стержне могут быть выражены через перемещения, определяемые решением системы (2.1):
. (2.3)
Таким образом, получили ограничения:
. (2.4)
Целевой функцией является масса конструкции:
. (2.5)
Окончательно, получили следующую задачу математического программирования: найти минимум целевой функции (2.5) при ограничениях (2.4).
Приведем решение этой задачи при следующих числовых значениях известных параметров. Пусть модуль упругости и плотность всех стержней одинаковы, длины стержней (в метрах) равны , углы с осью x равны , сила величины 10 кН приложена горизонтально вправо, предел прочности материала МПа. Тогда получаем: необходимо найти минимум целевой функции
при ограничениях:
, , , , , ,
где
,
.
Решение этой задачи можно найти на компьютере, используя существующее программное обеспечение. Приведем пример использования для этой цели пакета программ MathCAD.
Рисунок 2.2 – Фрагмент программы оптимизации
На рисунке 2.2 показан фрагмент программы на входном языке пакета MathCAD. Вначале задается начальное приближение (все площади сечений принимаются равными 0,01 м). Затем записан решающий блок, в котором выписаны ограничения и условие равенства нулю целевой функции (на самом деле отыскивается значение, ближайшее к нулю в пределах ограничений, т.е. минимальное). Далее вызывается функция Minerr для определения оптимальных площадей сечений. В последней строке кода программы выводятся найденные площади, напряжения в стержнях и полученная масса конструкции (значение целевой функции). Как видно, в этом примере наилучшей по массе оказалась двухстержневая ферма (вертикальный стержень должен иметь нулевую площадь сечения).