Ограничениями в виде равенств будут уравнения равновесия узлов. Стержни 7-10 наклонены к горизонту под углом
.
![]()
![]()
(1)

![]()
![]()
(2)

![]()
![]()
(3)

![]()
.
(4)

,
.
(5)

![]()
![]()
(6)
Предельное состояние (текучесть) стержня наступает при достижении предельной силой значения
(7)
где
- площадь поперечного сечения.
Предельное состояние конструкции наступит, когда некоторое количество стержней окажется в состоянии текучести. Оптимальным окажется конструкция, удовлетворяющая целевой функции
(8)
при выполнении ограничений – равенств (1)-(6). Здесь F соответствует общему объёму стержней и может быть легко переведена в массу, вес.
Дополнительные ограничения-неравенства (условия прочности) будут в виде
(9)
Приведём их к канонической форме среды Matlab, т. е. двойные неравенства перепишем в виде
. (10)
Уравнения (1) - (6) позволяют записать для модели задачи, приведённой в начале данных записей, равенство
, (11)
где в качестве х выступает вектор
.
Уравнения (10) представляют неравенства
.
Здесь
- нулевой вектор.
Нижние и верхние ограничения lb, ub следует задать достаточно большими, чтобы они превышали по своим значениям возможные значения
. При этом lb должны быть отрицательными.
% ferma11. Задача линейного программирования.
% Статически неопределимая плоская ферма, загруженная силами Р1 Р2 Р3
% ro-плотность материала, А-площадь сечения
% Решение задачи линейного программирования
% Целевая функция F=с*x --> minimum (1)
% Система ограничений: Ax<=b, Aeq*x=beq, lb<=x<=ub (2)
% где с, x, b, beq, lb, ub - векторы, A и Aeq - матрицы.
% x=(x1,..x8)- аргументы, х1,..х10-площади сечений стержней
% х11,...х20 - продольные силы в сечениях,
% c - коэффициенты в (1)
% Найти такой х, который доставляет
% минимум F при ограничениях (2)
% F(x) = l1*A1 + ...l10*A10 --> inf
clear;
disp('Начало_____________________');
% Исходные данные:
R=240e+06; P1=90000; P2=60000; P3=30000; P4=40000;
a=1; h=1; l0=sqrt(a^2+h^2); cs=a/l0; si=h/l0;
% Опрелеляем опорные реакции
VA=P1+P2+P3; HB=(P1*a+2*P2*a+P4*h)/h; HA=HB-P4;
l=[1 1 1 1 1 1 1.414 1.414 1.414 1.414];
% A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 N1 N2 N3 N4 N5 N6 N7 N8 N9 N10
c=[1 1 1 1 1 1 1.414 1.414 1.414 1.414 0 0 0 0 0 0 0 0 0 0];
% Система равенств (условия равновесия:
% A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 N1 N2 N3 N4 N5 N6 N7 N8 N9 N10
Aeq=[0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 cs 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 si 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 cs 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 si 0 0;
0 0 0 0 0 0 0 0 0 0 -1 1 0 0 0 0 0 - cs cs 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 - si - si 0;
0 0 0 0 0 0 0 0 0 0 0 0 -1 1 0 0 - cs 0 0 cs;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 si 0 0 si;
0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 - cs;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 - si;
0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 - cs 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 si 0];
% Ранг матрицы rank(Aeq)=3
beq=[HB - P3 - HA - VA 0 0 0 P1 - P4 0 0 P2];
% Система неравенств (условия прочности стержней):
% A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 N1 N2 N3 N4 N5 N6 N7 N8 N9 N10
A=[-R 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0;
- R 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0;
0 - R 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0;
0 - R 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0;
0 0 - R 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0;
0 0 - R 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0;
0 0 0 - R 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0;
0 0 0 - R 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0;
0 0 0 0 - R 0 0 0 0 0 0 -1 0 0 -1 0 0 0 0 0;
0 0 0 0 - R 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0;
0 0 0 0 0 - R 0 0 0 0 0 0 0 0 0 -1 0 0 0 0;
0 0 0 0 0 - R 0 0 0 0 0 0 0 0 0 1 0 0 0 0;
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 |


