С. А. БЕРЕСТОВА Л. С. ГОРУЛЕВА Е. Ю. ПРОСВИРЯКОВ ЭКСТРЕМАЛЬНЫЕ И ОПТИМАЛЬНЫЕ МЕТОДЫ В ИНЖЕНЕРНОЙ ДЕЯТЕЛЬНОСТИ Учебное пособие Министерство науки и высшего образования Российской Федерации Уральский федеральный университет имени первого Президента России Б. Н. Ельцина С. А. Берестова Л. С. Горулева Е. Ю. Просвиряков ЭКСТРЕМАЛЬНЫЕ И ОПТИМАЛЬНЫЕ МЕТОДЫ В ИНЖЕНЕРНОЙ ДЕЯТЕЛЬНОСТИ Учебное пособие Рекомендовано методическим советом Уральского федерального университета для студентов вуза, обучающихся по направлениям подготовки: 23.03.02 — Наземные транспортно-технологические комплексы, 09.03.01 — Информатика и вычислительная техника, 20.05.01 — Пожарная безопасность Екатеринбург Издательство Уральского университета 2023 УДК 51(075.8) ББК 22.16я73 Б48 Рецензенты: заведующий лабораторией прикладной механики, канд. техн. наук, доц. Л. Ф. Спевак; канд. физ.-мат. наук, доц., декан электротехнического факультета Уральского государственного университета путей сообщения В. В. Башуров Научный редактор — канд. физ.-мат. наук, доц. Е. М. Романовская Берестова, Светлана Александровна. Б48 Экстремальные и оптимальные методы в инженерной деятельности : учебное пособие / С. А. Берестова, Л. С. Горулева, Е. Ю. Просвиряков ; М‑во науки и высш. образования РФ. — Екатеринбург : Изд-во Урал. ун-та, 2023. — 70 с. — ISBN 978-5-7996-3728-6. — Текст : непосредственный. ISBN 978-5-7996-3728-6 В учебном пособии в краткой и понятной форме изложены основные понятия для экстремальных значений целевых функций и задач оптимизации. Приведены примеры, раскрывающие суть методик поиска оптимальных решений для описания инженерных процессов. Также в издании содержатся базовые сведения по математическому моделированию и особенностям его использования для решения инженерных задач. Библиогр.: 8 назв. Рис. 15. УДК 51(075.8) ББК 22.16я73 ISBN 978-5-7996-3728-6 © Уральский федеральный университет, 2023 Оглавление Предисловие......................................................................................... 5 Глава 1. Основы математического моделирования............................... 7 1.1. Связь математического моделирования с другими дисциплинами.............................................................................. 7 1.2. Области применения математического моделирования............. 9 1.3. Математические аспекты моделирования................................. 10 1.4. Рекомендации для построения моделей.................................... 17 Проверь себя...................................................................................... 18 Глава 2. Задачи оптимизации............................................................. 20 2.1. Математические модели оптимизационных задач.................... 20 2.2. Экстремум функции................................................................... 24 2.3. Классификация задач методов оптимизации............................ 28 2.4. Геометрическая интерпретация задачи линейного программирования..................................................................... 30 2.5. Нелинейная оптимизация. Геометрическая интерпретация задачи нелинейного программирования................................... 33 2.6. Метод множителей Лагранжа..................................................... 37 Проверь себя...................................................................................... 42 Глава 3. Методы нелинейного программирования.............................. 43 3.1. Методы поиска экстремума унимодальных функций............... 43 3.2. Метод простого перебора........................................................... 44 3.3. Метод дихотомии (метод деления отрезка пополам)................ 45 3.4. Метод золотого сечения.............................................................. 46 3.5. Классификация методов многомерной оптимизации.............. 48 3.6. Градиентные методы многомерной оптимизации.................... 50 Проверь себя...................................................................................... 53 3 Оглавление Глава 4. Статистические модели. Уравнение регрессии. Метод наименьших квадратов............................................................ 56 4.1. Статистическое моделирование................................................. 56 4.2. Алгоритмы приближения функций. Интерполяция. Аппроксимация.......................................................................... 57 4.3. Метод наименьших квадратов.................................................... 59 4.4. Статистическое оценивание результатов расчетов.................... 63 Проверь себя...................................................................................... 65 Библиографический список................................................................ 68 Приложение........................................................................................ 69 4 Предисловие П особие посвящено краткому введению в две математические дисциплины. Первая — исследование функций на существование экстремальных значений. Вторая — введение в методы оптимизации. Частные случаи, изучаемые в этих дисциплинах, знакомы нам с детства. Понятия «больше», «меньше», «быстрее», «медленнее», «дороже» и «дешевле» окружают нас с первых лет жизни, формируют мировоззрение, интуицию для решения все более трудных задач в инженерном деле и финансово‑экономических делах народного хозяйства. Систематическое изучение экстремальных и оптимизационных задач начинается в школе с изучения функций. Наиболее ярким представителем в классе функций является квадратичный трехчлен. Огромное количество задач сводится к исследованию экстремальных свойств квадратичного трехчлена (расположению вершины параболы на координатной плоскости). Именно после изучения квадратного уравнения начинается исследование расположения корней на числовой прямой, что служит основой систематического накопления опыта для решения задач с параметрами. Удивительно, но исследование расположения корней многочлена не только является красивейшей задачей, но и чрезвычайно необходимо для изучения устойчивости функционирования технических устройств, технологических, природных, социальных, экономических и многих других повседневных процессов. Нередко студенты имеют поверхностное представление о возможностях математики для решения задач. К сожалению, применение математического аппарата фактически ограничивается уроками физики 5 Предисловие и химии. Гораздо меньше акцентируется внимание на использовании математических методов при изучении информатики, биологии, географии, обществознания. Учитывая этот дефицит компетенций, в пособии разъясняются особенности математического моделирования. Дается краткая историческая справка о развитии теории математических моделей, обсуждаются область применимости для использования абстрактных моделей при описании реальных процессов и способы выбора математического аппарата для решения задач. В пособии, помимо изложения классических детерминированных методов для нахождения оптимальных минимальных и максимальных значений целевых показателей, уделено внимание вероятностному и статистическому моделированию. Излагаются наиболее популярные и эффективные методы для исследования случайных процессов. В конце каждой главы в разделе «Проверь себя» приведены вопросы или задания для самоконтроля, ответы на которые можно найти в приложении. Авторы пособия искренне надеются, что оно окажется полезным при освоении инженерных дисциплин. Желаем успеха! 6 Глава 1. Основы математического моделирования 1.1. Связь математического моделирования с другими дисциплинами М атематическое моделирование есть подбор соотношений, описывающих существенные характеристики изучаемого процесса (или явления, или события), и определение ограничений, при которых эти соотношения имеют силу. Сегодня математическое моделирование тех явлений, которые мы изучаем, является основой новой технологии научного поиска, анализа и прогноза. Математическое моделирование позволяет изучать эволюционные особенности явлений на всех макро- и микроуровнях, а эволюционность решений вместе с нелинейностью как раз и приводит к большому многообразию возможных путей развития. Создание в середине ХХ века электронно-вычислительных машин (ЭВМ) можно сравнить по своей значимости с любым из самых выдающихся технических достижений в истории человечества. Особая, специфическая роль компьютеров заключается в том, что если обычные машины расширяют физические возможности людей в процессе трудовой деятельности, то вычислительные машины являются их интеллектуальными помощниками. Широкое применение математических методов на базе ЭВМ привело к появлению новых эффективных методов познания законов природы и общества и использованию этих законов в практической деятельности. Вычислительные машины открыли новые возможности увеличения производительности труда, дальнейшего развития производства, совершенствования управления. 7 Глава 1. Основы математического моделирования За несколько десятилетий развития вычислительной техники ее производительность возросла в несколько сот миллионов раз. Такого роста производительности не было за всю историю человечества ни в одной сфере человеческой деятельности. Наука в настоящее время подошла к рубежу, за которым успешно работавшие ранее приемы и методы познания становятся в большинстве случаев непригодными. Сложность научных проблем, решаемых сегодня, порождается главным образом нелинейностью изучаемых явлений и многообразием возможных ответов на те вопросы, которые ставит перед исследователем окружающий мир. Новые задачи требуют и новых способов решения. Одним из таких способов является математическое моделирование. Сегодня выполнены довольно полные и законченные исследования сложных математических моделей. Но при нынешней дифференциации наук открытые в одной из них закономерности, даже обладая универсальным характером, часто не становятся достоянием специалистов из других областей знания. Среди главных причин тут можно назвать специфичность языка, которым пользуются представители практически каждой научной дисциплины. Барьер этот, конечно же, хотелось бы устранить, и для этого есть возможности. При анализе разнообразнейших нелинейных процессов в качестве единой методологической платформы как раз и предлагается математическое моделирование. Таким образом, вычислительная техника не просто облегчает труд ученых и расширяет диапазон исследований — в сочетании с математическим моделированием она представляет собой научный инструмент познания. Подобное тотальное методологическое обновление науки обещает кардинально изменить ее лик, затронув и ее основы, и методы, и возможности. В современной прикладной математике можно выделить четыре основных элемента: 1) математические модели; 2) вычислительные алгоритмы; 3) электронно-вычислительные машины; 4) математическое обеспечение ЭВМ. Использование ЭВМ в прикладной математике связано с построением математических моделей и созданием вычислительных алгоритмов. Поэтому предметом нашего рассмотрения будут первые два пункта. 8 1.2. Области применения математического моделирования Роль математики в различных областях человеческой деятельности в разное время была различной. Она складывалась исторически, и существенное влияние на нее оказывали два фактора: — уровень развития математического аппарата; — степень глубины знаний об изучаемом объекте, возможность описать его наиболее существенные черты и свойства на языке математических понятий и уравнений, то есть возможность построить математическую модель изучаемого объекта. В настоящее время есть все основания полагать, что информатика изменит методологию большинства естественных и многих гуманитарных наук, где необходимы количественные предсказания, а также уровень промышленной технологии. Многие ведущие физики полагают, что сейчас с полным правом наряду с теоретической и экспериментальной можно выделить и вычислительную физику. Сейчас появляются все более сложные пакеты программ, и пользователи ЭВМ работают не так, как прежде. В конечном счете понадобятся совсем другие знания и навыки, и по мере того как все больше рутинной работы передается ЭВМ, в специалистах надо будет развивать следующие две способности: — умение проанализировать задачу и определить, какая часть может быть поручена ЭВМ, а какая требует человеческой интуиции и способности к принятию решения; — способность на каждом шаге решения критически осмыслить работу ЭВМ и определить правильность выбранных методов решения. 1.2. Области применения математического моделирования Энергетика. Прогнозирование работы атомных и термоядерных реакторов на основе детального математического моделирования происходящих в них физических процессов. Космическая техника. Расчет траекторий летательных аппаратов, задачи обтекания, системы автоматического проектирования. Технологические процессы. Получение кристаллов и пленок, моделирование теплового режима конструктивных узлов перспективных ЭВМ, технологии создания материалов с заданными свойствами. 9 Глава 1. Основы математического моделирования Экология. Вопросы прогнозирования и управления экологическими системами могут решаться лишь на основе математического моделирования, поскольку эти системы существуют в единственном экземпляре. Геофизика и астрофизика. Моделирование климата, долгосрочный прогноз погоды, землетрясений и цунами, моделирование развития звезд и солнечной активности, описание фундаментальных проблем происхождения и развития Вселенной. Химия. Расчет химических реакций, определение их констант, исследование химических процессов на макро- и микроуровне для интенсификации химической технологии. Биология. Изучение фундаментальных проблем биологии (генетики, морфогенеза) и разработка новых методов биотехнологии. Физика является классической областью использования математического моделирования для исследования природных и технологических процессов и диагностики некорректной работы технических и биологических систем. 1.3. Математические аспекты моделирования Вопросы построения математической модели. При формулировке математических теорем и условий задач употребляется язык строгих математических понятий, дающий полное изложение исходных предпосылок, которые воспринимаются одинаково любым математиком. Иначе обстоит дело с прикладными задачами. В них непосредственно задается реальный «нематематический объект»: явление природы, производственный процесс, конструкция, система управления, экономический план и т. д. Поэтому нужно формализовать объект, построить соответствующую математическую модель, то есть дать приближенное описание объекта с помощью математической символики. При построении математической модели изучаемого объекта: 1) выделяются его наиболее существенные черты и свойства; 2) они описываются с помощью математических соотношений; 3) устанавливаются границы применимости модели. 10 1.3. Математические аспекты моделирования Анализ математической модели позволяет проникнуть в сущность изучаемых явлений. Математическая модель является мощным методом познания внешнего мира, а также прогнозирования и управления. Только после того, как построена математическая модель, т. е. задаче придана математическая форма, можно воспользоваться для ее изучения математическими методами. В обыденной жизни мы постоянно строим математическую модель, даже не задумываясь об этом. Предположим, что нужно определить площадь поверхности письменного стола. Для этого измеряют его длину и ширину, а затем перемножают полученные числа. Такая элементарная процедура фактически означает следующее: реальный объект — поверхность стола — заменяется абстрактной математической моделью — прямоугольником. Сторонам прямоугольника приписываются размеры, полученные в результате измерения, и площадь такого прямоугольника приближенно принимается за искомую. При более строгом отношении к точности определения площади стола, возможно, будет необходимо отказаться от представления его простым прямоугольником и представить поверхность стола более сложной фигурой, наиболее точно соответствующей очертанию поверхности стола. Таким образом, математическая модель не определяется однозначно исследуемым объектом. Для одного и того же стола можно принять либо модель прямоугольника, либо более сложную модель четырехугольника общего вида, либо еще более сложную модель «четырехугольника с закругленными углами». Выбор той или иной модели определяется требованием точности. С повышением точности модель приходится усложнять, учитывая все новые и новые особенности изучаемого объекта. При рассмотрении физических задач обычно задается некоторая физическая система и описываются условия, в которых она находится. Далее необходимо сделать предположения о возможной идеализации этой системы (например, рассмотреть некоторое реальное физическое тело как материальную точку), определить физические законы, которые нужно принять во внимание при ее изучении, и записать их в виде математических соотношений. Это и есть математическая модель рассматриваемой физической системы. В прикладных задачах построение математической модели — это один из наиболее сложных и ответственных этапов работы. Опыт по11 Глава 1. Основы математического моделирования казывает, что во многих случаях правильно выбрать модель — значит решить проблему более чем наполовину. Только в том случае, если мы ясно представим себе различные аспекты возникающих задач, можно надеяться, что мы выберем разумные математические модели и применим осмысленные математические методы, в которых понятия играют столь же важную роль, что и уравнения, а создание и интерпретация математической модели даже важнее тех частных уравнений, к которым они приводятся. Рассмотрим моделирование полета самолета с целью определения его оптимальной конструкции. И реальный самолет, и его уменьшенная копия в воздушном потоке подчиняются одним и тем же законам аэродинамики. Модель и самолет оказываются похожими не только внешне, но и по «физическому содержанию» — их аэродинамические характеристики связаны определенным соотношением подобия. Остается еще один шаг — не запускать модель в небо, а закрепить ее на специальном лабораторном стенде и направить на нее поток воздуха с той скоростью, с которой должна лететь модель. В основе такого рода исследования лежит метод моделирования, опирающийся в данном случае на строгую теоретическую базу, именуемую теорией подобия. Итак, модель — это не только и не столько внешнее сходство. Главное лежит глубже — поведение модели и реального объекта должно подчиняться одинаковым закономерностям. Изучив их на доступной для исследования модели, возможно предсказать свойства проектируемой конструкции. Аэродинамическое моделирование относится к тому типу физичес­ кого моделирования, когда и натурный объект, и модель имеют одинаковую физическую природу, в данном случае взаимодействие тела с воздушным потоком. Это не единственный способ. Математическая задача, описывающая напряженное состояние балки, в точности совпадает с задачей о прогибе мембраны. Только в одном случае функция, входящая в уравнение, есть механическое напряжение, а в другом — прогиб мембраны. А раз задачи совпадают, то и решения у них одинаковы. Поэтому одно из них — форма вспучившейся мембраны, которая может быть измерена с хорошей точностью, — дает детальное представление о другом, недоступном для прямого наблюдения, распределении напряжений по сечению балки. 12 1.3. Математические аспекты моделирования Описанная мембранная аналогия дает пример моделирования одних явлений с помощью других, имеющих иную физическую природу. Рассуждая о физических моделях, мы упомянули о моделях совсем другого типа — математических. Именно так может быть названа математическая задача, которая описывала и прогиб мембраны, и кручение балки. Математическая модель обоих явлений оказалась одинакова, именно поэтому справедлива мембранная аналогия. Например, в области механики существуют два эмпирически установленных закона: закон всемирного тяготения и второй закон Ньютона — полностью определяют простейшую математическую модель физического явления — падения камня на поверхность Земли в отсутствии сопротивления воздуха. Соответствие математической модели изучаемому объекту. Критерий практики. Математическая модель никогда не бывает тождественна рассматриваемому объекту, не передает всех его свойств и особенностей. Основанная на упрощении, идеализации, она является приближенным описанием объекта, поэтому результаты, получаемые при анализе модели, всегда носят для объекта приближенный характер. Их точность определяется степенью соответствия, адекватности модели и объекта. Вопрос о точности, о достоверности результатов — это один из самых тонких вопросов математического моделирования. Наиболее просто он решается в случае, когда хорошо известны законы, определяющие поведение и свойства объекта, и имеется большой практический опыт их применения. Тогда можно априори оценить точность результатов, которую обеспечивает рассматриваемая модель. Более сложная ситуация возникает тогда, когда наши знания об изучаемом объекте недостаточны. В этом случае при построении математической модели приходится делать дополнительные предположения, которые носят характер гипотез. Выводы, полученные в результате исследования такой гипотетической модели (то есть построенной на основе гипотез), носят для изучаемого объекта условный характер. Они справедливы для него настолько, насколько правильны исходные предположения. Для их проверки необходимо сопоставить результаты исследования модели со всей имеющейся информацией об изучаемом объекте. Таким образом, вопрос применимости некоторой математической модели к изучению рассматриваемого объекта не является чисто математическим вопросом и не может быть решен математи13 Глава 1. Основы математического моделирования ческими методами. Основным критерием истинности является эксперимент, практика в самом широком смысле этого слова. Критерий практики позволяет сравнить различные гипотетические модели и выбрать из них такую, которая является наиболее простой и в то же время, в рамках требуемой точности, правильно передает свойства изучаемого объекта. Таким образом, математические модели позволяют свести исследование реального «нематематического» объекта к решению математической задачи, открывая тем самым возможность использования для его изучения хорошо разработанного математического аппарата в сочетании с мощной вычислительной техникой. На этом основано применение математики для познания законов реального мира и их использования в практике. Во многих областях науки и техники применение методов информатики сдерживается не отсутствием компьютеров, а отсутствием содержательных математических моделей. Очень важно заметить, что математическая модель — это не только уравнения, но и дополнительные условия, устанавливающие границы их применимости. Все полученные с помощью этой модели теоретические результаты будут справедливы только в оговоренных рамках. Вычислительный эксперимент. Вычислительный эксперимент является новым способом проведения теоретических исследований; основой вычислительного эксперимента является математическое моделирование, теоретической базой — прикладная математика, а технической — мощные компьютеры. Процесс математического моделирования или выполнение вычислительного эксперимента (то есть изучение явления с помощью математической модели) принято подразделять на ряд этапов. На первом этапе для исследуемого объекта строится модель. Сначала физическая, фиксирующая разделение всех действующих в рассматриваемом явлении факторов на главные, которые учитываются, и второстепенные, которые на данном этапе исследования отбрасываются. Поэтому этот этап требует широкого знания фактов, относящихся к изучаемым явлениям и глубокого проникновения в их взаимосвязи. Одновременно формулируются допущения, или рамки применимости модели, в которых будут справедливы получаемые на ее основе результаты. Эта модель записывается в математических терминах, как правило, в виде дифференциальных или интегро-дифференциальных 14 1.3. Математические аспекты моделирования уравнений: таким образом получается математическая модель изучаемого объекта или явления. Второй этап вычислительного эксперимента связан с разработкой метода расчета сформулированной математической задачи, или, как говорят, вычислительного алгоритма, который есть совокупность алгебраических формул, по которым ведутся вычисления, и логических условий, позволяющих установить нужную последовательность применения этих формул. Как правило, для решения одной и той же задачи можно использовать большое количество вычислительных алгоритмов. Вследствие этого необходимо определить критерии для оценки качества используемых алгоритмов. Эти вопросы составляют предмет теории численных методов. Основная цель этой теории — построение эффективных вычислительных методов, которые позволяют получить решение поставленной задачи с заданной точностью за минимальное количество действий. Основной целью второго этапа является решение прямой задачи, то есть получение в результате анализа модели выходных данных (теоретических следствий) для дальнейшего их сопоставления с результатами наблюдений изучаемых явлений. Часто математические задачи, возникающие на основе математических моделей различных явлений, бывают одинаковыми (например, основная задача линейного программирования отражает ситуации различной природы). Это дает основание рассматривать такие типичные математические задачи как самостоятельный объект, абстрагируясь от изучаемых явлений. Третий этап вычислительного эксперимента — создание программы для реализации разработанного алгоритма на ЭВМ. Четвертый этап — собственно проведение расчетов на компьютере. На этом этапе выясняют, удовлетворяет ли принятая гипотетическая модель критерию практики, то есть выясняют вопрос о том, согласуются ли результаты наблюдений (экспериментов) с теоретическими следствиями модели в пределах точности наблюдений. Если модель была вполне определена (все параметры ее были заданы), то определение уклонений теоретических следствий от наблюдений дает решение прямой задачи с последующей оценкой уклонений. Если уклонения выходят за пределы точности наблюдений, то модель не может быть принята. Часто при построении модели некоторые ее характеристики остаются неопределенными. Задачи, в которых определяются характеристики модели (параметрические, функциональные) таким обра15 Глава 1. Основы математического моделирования зом, чтобы выходная информация была сопоставима в пределах точности наблюдений, с результатами наблюдений изучаемых явлений, называются обратными задачами. Если математическая модель такова, что ни при каком выборе характеристик этим условиям нельзя удовлетворить, то модель непригодна для исследования рассматриваемых явлений. Применения критерия практики к оценке математической модели позволяет делать вывод о правильности положений, лежащих в основе подлежащей изучению (гипотетической) модели. К четвертому тесно примыкает пятый этап вычислительного эксперимента — обработка результатов расчета, всесторонний анализ модели в связи с накоплением данных об изучаемых явлениях, модернизация модели и, наконец, выводы. Только после проведения этой длительной кропотливой работы в вычислительном эксперименте наступает фаза прогноза — с помощью математического моделирования предсказывается поведение исследуемого объекта в условиях, где эксперименты не проводились или где они вообще невозможны, то есть этот метод является единственным методом изучения непосредственно недоступных нам явлений макро- и микромира. Часто оказывается так, что в процессе развития науки и техники данные об изучаемых явлениях все более и более уточняются и наступает момент, когда выводы, получаемые на основании существующей математической модели, не соответствуют нашим знаниям о явлении. Таким образом, возникает необходимость построения новой, более совершенной математической модели. Решение задач математического моделирования. Построение математической модели рассматриваемого объекта позволяет поставить задачу его изучения как математическую. Поэтому следующим этапом исследования является решение сформулированной математической задачи, которое может быть выполнено, в зависимости от сложности математической модели, различными методами. (Классификация методов решения задач математического моделирования дана в главе 2 этого учебного пособия.) 16 1.4. Рекомендации для построения моделей 1.4. Рекомендации для построения моделей Предложим некоторые рекомендации для построения моделей. 1. С самого начала необходимо подчеркнуть, что общих способов построения математических моделей не существует. В каждом конкретном случае модель выбирается с учетом задачи исследования. Например, если исходные данные известны неточно, то, по-видимому, нет смысла строить очень подробную модель. Математическая модель должна отражать важнейшие черты изучаемого явления, вместе с тем, модель должна быть по возможности простой; излишняя ее детализация второстепенными факторами усложняет математический анализ и делает труднообозримыми результаты исследования. Точно так же, с другой стороны, если математическая модель выбрана недостаточно тщательно, все выводы могут быть недостаточно надежны, а в некоторых случаях могут оказаться и неправильными. 2. Поскольку математическая модель не вытекает с непреложностью из описания задачи, всегда полезно сличать результаты, полученные по разным моделям. При этом одну и ту же задачу необходимо решать несколько раз, пользуясь разной системой допущений. Если результаты исследования от модели к модели меняются мало, это серь­ езный аргумент в пользу объективности исследования. Если же они существенно расходятся, надо пересмотреть концепции, положенные в основу различных моделей, и выяснить, какая из них более адекватна действительности. 3. В некоторых случаях возникает необходимость в повторном обращении к модели для дополнительного внесения в модель коррективов. 4. Изучение объектов самой различной природы часто приводит к одним и тем же математическим задачам, что дает благоприятную возможность выделить задачи, которые часто встречаются в практических приложениях, изучить их особенности, разработать эффективные алгоритмы и реализовать их в виде стандартных программ для ЭВМ. Поэтому гораздо выгоднее развивать универсальные алгоритмы для решения широкого класса задач, чем строить частные алгоритмы для решения каждой задачи в отдельности. Применение хороших алгоритмов позволяет в десятки, а то и в сотни раз снизить требование к ЭВМ. 17 Глава 1. Основы математического моделирования 5. При разработке вычислительных алгоритмов необходимо особое внимание уделять тому, чтобы они были удобны для компьютерного счета. Проверь себя 1. Отметьте правильный ответ (один или несколько). Математическое моделирование учитывает действующие в рассматриваемом явлении факторы: a) все; b) основные; c) главные; d) второстепенные. 2. Отметьте правильный ответ (один или несколько). Математическое моделирование — это... a) словесное описание процесса или явления; b) описание в математических терминах физической модели; c) решение задач на ЭВМ. 3. Отметьте правильный ответ (один или несколько). Решение сформулированной математической задачи на ЭВМ связано с … a) выделением второстепенных факторов физической модели; b) разработкой гипотетической модели; c) разработкой вычислительного алгоритма и составлением программы. 4. Отметьте правильный ответ (один или несколько). Задача считается поставленной корректно, если... a) решение может не существовать; b) решение должно быть однозначно определено; c) решение не зависит от данной задачи. 5. Отметьте правильный ответ (один или несколько). Вычислительный процесс сходится, если... a) на каком-то шаге погрешность в решении задачи будет меньше заданной; b) погрешность при вычислениях не убывает. 18 Проверь себя 6. Отметьте правильный ответ (один или несколько). Вычислительные методы могут быть реализованы с помощью: a) только с применением ЭВМ; b) только с ручным счетом; c) с помощью ЭВМ и ручного счета. 7. Отметьте правильный ответ (один или несколько). Погрешность, допущенная в промежуточных вычислениях, в точных методах: a) влияет на конечный результат; b) не влияет на конечный результат; c) автоматически исправляется. 8. Отметьте правильный ответ (один или несколько). Если численный метод позволяет получать решения лишь с заданной точностью, то он относится к… a) точным; b) приближенным; c) неточным. 9. Отметьте правильный ответ (один или несколько). Построение математической модели изучаемого объекта состоит из следующих этапов: a) выделение его наиболее существенных свойств; b) описание существенных свойств с помощью математических соотношений; c) установление границы применимости модели; d) поиск метода решения сформулированной задачи; e) решение математической задачи. 10. Отметьте правильный ответ (один или несколько). Итерационные алгоритмы требуют: a) предварительной проверки условий сходимости; b) выбора начального приближения; c) выделения второстепенных факторов физической модели; d) разработки гипотетической модели; e) установление границы применимости модели. 19 Глава 2. Задачи оптимизации 2.1. Математические модели оптимизационных задач В наиболее общем смысле теория оптимизации представляет собой совокупность фундаментальных математических результатов и численных методов, ориентированных на нахождение и идентификацию наилучших вариантов из множества альтернатив и позволяющих избежать полного перебора и оценивания возможных вариантов. Процесс оптимизации лежит в основе всей инженерной деятельности, поскольку классические функции инженера заключаются в том, чтобы, с одной стороны, проектировать новые, более эффективные и менее дорогостоящие технические системы и, с другой стороны, разрабатывать методы повышения качества функционирования существующих систем. Для того чтобы использовать математические результаты и численные методы теории оптимизации для решения конкретных инженерных задач, необходимо: а) установить границы подлежащей оптимизации инженерной системы; б) определить количественный критерий, на основе которого можно произвести анализ вариантов с целью выявления наилучшего; в) осуществить выбор внутрисистемных переменных, которые используются для определения характеристик и идентификации вариантов; г) построить модель, отражающую взаимосвязи между переменными. Эта последовательность действий составляет содержание процесса постановки задачи инженерной оптимизации. Корректная постановка 20 2.1. Математические модели оптимизационных задач задачи служит ключом к успеху оптимизационного исследования и ассоциируется в большей степени с искусством, нежели с точной наукой. Рассмотрим вышеперечисленные пункты подробнее. Определение границы изучаемой системы. Прежде чем приступить к оптимизационному исследованию, важно четко определить границы изучаемой системы. В данном контексте система предстает как некоторая изолированная часть реального мира. Границы системы задаются пределами, отделяющими систему от внешней среды, и служат для выделения системы из ее окружения. При проведении анализа обычно предполагается, что взаимосвязи между системой и внешней средой зафиксированы на некотором выбранном уровне представления. Тем не менее, поскольку такие взаимосвязи всегда существуют, определение границ системы является первым шагом в процессе приближенного описания реальной системы. Характеристический критерий. Если подлежащая исследованию система определена и ее границы установлены, то на следующем этапе постановки задачи оптимизации необходимо осуществить выбор критерия, на основе которого можно оценить характеристики системы, с тем чтобы выявить наилучший проект или множество наилучших условий функционирования системы. В инженерных приложениях обычно выбираются критерии экономического характера. Независимо от того, какой критерий выбирается при оптимизации, наилучшему варианту всегда соответствует минимальное (или максимальное) значение характеристического показателя качества функционирования системы. Важно отметить также, что только один критерий может использоваться при определении оптимума, так как невозможно получить решение, которое, например, одновременно обеспечивает минимум затрат, максимум надежности и минимум потребляемой энергии. Здесь мы сталкиваемся с существенным упрощением реальной ситуации, поскольку в ряде практических случаев было бы весьма желательно найти решение, которое бы являлось наилучшим с позиций нескольких различных критериев. Независимые переменные. Эти переменные должны адекватно описывать допустимые проекты или условия функционирования системы. В процессе выбора независимых переменных следует принять во внимание ряд важных обстоятельств. Во‑первых, необходимо провести различие между переменными, значения которых могут изменяться в достаточно широком диапа21 Глава 2. Задачи оптимизации зоне, и переменными, значения которых фиксированы и определяются внешними факторами. Во‑вторых, при постановке задачи следует учитывать все основные переменные, которые влияют на функционирование системы. При выборе независимых переменных целесообразно руководствоваться правилом, согласно которому следует рассматривать только те переменные, которые оказывают существенное влияние на характеристический критерий, выбранный для анализа сложной системы. Модель системы. После выполнения вышеперечисленных этапов необходимо построить модель, которая описывает взаимосвязи между переменными задачи и отражает влияние независимых переменных на степень достижения цели, определяемой характеристическим критерием. Математической моделью оптимизационной задачи называется совокупность математических соотношений, представляющих собой равенства или неравенства, связывающие переменные и описывающие условия задачи и определяющие критерий эффективности. Таким образом, в самом общем представлении структура модели включает основные уравнения материальных и энергетических балансов, соотношения, связанные с проектными решениями, а также уравнения, описывающие физические процессы, протекающие в системе. Эти уравнения обычно дополняются неравенствами, которые определяют область допустимых значений независимых переменных, позволяют определить требования, накладываемые на верхние или нижние границы изменения характеристик функционирования системы, и установить лимиты имеющихся ресурсов. Из вышеизложенного следует, что задача в виде, пригодном для применения оптимизационных методов, объединяет характеристическую меру, множество независимых переменных и модель, отражающую взаимосвязь переменных. Поскольку требования, предъявляемые к оптимизационным задачам, являются весьма общими и носят абстрактный характер, область приложения методов оптимизации является достаточно широкой. Примеры экономических и технологических критериев оптимальности. Для того чтобы выбрать показатель эффективности, т. е. целевую функцию, нужно прежде всего четко установить, какая цель достигается при реализации того или иного мероприятия. На нескольких примерах покажем, какие показатели можно принять за целевую функцию. 22 2.1. Математические модели оптимизационных задач План снабжения предприятий. Задача состоит в обеспечении сырьем при минимальных расходах на перевозках. В данном случае за показатель эффективности (целевую функцию) R целесообразно принять суммарные расходы на перевозку сырья за единицу времени (R → min). Постройка участка магистрали. Требуется так спланировать строительство, чтобы закончить его как можно скорее. Естественным показателем эффективности было бы время завершения стройки, если бы оно не было связано со случайными факторами (отказы техники, задержки в выполнении отдельных работ). Поэтому в качестве целевой функции можно выбрать среднее ожидаемое время T окончания стройки (T → min). Продажа сезонных товаров. В качестве целевой функции можно взять среднюю ожидаемую прибыль P от реализации товаров за сезон (P → max). Постановка задачи оптимизации. Предполагается осуществить какое-либо мероприятие, преследующее определенную цель. Существуют какие-то условия, и в рамках этих условий требуется принять такое решение, чтобы мероприятие было в каком-то смысле наиболее выгодным. Операцией называется всякое мероприятие (система действий), объединенное единым замыслом и направленное к достижению какойто цели. Операция всегда есть управляемое мероприятие, т. е. от нас зависит, каким способом выбрать некоторые параметры, характеризующие ее организацию. Всякий выбор параметров называется решением. Оптимальным называется решение, являющееся по тем или иным признакам предпочтительней перед другими. Цель операции — предварительное количественное обоснование оптимальных решений. Те параметры, совокупность которых образует решение, называются элементами решения. Например, из пунктов Am перевозятся грузы в пункты Bn. Пусть xij — количество грузов, которое будет перевезено из пункта i в пункт j. В этом случае xij будет элементом решения, а совокупность всех xij есть решение. В любой задаче существуют условия, являющиеся ограничениями, например, грузоподъемность транспорта, количество груза в предыдущем примере. Совокупность условий определяет множество возможных решений X. И вопрос состоит в том, чтобы в множестве возможных решений X выделить те решения xij, которые с той или иной точки зрения эффективнее. 23 Глава 2. Задачи оптимизации Для сравнения между собой по эффективности разных решений используется количественный критерий, называемый, как уже определялось выше, целевой функцией (или показателем эффективности). Лучшим будет считаться то решение, которое в максимальной степени способствует достижению поставленной цели. В наиболее сложных случаях, когда развитие операции и ее исход зависят от большого числа сложно переплетающихся между собой случайных факторов, аналитические методы вообще отказываются служить, и применяются статистические методы моделирования. 2.2. Экстремум функции Часто при реализации какого-нибудь мероприятия имеет место ситуация, когда достижение цели можно осуществить различными способами (в дальнейшем условимся эти способы называть планами). Все такие планы называются допустимыми. В этом случае появляется возможность выбирать оптимальный в некотором смысле план. С математической точки зрения оптимальность некоторого плана означает, что этот план экстремизирует (максимизирует или минимизирует) некоторую функцию на множестве допустимых планов. Математическое программирование представляет собой матeма­ ти­ческую дисциплину, занимающуюся изучением экстремальных задач и разработкой методов их решения. Прежде чем приступить к изложению методов решения задач математического программирования, кратко дадим сведения, относящиеся к отысканию экстремума функции. Как известно, решение многих теоретических и практических задач сводится к отысканию экстремума (наибольшего или наименьшего значения) функции f (x) n‑мерного векторного аргумента x, и определение экстремума функции является одной из основных задач классического математического анализа. Оптимизируемая функция f (x) есть целевая функция, или критерий оптимальности. Вектор x*, доставляющий экстремум целевой функции, называют оптимальным (выше мы вводили для него определение оптимальный план). Если x* — точка минимума функции y = f (x), то для функции y = –f (x) она является точкой максимума, так как графики функций y = f (x) и y = –f (x) сим24 2.2. Экстремум функции метричны относительно оси абсцисс. Таким образом, минимум функции f (x) и максимум функции — f (x) достигаются при одном и том же значении переменной, поэтому min f (x) = max (–f (x)). Рассуждая аналогично, этот вывод нетрудно распространить на случай многих переменных min f (x1, …, xn) = max (–f (x1, …, xn)); экстремальные значения этих функций достигаются при одних и тех же значениях переменных. Экстремум функции может иметь глобальный или локальный характер, в свою очередь, глобальный экстремум может быть строгим или нестрогим. На примере минимума функции одной переменной раскроем эти понятия. Говорят, что точка x* доставляет глобальный минимум функции одной переменной f (x) на множестве X, если при некотором достаточно малом ε > 0 для всех x ≠ x* (x принадлежат X), удовлетворяющих условию (x — x*) ≤ ε, выполняется неравенство f (x*) ≤ f (x). Если при этом это неравенство выполняется как строгое, то точка x* называется точкой строгого глобального минимума (рис. 2.1, а), если же в выражении f (x*) ≤ f (x) равенство возможно при x ≠ x*, то реализуется нестрогий минимум (на рис. 2.1, б диапазон изменений x, на котором реализуется нестрогий минимум, выделен на оси абсцисс). Минимум, определенный только на ограниченном отрезке, называется локальным минимумом. Все определения для максимума получаются заменой знаков предыдущих неравенств на обратные. На рисунке 2.2 показаны экстремумы функции одной переменной f (x) на отрезке [a, b]. Здесь x1, x3, x6 — точки локального максимума, а x2, x4 — локального минимума. В точке x6 реализуется глобальный максимум, а в точке x2 — глобальный минимум. Простейшей и вместе с тем типичной задачей является задача определения экстремума функции, когда переменные могут изменяться во всем пространстве без всяких ограничений. Если при этом функ25 Глава 2. Задачи оптимизации ция будет непрерывно дифференцируемая, то экстремальными будут те значения переменных, при которых обращаются в нуль все частные производные экстремизируемой функции. Такую задачу называют задачей безусловной оптимизации. а б f (x) f (x) f (x) = f (x*) O x* x O x* x Рис. 2.1. Глобальный минимум: а — строгий; б — нестрогий f (x) O a х1 х2 х3 х4 х5 х6 b x Рис. 2.2. Экстремумы функции Однако на практике встречаются задачи, когда на область изменения переменных накладываются ограничения (см. п. 2.1), выражаемые условиями в виде как равенств, так и неравенств. В этом случае говорят, что имеет место задача условной оптимизации. (В частности, при составлении экономических планов приходится учитывать ограничения типа «потребность в данном продукте не превосходит такой-то величины». Подобные ограничения могут налагаться на факторы при составлении, например, математических моделей физических процессов.) Такие условия в классическом математическом анализе не рас26 2.2. Экстремум функции сматриваются, а изучается задача экстремизации функции при условиях, имеющих вид только равенств. То, что для решения задачи с ограничениями нужны новые методы, можно показать на следующем примере. Пусть дана линейная функция одной переменной F(x) = x и требуется найти экстремум (минимум или максимум) этой функции. Как известно, при отсутствии ограничений на область изменения переменных, определение экстремума сводится к определению такой точки, где производная функции обращается в нуль. В нашем примере производная функции F(x) нигде не обращается в нуль, так как F ′(x) ≡ 1. Теперь определим область изменения переменных неравенствами x ≥ 0 и x ≤ 1 (рис. 2.3). Как видим, в этом случае та же функция уже имеет максимум в точке x = 1 и минимум в точке x = 0. F(x) F(x) = x 0 1 x Рис. 2.3. Определение экстремума функции при задании ограничений на область изменения переменной В тех случаях, когда имеет место экстремум при наличии дополнительных ограничений на область изменения переменных, говорят, что функция имеет условный экстремум. В нашем примере экстремумы функции как раз и являются условными. Изучением задач об условном экстремуме функции в различных их постановках и разработкой методов их решения занимается математическая дисциплина, которая называется математическим программированием. Понятие условного экстремума распространяется и на случай, когда функция зависит от многих переменных. Поэтому в общем виде математическая постановка экстремальной задачи состоит в следующем: Определить наибольшее или наименьшее значение целевой функции f (x1, x2, …, xn) (2.1) 27 Глава 2. Задачи оптимизации при условиях: gi (x1, x2, …, xn) ≤ bi, (i = 1, 2, …, m), (2.2) где f и gi — заданные функции, а bi — некоторые действительные числа. 2.3. Классификация задач методов оптимизации В зависимости от свойств функций f и gi математическое программирование можно рассматривать как ряд самостоятельных дисциплин, занимающихся изучением и разработкой методов решения определенных классов задач. Прежде всего задачи математического программирования делятся на задачи линейного и нелинейного программирования. При этом если все функции f и gi линейные, то соответствующая задача является задачей линейного программирования. Задачу (2.1) — (2.2) для линейного программирования в общем случае можно записать в следующей форме: n F c j x j , j 1 n a j 1 n a j 1 ij ij x j bi x j bi xj ≥0 (2.3) (i = 1, k ), (2.4) (i k 1, m ) , (2.5) ( j 1 , l l n), (2.6) где aij, bi, cj — заданные постоянные величины, а k ≤ m. Если в задаче (2.3), (2.4)–(2.6) k = m и l = n, то задача называется стандартной (или симметричной), если же k = 0 и l = n, то такая задача — основная (или каноническая). Совокупность действительных чисел X = (x1, x2, …, xn), удовлетворяющих ограничениям задачи (2.4) — (2.6), называется допустимым решением (или планом). План X * = ( x 1* , x 2* , , x n* ), при котором целевая функция задачи (2.4) принимает свое максимальное (минимальное) значение, называется, как известно, оптимальным. 28 2.3. Классификация задач методов оптимизации Если в задаче (2.1)–(2.2) хотя бы одна из функций f и gi нелинейна, то соответствующая задача является задачей нелинейного программирования. К задачам нелинейного программирования относятся задачи выпуклого программирования. Это задачи, в которых целевая функция — выпуклая (или вогнутая) функция. К задачам выпуклого программирования относятся задачи квадратичного программирования. В этих задачах целевая функция имеет вид квадратичной функции. Переменные этой целевой функции удовлетворяют некоторой системе, содержащей линейные неравенства или линейные уравнения. В задачах целочисленного программирования неизвестные могут принимать только целочисленные значения. В задачах параметрического программирования целевая функция или функции, определяющие область возможных изменений переменных, либо то и другое — зависят от некоторых параметров. В задачах дробно-линейного программирования целевая функция представляет собой отношение двух линейных функций, а функции, определяющие область возможных изменений переменных, также являются линейными. Если в целевой функции или в функциях, определяющих область возможных изменений переменных, содержатся случайные величины, то такая задача оптимизации относится к задаче стохастического программирования. Задача, процесс нахождения решения которой является много­ этапным, относится к задаче динамического программирования. Рассмотренные выше примеры были специально подобраны настолько простыми, чтобы выбор целевой функции был нетруден и прямо диктовался условиями задачи, ее однозначной целевой направленностью. Однако на практике это далеко не так. В большинстве практических задач выбор целевой функции непрост и решается неоднозначно. Обычно для сколько-нибудь сложной задачи типично положение, когда целевая функция не может быть исчерпывающим образом охарактеризована одним-единственным числом. Такие задачи называются многокритериальными. Рассмотрим пример многокритериальной задачи. Организуется работа промышленного предприятия. На основании какого критерия надо выбрать решение? С одной стороны, нам хотелось бы обратить в максимум валовой объем продукции V. Желательно также было бы 29 Глава 2. Задачи оптимизации получить максимальный чистый доход D. Что касается себестоимости S, то ее хотелось бы обратить в минимум, а производительность труда P — в максимум. Такая множественность показателей целевых функций, из которых одни желательно обратить в максимум, а другие — в минимум, характерна для любого сколько-нибудь сложного мероприятия. 2.4. Геометрическая интерпретация задачи линейного программирования Общие положения. Свойства задач линейного программирования тесным образом связаны со свойствами выпуклых множеств. Из теорем линейного программирования можно сделать следующие выводы. Непустое множество планов (решений) основной задачи линейного программирования X представляет собой выпуклый многогранник. Каждая вершина этого многогранника определяет опорный план. В одной из вершин многогранника решений (т. е. для одного из опорных планов) значение целевой функции F является максимальным (при условии, что целевая функция ограничена сверху на множестве планов). Если максимальное значение функция принимает более чем в одной вершине, то это же значение она принимает в любой точке, являющейся выпуклой линейной комбинацией данных вершин. Решение оптимизационной задачи заключается в определении совокупности значений переменных, при которых целевая функция имеет оптимум. Вершину многогранника решений, в которой целевая функция принимает максимальное значение, найти сравнительно просто, если задача, записанная в форме основной, содержит не более двух свободных переменных. В этом случае задача (2.1), (2.4)–(2.6) имеет следующий вид: F = c1x1 + c2x2 → max, (2.7) ai1x1 + ai2x2 ≤ bi, xj ≥ 0, 30 i = 1, 2, …, k, j = 1, 2. (2.8) (2.9) 2.4. Геометрическая интерпретация задачи линейного программирования Каждое из неравенств (2.8), (2.9) системы ограничений задачи геометрически определяет полуплоскость соответственно с граничными прямыми ai1x1 + ai2x2 ≤ bi, x1 = 0 и x2 = 0. В том случае, если система неравенств (2.8), (2.9) совместна, область ее решений есть множество точек, принадлежащих всем указанным полуплоскостям. Так как множество точек пересечения данных полуплоскостей — выпуклое, то областью допустимых решений задачи (2.7), (2.8), (2.9) является выпуклое множество, которое называется многоугольником решений (термин «многогранник решений» обычно употребляется, если n ≥ 3). Стороны этого многоугольника определяются прямыми, уравнения которых получаются из исходной системы ограничений (2.8), (2.9) заменой знаков неравенств на знаки точных равенств. Таким образом, исходная задача линейного программирования состоит в нахождении такой точки многоугольника решений, в которой целевая функция принимает максимальное значение. Эта точка существует тогда, когда многоугольник решений не пуст и на нем целевая функция ограничена сверху. При указанных условиях в одной из вершин многоугольника решений целевая функция принимает максимальное значение. Для определения данной вершины построим линию уровня (см. уравнение целевой функции (2.7)) c1x1 + c2x2 = h (2.10) (где h — некоторая постоянная), проходящую через многоугольник решений, и будем продвигать ее в направлении вектора C = (c1, c2) до тех пор, пока она не пройдет через последнюю ее общую точку с многоугольником решений. Координаты указанной точки и определяют оптимальный план (решение) задачи. Алгоритм нахождения решения задачи линейного программирования на основе ее геометрической интерпретации Данный алгоритм включает следующие этапы: 1) построение прямых, уравнения которых получены в результате замены в ограничениях (2.8), (2.9) знаков неравенств на знаки точных равенств; 31 Глава 2. Задачи оптимизации 2) нахождение полуплоскостей, определяемых каждым из ограничений задачи; 3) многоугольника решений; 4) построение вектора C = (c1, c2); 5) прямой c1x1 + c2x2 = h, проходящей через многоугольник решений; 6) движение прямой c1x1 + c2x2 = h в направлении вектора C, в результате чего либо находится точка (точки), в которой целевая функция принимает максимальное значение, либо устанавливается не­ограниченность сверху функции на множестве планов; 7) определение координат точки максимума функции и вычисление значения целевой функции в этой точке. При нахождении решения рассматриваемой задачи возможны следующие случаи (рис. 2.4–2.9); на каждом из этих рисунков на оси ординат — значения x2 на оси абсцисс — x1; вектор C изображен жирной стрелкой; пунктирными линиями показаны прямые с уравнением (2.10) при различных значениях h; жирной ломаной изображены границы области допустимых решений): a) целевая функция принимает оптимальное значение в единственной точке (рис. 2.4, 2.7 и 2.8); б) максимальное значение целевая функция принимает в любой точке отрезка AB (рис. 2.5); в) оптимального решения не существует, так как целевая функция не ограничена сверху на множестве допустимых значений (рис. 2.6); Fmax Fmax = +∞ A A Fmax B Рис. 2.4. Оптимальное значение в единственной точке для ограниченного множества 32 Рис. 2.5. Континуальное множество оптимальных значений Рис. 2.6. Иллюстрация отсутствия экстремума 2.5. Нелинейная оптимизация. Геометрическая интерпретация задачи нелинейного программирования A Fmin Fmax A Рис. 2.7. Минимальное значение в единственной точке для неограниченного множества Рис. 2.8. Максимальное значение в единственной точке для неограниченного множества Рис. 2.9. Иллюстрация отсутствия области допустимых значений г) область допустимых решений не существует, так как система ограничений задачи несовместна (рис. 2.9); на данном рисунке каждая из парных стрелок лежит в полуплоскости, определяемой одной из неравенств (2.8) и (2.9), а начало каждой из стрелок лежит на прямой, определяющей границу соответствующей полуплоскости). В алгоритме дается пример решения оптимизационной задачи линейного программирования на основе ее геометрической интерпретации. 2.5. Нелинейная оптимизация. Геометрическая интерпретация задачи нелинейного программирования Общие положения. Класс задач нелинейного программирования значительно шире задач линейного программирования. Основные результаты в нелинейном программировании получены при рассмотрении задач, в которых система ограничений линейная, а целевая функция нелинейная. Даже в таких задачах оптимальное решение может быть найдено только для узкого класса целевых функций. Рассмотрение задач нелинейного программирования начинают с классической задачи оптимизации. Задачи такого рода имеют место, 33 Глава 2. Задачи оптимизации если задача нелинейной оптимизации состоит в определении максимального (минимального) значения функции F (x1, x2, …, xn) (2.11) при условии, что ее переменные удовлетворяют соотношениям g(x1, x2, …, xn) ≤ bi, (i = 1, 2, …, k), (2.12) gi (x1, x2, …, xn) = bi, (i = k + 1, k + 2, …, m), (2.13) где F и gi — некоторые известные функции n переменных, а bi — заданные числа. (Как известно, если F и gi — линейные функции, то задача (2.11), (2.12) и (2.13) является задачей линейного программирования). Здесь имеется в виду, что в результате решения задачи будет определена точка X * = ( x1* , x 2* ,..., x n* ), координаты которой удовлетворяют соотношениям (2.12) и (2.13) и такая, что для всякой другой точки X = (x1, x2, …, xn), удовлетворяющей условиям (2.11), выполняется неравенство F ( x1* , x 2* ,..., x n* ) ≥ F (x1, x2, …, xn) (если требуется определить максимум целевой функции F), ( F ( x1* , x 2* ,..., x n* ) ≤ F (x1, x2, …, xn) в случае нахождения минимума F). Соотношения (2.12) и (2.13) образуют систему ограничений и включают в себя условия неотрицательности переменных, если такие условия имеются. Условия неотрицательности переменных могут быть заданы и непосредственно. В евклидовом пространстве En система ограничений (2.12) и (2.13) определяет область допустимых решений задачи. В отличие от задачи линейного программирования она не всегда является выпуклой. Если определена область допустимых решений, то нахождение решения задачи (2.11), (2.12) и (2.13) сводится к определению такой точки этой области, через которую проходит гиперповерхность наивысшего (наинизшего) уровня: F (x1, x2, …, xn) = h. (Напоминаем, что гиперповерхность есть обобщенное понятие обычной поверхности 3‑мерного пространства на случай евклидова n‑мерного пространства. Обычно гиперповерхность задается одним уравнением F (x1, x2, …, xn) = 0 между координатами, где F — дифференцируемая функция. Примеры: уравнение a1x1 + a2x2 + …, + anxn = 0 задает гиперплоскость, а уравнение x 12 x 22 x n2 1 0 — гиперсферу.) Указанная точка может находиться как на границе области допустимых решений, так и внутри нее. Если в задачах линейного программирования точки экстремума являются вершинами многогранника решений, то в задачах с нели34 2.5. Нелинейная оптимизация. Геометрическая интерпретация задачи нелинейного программирования нейной целевой функцией они могут лежать внутри области, на ребре (грани) или в вершине многогранника. Таким образом, с помощью методов линейного программирования, позволяющих осуществить переход из одной вершины многогранника в другую, можно получить оптимальное решение нелинейных задач при условии, что целевая функция удовлетворяет добавочным ограничениям. Еще большие трудности возникают при решении задач с нелинейными ограничениями. И здесь найти оптимальное решение возможно только при условии, что целевая функция и функции, образующие систему ограничений, удовлетворяют подходящим свойствам. Наиболее просто можно найти решение задач нелинейного программирования с двумя неизвестными. Так же, как и в линейном программировании, они могут быть решены графически, алгоритм их решения дан ниже. Алгоритм нахождения решения задачи нелинейной оптимизации на основе ее геометрической интерпретации Алгоритм включает следующие этапы: 1) нахождение области допустимых решений задачи, определяемой соотношениями (2.12) и (2.13) (если она пуста, то задача не имеет решения); 2) построение гиперповерхности F (x1, x2, …, xn) = h; 3) определение гиперповерхности наивысшего (наинизшего) уровня или установление неразрешимости задачи из-за неограниченности функции (2.11) сверху (снизу) на множестве допустимых решений; 4) нахождение точки области допустимых решений, через которую проходит гиперповерхность наивысшего (наинизшего) уровня, и определение в ней значения функции (2.11). Рассмотрим пример решения данного типа задачи по вышеприведенному алгоритму. Пример 2.1. Найти решение следующей оптимизационной задачи нелинейного программирования на основе ее геометрической интерпретации: F = x2 – x12 + 6x1 → max (2.14) при условиях 2x1 + 3x2 ≤ 24, (2.15) x1 + 2x2 ≤ 15, (2.16) 35 Глава 2. Задачи оптимизации 3x1 + 2x2 ≤ 24, (2.17) x2 ≤ 4, … x1, x2 ≤ 0. (2.18) Решение. Так как целевая функция (2.14) нелинейная, то задача (2.14)...(2.18) является задачей нелинейного программирования. 1. Областью допустимых решений данной задачи является многоугольник OABC (рис. 2.10). Следовательно, для нахождения ее решения нужно определить такую точку многоугольника OABC, в которой функция (2.14) принимает максимальное значение. x2 12 11 3x1 + 2x2 = 24 10 F = 13 9 x1 8 7 6 F=9 5 4 3 D x2 = 4 A B ОДР 2 1 –3 –2 –1 О –1 C 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 x1 –2 Рис. 2.10. План решения задачи нелинейного программирования 2. Построим линию уровня F = x2 – x12 + 6x1 = h, где h — некоторая постоянная, и исследуем ее поведение при различных значениях h. 36 2.6. Метод множителей Лагранжа 3. При каждом значении h получаем параболу, которая тем выше отдалена от оси Ox1, чем больше значение h. Значит, функция F принимает максимальное значение в точке касания одной из парабол с границей многоугольника OABC. 4. В данном случае это точка D, в которой линия уровня F = x2 – x12 + 6x1 = 13 касается стороны AB многоугольника OABC. Координаты точки D можно найти из системы уравнений x2 — x12 + 6x1 = 13 x2 = 4. Решая эту систему, получим x1* = 3, x2* = 4. Ответ: Подстановкой этих значений в целевую функцию получаем Fmax = 13 при X * = (3; 4). Из анализа решения этого примера можно сделать вывод, что точка максимального значения целевой функции может и не являться вершиной многоугольника решений. Поэтому процедура перебора вершин, которая в принципе может быть использована при решении задач линейной оптимизации, неприменима для решения задач нелинейной оптимизации. Рассмотренная задача является частным случаем задачи нелинейного программирования, а именно задачи квадратичного программирования, в которой ограничения (в примере — (2.15)–(2.18)) являются линейными функциями, а целевая функция (в примере — (2.14)) представляет собой сумму линейной и квадратичной функций. Как и в общем случае решения задач нелинейного программирования, для определения глобального экстремума задачи квадратичного программирования не существует эффективного вычислительного метода, если не известно, что любой локальный экстремум также и глобальный. 2.6. Метод множителей Лагранжа Общие положения. В пункте 2.2 было дано понятие условного экстремума функции, то есть экстремума функции на множестве значений переменных, стесненном рядом ограничений (причем эти ограничения могут иметь вид равенств или неравенств). 37 Глава 2. Задачи оптимизации Рассмотрим теперь задачу определения условного экстремума, когда область изменения переменных ограничена только условиями типа равенств, а именно, требуется найти экстремум целевой функции z = f (x1, …, xn) (2.19) при дополнительных условиях gi (x1, …, xn) = bi (i = 1, 2, …, m), (2.20) где f (x1, …, xn), gi (x1, …, xn) — некоторые функции, а bi — некоторые константы. Будем считать, что в задаче (2.19), (2.20) число неизвестных n строго больше числа уравнений m, в противном случае система уравнений (2.20) либо вообще не имеет решений (то есть множество тех значений переменных, на котором следует искать экстремум, пусто), либо имеет решение в виде изолированных точек (в этом случае экстремум можно найти, подсчитав значения экстремизируемой функции во всех таких изолированных точках). Кроме того, чтобы задача (2.19), (2.20) имела смысл при определении условного экстремума функции z, хотя бы некоторые из функций f (x1, …, xn), gi (x1, …, xn) должны быть нелинейными. Иначе или система линейных уравнений (2.20) может вообще не иметь решения, или же линейная функция f (x1, …, xn) на множестве решений либо остается постоянной, либо может принимать как угодно большие значения (следовательно, в этом случае задача (2.19), (2.20) также не имеет решения). Рассматриваемая задача в принципе могла бы быть решена следующим образом. Из системы уравнений (2.20) выражаются m переменных как функции остальных n–m переменных, считающихся независимыми переменными задачи. В качестве этих независимых переменных можно брать, в частности, последние n–m компонент вектора x. Тогда можно записать x1 1 x m 1 , x m 2 , , x n x 2 2 x m 1 , x m 2 ,, x n . x m m x m 1 , x m 2 ,, x n 38 (2.21) 2.6. Метод множителей Лагранжа Будем считать, что на изменения независимых переменных xm + 1, xm + 2, …, xn уже не накладывается никаких ограничений. Заменим теперь в функции z зависимые переменные x1, x2,.., xm соответствующими их выражениями из (2.21) и получим z = f (φ1(xm + 1, …, xn), …, φ1(xm + 1, …, xn), xm + 1, xm + 2, …, xn) = = f (xm + 1, xm + 2, …, xn). Поскольку функция f (xm + 1, xm + 2, …, xn) зависит только от независимых переменных, ее экстремум (в частности, максимум) может быть найден (при условии, что эта функция дифференцируема) приравниванием нулю всех ее частных производных по всем независимым переменным. Заметим, приравниваются нулю все частные производные функции f (xm + 1, xm + 2, …, xn), а не исходной функции z. Получается, на первый взгляд, задачу (2.19), (2.20) можно решить по простой схеме, а именно, путем преобразований соотношений (2.19), (2.20) решение задачи свести к определению экстремума функции многих переменных (2.21). Но, к сожалению, изложенный метод, оказывается, мало эффективен и может быть применен только в редких случаях по двум причинам. Во‑первых, для переменных x1, x2, …, xm из системы (2.21) было сделано допущение, что на их изменения не накладывается никаких ограничений, то есть областью изменений этих переменных является все (n–m)-мерное пространство, но такое допущение можно делать только исходя из вида функций gi (x1, …, xn), и может оказаться, что оно выполнимо не для всех переменных x1, x2, …, xm. Во‑вторых, в этом методе требуется из системы (2.20) явно выразить m функций φ1, φ2, …, φm, фигурирующих в (2.21), а эта операция может быть выполнена практически лишь для очень простых функций gi (x1, …, xn). Поэтому для решения задачи (2.19), (2.20) был разработан метод, называемый методом множителей Лагранжа, в котором уже не используется такая неэффективная операция, как переход от системы уравнений (2.20) к выражениям (2.21). Теоретический материал. С помощью метода множителей Лагранжа можно определить экстремальные точки функции многих переменных при наличии дополнительных связей между оптимизируемыми 39 Глава 2. Задачи оптимизации параметрами; это один из методов для решения экстремальных задач с ограничениями в виде равенств, сводящий задачу с ограничениями к обычной экстремальной задаче без ограничений, которые решаются известными способами. Вернемся к рассмотрению общей задачи об условном экстремуме с ограничениями (2.19), (2.20). Так как ограничения в этой задаче заданы уравнениями (2.20), для ее решения можно воспользоваться классическим методом отыскания условного экстремума функций нескольких переменных. Полагаем, что функции f (x1, …, xn) и gi (x1, …, xn) непрерывны вместе со своими первыми частными производными. Для решения задачи составим функцию: m F (x1, …, xn, λ1, …, λm) = f (x1, …, xn) + i [bi g i ( xi , ..., x n )]. (2.22) i 1 Функция F (x1, …, xn, λ1, …, λm) называется функцией Лагранжа, а числа λi — множителями Лагранжа. Необходимые условия экстремума функции состоят в равенстве нулю всех первых частных производных от F (x1, …, xn, λ1, …, λm) по x1, …, xn, λ1, …, λm. По каждой переменной xj и λi вычисляются частные производные от функции (2.22) и приравниваются нулю: F 0 xj F 0 i (j = 1, …, n); (i = 1, …, m). В результате получим систему (n + m) уравнений c (n + m) неизвестными (x1, …, xn), (λ1, …, λm): m g F F i i 0 ( j 1, 2, ..., n); x x j i 1 x j j (2.23) F b g ( x , ..., x ) 0 (i 1, 2, ..., m ). i i 1 n i Решение этих уравнений относительно переменных xj и λi дает возможность определить положение стационарной точки. Следовательно, решая систему (2.23), получаем множество точек, в которых функция F (x1, …, xn, λ1, …, λm) может иметь экстремальные значения. При этом неизвестен способ определения точек глобального минимума или мак- 40 2.6. Метод множителей Лагранжа симума. Однако если решения системы найдены, то для определения глобального максимума (минимума) достаточно найти значения функции в соответствующих точках. Если для функции z = f (x1, …, xn) существуют вторые частные производные и они непрерывны, то можно вывести достаточное условие существования локального экстремума функции в точке, являющейся решением системы (2.23). Так, достаточное условие существования минимума функции одной переменной — это положительная величина производной четного порядка: ∂2 k F >0 ∂2 k x j (k = 1, …, n). Для функции двух переменных достаточным условием существования минимума (максимума) функции является положительная (отрицательная) определенность матрицы: ∂2F ∂ 2 x1 ∂2F ∂ x1 ∂ x 2 ∂2F ∂ x1 ∂ x 2 ∂2F ∂2 x2 . Алгоритм метода Ларганжа 1. Составление функции Лагранжа. 2. Вычисление частных производных от функции Лагранжа F (x1, …, xn, λ1, …, λm) по переменным xi и λi и приравнивание их нулю. 3. Определение точек в процессе решения системы уравнений (2.23), в которых целевая функция (2.19) может иметь экстремум. 4. Среди точек, подозрительных на экстремум, нахождение таких, в которых достигается экстремум (минимум или максимум), и вычисление значений целевой функции (2.19) в этих точках. В заключение отметим, что метод Лагранжа сыграл существенную роль в истории науки. Оказалось, что этот метод допускает обобщения также на задачу оптимальных векторов, когда область допустимых значений стеснена условиями вида неравенств. Кроме того, метод множителей Лагранжа и его обобщения нашли широкое применение в теоретической физике, теории управления, математической экономике, вариационном исчислении и т. д. 41 Глава 2. Задачи оптимизации Проверь себя 1. В чем состоит математическая постановка экстремальной задачи? 2. Для чего применяется в табличном симплекс-методе «правило треугольника»? 3. Что является признаком отсутствия решения задач линейного программирования при решении табличным методом? 4. Что является признаком отсутствия решения задач линейного программирования при решении графическим методом? 5. В каком случае задача линейного программирования составляется в форме расширенной? 6. С какой целью в задачах линейного программирования используется метод потенциалов? 7. Когда игра должна решаться в смешанных стратегиях? 8. Запишите штрафную функцию в развернутом виде. 9. Запишите формулы, по которым осуществляется итерационный переход к очередному опорному плану при поиске экстремума методом штрафных функций. 10. Каково назначение штрафной функции при решении задачи нелинейного программирования? 11. Что такое градиент функции и каков его физический смысл? 42 Глава 3. Методы нелинейного программирования 3.1. Методы поиска экстремума унимодальных функций Ф ункция одной переменной, имеющая в интервале исследования [a, b] один горб (впадину), называется унимодальной (если x1 < xопт (x1 > xопт), (x2 > xопт) и x1 < x2, то F (x1) < F (x2) (F (x1) > F (x2))). Унимодальная функция не обязательно должна быть гладкой и даже непрерывной — она может быть в некоторых точках интервала неопределенной. Предположение унимодальности не связано с жесткими ограничениями и выполняется во многих практических задачах поиска оптимума. Если целевая функция унимодальна, то можно сузить интервал исследования функции на оптимум путем определения значений целевой функции в двух точках интервала задания функций F (x1) и F (x2) и последующего сравнения. При этом возможны три случая (рис. 3.1): 1) если F1 > F2, то xопт < x2, т. е. оптимум не может лежать правее точки x2, иначе нарушается предположение об унимодальности функции (интервал [x2, b] из дальнейшего рассмотрения исключается); 2) если F1 < F2, то xопт > x1, т. е. оптимум не может лежать левее точки x1, иначе нарушается предположение об унимодальности функции (интервал [a, x1] из дальнейшего рассмотрения исключается); 3) если F1 = F2, то x1 < xопт < x2, т. е. оптимум не может лежать правее точки x2 и левее точки x1, иначе нарушается предположение об унимодальности функции (интервалы [a, x1] и [x2, b] из дальнейшего рассмотрения исключается). Как правило, задачи одномерной оптимизации имеют унимодальную целевую функцию. 43 Глава 3. Методы нелинейного программирования а б y y y2 y1 y1 y2 x1 a x1 xопт в x2 b x a x2 xопт b x y y1 y2 a x1 xопт x2 b x Рис. 3.1. Возможные случаи сужения интервала исследования [a, b]: а — ордината левой границы интервала сужения лежит выше ординаты правой границы; б — ордината левой границы интервала сужения лежит ниже ординаты правой границы; в — ординаты интервала сужения совпадают Последовательно сужая интервал исследования, в котором находится оптимальное значение искомой переменной, можно с достаточной степенью точности найти это оптимальное значение. Для этого необходимо выработать такую стратегию поиска, чтобы за меньшее число шагов (этапов) определить минимальный интервал, в котором лежит искомый оптимум, или свести исходный интервал до области заданной длины за минимальное число шагов. К последовательным детерминированным методам поиска экстремума унимодальных функций относятся методы простого перебора, дихотомии, золотого сечения и Фибоначчи. 3.2. Метод простого перебора Если известна функциональная связь целевой функции F и искомой переменной x, то можно последовательно вычислить значения целевой функции для некоторых значений искомой переменной. Вычисления повторяются до тех пор, пока не будет найдено минимальное (максимальное) значение целевой функции. 44 3.3. Метод дихотомии (метод деления отрезка пополам) Процесс решения задачи методом перебора состоит в последовательном сужении интервала изменения параметра x, называемого интервалом неопределенности. В начале процесса оптимизации его длина равна (b – a), а к концу она должна стать менее заданного допустимого значения ε, т. е. оптимальное значение параметра должно находиться в интервале неопределенности — отрезке [xn, xn + 1], причем xn + 1 – xn < ε. Наиболее простым способом сужения интервала неопределенности является деление его на некоторое число равных частей с последующим вычислением значений целевой функции в точках разбиения. Пусть n — число элементарных отрезков, h = (b – a)/n — шаг разбиения. Вычислим значения целевой функции yk = Fk (x) в узлах xk = a + k · h (k = 0, 1, …, n). Сравнивая полученные значения F (xk), найдем среди них наименьшее. Особенности и преимущества метода простого перебора заключаются: 1) в независимости поиска от вида и характера целевой функции; 2) в цикличности поисковой процедуры; 3) в определении глобального экстремума целевой функции; 4) в малом объеме необходимой машинной памяти. Главным недостатком метода является продолжительное время работы ЭВМ. В случае большой области изменения искомой переменной и (или) наличия более чем одного экстремума исследуемой функции использование этого метода неэффективно. 3.3. Метод дихотомии (метод деления отрезка пополам) В методе дихотомии вычисляются значения целевой функции в двух точках и на соотношении этих двух значений осуществляется сужение интервала поиска экстремального значения целевой функции. В этом методе делим интервал неопределенности [a, b] пополам и вычисляем значения двух точек, симметрично расположенных относительно середины интервала [a, b] c = (a + b)/2 на расстоянии ε/2: x1 = (a + b – ε)/2; x2 = (a + b + ε)/2. 45 Глава 3. Методы нелинейного программирования В этих точках вычисляем значения целевой функции F (x1) и F (x2), а затем проверяем условие F (x1) < F (x2) (при поиске минимума). Если оно выполняется, полагаем b = x2, если же условие не выполняется — a = x1. Затем для нового интервала неопределенности проверяем условие (b – a) < 2ε, где ε — заданная погрешность вычислений. Если условие выполняется, то выводим на печать xопт = (a + b)/2 и вычисляем значение целевой функции в этой точке F (xопт). Если же условие не выполняется, делим интервал неопределенности пополам и вычисляем новые значения точек x1 и x2, симметрично расположенных относительно середины нового интервала неопределенности, и выполняется операция сравнения значений функций F (x1) и F (x2). Преимущество метода дихотомии заключается в предельной прос­ тоте, однако при переходе к новому интервалу неопределенности не используется ни одно из ранее найденных значений функции. Оба вычисления, необходимые для выделения части интервала, содержащего точку экстремума, производятся заново. В отличие от метода простого перебора, в котором эффективность поиска прямо пропорциональна числу расчетов, в методе дихотомии эффективность возрастает с ростом числа шагов n экспоненциально. Интервал, в котором находится оптимум, после n шагов определяется из соотношения l0/ln ≈ 2n/2, где l0 — первоначальный интервал исследования. 3.4. Метод золотого сечения В методе золотого сечения деление интервала неопределенности производится не на целое число частей, как в методе простой итерации, а в определенном иррациональном отношении. Интервал неопределенности делится на две неравные части так, что отношение длины всего интервала к длине большего отрезка равно отношению длины большего отрезка к длине меньшего отрезка. Деление отрезков в таком отношении носит название золотого сечения. 46 3.4. Метод золотого сечения В методе золотого сечения на первом шаге поиска экстремума осуществляется вычисление целевой функции в двух точках, отстоящих на расстоянии 0,618 интервала от каждой границы. На последующих шагах вычисляется значение целевой функции только в одной точке, второе значение берется из предыдущего шага, тем самым достигается большая экономичность метода. Интервал, в котором находится оптимум, после n шагов определяется по формуле l ln n01 , где τ ≈ 1,618. Алгоритм метода золотого сечения 1. Задаются начальные данные: a, b — пределы интервала неопределенности, ε — точность вычисления. 2. Вычисляются координаты двух первых точек x1, x2: x1 = a + 0,382(b – a), x2 = a + 0,618(b – a). 3. Вычисляются значения целевой функции в этих точках. 4. Производится сравнение значений целевой функции в этих точках, т. е. проверяется условие: F (x1) ≥ F (x2) (при поиске минимума целевой функции), если это условие выполняется, идти к п. 8, если нет — к п. 5. 5. Решение ищется в интервале [a, x2], принимается b = x2, x2 = x1, F (x2) = F (x1). Вычисляются координаты точки x1 = a + 0,382(b – a) и значение целевой функции в этой новой точке F (x1). 6. Длина интервала неопределенности сравнивается с заданной точностью вычисления, т. е. проверяется условие: |b – a| > ε, если условие выполняется, идти к п. 4, если нет — к п. 7. 7. Вычисляются оптимальное значение xопт и значение целевой функции в этой точке F (xопт), и процесс поиска xопт завершается. 8. Решение ищется в интервале [x1, b], принимается a = x1, x1 = x2, F (x1) = F (x2). Вычисляются координаты точки x2 = a + 0,618(b – a) и значение целевой функции в этой новой точке F (x2). Проверяется длина нового интервала неопределенности (идти к п. 6). 47 Глава 3. Методы нелинейного программирования 3.5. Классификация методов многомерной оптимизации Задачи оптимизации, в которых целевая функция зависит от многих управляющих параметров, называются многомерными оптимизационными задачами. Многомерное пространство качественно отличается от одномерного. Прежде всего, с увеличением числа параметров уменьшается вероятность унимодальности целевой функции. Объем вычислений, необходимых для сужения интервала неопределенности в многомерном пространстве, является степенной функцией, показатель которой равен размерности пространства. Методы оптимизации в многомерном пространстве делятся на две группы — прямые и косвенные. 1. Прямые методы (методы поиска, часто называемые также методами нулевого порядка), основанные на вычислении только значений целевой функции f (x1, x2, …, xn). 2. Косвенные методы: а) градиентные методы (методы первого порядка), в которых используются точные значения первых производных целевой функции; б) методы второго порядка, в которых наряду с первыми производными используются также вторые производные целевой функции f (x1, x2, …, xn). Метод Гаусса-Зейделя (метод покоординатного спуска) Суть метода заключается в поочередной оптимизации последовательно по каждому управляющему параметру. Сначала оптимизация производится по одному параметру x1, затем переходят ко второму x2 и так далее, пока значения целевой функции не перестанут уменьшаться (возрастать). Пусть требуется найти наименьшее значение целевой функции f (x1, x2, …, xn). В качестве начального приближения выберем в n‑мерном пространстве некоторую точку M0 с координатами x1( 0 ) , x 2( 0 ) ,..., x n( 0 ). Зафиксируем все координаты функции f (x1, …, xn), кроме первой. Тогда f ( x1 , x 2( 0 ) , ..., x n( 0 ) ) — функция одной переменной x1. Решая одномерную задачу оптимизации для этой функции от точки M0, переходим к точке M 1 ( x1(1) , x 2( 0 ) , ..., x n( 0 ) ), в которой целевая функция f принимает 48 3.5. Классификация методов многомерной оптимизации наименьшее значение по координате x1 при фиксированных остальных координатах. Это первый шаг процесса оптимизации, который состоит в спуске по координате x1. Зафиксируем теперь все координаты, кроме x2, и рассмотрим функцию этой переменной f ( x1(1) , x 2 , x 3( 0 ) , x 4( 0 ) , ..., x n( 0 ) ). Снова решим одномерную задачу оптимизации, найдем ее наименьшее значение при x 2 = x 2(1) , т. е. в точке M 2 ( x1(1) , x 2(1) , x 3( 0 ) , ..., x n( 0 ) ). Аналогично проводится спуск по координатам x3, x4, …, xn, а затем процедура снова повторяется от x1 до xn и т. д. В результате этого процесса получается последовательность точек M0, M1, …, в которых значения целевой функции составляют монотонно убывающую последовательность f (M0) ≥ f (M1) ≥ … На любом k‑м шаге этот процесс можно прервать, и значение f (Mk) принимается в качестве наименьшего значения целевой функции в рассматриваемой области. Следовательно, метод покоординатного спуска сводит задачу о нахождении наименьшего значения функции многих переменных к многократному решению одномерных задач оптимизации по каждому управляющему параметру. На рисунке 3.2 приведена графическая интерпретация метода Гаусса-Зейделя для случая функции двух переменных. x2 xопт M2 M1 M0 x1 Рис. 3.2. Графическая интерпретация метода Гаусса-Зейделя 49 Глава 3. Методы нелинейного программирования Достоинством метода Гаусса-Зейделя является простота алгоритма и программирования на ЭВМ. Недостатки метода Гаусса-Зейделя: 1) обеспечивает получение только локального оптимума или особой точки типа седла; 2) позволяет оптимизировать только непрерывно изменяющиеся параметры; 3) результаты поиска существенно зависят от удачного выбора направления движения, начальной точки; 4) метод не работает в случае сильно вытянутых, изогнутых или обладающих острыми углами линий уровня целевой функции. 3.6. Градиентные методы многомерной оптимизации Краткая теория. Градиентом дифференцируемой функции f (x) в точке x 0 называется n‑мерный вектор f ′(x 0), компоненты которого являются частными производными функции f (x), вычисленными в точке x 0, т. е. f ′(x 0) = (∂f (x 0)/∂x1, …, ∂f (x 0)/∂xn. Этот вектор перпендикулярен к плоскости, проведенной через точку x 0, и касательной к поверхности уровня функции f (x), проходящей через точку x 0. В каждой точке такой поверхности функция f (x) принимает одинаковое значение. Приравнивая функцию различным постоянным величинам C0, C1, …, получим серию поверхностей уровня, характеризующих ее топологию (рис. 3.3). f ′(x0) x0 –f ′(x0) f (x) = C0 f (x) = C1 f (x) = C2 C0 > C1 > C2 Рис. 3.3. Графическое представление вектор-градиента 50 3.6. Градиентные методы многомерной оптимизации Вектор-градиент направлен в сторону наискорейшего возрастания функции в данной точке. Вектор, противоположный градиенту (–f ′(x 0)), называется антиградиентом и направлен в сторону наискорейшего убывания функции. В точке минимума градиент функции равен нулю. На свойствах градиента основаны косвенные методы оптимизации первого порядка, называемые также градиентными методами минимизации. Использование этих методов в общем случае позволяет определить точку локального минимума функции. Метод градиента. Основная его идея состоит в том, чтобы двигаться к минимуму в направлении наиболее быстрого убывания функции, которое определяется антиградиентом. Эта идея реализуется следующим образом. Выберем каким-либо способом начальную точку, вычислим в ней градиент рассматриваемой функции и сделаем небольшой шаг в обратном (антиградиентном) направлении. В результате мы придем в точку, в которой значение функции будет меньше первоначального. В новой точке повторим процедуру: снова вычислим градиент функции и сделаем шаг в обратном направлении. Продолжая этот процесс, мы будем двигаться в сторону убывания функции. Получаем итерационный процесс вида xik 1 xik k f k , i 1, ..., n, k 0, 1, 2, ..., xi (3.1) где fk = f (x1k, …, xnk). Шаг интегрирования λk выбирается из условия убывания функции f на каждом этапе вычислений: fk + 1 < fk. (3.2) Правильный выбор шага λk, обеспечивающий наиболее быструю сходимость к минимуму, является в итерационном процессе задачей наиболее важной, но и наиболее трудной. Выбор очень маленького шага приводит к длительным вычислениям, при слишком большом шаге условие (3.2) перестает выполняться (в районе оптимума может возникнуть «рыскание», которое либо не затухает, либо затухает слишком медленно). Градиентные методы различаются способами выбора градиентного шага λk. Наиболее простой из них состоит в том, что на каждой итерации берут одно и то же значение шага λk = λ, если только при этом вы51 Глава 3. Методы нелинейного программирования полняется условие монотонности (3.2). При нарушении условия (3.2) число λ уменьшают, пока монотонность не восстановится. В качестве критерия останова итерационного процесса используют либо выполнение условия малости приращения аргумента |xk + 1 – xk| ≤ ε либо выполнение условия малости функции |f (xk + 1) – f (xk)| ≤ γ. Здесь ε, γ — заданные малые величины. Возможен и комбинированный критерий, состоящий в одновременном выполнении указанных условий. Алгоритм метода градиента 1. Выбираем начальную точку (x10 , ..., x n0) и шаг h; ε — точность вычислений, t — число, на которое шаг уменьшается. 2. По формуле (3.1) вычисляем первое приближение (x11 , ..., x n1 ). 3. Проверяем условие (3.2). Если оно выполняется, то по формуле (3.1) вычисляем второе приближение при том же шаге. В противном случае уменьшаем шаг и повторяем вычисления, связанные с первым приближением. 4. Аналогично находятся следующие приближения. Процесс заканчивается, как только f (x) перестает изменяться в пределах желаемой точности ε, т. е. при достижении условия |f (xk + 1) – f (xk)| ≤ ε. Метод наискорейшего спуска. Это разновидность метода градиента, обеспечивающая наименьшее число шагов в определении оптимума. Суть его сводится к следующему. После определения градиента функции f (x) делаем шаг в направлении, обратном градиенту. Если значение целевой функции при этом уменьшилось по сравнению с исходным, то делаем очередной шаг в том же направлении, а не определяем заново градиент, как при методе градиента. Если же после очередного шага значение целевой функции увеличилось по сравнению с предыдущим значением, то движение прекращаем, заново определяя направление градиента и т. д. Повышенная скорость сходимости является существенным преимуществом этого метода. При использовании метода наискорейшего спуска на каждой итерации величина шага λk выбирается из условия минимума функции f (x) в направлении спуска: 52 Проверь себя f (xk — λkf ©(xk)) = min f (xk — λf ©(xk)). 0 (3.3) Это условие означает, что движение в направлении антиградиента происходит до тех пор, пока значение функции f (x) убывает. С математической точки зрения на каждом шаге итерации необходимо решать задачу одномерной минимизации по λ функции φ (λ) = f (xk — λf ′(xk)). Алгоритм метода наискорейшего спуска 1. Задаем координаты начальной точки x 0. 2. В точке xk, k = 0, 1, 2, …, вычисляем значение градиента f ©(xk). 3. Определяем величину шага λk путем одномерной минимизации по λ функции φ (λ) = f (xk — λf ′(xk)). 4. Определяем координаты точки xk+1: xik 1 xik k fi © ( x k ), i = 1, …, n. 5. Проверяем условия остановки итерационного процесса. Если они выполняются, то вычисления прекращаем. В противном случае осуществляем переход к п. 2. Проверь себя 1. Дополните предложение. Задача … — это задача с нелинейной целевой функцией и линейной системой ограничений. 2. Дополните предложение. Задача … — это задача с линейной целевой функцией и системой нелинейных ограничений. 3. Дополните предложение. Задача … — это задача с нелинейной целевой функцией и системой нелинейных ограничений. 4. Дополните предложение. … — значение вектора входных параметров и соответствующая ему целевая функция, достигающая экстремального значения. 53 Глава 3. Методы нелинейного программирования 5. Дополните предложение. …оптимальное решение — это значение целевой функции, экстремальное в некоторой окрестности. 6. Дополните предложение. …оптимальное решение — это экстремальное значение целевой функции на всей области допустимых решений. 7. Дополните предложение. … — множество точек n‑мерного пространства, содержащее вместе с любыми двумя точками А и В и все точки отрезка АВ. 8. Дополните предложение. …точка выпуклой (вогнутой) области — это точка, для которой сколь угодно малая окрестность содержит только точки данной области. 9. Дополните предложение. …точка выпуклой (вогнутой) области — это точка, в сколь угодно малой окрестности которой содержатся точки, принадлежащие и не принадлежащие области. 10. Дополните предложение. …точка выпуклой (вогнутой) области — это точка является граничной точкой выпуклой (вогнутой) области и не лежит внутри отрезка, соединяющего две другие точки области. 11. Дополните предложение. …выпуклая (вогнутая) область — это область, которая включает в себя все граничные точки. 12. Дополните предложение. …выпуклая (вогнутая) область — это область, для которой радиус-вектор, соединяющий начало координат с любой точкой области, всегда меньше некоторого заданного числа, большего нуля. 13. Дополните предложение. … — это выпуклая (вогнутая) замкнутая ограниченная область, которая имеет конечное число угловых точек. 14. Дополните предложение. … — это любой вектор входных параметров, удовлетворяющий условиям ограничений, заданных в виде равенств или неравенств. 15. Дополните предложение. … — множество допустимых векторов или точек. 54 Проверь себя 16. Дополните предложение. … — наилучшее решение (но не экстремальное) на границе области допустимых решений. 17. Дополните предложение. Ограничения в виде неравенств обеспечивают нахождение вектора входных параметров … области допустимых решений. 18. Дополните предложение. Ограничения в виде равенств обеспечивают нахождение вектора входных параметров на …. 19. Дополните предложение. … — множество точек, для которых целевая функция имеет постоянное значение. 20. Дополните предложение. Если в какой-либо точке функция непрерывна и дифференцируема, то в этой точке существует … целевой функции. 21. Дополните предложение. …указывает направление наискорейшего возрастания (подъема) функции. 22. Дополните предложение. …указывает направление наискорейшего убывания функции. 23. Дополните предложение. …определяется как вектор-столбец первых частных производных функции по аргументу. 24. Дополните предложение. Если вторые производные целевой функции положительно определены, то экстремум целевой функции — это … значение функции. 25. Дополните предложение. Если вторые производные целевой функции отрицательно определены, то экстремум целевой функции — это … значение функции. 55 Глава 4. Статистические модели. Уравнение регрессии. Метод наименьших квадратов 4.1. Статистическое моделирование Н аучно-технический прогресс последних десятилетий характеризуется не только достижениями в разработке высоких технологий и фундаментальных наук, но и накоплением огромного количества экспериментальных и наблюдательных данных. Например, один из последних звездных каталогов, составленный по наблюдениям на телескопе, установленном на искусственном спутнике Земли, содержит высокоточные сведения о более чем миллионе звезд, причем эти данные были получены всего за несколько лет работы телескопа. И этот результат получен благодаря не только отличной конструкции телескопа, но и умелой обработке такого огромного наблюдательного материала при помощи ЭВМ. Широкое внедрение компьютеров в процесс обработки большого количества результатов экспериментов позволяет не только получать надежные результаты, но и выявлять новые закономерности в изучаемых явлениях. При таких исследованиях применяется статистическое моделирование, то есть разработка разнообразных моделей, которые отображают статистические закономерности описываемого объекта, явления (тенденции развития, взаимосвязи, степень воздействия и т. д.). Статистическое моделирование заключается в теоретическом обос­ новании выбора вида модели и оценивании ее параметров на основе экспериментальных данных, проверке адекватности выбранного вида модели реальным данным. 56 4.2. Алгоритмы приближения функций. Интерполяция. Аппроксимация Объектами статистического моделирования являются различные распределения случайных величин, модели случайных процессов, экономико-статистические модели, уравнения регрессии, модели управления запасами и т. д. Общей специфической чертой этих моделей является учет случайных возмущений или отклонений. В этой главе рассматривается метод построения математических моделей зависимостей в изучаемых явлениях в виде полиномов конечного числа степеней. На примере аппроксимации парной зависимости полиномом первой степени излагаются метод наименьших квадратов обработки экспериментальных данных и способы статистического оценивания достоверности полученных результатов. 4.2. Алгоритмы приближения функций. Интерполяция. Аппроксимация Результаты экспериментов обычно бывают представлены ограниченным числом в виде таблиц, отражающих зависимость величины исследуемого явления y от фактора x. Для практического же применения, как правило, бывает необходимо знать и промежуточные по отношению к табличным значениям y. Если бы была известна форма зависимости y = f (x), то это означало бы, что любому значению x из области определения поставлено в соответствие значение y. На практике явная связь между y и x обычно неизвестна. Поэтому возникает необходимость приближенной замены данной функции f (x) некоторой функцией g (x). (Заметим здесь, что такая же задача возникает в том случае, если зависимость известна, но она настолько громоздка, что ее использование в практических расчетах затруднительно. Процедура же нахождения функции называется приближением к функции f (x).) Различают два основных способа выбора приближения функций: интерполяцию и аппроксимацию. Пусть функция f (x) задана таблицей ее значений y = y0, y1, …, yn в точках x = x0, x1, …, xn, называемых узлами интерполяции. Задача интерполяции состоит в выборе такой функции g (x), которая в узлах xi принимала бы те же значения, что и f (x), т. е. g (x) = yi, i = 1, 2, …, n. Как правило, в качестве интерполирующих функций выбира57 Глава 4. Статистические модели. Уравнение регрессии. Метод наименьших квадратов ют многочлены. Поскольку число узлов равно n + 1, то степень многочлена равна n. Во многих случаях, особенно когда значения функции f (x) получены экспериментально и содержат погрешности, нет необходимости точного совпадения значений g (x) и f (x) в узловых точках. К тому же, надо отметить, с увеличением n трудности построения интерполяционного многочлена существенно возрастают. Поэтому для практики можно пользоваться многочленом меньшей степени k (k < n) или аналитической зависимостью иного вида, но график которой проходил бы достаточно близко от точек (xi, yi) на всем протяжении интервала изменения x. Например, часто бывает достаточно иметь линейную функцию или квадратный трехчлен для отражения основных, представляющих практический интерес закономерностей исследуемой зависимости. Обычно вопрос выбора типа кривой зависимости часто решается непосредственно по внешнему виду экспериментальной зависимости. Например, если речь идет о периодической функции, можно выбрать несколько гармоник тригонометрического ряда. Очень часто бывает, что вид зависимости известен из физических соображений, а из опыта требуется установить только некоторые параметры этой зависимости. Процедура построения функции, исходя из заранее определенного понятия близости, называется аппроксимацией. На практике часто приходится решать задачу об определении многочлена степени k (k < n): Pk (x) = akxk + ak–1xk–1 + … + a1x + a0, «расстояние» между которым и функцией f (x) в некотором смысле минимально. Такой многочлен (называемый аппроксимирующим данную функцию) сглаживает локальные особенности заданной экспериментальной таблицы (часто связанные с неизбежными погрешностями самого наблюдения) и отражает общее поведение функции f (x) вдоль всего интервала ее изменения. Для решения подобных задач используется метод, известный под названием «метод наименьших квадратов». 58 4.3. Метод наименьших квадратов 4.3. Метод наименьших квадратов При изучении физических явлений всегда проводится конечное (дискретное) число измерений. Зависимости между величинами в науке являются непрерывными функциями (принимают континуальное множество значений). Следовательно, важной задачей является разработка метода, позволяющего дискретные закономерности, полученные экспериментальным путем, отождествить с континуальными зависимостями, необходимыми для теоретических исследований и расчетов. В методе наименьших квадратов рассматривается выборка двух взаимосвязанных дискретных случайных величин X и Y. Пара (xi, yi), где 1 ≤ i ≤ n соответствует i‑й точке (i‑му опыту). Здесь n — объем парной выборки. Для удобства последующего использования табличные (опытные) данные моделируют некоторой функцией, которую называют уравнением регрессии Y = f (X). Процедура построения регрессионной (статистической) модели предусматривает, во‑первых, выбор функции f (X). В качестве функции чаще всего используют полином Y = a0 + a1 · X + … + ak · X, где aj — коэффициенты регрессии (0 ≤ j ≤ k); k — порядок полинома. На втором этапе построения модели определяют коэффициенты регрессии ak, то есть осуществляют аппроксимацию опытных точек. Уравнение регрессии позволяет вычислить ожидаемое значение функции Y для опытных значений xi: Y ( xi ) a0 a1 xi a2 xi2 ak xik . (4.1) Разность между опытным значением yi и ожидаемым значением Y (xi) составляет ошибку или погрешность функции: ΔYi = yi – Y (xi). Аппроксимация может быть произведена при разных требованиях к величине ΔYi. Наиболее распространенным является требование минимизации суммы квадратов отклонений опытных точек от ли59 Глава 4. Статистические модели. Уравнение регрессии. Метод наименьших квадратов нии регрессии. Это требование называют принципом Лежандра, согласно которому коэффициенты регрессии aj должны быть подобраны так, чтобы сумма n n i =1 i =1 U ( Y i )2 ( yi a0 a1 xi a2 xi2 ak xik )2 принимала минимальное значение. Метод определения коэффициентов регрессии по принципу Лежандра называют методом наименьших квадратов. Искомые коэффициенты регрессии находятся из решения системы уравнений: U 0, a j или n U 2 ( yi a0 a1 xi a1 xik ) 0 a0 i 1 n U 2 ( yi a0 a1 xi a1 xik ) xi 0 a1 i 1 . n U 2 ( yi a0 a1 xi a1 xik ) xik 0 an i 1 Отсюда получается система нормальных уравнений: i 1 i 1 i 1 n n n n 2 k 1 a0 xi a1 xi ak xi xi yi . i 1 i 1 i 1 i 1 n n n n a0 xik a1 xik 1 ak xi2 k xik yi i 1 i 1 i 1 i 1 n n n a0 n a1 xi ak xik yi (4.2) В простейшем случае k = 1, то есть полином первой степени, уравнение регрессии (4.1) принимает вид Y (xi) = a0 + a1 · xi. 60 (4.3) 4.3. Метод наименьших квадратов Система (4.2) также упрощается: i =1 i =1 (4.4) . n n n 2 a0 xi a1 xi xi yi . i =1 i =1 i =1 Относительно неизвестных коэффициентов aj уравнения (4.4) являются линейными. Значения коэффициентов aj можно определить, например, по правилу Крамера (для случая k > 1 при определении коэффициентов aj обычно пользуются методом Гаусса): n n n a0 a1 xi yi , a0 = A0/A, a1 = A1/A, (4.5) где A — главный определитель системы уравнений (4.4); A0 и A1 — дополнительные определители той же системы: n 2 n xi n n i =1 2 A n n xi xi ; n i =1 i =1 2 xi xi i =1 i =1 (4.6) n n y i xi n n n n i =1 i =1 yi xi2 xi xi yi ; A0 n n i =1 i =1 i =1 i =1 2 x y i i xi i =1 i =1 (4.7) n n yi n n n i =1 n xi yi xi yi . A1 n n i =1 i =1 i =11 x i xi yi i =1 i =1 (4.8) Коэффициенты регрессии уравнения (4.3) могут быть определены также и геометрически (рис. 4.1). (На рисунке 4.1 квадратами изображены экспериментальные данные.) Коэффициенту a0 соответствует в масштабе отрезок ординаты, отсекаемый линией регрессии от начала координат, коэффициенту a1 — тангенс угла наклона линии регрессии относительно положительного направления оси абсцисс. 61 Глава 4. Статистические модели. Уравнение регрессии. Метод наименьших квадратов Y a0 a1 = tg α Y(xi) yi α ΔYi 0 xi X Рис. 4.1. Аппроксимация опытных данных линейным уравнением прямой регрессии Уравнение (4.3) с коэффициентами регрессии (4.5) учитывает погрешность функции и не учитывает погрешность фактора. Его называют уравнением прямой регрессии. Если в качестве независимого параметра рассматривать yi, а xi — как функцию от yi, тогда получим обратную регрессию, уравнение которой имеет вид X (yi) = b0 + b1 · yi, (4.9) где b0 и b1 — коэффициенты обратной регрессии. Уравнение (4.9) учитывает погрешность фактора (рис. 4.2) ΔXi = xi – X (yi). Коэффициенты обратной регрессии вычисляются по формулам, аналогичным (4.5), (4.6)–(4.8): b0 = B0/B, b1 = B1/B. Здесь для краткости решения задачи метода наименьших квадратов введены следующие обозначения: n 2 n yi n n i 1 n yi2 yi ; B n n i =1 i =1 2 yi yi i 1 i =1 62 4.4. Статистическое оценивание результатов расчетов n n x yi n i n n n i 1 i 1 xi yi2 yi xi yi ; B0 n n i =1 i =1 i =1 i =1 2 x y i i yi i =1 i 1 n n xi n n n i 1 n xi yi xi y . B1 A1 n n i =1 i =1 i =1 y i xi yi i 1 i =1 ΔXi Y yi ΔYi X(yi) y 0 Y(xi) xi x X Рис. 4.2. Аппроксимация линейными уравнениями прямой и обратной регрессии 4.4. Статистическое оценивание результатов расчетов Линии прямой и обратной регрессии будут совпадать друг с другом только в том случае, когда все опытные точки строго совпадают с линией регрессии. Такая связь между фактором X и функцией Y называется функциональной. При отклонении опытных точек от линии регрессии связь Y (X) является вероятностной, или стохастической; в этом случае линии прямой и обратной регрессии образуют «ножницы» (см. рис. 4.2), пересекаясь в центре «тяжести» выборки, то есть в точке с координатами x и y . 63 Глава 4. Статистические модели. Уравнение регрессии. Метод наименьших квадратов Близость зависимости Y (X) к функциональной связи оценивается коэффициентом корреляции r A1 B1 , A B A B который может принимать значения в пределах –1 ≤ r ≤ 1. Функциональной связи отвечает значение (r) = 1. При r = 0 величины X и Y не зависят друг от друга (но нелинейная связь может существовать). При –1 ≤ r ≤ 1 связь является вероятностной. Если с увеличением значений x значения y имеют тенденцию к увеличению, то величина r будет находиться между 0 и 1. Если же с увеличением значений x значения y имеют тенденцию к снижению, r может принимать значения от 0 до –1. В первом случае зависимость будет прямая, во втором — обратная. Здесь следует подчеркнуть, что сама по себе величина коэффициента корреляции не является доказательством наличия причинно-следственной связи между исследуемыми величинами, а является оценкой степени взаимной согласованности в изменениях указанных величин. Установлению причинно-следственной зависимости предшествует анализ качественной природы явлений. Например, может оказаться, что отклонение от нуля полученной величины выборочного коэффициента корреляции оказывается целиком обусловленным неизбежными случайными колебаниями выборочных данных, на основании которых он вычислен. Особенно осторожно следует подходить к истолкованию полученных коэффициентов при незначительных объемах выборочной совокупности. Значимость уравнения регрессии в целом проверяют путем срав2 нения несмещенной дисперсии S 2 с остаточной дисперсией S ост с ис- пользованием F‑критерия: F S2 F p ( 1 , 2 ) . 2 S ост (4.10) Считают, если условие (4.10) выполняется, то принимается нульгипотеза H0: качественное представление уравнением регрессии результатов испытаний значимо. Условие (4.10) проверяют как для уравнения прямой регрессии, так и для уравнения обратной регрессии. Поэтому величины в (4.10) вычисляются следующим образом: 64 Проверь себя а) для уравнения прямой регрессии (4.3): 2 1 n 2 1 n yi yi , S n 1 i 1 n i 1 2 y S y2ост 1 n 2 yi Y ( x i ) ; n 2 i 1 б) для уравнения обратной регрессии (4.9): 2 1 n 2 1 n xi x i , S n 1 i 1 n i 1 2 x S x2ост 1 n 2 x i X ( yi ) , n 2 i 1 при этом Y (xi) вычисляют по формуле (4.3), X (yi) — по формуле (4.9); yi, xi — исходные данные, а величину Fp (n1, n2) для степеней свободы n1 = n – 1, n2 = n – 2 можно определить по таблицам. 2 Величина S ост является показателем ошибки предсказания уравнением регрессии результатов опытов, поэтому можно сказать, что выражение (4.10) показывает, во сколько раз уравнение регрессии предсказывает результаты опытов лучше, чем среднее значение опытных данных. Пример построения статистической модели на основе экспериментальных данных дается в программе. Проверь себя 1. Какие способы прогнозирования по регрессионной модели существуют? Варианты ответов: a) восстановление значения; b) изменение значения; c) экстраполяция; d) ультраполяция. 2. Выберите ложное утверждение. Варианты ответов: a) нет строгих правил построения модели; b) модель никогда не может заменить само явление; c) при решении конкретной задачи модель может оказаться полезным инструментом; d) объект может служить моделью другого объекта, если он отражает его существенные признаки; 65 Глава 4. Статистические модели. Уравнение регрессии. Метод наименьших квадратов e) модель содержит столько же информации, сколько и моделируемый объект. 3. В биологии классификация представителей животного мира представляет собой … модель. Варианты ответов: a) иерархическую; b) натурную; c) графическую; d) табличную; e) математическую. 4. Математическая модель объекта — это описание объекта-оригинала в виде … Варианты ответов: a) текста; b) таблицы; c) рисунка; d) формул; e) схемы. 5. Какое значение примет параметр R 2, если тренд точно проходит через экспериментальные точки? Варианты ответов: a) +1; b) 0; c) –1. 6. Модель отражает … Варианты ответов: a) все существующие признаки объекта; b) все существенные признаки; c) существенные признаки в соответствии с целью моделирования; d) некоторые существенные признаки объекта; e) некоторые из всех существующих. 7. Как располагается линия тренда, построенная по МНК, относительно экспериментальных точек? Варианты ответов: a) линия тренда должна проходить рядом с экспериментальными точками; 66 Проверь себя b) линия тренда должна проходить дальше от экспериментальных точек; c) линия тренда должна проходить как можно ближе к экспериментальным точкам. 8. Какие значения может принимать параметр R 2? Варианты ответов: a) [–1; +1]; b) Любые; c) [0; +1]; d) [–1; 0]. 9. Какова суть МНК? Варианты ответов: a) искомая функция должна быть построена так, чтобы сумма квадратов отклонений игрек-координат всех экспериментальных точек от игрек-координат графика функции была минимальной; b) искомая функция должна быть построена так, чтобы сумма квадратов отклонений икс-координат всех экспериментальных точек от икс-координат графика функции была минимальной; c) искомая функция должна быть построена так, чтобы сумма кубов отклонений игрек-координат всех экспериментальных точек от игрек-координат графика функции была минимальной. 10. Какие из следующих величин можно назвать динамическими? Варианты ответов: a) среднее число выпавших осадков; b) средняя температура воздуха в регионе; c) мгновенная скорость автомобиля. 67 Библиографический список 1. Акулич, И. Л. Математическое программирование в примерах и задачах : учебное пособие для вузов / И. Л. Акулич. — 4‑е изд., стер. — Санкт-Петербург : Лань, 2022. — 348 с. — ISBN 978-5-507-44635-3. 2. Васильев, Ф. П. Численные методы решения экстремальных задач : учебное пособие для вузов / Ф. П. Васильев. — 2‑е изд., перераб. и доп. — Москва : Наука, 1988. — 549 с. — ISBN 5-02-013796-0. 3. Гончаров, В. А. Методы оптимизации : учебное пособие для вузов / В. А. Гончаров. — Москва : Юрайт, 2023. — 211 с. — ISBN 978-5534-16112-0. 4. Данко, П. Е. Высшая математика в упражнениях и задачах : учебное пособие для вузов / П. Е. Данко, А. Г. Попов, Т. Я. Кожевникова. — 7‑е изд., испр. — Москва : АСТ : Мир и Образование, 2016. — 816 с. — ISBN 978-5-17-099894-4. 5. Карманов, В. Г. Математическое программирование : учебное пособие / В. Г. Карманов. — 6‑е изд., испр. — Москва : Физматлит, 2008. — 263 с. — ISBN 978-5-9221-0983-3. 6. Моисеев, Н. Н. Методы оптимизации : учебное пособие для вузов / Н. Н. Моисеев, Ю. П. Иванилов, Е. П. Столярова. — Москва : Наука, 1978. — 351 с. 7. Струченков, В. И. Методы оптимизации. Основы теории, задачи, обучающие компьютерные программы : учебное пособие / В. И. Струченков. — 2‑е изд., перераб. — Москва : Экзамен, 2007. — 254 с. — ISBN 978-5-377-00012-9. 8. Химмельблау, Д. Прикладное нелинейное программирование / Д. Химмельблау ; пер. с англ. И. Н. Быховской и Б. Т. Вавилова ; под. Ред. М. Л. Быховского. — Москва : Мир, 1975. — 534 с. 68 Приложение Ответы к заданиям К главе 1 1) b, c; 2) b; 3) c; 4) b; 5) a; 6) c; 7) a; 8) b; 9) a, b, c; 10) a, b. К главе 3 1) нелинейного программирования; 2) нелинейного программирования; 3) нелинейного программирования; 4) оптимальное решение; 5) локальное; 6) глобальное; 7) выпуклое тело; 8) внутренняя; 9) граничная; 10) угловая; 11) замкнутая; 12) ограниченная; 13) многогранник; 14) допустимый вектор; 15) область допустимых решений; 16) условно-оптимальное решение; 17) внутри; 18) пересечении гиперплоскостей; 19) линия уровня; 20) градиент; 21) градиент; 22) антиградиент; 23) градиент; 24) минимальное; 25) максимальное. К главе 4 1) с; 2) e; 3) a; 4) d; 5) a; 6) c; 7) c; 8) c; 9) a; 10) a, b. 69 Учебное издание Берестова Светлана Александровна Горулева Лариса Сергеевна Просвиряков Евгений Юрьевич ЭКСТРЕМАЛЬНЫЕ И ОПТИМАЛЬНЫЕ МЕТОДЫ В ИНЖЕНЕРНОЙ ДЕЯТЕЛЬНОСТИ Редактор О. В. Климова Корректор Ю. М. Ананченко Верстка О. П. Игнатьевой Подписано в печать 21.09.2023. Формат 70×100/16. Бумага офсетная. Цифровая печать. Усл. печ. л. 5,6. Уч.-изд. л. 4,4. Тираж 30 экз. Заказ 123. Издательство Уральского университета Редакционно-издательский отдел ИПЦ УрФУ ЦСД 620049, Екатеринбург, ул. С. Ковалевской, 5 Тел.: +7 (343) 375-48-25, 375-46-85, 374-19-41 E-mail: rio@urfu.ru Отпечатано в Издательско-полиграфическом центре УрФУ ЦСД 620083, Екатеринбург, ул. Тургенева, 4 Тел.: +7 (343) 358-93-06, 350-58-20, 350-90-13 Факс: +7 (343) 358-93-06 http://print.urfu.ru ISBN 579963728 - 3 9 785799 637286