Использование возможностей пакета MathCad для оптимального проектирования подъемно-транспортных машин

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

Эта проблема может быть решена с использованием специализированных математических программных пакетов. Они представляют собой приложения для известных операционных систем и позволяют проводить численные расчеты без необходимости владения навыками программирования.

Широкое применение нашел универсальный математический программный комплекс MathCAD. Его основное достоинство — использование естественного математического символьного языка, на котором формируются решаемые задачи. При этом решение математической задачи совмещено с подготовкой текстового документа, отражающего все этапы решения математической задачи. Таким образом, пользователь может не только решить задачу, но и подготовить текст пояснительной записки к защите лабораторной работы или практического задания.

Для изучения математического программного комплекса MathCAD рекомендуем ознакомиться с учебными изданиями [5, 12]. Далее рассмотрим только необходимые инструменты и функции для решения задач оптимизации. Интерфейс комплекса MathCAD показан на рис. 1.11.

Главное окно комплекса MathCAD (см. рис. 1.11) содержит стандартные для приложений операционной системы Windows элементы:

  • • рабочую зону 1, в которой пользователь выполняет математические операции;
  • • главное меню 2, дублирующее команды панелей инструментов;
  • • стандартную панель инструментов 3, содержащую инструменты работы с файлами, буфером обмена, импортированными объектами, отображением документа;
  • • панель форматирования текста 4, позволяющую настроить отображение информации в рабочей зоне для повышения наглядности материала при выводе документа на печать.
Главное окно математического программного комплекса MathCAD

Рис. 1.11. Главное окно математического программного комплекса MathCAD:

I — рабочая зона приложения; 2 — главное меню; 3 — стандартная панель инструментов; 4 — панель форматирования текста; 5 — панель

«Математика»; 6 — панель «Исчисления»; 7 — панель «Графики»; 8 — панель «Оценка»; 9 — панель «Вектора и матрицы»; 10 — панель «Логика»;

II — панель «Калькулятор»; 12 — панель «Символика»; 13 — панель

«Программированиие»; 14 — панель «Греческие символы»

Специфические для математического программного комплекса функции сведены в ряд панелей инструментов. Среди них главной является панель «Математика» 5, с помощью которой можно показать или скрыть следующие панели инструментов:

  • • панель «Исчисления» 6, содержащая инструменты дифференцирования, интегрирования, суммирования, перемножения и вычисления пределов;
  • • панель «Графики» 7, с помощью которой можно построить графики различного вида;
  • • панель «Оценка» 8 для управления вычислениями;
  • • панель «Вектора и матрицы» 9 для ввода данных в виде векторов и матриц, а также выполнения стандартных матричных операций (обращение, транспонирование, вычисление определителей и т. д.);
  • • панель «Логика» 10, содержащая знаки сравнения величин, инструменты работы с множествами;
  • • панель «Калькулятор» 11, позволяющая задать стандартные алгебраические и тригонометрические функции;
  • • панель «Символика» 12, управляющая функциями решения различных математических задач, позволяющих получить решение в символьном виде (в виде формулы, а не числа);
  • • панель «Программирование» 13, позволяющая программировать численные методы решения задач оптимизации;
  • • панель «Греческие символы» 14, позволяющая расширить набор символов для записи имен переменных.

К числу основных объектов, используемых при проведении вычислений в MathCAD, можно отнести следующие: переменная, константа, системная переменная, функция, оператор. Они однозначно определяются своими идентификаторами. Идентификаторы (названия) указанных понятий могут содержать строчные и прописные латинские буквы, арабские цифры, ряд греческих букв и специальных знаков. Идентификаторы должны быть оригинальны. Кроме того, нельзя использовать в качестве идентификаторов названия стандартных функций, например sin, cos.

Константа — это объект, имеющий постоянное значение в пределах всего документа. Существуют предварительно заданные константы, которые называются системными переменными, например число л (р = 3,14...), основание натуральных логарифмов (е = 2,71...) и др.

Чтобы задать константу с идентификатором А, необходимо поместить курсор мыши в нужное место рабочей зоны приложения и ввести выражение

А := 100.

Операция присвоения записывается виде символа двоеточия и равенства. Соответствующий инструмент := также расположен на панели «Оценка».

Простой символ равенства означает вывод значения ранее заданной константы, результата вычисления переменной или функции в численном виде. Например, если после задания константы А ниже записать выражение

А =

