Исследование операций безусловная оптимизация. Курс лекций
.pdf
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
№ 1378
Кафедра инженерной кибернетики
Н.И. Бунькина
Исследование операций
Безусловная оптимизация
Курс лекций
Рекомендовано редакционно-издательским советом университета
Москва Издательский Дом МИСиС 2009
УДК 519.8 Б91
Р е ц е н з е н т д-р техн. наук, проф. Н.Н. Зиятдинов (КГТУ)
Бунькина Н.И.
Б91 Исследование операций: Безусловная оптимизация: Курс лекций. – М.: Изд. Дом МИСиС, 2009. – 65 с.
ISBN 978-5-87623-260-1
Изложены основные методы решения задач безусловной оптимизации. Рассмотрены методы одномерной оптимизации: методы прямого поиска и методы с использованием производной; методы многомерной оптимизации: методы нулевого порядка и градиентные методы. Курс лекций основан на материалах, которые читались студентам специальности «Прикладная мате- матика» на протяжении четырех лет в рамках дисциплины «Исследование операций».
Предназначен для студентов, обучающихся по специальности «Приклад- ная математика», и может быть полезен студентам специальности «Стандар- тизация и сертификация» и магистрам направления «Менеджмент», а также может быть использован студентами других технических специальностей, изучающими прикладные аспекты применения методов оптимизации.
УДК 519.8
ISBN 978-5-87623-260-1 |
♥ Национальный исследовательский |
|
технологический университет |
|
«МИСиС», 2009 |
ОГЛАВЛЕНИЕ |
|
Введение.................................................................................................... |
4 |
Предмет и задачи курса «Исследование операций».......................... |
4 |
Необходимые условия для применения оптимизационных |
|
методов .................................................................................................. |
5 |
Структура оптимизационных задач.................................................... |
8 |
Контрольные вопросы........................................................................ |
11 |
1. Методы безусловной оптимизации функции одной переменной |
|
(одномерная оптимизация) .................................................................... |
13 |
1.1. Методы прямого поиска (нулевого порядка)............................ |
13 |
1.2. Методы с использованием производных .................................. |
23 |
Контрольные вопросы........................................................................ |
33 |
2. Методы безусловной оптимизации функции нескольких |
|
переменных (многомерная оптимизация) ............................................ |
34 |
2.1. Математическая модель.............................................................. |
34 |
2.2. Методы прямого поиска (нулевого порядка)............................ |
37 |
2.3. Градиентные методы................................................................... |
45 |
Контрольные вопросы........................................................................ |
62 |
Библиографический список................................................................... |
64 |
3
ВВЕДЕНИЕ
Предмет и задачи курса «Исследование операций»
Изучив данный раздел, вы узнаете, что представляет собой курс «Исследование операций», почему важной его частью является курс «Методы оптимизации», какие вопросы рассматриваются в данном курсе и почему его изучение важно для аналитической и практиче- ской деятельности инженера-математика. В этой книге рассмотрены методы безусловной оптимизации.
Рассмотрев приведенные в данном разделе теоретические выклад- ки, вы познакомитесь с основными терминами и понятиями, необхо- димыми для понимания данного курса, условиями, при которых формируются модели задач оптимизации, а также со структурой оп- тимизационных задач.
Теория оптимизации представляет собой совокупность фундамен- тальных математических исследований, ориентированных на нахож- дение и идентификацию наилучших решений из множества альтер- натив и позволяющих избежать полного перебора и оценивания воз- можных вариантов.
Математические методы оптимизации находят практическое при- менение в самых разных областях человеческой деятельности, преж- де всего в экономике и промышленности. В процессе деятельности любого объекта всегда возникает потребность найти те условия, при которых объект будет функционировать наилучшим образом, позво- ляя добиться максимальных результатов, определяющих эффектив- ность его деятельности. Под объектом здесь может пониматься пред- приятие, производящее продукцию, или торговый центр; финансовое инвестиционное учреждение или строительная организация.
В методах оптимизации используются теория матриц, элементы линейной алгебры и дифференциального исчисления, положения ма- тематического анализа. Для того чтобы решать задачи оптимизации, были разработаны специальные пакеты. Прежде всего – это Mathlab и Мathcad, а также пакеты «Линейное программирование» и «Мате- матическое программирование». Встроенный в Microsoft Office Excel 7.0 также позволяет находить решение некоторых задач оптимизации небольшой размерности.
4
Для решения оптимизационной задачи прежде всего необходимо построить математическую модель выбранного объекта. Модель должна адекватно описать границы изучаемого объекта; факторы, влияющие на его нормальное функционирование; критерий, на осно- ве которого можно оценить характеристики объекта с тем, чтобы вы- явить «наилучшие» условия его функционирования, и набор незави- симых переменных, поиск которых и позволит решить поставленную задачу.
После построения математической модели необходимо выбрать оптимизационный метод решения полученной задачи и довести ре- шение до приемлемого численного результата. Раздел «Методы оп- тимизации» нацелен именно на изучение методов решения оптими- зационных задач с целью их широкого применения в практической деятельности.
Необходимые условия для применения оптимизационных методов
Для того, чтобы использовать математические результаты и чис- ленные методы теории оптимизации для решения конкретных эко- номических и инженерных задач, необходимо:
•определить систему, в которой нужно найти наилучший вариант;
•установить границы рассматриваемой системы;
•определить количественный критерий, на основе которого мож- но произвести анализ вариантов с целью выявления «наилучшего»;
•осуществить выбор внутрисистемных переменных, которые используются для определения характеристик и идентификации ва- риантов;
•построить модель, отражающую взаимосвязи между перемен- ными.
Эта последовательность действий составляет процесс постановки математической модели задачи оптимизации. Прежде чем присту- пить к оптимизационному исследованию, необходимо четко понять, какой именно объект нуждается в поиске оптимального решения. Если речь идет об экономическом состоянии предприятия, то в каче- стве определяющей системы будет выступать такое производство, при котором достигаются наилучшие экономические результаты. Ес- ли речь идет о прокладке новой дороги между населенными пункта- ми, то определяющим будет выбор такой траектории, которая позво- лит соединить эти населенные пункты с наименьшими затратами.
5
Также важно определить границы изучаемой системы. В данном контексте система представляет собой некоторую изолированную часть реального мира. При проведении анализа предполагается, что взаимосвязи между системой и внешней средой зафиксированы на некотором выбранном уровне представления. Совокупность условий, при которых осуществляется поиск оптимума целевой функции, вы- раженных в виде аналитических зависимостей, называется системой
ограничений оптимизационной задачи.
Предположим, что торговому предприятию необходимо опреде- лить оптимальную партию закупаемого товара. На первом этапе для решения этой задачи достаточно знать объем складского помещения и скорость реализации товара, т.е. ограничиться системой склад – торговля. Однако в реальности необходимо учитывать стоимость и ритмичность доставки товара, а также прогноз маркетинговых изме- нений на потребительском рынке, т.е. расширить границы системы, введя в нее новые зависимости. Разумеется, расширение границ по- вышает размерность и сложность системы, что, в свою очередь, за- трудняет ее анализ.
Стремление учесть все факторы часто приводит к тому, что найти оптимальное решение оказывается невозможным. Компромисс меж- ду упрощением реальной ситуации, когда границы системы оказы- ваются слишком жесткими, и построением громоздкой многокомпо- нентной системы, учитывающей максимальное число факторов, и является искусством построения математической модели. Значитель- ную помощь здесь оказывает декомпозиция – процесс разбиения большой сложной системы на небольшие подсистемы, которые мож- но изучать по отдельности.
На следующем этапе постановки задачи оптимизации необходимо осуществить выбор критерия, на основе которого можно оценить ха- рактеристики системы, чтобы выявить «наилучшие» условия функ- ционирования системы. Обычно выбираются критерии экономиче- ского характера такие, как валовые капитальные затраты, издержки в единицу времени, чистая прибыль, доходы от инвестиций, себестои- мость выпускаемой продукции. В других приложениях критерий может основываться на некоторых технологических факторах: ми- нимизации продолжительности процесса производства, минимиза- ции потребляемой энергии, максимизации качества выпускаемой продукции.
Независимо от того, какой критерий выбран, «наилучшему» вари- анту всегда соответствует минимальное или максимальное значение
6
показателя качества функционирования объекта. В задачах оптими- зации критерий эффективности называется целевой функцией.
Необходимо отметить, что оценить эффективность системы не всегда удается, определяя только один критерий оптимизации. Зада- чи, в которых необходимо учитывать несколько критериев, называ-
ются многокритериальными, или многоцелевыми, или векторными
задачами оптимизации и относятся к теории многокритериальной (многоцелевой, векторной) оптимизации. В реальной ситуации при- нятие решения всегда сопровождается поиском компромисса в сово- купности противоречивых целевых установок. Одним из способов учета этих целей является то, что какой-либо из критериев использу- ется при оптимизации как целевая функция, а вторичные критерии порождают ограничения оптимизационной задачи.
Рассмотрим пример. Пусть производственное предприятие вы- пускает несколько видов промышленных товаров. С точки зрения руководителя отдела сбыта, наилучшим функционированием пред- приятия будет такое, которое обеспечит прогноз потребительского рынка в текущем периоде. Управляющий цехом будет считать опти- мальным такое производство, которое обеспечит отсутствие очере- дей у уникальных станков и недогрузку оборудования, что уже вхо- дит в противоречие с первым критерием. Руководитель предприятия наилучшим результатом будет считать снижение себестоимости про- дукции, что также может не совпадать с предыдущими критериями. Приемлемым компромиссом является выбор в качестве критерия ми- нимизации показателя суммарных затрат в единицу времени с после- дующим учетом остальных требований в виде ограничений задачи. В данном курсе мы не будем рассматривать многокритериальные зада- чи и ограничимся всегда только одним критерием.
На следующем этапе постановки задачи осуществляется выбор независимых переменных, которые должны адекватно описывать условия функционирования системы. В процессе выбора независи- мых переменных следует принять во внимание ряд важных обстоя- тельств.
1. Необходимо провести различие между переменными, значения которых могут изменяться в широком диапазоне, и переменными, значения которых фиксированы и определяются внешними фактора- ми. Например, для сборочного цеха детали, из которых собирается изделие, являются фиксированными переменными, а объемы склад- ских запасов деталей для сборки являются независимыми перемен-
7
ными, значения которых могут варьироваться при заданной произ- водственной программе.
2.Важно провести различие между теми параметрами системы, ко- торые остаются постоянными, и теми, которые подвержены воздейст- вию внешних или случайных факторов. Например, расстояние от склада до торгового зала – величина известная и постоянная, в то время как спрос на отдельные виды продукции и производительность труда – ве- личины, зависящие от множества факторов, в том числе и плохо форма- лизуемых. Показатели, которые являются постоянными в процессе ре- шения оптимизационной задачи, называются параметрами модели.
3.Независимые переменные должны выбираться таким образом, чтобы все важнейшие технико-экономические показатели нашли от- ражение в формулировке задачи. Например, если в задаче максими- зации выпуска продукции учитывать время работы, парк оборудова- ния, стоимость материалов и комплектующих, производственные площади, людские ресурсы, но при этом отбросить такие важные внешние факторы, как прогноз спроса и наличие конкурентов, то по- лученная постановка задачи будет неадекватна реальной ситуации. В задачах оптимизации независимые переменные называются искомы-
ми переменными.
Последний этап заключается в построении модели, которая опи- сывает взаимосвязи между искомыми переменными задачи и отра- жает влияние независимых переменных на степень достижения цели, определяемой целевой функцией.
Структура оптимизационных задач
Все задачи оптимизации можно классифицировать как задачи на- хождения максимума или минимума вещественной функции f(x), n- мерного векторного аргумента x = (x1, x2, ... , xn), компоненты которо- го могут удовлетворять системе уравнений Нk(х) = 0, набору нера- венств Gj(х) ≥ 0, а также могут быть ограничены сверху и снизу, т.е.
X uj ≥ X j ≥ X lj . В последующем функцию f(x) будем называть целевой
функцией, уравнения Нk(х) = 0 – ограничениями в виде равенств, а неравенства: Gj(х) ≥ 0 – ограничениями в виде неравенств. При этом предполагается, что все фигурирующие в задаче функции принима- ют действительные значения, а число ограничений конечно.
Задача оптимизации, представленная в следующем виде:
найти (max (min) f(x)) |
(В1) |
8
при ограничениях
Hk (x) = 0, |
k =1, 2, ..., K; |
|
||||
Gj (x) ≥ 0, |
j =1, 2, ..., J; |
(В2) |
||||
X u |
≥ X |
i |
≥ X l |
, i =1, 2, ..., I, |
|
|
i |
|
|
i |
|
|
|
называется задачей оптимизации с ограничениями, или задачей ус- ловной оптимизации.
Задачи, поиск оптимума в которых осуществляется без условий, описываемых ограничениями (В.2), называются задачами безуслов- ной оптимизации. Если х представляет собой одномерный вектор, то такие задачи называются задачами одномерной оптимизации или за- дачами оптимизации функции одной переменной, и составляют про- стейший, но важный подкласс оптимизационных задач. Если х пред- ставляет собой многомерный вектор, то такие задачи называются задачами многомерной оптимизации или задачами оптимизации функции нескольких переменных.
Задачи оптимизации можно классифицировать в соответствии с видом функций f(x), Нk(х), Gj(х) и размерностью вектора х. Задачи условной оптимизации, в которых функции Нk(х), Gj(х) являются ли- нейными, носят название задач с линейными ограничениями. В таких задачах целевая функция может быть линейной или нелинейной. За- дачи, которые содержат только линейные функции, называются за- дачами линейного программирования. Если на искомую переменную накладывается условие целочисленности, то такие задачи называют- ся задачами целочисленной, или дискретной, оптимизации.
Задачи с нелинейной целевой функцией и линейными ограниче-
ниями называются задачами нелинейного программирования с линей-
ными ограничениями. Оптимизационные задачи такого рода можно классифицировать на основе структурных особенностей целевой функции. Если целевая функция квадратичная, то мы имеем дело с
задачей квадратичного программирования. Если же целевая функция представляет собой отношение линейных функций, соответствующая задача носит название задачи дробно-линейного программирования.
Особое место среди задач нелинейного программирования занимают
задачи выпуклого программирования, в которых целевая функция является выпуклой. Для данного класса задач есть множество хоро- шо разработанных методов решения, основанных на существовании единственного оптимума целевой функции.
9
Для задач нелинейного программирования, в которых функции f(x), Нk(х) и Gj(х) являются нелинейными, подбор численного метода решения существенно затруднен. В таких случаях необходимо разра- батывать специальные алгоритмы, учитывающие особенности функ- ций, участвующих в постановке задачи, или пытаться свести исход- ную задачу к задаче математического программирования, для кото- рой существуют численные методы решения с хорошей сходимо- стью, в ущерб, возможно, точности решения.
Каждый из перечисленных классов задач характеризуется собст- венным подходом к решению оптимизационных задач, и для них раз- работаны соответствующие методы решения.
Условно методы решения задач оптимизации разделяют на два класса:
•методы прямого поиска;
•градиентные методы.
Кпервому классу относятся методы, в которых алгоритм поиска и оценка его результата построены на вычислении значения исследуе- мой функции на каждой итерации, и такие методы еще называются методами нулевого порядка. Если же процедура поиска основана на свойствах градиента функции, то такие методы называются гради- ентными методами (методами с использованием производной в слу- чае одномерной оптимизации). Они, в свою очередь, подразделяются на методы первого и второго порядка в зависимости от того, исполь- зуется ли только градиент (производная) функции или необходимо значение производной второго порядка исследуемой функции.
Большинство из существующих алгоритмов оптимизации являются приближенными, т.е. не гарантирующими точного решения. В связи с этим возникает вопрос: по какому критерию следует оценивать полу- ченное на каждой итерации решение с целью окончания поиска? Суще- ствует несколько критериев окончания поиска, которые могут приме- няться как по отдельности, так и в сочетании друг с другом:
1) по разности значений целевой функции на двух последних ите- рациях:
f(x(k +1) ) − f (xk ) ≤ ε;
2)по разности значений двух точек, найденных на последних шагах:
x(k +1) − x(k ) ≤ ε;
10
