(2 курс, Стр.)

НЕКОТОРЫЕ ЗАДАЧИ ОПТИМИЗАЦИИ КОНСТРУКЦИЙ И ТЕХНОЛОГИЙ

Требования к проектируемым зданиям и сооружениям, к организации и технологиям их возведения постоянно повышаются. Если раньше, например, к конструкциям предъявлялись лишь требования прочности, жёсткости и устойчивости, то теперь необходимо, чтобы они были предельно лёгкими и, в то же время, экономичными. В связи с этим возникают задачи оптимального проектирования конструкций и программирования производственных процессов. Однако практическое применение даже давно разработанных методов математического программирования сдерживается их сложностью, громоздкостью, большими объёмами вычислений, требованиями высокой программистской квалификации к отраслевым специалистам.

Цель данного доклада состоит в иллюстрации того, что упомянутые затруднения легко преодолеваются с помощью популярного вычислительного комплекса MATLAB. Рассматривается класс задач проектирования, организации, технологий, управления производством, квалифицируемых как задачи линейного программирования.

В среде MATLAB задачи линейного программирования решаются с помощью функции linprog. Функция linprog решает задачу линейного программирования в форме

  (min),

[x, fval] = linprog (c, A, b, Aeq, beq, lb, ub) - основной вид.

Основными входными данными linprog являются: вектор коэффициентов целевой функции с, матрица ограничений-неравенств A, вектор правых частей ограничений-неравенств b, матрица ограничений-равенств Aeq, вектор правых частей ограничений-равенств beq, вектор lb, ограничивающий план x снизу, вектор ub, ограничивающий план x сверху. На выходе функция linprog даёт оптимальный план x задачи (1) и экстремальное значение целевой функции fval.

НЕ нашли? Не то? Что вы ищете?

Если какой-то из входных параметров отсутствует, на его место следует поставить квадратные скобки [], за исключением случая, когда это последний параметр в списке. Например, если нужно решить задачу без ограничений равенств, в которой не задано начальное приближение, то оператор вызова функции linprog будет выглядеть так:

[x, fval] = linprog(с, A, b, [], [], lb, ub).

I. Проектирование конструкций

1.Неразрезные балки

Пример 1. Заданы схема (рис. 1) и две нагрузки для двухпролётной жёстко-пластической неразрезной балки из двух элементов постоянного прямоугольного сечения, определяемых пластическими моментами и . Требуется подобрать их значения, соответствующие минимуму массы конструкции в условиях упруго-пластической работы. Показана ориентировочная эпюра изгибающих моментов. Характерные сечения обозначены цифрами.

Решение

Массу конструкции можно принять пропорциональной предельным пластическим моментам и длинам стержней. Тогда целевая функция примет вид

,  (1)

где

,  (2)

Здесь b, h – размеры прямоугольного поперечного сечения.

Данная балка один раз статически неопределимая. Эквивалентная система метода сил имеет вид по рис.2, где лишняя неизвестная метода сил. Выразим через неё максимальные пролётные моменты

.  (3)

Условия прочности (пластичности) в опасных сечениях 1, 2, 3 имеют вид:

.  (4)

Здесь условия прочности для сечения 3 выписаны дважды: для сечений слева и справа.

Для приведения к каноническому виду в среде Matlab двойные неравенства (4) перепишем в виде

,  (5)

  (6)

и в неравенствах (5) заменим выражениями из (3) и получим

,

.  (7)

В компьютерной программе на языке Matlab каноническую математическую модель данной задачи можно представлять в 2-х вариантах:

Целевая функция (1), равенства (3), неравенства (5), (6). Целевая функция (1), неравенства (6), (7).

Перепишем (3) в виде, совпадающем с каноническим

  (8)

% balka1_var1 Задача линейного программирования

% Статически неопределимая двухпролётная балка

% c шарнирными опорами, загруженная силами Р1, Р2.

% Решение задачи линейного программирования

% Целевая функция F=c*x --> minimum  (1)

% Система ограничений: Ax<=b, lb<=x<=ub

% где c, x, b, lb, ub - векторы, A - матрица.

% x=(x1, x2,...x5)=(M10 M20 M1 M2 M3)- аргументы,

% c - коэффициенты в (1)

% Найти такой х, который доставляет

% минимум F при условии Ax<=b,  lb<=x<=ub

% F(x)=l1*M10+l2*M20+0*M1+0*M2+0*M3  --> inf

clear;

disp('Начало___________________________________');

P1=20; P2=40; a=1; bb=3; d=4; e=2; l1=a+bb; l2=e+d;

l=[l1 l2];

% M10  M20  M1  M2  M3

c=[l1  l2  0  0  0 ];

% Система равенств (уравнения равновесия):

%  M10 M20  M1  M2  M3 

Aeq=[0  0  l1  0  - a;

  0  0  0  l2  - d];

beq=[P1*a*bb;  P2*e*d];

% Система неравенств(прочности, пластичности):

%  M10  M20  M1  M2  M3

A=[-1  0  -1  0  0;

  -1  0  1  0  0;

  0  -1  0  -1  0;

  0  -1  0  1  0;

  -1  0  0  0  -1;

  -1  0  0  0  1;

  0  -1  0  0  -1;

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5