и щелкнуть мышью в любом месте рабочей зоны, то программа автоматически выведет из памяти ранее присвоенное константе значение и записанное выражение примет вид

А = 100.

Стандартные и заданные пользователям функции позволяют формулировать математические задачи. Например, функция

FI (х):=sin(x) + 5+А может быть использована для решения уравнения sin (х) + 5 + А - 0. При этом при задании пользовательской функции Fl(x) была использована стандартная функция комплекса sin(), позволяющая вычислить синус аргумента (в данном случае переменной х).

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

Следует отметить, что математические комплексы поддерживают программирование с помощью специальных инструментов (см. панель 13 на рис. 1.11). Таким образом, с их использованием можно реализовать рассмотренные ранее численные методы оптимизации. Учебные и методические издания, предназначенные для инженеров, часто предлагают применять именно такой подход (рис. 1.12).

Фрагмент программного кода в программном комплексе MathCAD

Рис. 1.12. Фрагмент программного кода в программном комплексе MathCAD

Однако это нерационально. Если инженер владеет навыками программирования, то программу оптимизации целесообразно разрабатывать с использованием универсальных языков программирования, например C++, Pascal, Python и др. Во-первых, такой код можно будет встроить в более глобальную расчетную программу, не только решающую задачу оптимизации, а, например, полностью автоматизирующую процесс проектирования конструкции. Во-вторых, при программировании встроенными в математический комплекс средствами невозможно использовать удобные приемы, например использовать вспомогательные переменные численного метода при вычислении значений, связывающих физические величины. Поэтому в учебном курсе указанный подход не рассматривается.

Рассмотрим специальные функции математического программного комплекса MathCAD для решения ряда учебных задач оптимизации. Простейшие задачи, как правило одномерной оптимизации, возможно решить графическим способом. Более сложные задачи требуют использования специальных функций оптимизации, встроенных в математический комплекс.

Задача 1. Необходимо вырезать из стальной листовой заготовки круглой формы такой сектор, чтобы из него можно было изготовить (согнуть) одну емкость для транспортирования сыпучих грузов конусообразной формы (рис. 1.13). При этом необходимо получить:

  • а) емкость наибольшего объема;
  • б) емкость наибольшего объема при условии, что из остатка материала будет изготовлена вторая емкость.
Расчетная схема задачи оптимального проектирования емкости для транспортирования сыпучих грузов

Рис. 1.13. Расчетная схема задачи оптимального проектирования емкости для транспортирования сыпучих грузов:

а — листовая заготовка; б — емкость, вид сбоку

Решение подзадачи «а» требует максимизации объема получаемой конусообразной емкости. Таким образом, в качестве целевой функции выбираем объем емкости, зависящий от диаметра исходной заготовки R и углового размера вырезаемого сектора х. Величины х и R являются независимыми параметрами при решении данной задачи оптимизации. Ограничения и зависимые параметры в данной задаче отсутствуют.

Перейдем к решению задачи в программном комплексе MathCAD. Для этого запускаем приложение и устанавливаем курсор в произвольном месте рабочей зоны. С помощью клавиатуры вводим функцию Rl(x,R), определяющую радиус основания конуса проектируемой емкости, зависящую от двух указанных переменных. Для возведения переменных в квадрат используем кнопку х2 панели «Калькулятор». Знак умножения и скобки можно ввести с помощью клавиатуры или с помощью соответствующих команд панели «Калькулятор». Корректно введенное выражение должно выглядеть следующим образом:

Ниже вводим выражение, определяющее целевую функцию. Для взятия квадратного корня необходимо использовать кнопку Г панели «Калькулятор». Устанавливаем курсор в появившуюся рамку yfi и вводим подкоренное выражение. Корректно введенное выражение должно выглядеть следующим образом:

Находим производную целевой функции, воспользовавшись встроенным инструментом взятия производной. Для этого устанавливаем курсор мыши в рабочей зоне под ранее записанными выражениями, нажимаем на панели «Исчисления» кнопку ^ . Устанавливаем курсор в появившуюся рамку и вводим идентификатор

функции, от которой надо взять производную. В данном случае — это функция V(x,R):

Для нахождения точек экстремума целевой функции необходимо превратить записанное выражение для взятия производной в уравнение. Для этого используем кнопку = панели «Логика». Приравниваем производную / к нулю. Окончательно записанное выражение, содержащее производную целевой функции, должно выглядеть следующим образом:

