Шестаков В.С. Оптимизация параметров горных машин. Учебное пособие (811777), страница 2
Текст из файла (страница 2)
Выбор этого раздела обусловлен тем, что вбольшинстве случаев в инженерной практике при оптимизации решаются задачи, целевые функции которых включают достаточнобольшое число сложных нелинейных зависимостей, иногда функции имеют разрывы, а вычисление значения функции выполняетсяпо сложному алгоритму с привлечением численных методов. Классические методы нахождения экстремумов целевых функций длятаких задач не применяются, а используются именно методы поисковой оптимизации.Еще одна цель, которая ставилась в пособии, – в одном источнике привести все необходимые сведения для решения разнообразных оптимизационных задач.
Так как без применения ЭВМ провести оптимизацию практически невозможно, то в пособии представлено описание языка программирования, методики составленияалгоритмов и примеры решения задач с программами для ЭВМ.Рассмотрено решение задач в среде электронных таблиц Excel сязыком визуального программирования Visual Basic для приложений.Изучение представленных в пособии разделов позволит самостоятельно освоить решение оптимизационных и других инженерных задач с помощью ЭВМ. Пособие предназначено для студентовмеханических специальностей горной академии и может быть полезным инженерно-техническим работникам, занимающимся оптимизацией и расчетами на ЭВМ.5ВВЕДЕНИЕОптимизация проекта является одной из главных целей деятельности каждого инженера. Задачи оптимизации решаются припроектировании и при эксплуатации объектов.
Реализация оптимальных режимов работы позволяет повысить производительностьобъекта, обеспечение оптимальных параметров в процессе проектирования - снизить массу объекта, повысить его производительностьи надежность.Оптимизационные задачи обычно характеризуются высокойсложностью и требуют использования специальных методов дляполучения результата.Оптимизацию можно проводить путем экспериментированиянепосредственно на объекте, на физической или математическоймодели. Чаще используются модели, так как экспериментирование собъектом не всегда возможно или очень дорого.
В виде моделейобычно используются математические зависимости, составляющиецелевую функцию. При использовании ЭВМ можно проводить такие же исследования, как и на реальном объекте, для этого в программе необходимо предусмотреть специальные блоки, имитирующие взаимодействия частей и узлов. Ввиду проведения большогочисла исследований с помощью ЭВМ студенты в процессе обучения в вузе должны научиться составлять и решать задачи с помощью ЭВМ.
При расчетах объектов обычно используются специализированные пакеты, предназначенные для решения конкретных задач, например, MatCad, AutoCad, пакет расчета методом конечныхэлементов, пакет прочностных расчетов и т. п. Для работы в такихпакетах изучается соответствующая документация и не требуетсяособых знаний по программированию.
Но иногда возможностей таких специализированных пакетов недостаточно, и приходится разрабатывать собственные методики и реализовывать их в виде программ для ЭВМ. Для программирования, в зависимости от задачи,применяется соответствующий язык. В последние годы большоераспространение получили пакеты «визуального» программирования (Delphi, Visual С++, Visual Basic). Эти пакеты достаточно сложны, и программы на них составляют специалисты в области программирования.
Практика решения инженерных задач с применением ЭВМ показывает, что привлечение профессиональных програм6мистов для составления программ решения конкретных инженерных задач связано с определенными сложностями. Инженер разрабатывает методику решения задачи в виде набора математических илогических выражений, составляет алгоритм решения и передаетпрограммисту. Программист обычно не имеет инженерных знаний вобласти решаемой задачи и поэтому тратит значительное время,чтобы разобраться в незнакомой ему методике и алгоритме.
Иногдаочень сложно разъяснить неспециалисту все особенности решаемойзадачи, и в результате составленная программа может неверно выполнять задание. Учитывая это, инженер должен или уметь программировать, чтобы самостоятельно составить всю программу,или, по крайней мере, грамотно поставить задачу программисту.Область программирования очень велика, и овладеть всеми языками и пакетами просто невозможно, поэтому необходимо выбратькакой-либо базовый язык и на нем освоить программирование. Признании одного языка перейти на другой значительно проще. На какомже языке из всего многообразия остановиться? На мой взгляд, в качестве такого языка может быть принята среда электронных таблицExcel со встроенным языком визуального программирования VisualBasic для приложений.
Excel входит в пакет Microsoft Office и имеется практически на всех компьютерах. Его освоение доступно практически всем. Но непосредственно в Excel можно решать не все задачи,а только сравнительно простые. Особенностью практически всехинженерных задач является сложность алгоритма расчетов с наличием циклов и разнообразных проверок. Такие алгоритмы не могутбыть реализованы стандартными средствами электронных таблиц, атолько на встроенном алгоритмическом языке Visual Basic.Рекомендации по изучению пособия:- пытайтесь вначале самостоятельно решить все приведенныепримеры, а если такое не удается, то только потом полностью изучить пример из пособия;- для студентов, не достаточно хорошо владеющих решением задач с применением алгоритмических языков, необходимо вначале поприложению освоить программирование в среде Visual, изучить составление алгоритмов.71.
ОБЩИЕ СВЕДЕНИЯ ПО ОПТИМИЗАЦИИ1.1. Понятие оптимизации и требования к специалистамЧто такое “провести оптимизацию”? Это означает найти “самое наилучшее решение, какое только возможно в данном случае”.В инженерной практике приYнято для иллюстрации, длялучшего понимания использовать графические изображения, в частности графики. Задачу оптимизации для наглядYminности можно представлять вXвиде графика. По оси Y распоXоптлагаются значения, выражаюРис. 1.1. Вариант графикащиецель оптимизации (еефункции при оптимизациипринято называть целевойфункцией), например, массаобъекта, а по оси Х – параметр, который влияет на рассматриваемую цель (принято называть переменной оптимизации), например,скорость подъема.
«Лучшим» решением Xопт будет то, при котороммасса будет минимальной (на графике обозначено Ymin). Для другихзадач, например при оптимизации по производительности, «лучшим» будет наибольшее значение функции. Таким образом, припроведении оптимизации мы решаем задачу поиска экстремума.Решение таких задач студенты осваивают при изучении математики. Напомню: необходимо взять производную, приравнять ее нулюи, решив уравнение, найти значение переменной. В чем же особенность решения задач оптимизации, почему необходимо изучать дополнительный курс? Ответом на этот вопрос будет следующее.В большинстве случаев в инженерной практике при оптимизации решаются задачи, целевые функции которых включают достаточно большое число сложных нелинейных зависимостей, что исключает возможность вычисления производных.
Иногда функцииимеют разрывы. Исходя из этих соображений, при оптимизацииприменяются специальные методы.Имеется также круг задач, графики которых не имеют экстремумов. Оптимальное решение для таких задач будет при минималь8но допустимом или максимально допустимом значении переменной.Еще для одной группы задач присуща такая особенность, что вних требуется в процессе решения реализовать достижение нескольких целей, т. е. у них будет несколько графиков функций,причем экстремумы для них достигаются при разных значениях переменных.В процессе изучения дисциплины мы научимся решать такиезадачи.На что еще следует обратить внимание, чтобы успешнее изучать дисциплину и действительно научиться проводить оптимизацию? Оптимизация относится к творческим задачам, здесь практически исключается формализм, каждая задача индивидуальна, поэтому простое формальное заучивание известных задач и следование решению по образцу очень редко обеспечит достижение решения.
Отсюда следует, что при добросовестном изучении даннойдисциплины наряду с получением соответствующих специальныхзнаний студенты приобретут навыки инженерного творчества.Для оптимизационных задач следует также отметить и то, чтопрактически все они при расчетах требуют использования ЭВМ.Следовательно, специалисты, которые проводят оптимизацию,должны знать основы программирования.