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

книги / Решение некоторых многоэкстремальных задач методом сужающихся окрестностей

..pdf
Скачиваний:
3
Добавлен:
12.11.2023
Размер:
12.71 Mб
Скачать

класс задач размещения геометрических объектов [54]. Для этих континуальных по постановке задач переход к дискретной оптими­ зации связан с методом их решения — последовательно-одиночным размещением, представляющим собой модификацию метода Гаусса — Зайделя.

Различные частные задачи, сводящиеся к минимизации функцио­ налов, заданных на множестве перестановок, т. е. определенных порядков следования конечного числа символов, широко рассматри­ вались в литературе, и для их решения предложены различные ал­ горитмы. Так, задача о построении кратчайшей связывающей сети решена Прямом [42], задача коммивояжера известна, например, из работ [72, 82], задача о ранце (рюкзаке) — из [73, 77], а задача о назначениях рассматривалась в [81, 85, 86].

Если иметь в виду более общие способы решения задач миними­ зации на перестановках, то следует выделить метод вектора спада, разработанный Сергиенко [23, 24, 49—52], и методы случайного по­ иска, изложенные в монографии Растригина [44]. Оба этих на­ правления исследования ориентированы на решение широких клас­ сов задач и не связаны с видом конкретных минимизируемых функ­ ционалов. Метод вектора спада оказывается высокоэффективным, если число символов в перестановке сравнительно невелико. Методы «слепого» случайного поиска незаменимы в задачах, в которых от­ сутствует какая-либо информация о свойствах минимизируемого функционала.

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

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

Примеры, иллюстрирующие эффективность использования метода сужающихся окрестностей, представляют собой разнообразные по физической природе задачи. Среди них балансировка рабочих ко­ лес турбин с учетом технологических ограничений, минимизация длины связывающей сети при установке радиомодулей, проектиро­ вание схем генеральных планов промышленных предприятий, рас­ крой тканей в швейной и трикотажной промышленности. Результаты решения этих и некоторых других задач методом сужающихся ок­ рестностей сравниваются с результатами расчетов, полученными ме­ тодом Монте—Карло, а также с ре.™льтатами, найденными прак­ тиками-технологами, проектировщиками и конструкторами. Для одной задачи о построении кратчайшей связывающей сети

и

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

В качестве теоретического примера использования метода по­ дробно рассмотрена задача минимизации непрерывных функций. Речь идет о функциях очень многих вещественных переменных, об­ ладающих специфическим свойством, обобщающим свойство сепа­ рабельности. Для таких задач «сужение окрестности» поиска про­ водится иным способом, однако все остальные особенности метода полностью переносятся на континуальный случай. Заметим, что по мнению Моцкуса [35] рассмотренные так называемые квазисепарабельные функции являются типичными целевыми функциями задач автоматизации проектирования.

Основная часть предлагаемых в работе алгоритмов реализова­ на в виде программ на языке ФОРТРАН. Тексты многих из них приведены в книге.

Выбор языка ФОРТРАН в качестве языка реализации алгорит­ мов и публикации сделан на основании соображений, близких к из­ ложенным в статье [51].

Комплекс программ, реализующий приведенные в книге алго­ ритмы, реализован на ЭВМ БЭСМ-6. Некоторые модификации, необ­ ходимые для перевода программ на ЭВМ серии ЕС, мы отмечаем. Таким образом, приведенные тексты программ можно непосредствен­ но включать в математическое обеспечение вычислительных цент­ ров и использовать для решения различных задач оптимизации.

Отметим, что проведенные в последние годы исследования, свя­ занные с точными методами решения комбинаторных задач, при­ несли неутешительные результаты. Так, в работах [75, 79] показано, что ряд известных комбинаторных задач, в частности задачи о ранце и коммивояжера, в некотором смысле эквивалентны между собой. Имеется в виду следующее. Если когда-либо удастся построить ал­ горитм полиномиальной сложности, обеспечивающий точное решение одной из «классических» задач, то с помощью некоторой перекоди­ ровки можно будет получить и решение других задач. Под алгорит­ мами полиномиальной сложности понимаются такие алгоритмы, в которых число операций, необходимых для получения точного решения, увеличивается с ростом размерности задачи не быстрее, чем некоторая степень полинома.

В работах [75, 79] высказывается гипотеза о том, что для ос­ новных комбинаторных задач чрезвычайно трудно, а иногда и не­ возможно разработать алгоритмы полиномиальной сложности. Все сказанное, по мнению авторов, в определенном смысле оправ­ дывает разработку стохастических методов решения комбинатор­ ных задач.

В заключение отметим следующее. Идея, лежащая в основе ме­ тода сужающихся окрестностей, впервые была предложена в 1969 г. [53]. Тогда способ, поиска приближения к глобальному мини­ муму не получил специфического названия. В работах [55, 56] этот способ получил дальнейшее развитие и был назван методом асимп*

12

■готического перебора локальных экстремумов. Это название свя­ зано с тем, что рассматривались законы распределения, асимпто­ тически сходящиеся к нормальному закону. Дальнейшая разра­ ботка метода показала, что условие асимптотической сходимости не является принципиально важным. Метод был перенесен на дискрет­ ные задачи минимизации, в связи с чем в работах [60—62] исполь­ зовалось новое название — метод адаптивного перебора. Вводя это название, авторы стремились подчеркнуть наличие элементов обучения в работе метода. Ранее накопленная информация исполь­ зуется для определения центра и радиуса окрестности, в которой ведется поиск. Однако при наличии большого числа адаптивных методов предложенное название слишком не специфичное. В связи с этим в данной книге выбран термин «метод сужающихся окрест­ ностей».

Г Л А В А 1

ЗАДАЧИ, ПРИВОДЯЩИЕ К МИНИМИЗАЦИИ ФУНКЦИОНАЛОВ

НА МНОЖЕСТВЕ ПЕРЕСТАНОВОК

§ 1. Задачи на перестановках

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

Если никакой дополнительной информации о характере пове­ дения функционала, экстремум которого определяется, нет, то по сути единственный способ вычисления наилучшего значения со­ стоит в применении так называемого слепого случайного поиска [44]. Перестановки «разыгрываются» случайным образом. Затем вычисляются соответствующие значения функционала. Запомина­ ется лучшее из полученных значений и перестановка, на которой оно достигается.

Достоинства и недостатки метода случайного поиска подроб­ но обсуждаются в работе [44]. Очевидно, что добытую тем или иным способом дополнительную информацию об оптимизируемом функ­ ционале желательно использовать для того, чтобы предложить какой-либо детерминированный метод решения или модифициро­ вать метод Монте—Карло, внести в его работу элементы адаптации и тем самым ускорить получение достаточно точных приближений к наилучшему значению функционала.

Далее будем рассматривать задачи о поиске минимума функци­ онала /, заданного на множестве перестановок. Полученные резуль­ таты очевидным образом можно перенести на случай поиска мак­ симума, поскольку функционал f достигает максимума в тех точ­ ках, где функционал — f достигает минимума.

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

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

14

менных, можно поставить как задачи минимизации на перестанов­ ках.

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

У

 

5

 

н

1

!

1

'

1

1

 

 

!

 

 

 

I

 

 

 

 

 

 

 

4

 

4

 

 

 

 

 

 

 

 

j

 

 

 

 

 

 

 

 

 

I

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

3

 

i" l : r r i : r x

:

 

2

7

 

 

 

 

Т

!

'__

 

1

6

 

1

1

1

1

|

1 .

 

а

 

 

1

1

1

1

1

1

 

 

 

 

А

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис.

3.

 

 

 

Рассмотрим несколько примеров.

 

 

 

1.

Одна частная задача минимизации длины связывающей сети

при установке радиомодулей на плате.

 

х В и п одинаковых

Имеем прямоугольную плату размерами А

по размеру прямоугольных радиомодулей со сторонами длиной Q и Ь. Модули располагаются на плате без пробелов и налеганий, при­ чем покрывают плату полностью. При этом все радиомодули сори­ ентированы так, что стороны длиной а параллельны стороне платы длиной А (рис. 3). Предполагается, что число А есть целое кратное числа at а В — целое кратное 6.

Радиомодули соединяются между собой в соответствии с мат­ рицей соединений

 

 

( Сл11^12С-

С\п'

 

 

2 с 22

 

С2п

С

=

Сл С>

 

 

 

 

 

 

 

\Сп\Сп2

• ♦ •

Спп/

где с1} — число связей между t-м и /-м радиомодулями. Поэтому общая длина связывающей сети равна

где pij — расстояния между входами соответствующих модулей. В зависимости от конкретной задачи расстояние может измеряться в эвклидовой или манхеттенской метриках. Если расстояние между

точками (хи уг) и (хя, у2) задается как

V (*i — x2f +

{уу у2)\

то метрика называется эвклидовой. Если

расстояние между

ними

определяется по формуле | ху х2| + | ух уг |, то метрика

назы­

вается манхеттенской (или ортогональной).

трактовать

Построение кратчайшей связывающей

сети можно

как задачу минимизации функции, зависящей от 2п переменных *1, Ух, х.г, у2, .... хп, уп, где xt и yt — координаты входа t-ro объек­ та. Так, при использовании манхеттенской метрики нужно мини­ мизировать функцию

(1. 1)

Ясно, однако, что такой «геометрический» подход крайне неудо­ бен. Дело в том, что координаты xt могут принимать лишь А /а зна­ чений, а координаты у( — только Bib значений. Задаче построения кратчайшей связывающей сети можно придать комбинаторный ха­ рактер. Длина связывающей сети однозначно определяется поряд­ ком установки радиомодулей.

В самом деле, для установки радиомодулей используем следую­ щий алгоритм. Первый модуль располагаем в левом нижнем углу

платы, второй — над ним и далее до тех пор,

пока

самый левый

ряд не будет заполнен. Затем заполним второй

ряд

и т. д. (см.

рис. 3). Если для определенности предположить, что выход каждого модуля расположен в левом нижнем углу, а оси координат прохо­ дят по сторонам платы, то х-я g, и у-я т)4 координаты полюса i-го модуля определяются по следующим формулам:

 

 

 

 

(1.2)

 

 

 

 

(1.3)

где т = В/Ь. Функция entier (х) называется целой

частью

числа

х и определяется следующим образом: если х = п +

г, где п — це­

лое

число, и 0 < г < 1, то entier (х) =

п. Вывод формул

(1.2) и

(1.3)

подробно рассмотрен в § 3 ^л. 4.

при размещении

прямо­

Тем самым длину связывающей сети

угольных модулей на прямоугольной плате можно рассматривать как некоторый функционал на множестве перестановок из п симво­ лов. Конкретный вид этого функционала следующий:

f i P ) = f [(‘г. **, • • •» *п)1 =

= -Y f CV/ {I£*~ Ь1+IV~%I}.

где и TJ* вычисляются по формулам (1.2) и (1.3).

16

Заметим, что переход от задачи минимизации функции (1.1),

заданной на Я2", к задаче минимизации функционала (1.4), заданно­ го на множестве перестановок из п символов, осуществлен вследствие наличия жесткой системы ограничений.

Действительно, задачу минимизации длины связывающей сети можно поставить так. Найти минимум функции (1.1) при выполнении

некоторой системы ограничений (она представляет собой условия попадания модулей на плату и условия их взаимного непересечения).

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

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

Они рассматриваются в последующих параграфах.

2. Рассмотрим еще одну задачу на построение кратчайшей св зывающей сети, так называемую задачу Прима. Она довольно ха­ рактерна для планирования в крупных масштабах сетей связи, тран­ спорта и распределения и состоит в следующем»

Дано множество полюсов (точек в эвклидовом пространстве). Требуется связать их сетью прямых звеньев, идущих от полюса к полюсу, которая имеет наименьшую суммарную длину (сумму длин

17

звеньев). Иными словами, необходимо построить дерево [421 наи­ меньшей длины для заданного множества вершин (рис. 4).

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

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

Заметим, что в работе [421 предложен алгоритм решения зада­ чи Прима, позволяющий получить глобальный минимум, т. е. по­ строить кратчайшую связывающую сеть. Алгоритм Прима описан в § 4 гл. 4. Однако изучение новых подходов к решению этой задачи достаточно интересно. Дело в том, что очень схожая по формули­ ровке задача Штейнера не имеет точного решения. Задача Штейнера отличается от задачи Прима тем, что в первой при проведении пря­ молинейных звеньев для уменьшения длины сети допускается про­ извольным образом вводить дополнительные полюсы. Новые подхо­ ды к решению задачи Прима могут помочь и при решении задачи Штейнера.

3. Задача балансировки вращающихся деталей машин. В турбо­ строении возникает необходимость в уравновешивании изолиро­ ванной рабочей ступени турбомашины. Она представляет собой диск, на который с равным угловым шагом посажены рабочие ло­ патки. Статические моменты лопаток имеют некоторый разброс и потому суммарный небаланс ступени зависит от порядка установки лопаток на диске. Не вдаваясь в детали вывода формулы (он при­ веден в § 1 пятой главы), приведем соответствующий функционал

18

на множестве перестановок:

М |(/„ /2, .. <‘л)1 *

Mlk sin

к

где п — число лопаток, a Mk — статический момент k-й лопатки. Нетрудно видеть, что рассмотренная задача балансировки с фиксированными посадочными местами лопаток является примером

следующего более широкого класса задач. Найти минимум функции п переменных

М (ц>1г ф2, . . . . <р„) =

М{cos <рг)2 + ( S

Mi sin<p£

U=i

где Mt ( i — 1, 2, ..., n) — заданные числа. Система ограничений, которая сводит эту общую задачу к рассмотренной выше, такова.

Ortb

Параметры % принимают только значения — (k = I, 2, ..., п)

и притом ф, Ф ф^ при i Ф /.

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

' 4. Рассмотрим задачу из теории расписаний [15, с. 59—611. Пусть задано множество деталей dt (i = 1, 2,..., п) и группа станков, на ко­ торых эти детали могут быть обработаны. Деталь dt проходит сово­ купность операций, которые должны выполняться в строго опре­ деленной последовательности в соответствии с технологическим мар­ шрутом М(.

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

т — №u, tub

Каждый элемент этой матрицы представляет упорядоченную пару чисел, в которой символ N{) обозначает номер станка, на котором выполняется /-я операция t-й детали, a tt) — время обработки.

Требуется найти наилучшее, по некоторому критерию К, рас­ писание выполнения всех операций по обработке каждой детали во времени на соответствующем оборудовании.

Решение задачи можно представить в виде матрицы запуска деталей

A=\\(nih T tl)\\,

где {nlh Ти) — упорядоченная пара чисел, которая находится на пересечении t-й строки и /-го столбца и означает, что /-я по поряд­ ку обработки операция t-й детали запускается в производство в мо­ мент времени Т1} на станке с номером п1}.

2*

19

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

любая операция выполняется на конкретном станке от нача­ ла до конца без перерывов;

в любой момент времени любой станок может выполнять не более одной операции;

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

каждая операция любой детали может быть выполнена только на одном станке;

технологический маршрут предусматривает выполнение всех операций на различных станках;

на всех станках порядок прохождения деталей один и тот же. В работе [15] утверждается, что при отсутствии неоправданных

простоев каждая перестановка р = (г5, г2, ..., »„) чисел 1, 2, ..., п однозначно определяет расписание А. Поэтому решение задачи очередности сводится к отысканию наилучшей в смысле некоторого критерия перестановки р, определяющей порядок обработки де­ талей.

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

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

Такой подход существенно упрощает решение задачи, однако не делает его тривиальным. Это связано с тем, что за разумное время невозможно вычислить п\ значений функционала уже при п, равном 20, даже если функционал очень прост и используется самая мощная ЭЦВМ.

Рассмотренные выше задачи можно сформулировать в следую­ щем общем виде.

З а д а ч а 1.1. Пусть на подмножестве S множества Р переста­ новок из п символов задан функционал f. Необходимо найти пере­ становку р0, принадлежащую S, такую, что для всех перестановок р из S справедливо неравенство

f (Ра) < f (Р)-

В указанной постановке используется подмножество S. Это связано с тем, что некоторые перестановки символов могут оказать­ ся запрещенными и их нужно исключить из рассмотрения. Так, в задаче о построении кратчайшей сети, связывающей радиомодули

20

Соседние файлы в папке книги