Решаем записанное уравнение. Для этого устанавливаем курсор рядом с переменной х в последнем выражении, выбираем команду меню Символика —>Переменная —»Разрешить. Результаты решения уравнения программа выведет ниже в следующем виде:

Проанализировав полученные результаты, можно сделать вывод, что физический смысл имеет только второй корень уравнения. Также очевидно, что от радиуса исходной окружности R оптимальный угол не зависит. Таким образом, оптимальный угловой размер вырезаемого сектора составляет 66,061°. Для условий реального производства целесообразно установить значение этого угла 66°, так как измерение тысячных долей градуса с использованием стандартных слесарных инструментов является трудной задачей, значительно снижающей производительность труда.

Решение данной задачи также можно получить графически. Для этого необходимо поместить курсор в рабочей зоне приложения и нажать кнопку панели «Графики». После этого автоматически будет создана заготовка графика (рис. 1.14).

Заготовка для построения графика

Рис. 1.14. Заготовка для построения графика

В поле, расположенном вдоль оси абсцисс, необходимо ввести имя переменной, от которой зависит функция, график которой будет построен. В поле, расположенном вдоль оси ординат, необходимо задать имя функции. В нашем случае — это функция объема емкости V(x,R). Значение радиуса R принимаем равным 1 м. Тогда построенный график будет выглядеть следующим образом (рис. 1.15).

Графическое решение задачи оптимального проектирования емкости для транспортирования сыпучих грузов

Рис. 1.15. Графическое решение задачи оптимального проектирования емкости для транспортирования сыпучих грузов

Для наглядной демонстрации того, что оптимальное значение не зависит от радиуса исходной заготовки, построим серию графиков при различных значения радиуса (рис. 1.16). Видно, что оптимальное значение углового размера сектора х всегда одинаково.

Графическое решение задачи о емкости для транспортирования сыпучих грузов

Рис. 1.16. Графическое решение задачи о емкости для транспортирования сыпучих грузов

для различных значений R

Из условия подзадачи «б» из вырезанного сектора делается вторая емкость. Необходимо в сумме обеспечить максимальный объем двух емкостей. Для получения ответа приравниваем производную целевой функции к нулю и решаем полученное уравнение с помощью метода решения уравнений Given — Find. Листинг 1.1 решения подзадачи в программном комплексе MathCAD приведен ниже.

Листинг 1.1

Решение подзадачи «б» оптимального проектирования емкости в программном комплексе MathCAD

Таким образом, оптимальное значение углового размера равно 116,68°. Руководствуясь известными производственными соображениями, окончательно принимаем оптимальное значение параметра х равным 117° или 120°.

Задача 2. Имеется балка длиной 1,0 м, шарнирно опертая по двум торцам, нагруженная распределенной нагрузкой 1000 Н/м. Балка изготовлена из стального двутавра. Необходимо получить балку наименьшей массы при соблюдении условий прочности и жесткости. Параметры двутавра: Н — высота; В — ширина; t — толщина полок и стойки.

Листинг 1.2 решения задачи с использованием встроенных функций maximize / minimize в программном комплексе MathCAD приведен ниже. Функция maximize находит максимумы, а функция minimize — минимумы исследуемой функции, заданной пользователем. Результаты расчета возвращаются в виде вектора, содержащего оптимальные значения параметров целевой функции. Результат расчета зависит от выбора начальной точки оптимизации, так как алгоритм находит один максимум, наиболее близкий к начальной точке.

Листинг 1.2

Решение задачи о двутавре

Сравнив значения целевой функции для всех полученных оптимальных решений, находим точку глобального минимума целевой функции. Это первая точка, в которой значение целевой функции составляет 3,5-10-4 м2, высота Н = 0,035 м, ширина В = 0,035 м; толщина стенки t = 0,0035 м. Она и является решением задачи оптимизации. Интересно отметить, что для данных условий оптимальным является сечение двутавра, вписанное в квадрат.

Таким образом, в программном комплексе MathCAD можно решить задачу оптимизации исследующим образом:

  • • построить график целевой функции и найти визуально глобальный экстремум;
  • • в символьном виде вычислить производную целевой функции и найти критические точки, решив уравнение любой из встроенных функций комплекса MathCAD;
  • • использовать специальную функцию поиска минимумов minimize или максимумов maximize, многократно повторив решение при различных начальных значениях управляемых параметров целевой функции.
 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >