Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методы оптимизации / Методы оптимизации

.pdf
Скачиваний:
527
Добавлен:
01.06.2015
Размер:
2.64 Mб
Скачать

Л.А. Гладков Н.В. Гладкова

Методы оптимизации

Конспект лекций Часть 1

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное автономное образовательное учреждение высшего профессионального образования «Южный федеральный университет»

Л.А. Гладков, Н.В. Гладкова

Методы оптимизации

КОНСПЕКТ ЛЕКЦИЙ ЧАСТЬ 1

Таганрог 2012

УДК: 519.8(075)

Рецензенты:

Зав. кафедрой компьютерных образовательных технологий Санкт Петербургского государственного университета информационных технологий, механики и оптики, доктор технических наук, профессор Лисицина Л.С.;

кандидат технических наук, доцент кафедры САиТ ЮФУ Лебедев В.Б.

Гладков Л.А., Гладкова Н.В. Методы оптимизации: Конспект лекций. Ч. 1. – Таганрог: Изд во ЮФУ, 2012. – 117 с.

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

Ил. 15. Библиогр.: 8 назв.

Л.А. Гладков, 2012Н.В. Гладкова, 2012

ЮФУ, 2012

3

1.Задачи оптимизации

Всвоей жизни человек часто сталкивается с ситуацией, когда ему из некоторой совокупности возможных вариантов своего поведения или

принятия решения в какой либо области деятельности необходимо выбрать один вариант. Наилучший вариант поведения (принятие наилучшего решения) можно выбирать по разному. Если такой выбор предусматривает проведение количественного анализа ситуации путем сравнения различных вариантов с помощью какой либо количественной оценки этих вариантов, то говорят о необходимости решения задачи оптимизации (по латыни optimus наилучший). Ясно, что задача оптимизации имеет смысл, если есть несколько возможных вариантов ее решения. Эти варианты обычно называют альтернативами.

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

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

1.1. Основные понятия

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

Что значит лучше?

Что конкретно нужно улучшить?

За счет чего можно добиться улучшения, что можно изменить?

В каких пределах можно производить изменения?

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

4

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

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

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

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

5

Л.В. Канторович. Задача Канторовича была связана с выбором оптимальной производственной программы, что и объясняет появление в названии этого класса задач слова ―программирование‖. При нелинейной зависимости целевой функции или ограничений от параметров оптимизации говорят о

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

1.2. Примеры задач оптимизации

Начнем с рассмотрения достаточно простых задач оптимизации из геометрии, алгебры и некоторых других разделов математики. Эти задачи обычно можно решить геометрическим или алгебраическим путем, а также при помощи необходимых и достаточных условий экстремума действительной (скалярной) функции одного переменного. Включение таких примеров в эту книгу важно по нескольким причинам. Во первых, эти задачи тесно связаны с историей развития методов оптимизации и позволяют наглядно продемонстрировать многообразие объектов оптимизации. Во вторых, на простой задаче можно более четко выявить особенности построения математических моделей таких объектов с точки зрения выбранного критерия оптимальности и проследить этапы процесса формулировки задачи математического программирования.

В третьих, знание способов и результатов решения многих из этих задач помогает при решении более сложных задач оптимизации, например задач оптимального проектирования.

Пример 1.1

Найдем стороны прямоугольника, вписанного в окружность радиусом R и имеющего наибольшую площадь S (рис. 1.1).

Рис. 1.1

Эта задача известна с глубокой древности, и ее нетрудно решить геометрическим путем. Диагональ вписанного в окружность прямоугольника является диаметром окружности и имеет фиксированную длину. Площадь S прямоугольника равна половине произведения его диагоналей на синус угла φ между диагоналями, т.е. S = 2R2sinφ. Ясно, что эта площадь будет наибольшей при sinφ = 1, или при φ = π/2. В этом случае

6

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

Если в качестве параметров оптимизации выбрать длины а ≥ 0 и b ≥ 0 сторон прямоугольника, то получим целевую функцию S = аb и ограничение a2 b2 2R типа равенства, нелинейные по отношению к этим параметрам. Поэтому рассматриваемую задачу оптимизации следует отнести к задачам нелинейного программирования. Ее математическую

