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

Исследование эвристических методов решения минимаксной неоднородной задачи по различным критериям. Монография

.pdf
Скачиваний:
0
Добавлен:
06.09.2026
Размер:
2 Мб
Скачать
21
Данциг предложили метод направленного перебора смежных вершин в направлении возрастания целевой функции – симплекс-метод, ставший основным при решении задач линейного программирования.
При решении задач теории расписания составляется система неравенств, где в качестве переменных участвует время завершения или начала выполнения всех распределяемых работ. При наличии зависимостей количество неравенств дополняется условиями следования работ. Размер такой системы и время ее решения растет экспоненциально.
В большинстве случаев для решения таких систем применяются МВГ, позволяющие сократить число проверяемых вариантов, но в худшем случае время счета приближается к уровню полного перебора (ПП). При некоторых условиях, накладываемых на задачи теории расписания, существуют алгоритмы полиномиальной трудоемкости.
Применение методов целочисленного линейного программирования требует определения системы неравенств для решения распределительных задач, что в большинстве случаев требует вмешательства человека, а само решение симплекс-методом основывается на методе ветвей и границ, что приводит к дополнительным вычислительным расходам.
Прямые методы ветвей и границ свободны от ручного ввода дополнительных условий и пригодны для использования для любых задач теории расписания, где возможно построение дерева вариантов решения.
Приближенные методы списочного составления расписаний.
Алгоритм критического пути. Списочные методы отличаются простотой в
построении и реализации и характеризуются достаточно высокой эффективностью с точки зрения времени выполнения [19,20,21,22,31]. Практически во всех случаях целью рассматриваемых расписаний является минимизация общего времени выполнения, за которое при учете только детерминированных факторов принимается время от момента начала и до
22
момента завершения выполнения всех работ, а при учете также и вероятностных факторов – среднее значение этого времени.
Физический смысл списочных расписаний можно понимать таким образом. Если распределять работы на устройства, на данный момент наименее загруженные, то общее время выполнения будет также близким к минимальному.
Такого рода методы были впервые предложены в качестве способа решения распределительных задач. Разработаны они в 1950 году в ходе работы над объединенным проектом двух крупных компаний Du Pont Corporation и Remington Rand Corporation.
Использование нового метода планирования позволило в кратчайшие сроки для того времени освоить новое производство. В настоящее время он повсеместно используется в инженерных задачах, связанных с ТР, где необходимо за минимальное время получить достаточно хорошее решение.
Реализация списочных расписаний основана на применении линейных списков работ, упорядоченных по убыванию приоритета в соответствии с принятым алгоритмом выбора работ.
Одним из наиболее популярных алгоритмов списочных расписаний является алгоритм распределения работ на основе критического пути. Метод критического пути (МКП - в иностранной литературе упоминается как critical method path CMP), кроме того, имеет теоретически вычисленную максимальную оценку погрешности, и сама погрешность не зависит от количества распределяемых работ или их размера [23,24,26,27]. Уровень точности задается соотношением
n
F
F
cpm
3134
0
//
,
где
cpm
F
– решение, полученное с помощью метода критического пути;
0
F
точное решение;
n
количество приборов.
23
Для двухприборной системы (n = 2) ошибка между CMP и оптимальным распределением не превышает 16,7%, и при дальнейшем росте размерности задачи погрешность не будет превышать 0,33:
34
0
/lim
F
F
cpm
n
.
Данный факт позволяет использовать CMP в качестве базового алгоритма при анализе приближенных и вероятностных алгоритмов между собой на задачах большой размерности.
Схема работы CMP заключается в последовательном распределении работ по наименее загруженным на данном шаге устройствам. Работы распределяются в определенном сформированном заранее порядке. Выделяют следующие виды предварительной обработки списка работ L:
– список L формируется в порядке уменьшения времени выполнения
работ, т.е.
),,,(
321 n
iiii
ttttL =
при условии
n
iiii
tttt
321
. Данный
вариант составления списочного расписания называется LPT (longest processing time). Таким образом, в получаемом расписании первыми будут обслуживаться «большие» работы;
– список Lформируется в порядке увеличения времени выполнения
работ, т.е.
),,,(
321 n
iiii
ttttL =
при условии
n
iiii
tttt
321
. Данный
вариант составления списочного расписания называется SPT (smallest processing time – наименьшее время выполнения);
– список L формируется в произвольном порядке. Данный вариант составления списочного расписания называется RPT (random processing time – произвольное время выполнения).
Рассмотрим подробнее ход работы алгоритма.
Ш.1. C помощью описанных ранее вариантов формирования списка
работ получаем список
),,,(
321 n
iiii
ttttL =
.
24
Ш.2. Начальная загрузка всех устройств равна нулю, выбирается
первое устройство
1=k
и первое задание из множества заданий
S
,
;0=
j
f
для всех
nj 1
.
Ш.3. Выбираем устройство, на котором будет обрабатываться
текущее задание, устройство
j
p
с наименьшим
j
f
среди всех устройств
(т.е. устройств с минимальным временем загрузки на текущий момент).
Ш.4. Назначить
k
i
t
следующим заданием на устройство
j
p
.
jiR
ptA
k
=)(
, пересчитать
k
jjj
tff +=
.
Ш.5. Если
,mk
то увеличить k= k+1 и перейти на Ш.3. Иначе
алгоритм заканчивается с построенным расписанием
,R
общая длина
которого равна
)max(
j
f
.
Таким образом, обладая незначительной вычислительной сложностью (требуется линейный перебор загрузок устройств на каждом шаге распределения следующей работы), CMP обеспечивает точность не менее 33%.
Списочным алгоритмам свойственно довольно малое время счета, они свободны от экспоненциального роста времени счета с ростом размерности задачи. Ошибка в точности получаемого решения довольно велика, но положительным свойством является наличие предсказуемой верхней границы ошибки. Такие характеристики методов позволяют использовать их для грубой оценки в области задач большой размерности, где применение точных методов невозможно.
Комбинаторно-эвристический поиск. При возможности вмешательства человека в ход решения распределительной задачи, наиболее эффективным методом является комбинаторный поиск.
Этот подход сводится к целенаправленной перестановке пар работ в некоторой исходной последовательности, пока не будет получено оптимальное (близкое к оптимальному) решение. Схема похожа на работу
25
диспетчера при составлении расписания. Ход алгоритма заключается в распределении работ, наиболее затратных по ресурсам или имеющих самые сильные ограничения на использование в первую очередь и всех остальных работ в следующую.
В реальных системах предусматривают полуавтоматический режим работы алгоритма, когда система в случае конфликтов при назначении каких-либо работ оставляет выбор за пользователем, запрашивая в диалоговом режиме необходимый вариант.
Отклонение от точного решения для такого вида методов довольно велико, но преимуществом является возможность диалогового участия человека в построении решения. Во многих задачах, где определить хороший критерий, полностью определяющий пожелания пользователя к расписанию, довольно трудно, человек может своей интуицией помочь алгоритму искать в более верном направлении и найти решение лучшее уже с точки зрения самого человека.
Методы отжига (simulated annealing) – это способы оптимизации, основанные на случайно направленном поиске, аналогичном процессу образования кристаллической структуры у вещества по мере уменьшения температуры [28,69,96]. При охлаждении жидкого металла переход термодинамической системы из состояния с энергией
1
E
в состояние с
энергией
2
E
происходит с вероятностью
kTEep/
=
, где p – вероятность
перехода в новое состояние,
E
- разница энергий, k - постоянная
Больцмана, T - текущая температура. На практике чаще всего используют
упрощенную формулу
TE
ep
/
=
или даже
TEp /=
. В качестве энергии
служит значение функции оптимизации конкретного расписания, а закон изменения виртуальной температуры T подбирают опытным путем. Схему алгоритма можно записать следующим образом.
Ш.1. Получают начальное существующее распределение
.,00nSRx =
26
Ш.2. Проверка условия останова (число итераций, время счета и т.д.).
Ш.3. Распределение подвергается изменениям
)(
1
=
ii
xMutationx
.
Ш.4. Вычисляется значение энергии
)(
ii
xfE =
с помощью функции,
определяющей выбранный критерий.
Ш.5. Генерируется случайное число
]..[ 10p
Ш.6. Переход к новому состоянию.
Если
1
ii
EE
, то решение
i
E
применяется в качестве текущего
и осуществляется переход к шагу 2. Если
1
ii
EE
, то только с вероятностью
TE
ep
/
решение
i
E
применяется в качестве текущего и осуществляется переход к шагу 2.
Данная схема носит общий характер и позволяет вносить в нее множество изменений. Известны больцмановский отжиг, отжиг Коши, сверхбыстрый отжиг и др. Трудность применения метода отжига заключается в необходимости тщательной настройки параметров для каждой новой задачи, что не всегда возможно, особенно при отсутствии инструментов для хотя бы приблизительной оценки оптимума.
Метод роящихся частиц (particle swarm). Это наиболее простой из недавно появившихся методов эволюционного моделирования. Он предложен в середине 90-х годов [45,59,65]. Метод базируется на копировании социального поведения больших групп животных. В основу метода положен принцип «толпы», когда отдельные члены стаи следуют за общим движением, а вектор движения задает текущий лидер стаи или определенное число приближенных к нему особей.
В реализации данного метода многомерное пространство поиска населяется роем частиц. Положение частицы в пространстве однозначно определяет одно из решений задачи. Помимо координат, каждая из частиц описывается скоростью перемещения и ускорением.
27
В процессе перемещения частицы осуществляют поиск в пространстве решений, одна из частиц находит локальный оптимум, к которому на следующем шаге устремляются и все остальные частицы. Для внесения случайной составляющей в поисковый механизм используют мутации, но их применяют для векторов ускорения и скорости, а не для координат расположения частицы в пространстве.
Трудность применения метода, так же как и метода отжига, заключается в необходимости кардинальной перенастройки параметров для каждой новой задачи.
Табуированный поиск (Tabu Search).Данный метод представляет собой вариацию известного метода градиентного спуска с сохранением информации о предыдущих шагах алгоритма [78]. В процессе поиска ведётся список табуированных (запрещённых для перехода) позиций (из числа уже проверенных). Критические параметры алгоритма – это глубина списка запретов, способ определения текущего состояния, размер области вокруг текущего состояния.
В процессе поиска осуществляются операции аспирации (включения в запрещённый список состояний вокруг области текущего состояния) и диверсификации, которая добавляет фактор случайности в процесс поиска.
Однако и для данного метода существует всё та же проблема с выбором не столько оптимальных, сколько работоспособных параметров для решения конкретной задачи.
Эволюционно-генетический подход. Генетические алгоритмы (ГА) – это эвристические оптимизационные методы, принцип работы которых основан на теории эволюционного развития видов. Они относятся к классу методов направленного случайного поиска с самообучением.
Основные принципы ГА были впервые сформулированы в работах J.Holland [15] и D.Goldberg [29,30]. В отличие от эволюции, происходящей в природе, ГА только моделируют те процессы в популяциях, которые
28
являются существенными для развития. Однако точный ответ на вопрос, какие биологические процессы более существенны для развития, а какие – менее, все еще открыт для исследователей.
Существуют три основные научные школы по генетическим алгоритмам: американская, где следует отметить таких ученых, как Д. Холланд, Д. Голдберг, Л. Чамберс, Л. Дэвис; в европейской Р. Клинг, П. Банерджи и другие; российскую школу представляют И.Л. Букатов, Д.И. Батищев, В. М. Курейчик и многие другие.
В природе особи в популяции конкурируют друг с другом за различные ресурсы, необходимые для жизни. Генетическая информация более приспособленных особей будет распространяться в новых поколениях в значительно большей степени, чем других особей
[103,104,105,106].
Наиболее приспособленные особи имеют больше шансов передать свои характеристики потомству с помощью механизма «скрещивания». Таким образом, с помощью выбора лучших представителей предыдущего поколения, а также особей со случайными характеристиками, полученными в результате механизма мутации, формируется новая популяция особей. Из поколения в поколение хорошие характеристики распространяются по всем особям популяции. В итоге популяция будет сходиться к оптимальному решению задачи [32-37,72-76,80].
Гены являются базой для построения генетического алгоритма. Необходимо обдуманно выбирать алгоритм кодирования генов.
Пропорциональный отбор. Данный вид отбора основывается на идее, согласно которой особь, имеющая приспособленность большую, чем средняя для всего поколения, чаще всего будет участвовать в скрещивании. Механизм реализуется следующим образом. По рассчитанным после последней итерации приспособленностям особей
i
f
вычисляют средний уровень приспособленности
iavg
f
, далее для каждой
29
особи проверяется условие
1
iavgi
ff /
и при выполнении этого условия
особь участвует в скрещивании с вероятностью
i
ff /
max
.
Турнирный отбор. Турнирный отбор заключается в случайном отборе определенного числа особей t, которые принимают участие в
турнире. Из этих особей выбирается лучшая
k
f
:
ik
ffmi = ..1
, таким
же образом для скрещивания выбирают и вторую особь. Чаще всего используется бинарный турнир
2=t
. Размер турнира t определяет,
насколько строгим будет отбор особей. Отбор имеет простую реализацию и не требует сортировки особей в поколении для своего выполнения [39-
42,48].
Стратегии формирования нового поколения. После применения операторов эволюционно-генетических алгоритмов (ЭГА) необходимо сформировать новое поколение. Существует два подхода [43-47,53,74]:
– новые особи целиком заменяют собой предыдущее поколение, таким образом, жизнь особи ограничивается только одной итерацией;
– новые и старые особи помещаются в промежуточное поколение, в котором происходит сортировка особей согласно их приспособленности, и определенное число худших особей отбрасывается.
Принцип «элитизма». Классическая форма ГА определяет постоянное обновление особей в процессе смены эпох. Такой подход достаточно естественен, но не особенно эффективен, так как особи, полученные в результате формирования нового поколения, могут быть хуже родительских особей. В результате появилось несколько подходов к решению данной проблемы. Данные изменения в классической схеме ГА получили общее название «элитизм» [49-51, 34, 76].
Модели эволюционно-генетических алгоритмов. Наиболее известной моделью является классическая модель, описанная Д. Холландом в его основополагающей работе по теме ЭГА «Адаптация в природных и
30
искусственных средах» (1975) [35]. Модель канонического ЭГА имеет следующие характеристики:
– фиксированная разрядность генов;
– фиксированный размер популяции;
– пропорциональный отбор или турнирный отбор;
– особь для скрещивания выбирается случайным образом;
– одноточечный кроссинговер и одноточечная мутация;
– следующее поколение целиком заменяет собой предыдущие, элитные особи не используются.
Помимо классической известны следующие модели: гибридная модель, островная модель [52-55,59], модель CHC, а также множество других с различными характеристиками и особенностями применения.
Наиболее простой и эффективно реализуемой является классическая модель генетического алгоритма. Она требует минимума операций для выполнения, тем самым значительно ускоряя расчет решения [56-57].
1.4 Выводы
Субоптимизация решения минимаксных неоднородных задач является актуальной задачей и рассматривается во многих работах. Задачи теории расписания являются современной актуальной проблемой, оптимальное решение которой необходимо для эффективного функционирования множества процессов в производстве, обслуживании и других сферах деятельности человека.
Существует достаточно много сфер деятельности, для которых имеет необходимость решение минимаксных задач. Таким примером являются задачи распараллеливания нагрузки в электронно-вычислительной сети. Все большие корпоративные решения основываются на кластерах серверов, каждый из которых содержит десятки процессоров. При этом
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]