формулировку можно представить в виде

S ab max;

a2 b2 4R2 , a 0, b 0.

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

4R2 2S = а2 + b2 2аb = (a b)2, или S = 2R2 (a b)2 . Отсюда следует, что S

2

достигает наибольшего значения S* = 2R2 при условии а = b, т.е. когда прямоугольник является квадратом, причем а = b = R 2 .

Пример 1.2 (задача Евклида)

В заданный треугольник ABC с высотой Н и основанием b вписать параллелограмм наибольшей площади, стороны которого параллельны двум сторонам треугольника (рис. 1.2).

Рис. 1.2

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

7

пределах заданного треугольника.

Выберем прямоугольную систему координат, совместив ее начало с общей вершиной параллелограмма и треугольника (вершина А на рис. 1.2), а ось абсцисс с одной из сторон треугольника. В качестве параметров оптимизации выберем основание х параллелограмма и его высоту h. Тогда площадь S параллелограмма можно записать в виде S = hx, а условие, что параллелограмм вписан в треугольник, как ограничение типа равенства (Hh)/H = x/b, которое вытекает из подобия треугольников DBE и ABC. Итак, имеем задачу оптимизации

S hx max;

H h x , h 0, x 0.

H b

Эту задачу также можно решить стандартными способами (см. пример 1.1). Ее решением является параллелограмм с основанием x* = b/2 и высотой h* = (1 x/b)H = H/2. Отметим, что выбор вершины треугольника, с которой совпадает вершина параллелограмма, не является существенным, так как в любом из трех вариантов выбора вершины треугольника площадь параллелограмма максимальной площади равна половине площади треугольника ABC.

1.3. Задачи оптимального проектирования

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

Пример 1.3

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

Пусть требуется спроектировать бак горючего в виде прямого кругового цилиндра заданного объема V, на изготовление которого будет затрачено

8

наименьшее количество листовой стали. В качестве параметров оптимизации выберем радиус R и высоту Н цилиндра. Тогда затраты материала на изготовление бака будет определять суммарная площадь S его боковой поверхности и двух плоских днищ. Таким образом, необходимо минимизировать целевую функцию S = 2πR(H + R) при ограничении типа равенства πR2H = V, т.е. решить задачу нелинейного программирования.

Если из целевой функции при помощи ограничения исключить Н и записать ее в виде

S(R) VR VR 2 R2 ,

то произведение слагаемых не будет зависеть от R, и для нахождения ее минимального значения удобно использовать то же неравенство между геометрическим и арифметическим средними значениями:

 

 

 

 

 

 

 

V

V

 

 

 

V V

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S(R) =

 

 

 

 

 

2 R2

33

 

 

 

 

 

2 R2 = 33 2 V 2

= S*.

 

 

 

 

 

R

R

R R

 

 

Равенство

имеет

 

 

место

только

при

равенстве

слагаемых, т.е. при

 

 

 

 

 

 

 

 

 

 

 

 

 

 

V

2 R2 , тогда

R 3

V

 

. Учитывая ограничение, получаем

 

 

 

 

R

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

H*

=

V

3

4V

 

 

 

= 2R*,

 

 

 

 

 

 

 

 

 

 

 

 

R2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

т.е. высота оптимального бака равна его диаметру.

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

минимизировать функцию ~ = 2 RH + 8R2 при прежнем ограничении

S

πR2H = V.

Тогда в результате процедуры, аналогичной рассмотренной, получим

~

 

 

 

~

 

 

 

~

 

 

8 ~

 

 

 

 

63 V 2 ,

 

 

 

3 V ,

 

. Если предстоит изготовить крупную партию

R

S

H

 

 

R

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

баков, то раскрой листовой стали при заготовке днищ можно провести более рационально, располагая соседние центры днищ в вершинах правильных треугольников со стороной 2R. Тогда расход листа на каждое днище будет соответствовать площади 23R2 правильного шестиугольника, описанного около окружности радиусом R. При этом следует минимизировать целевую

функцию ~ = 2 RH + 2 при том же ограничении. В итоге получим

S 4 3R

Соседние файлы в папке Методы оптимизации