Главная » Просмотр файлов » Курс Алгоритмы оптимизации, основанные на методе проб и ошибок

Курс Алгоритмы оптимизации, основанные на методе проб и ошибок (1121255), страница 11

Файл №1121255 Курс Алгоритмы оптимизации, основанные на методе проб и ошибок (Курс Алгоритмы оптимизации, основанные на методе проб и ошибок) 11 страницаКурс Алгоритмы оптимизации, основанные на методе проб и ошибок (1121255) страница 112019-05-09СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 11)

Сравнение эффективности алгоритмовРассмотрим классический последовательныйалгоритмимитацииотжига,последовательный алгоритм, использующий разбиение на области, и параллельныйалгоритм.Для исследования использовались графы модели прикладной программы соследующими характеристиками: количество рабочих интервалов от 100 до 250, числопроцессов от 40 до 90.По степени связности были выделены три класса графов:малое количество связей - K / N  1.2 ;среднее количество связей – 1.2  K / N  1.6 ;большое количество связей – K / N  1.6 .Здесь K – число дуг в графе, N - число вершин.Было проведено сравнительное исследование времени, затрачиваемого на поискрешения одного и того же качества классическим последовательным алгоритмом,последовательным алгоритмом, реализующим разбиение на области и параллельнымалгоритмом.

Были получены следующие результаты.На одном узле, без обмена данными с другими узлами возможно отсечение до 25%областей (рис. 3.7.), ещё до 20% от оставшихся областей исключается после обменаданных между узлами (рис. 3.8.). На рис. 3.9. показано количество отсеченных областей, взависимости от количества итераций алгоритмов в этих областях.5230%25%20%15%10%5%0%Высокая Средняя Низкаясвязность связность связностьРис.

3.7. Отсечение областей на одномузле без обмена с другими узлами.25%20%15%10%5%0%Высокая СредняяНизкаясвязность связность связностьРис. 3.8. Отсечение областей в результатеобмена с другими узлами.76543210%01I2I3I4I5I6I7I8I9I 10I 11I 12I 13I 14I 15I 16I 17IРис 3.9. Зависимость количества отсеченных областей от количества итераций алгоритмовзапущенных в этих областях. I = 1000.53Последовательный алгоритм, использующий разбиение на области по сравнению склассическим делает в 2-3 раза меньше итераций для графов с высокой связностью. Дляграфов со средней и низкой связностью этот показатель существенно ниже.В среднем параллельный алгоритм, запущенный на четырех процессорах, получалрешение в 2.21 раза быстрее, чем последовательный, применяющий разбиение на области;на восьми процессорах параллельный алгоритм осуществлял поиск решения в 3.34 разабыстрее, чем последовательный.

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

Это обусловлено тем, что с уменьшениемсвязности графа, уменьшается процент областей, отсекаемых алгоритмом в ходе работы.На графах с высокой связностью критический путь близок к времени выполнениярасписания, получаемого алгоритмом, и большинство областей с высокими критическимипутями исключается из рассмотрения.На рис. 3.10. приведены обобщённые результаты исследования. За 100% взятонаибольшее зафиксированное время работы алгоритмов.54Низкая связностьСредняясвязностьВысокаяВысокаясвязностьсвязность00классическийклассический202040406060сс разбиениемразбиением нана областиобласти8080%%100100параллельныйпараллельный 44паралельныйпаралельныйРис. 3.10. Сравнение времени работы алгоритмов.Также было проведено сравнительное исследование качества решений приодинаковомвремениработыалгоритмов.Полученыследующиерезультаты.Параллельный алгоритм, работающий на четырех процессорах, в среднем получаетрасписания с временем выполнения на 1.8% меньшим, чем последовательный, и на 2.7%меньшим, чем классический.

Наибольшее уменьшение времени выполнения построенногорасписания наблюдается на графах с низкой связностью и составляет в среднем 3.8% посравнению с последовательным и 5.1% по сравнению с классическим. Это обусловленотем, что на графах с низкой степенью связности время выполнения оптимальногорасписания существенно больше критического пути в графе и за малое времяклассический и последовательный алгоритмы не успевают довести расписание до«хорошего» локального минимума.

На рис. 3.11.приведены обобщённые результатыисследования.55Низкая связностьСредняясвязностьВысокаясвязность%01c разбиением на области23456параллельный 4Рис. 3.11. Улучшение качества решений при использовании разбиения на области ипараллельного алгоритма по сравнению с решениями, полученными классическималгоритмом.564. Генетические и эволюционные алгоритмы4.1.Простой генетический алгоритм (алгоритм Холланда)Генетические и эволюционные алгоритмы основаны на использовании механизмовестественной эволюции. Эволюция, по Дарвину [Charles Darwin. The Origin of Species.

John Murray,London, 1859.],осуществляется в результате взаимодействия трех основных факторов:изменчивости, наследственности, естественного отбора. Изменчивость служит основойобразования новых признаков и особенностей в строении и функциях организма.Наследственность закрепляет эти признаки. Естественный отбор устраняет организмы,плохо приспособленные к условиям существования.Генетические и эволюционные вычисления получили общее признание послевыхода книги Холланда “Адаптация в естественных и искусственных системах” [HollandJ.N.

Adaptation in Natural and Artificial Systems. Ann Arbor, Michigan: Univ. of Michigan Press, 1975.].Предложенная в данной работе концепция построения генетических алгоритмов оказаласьчрезвычайно эффективной для решения многих задач, не поддающихся решениютрадиционнымиметодами.Концепциюпостроенияалгоритмов,предлагаемуюХолландом, схематично можно представить следующим образом:1. Сгенерировать случайным образом популяцию размера P.2. Выполнить операцию скрещивания.3. Выполнить операцию мутации.4.

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

В качественачальной популяции может быть использован произвольный набор строк. Основныеоперации алгоритма: селекция, скрещивание и мутация выполняются над элементамипопуляции. Результатом их выполнения является очередная популяция. Данный процесспродолжается итерационно до тех пор, пока не будет, достигнут критерий останова.57Кодированиерешений.Способкодированиярешенийдолженобладатьследующими свойствами:1. Однозначность, т.е. каждая закодированная строка должна соответствоватьединственному решению исходной задачи. Выполнение данного критериянеобходимо для статистической прогнозируемости поведения алгоритма иулучшения нахождения алгоритмом областей оптимальных решений.2. Возможность кодирования любого допустимого решения.3.

Получение в результате генетических операций корректных вариантов решений.4. Возможность перехода от любого корректного решения к любому другомукорректному решению.Универсальные подходы к кодированию решений очень часто или невозможны илине эффективны для решения сложных задач условной оптимизации. Однако, для задачнепрерывного и целочисленного математического программирования, наиболее частооптимизируемые параметры задаются, или двоичным кодом числа, или кодами Грея.Битовая строка получается склейкой битовых полей параметров.Операция селекции обеспечивает формирование на очередной итерации алгоритмаиз строк, полученных на шагах 2 и 3, новой популяции. Операция должна удовлетворятьследующим требованиям:1. Выделять каждой строке количество потомков в соответствии со значением еёфункции выживаемости, т.е.

если f(x1)>f(x2), то вероятность того, что Ch(x1)Ch(x2)должна быть достаточно велика. Здесь f– целевая функция, x1 и x2 – строкипопуляции, Ch(x) – количество потомков, присваиваемых строке x;2. Обеспечивать сохранение в популяции лучших решений, т.е. решения, имеющиемаксимальное значение целевой функции, должны сохраняться в популяции, впротивном случае алгоритм может утрачивать найденные хорошие значения;3. Не допускать обеднения и вырождения популяции, т.е. недопустимы популяции, вкоторых одно решение с высокой целевой функцией заполняет всю популяции, таккак в этом случае алгоритм утрачивает способность поиска по всему пространствурешений и скатывается к локальному оптимуму.Приведемдваклассическихвариантавыполненияоперации:схемапропорциональной селекции и схема рулетки.Схема пропорциональной селекции выглядит следующим образом:1.

Вычислить среднее значение функции выживаемости F для популяции.58F2. Для i-ой строки популяции выделить  i  потомков, где Fi – значение функции F выживаемости i-ой строки.3. Из полученных строк сформировать новую популяцию.Схема рулетки работает следующим образом:1. Вычислить среднее значение функции выживаемости для популяции.2. Для i-ой строки популяции выделить сектор рулетки с центральным углом 2FiF,где Fi – значение функции выживаемости i-ой строки.3. Сделать P запусков рулетки, где P – размер популяции. Каждый раз выделяемстроке в чей сектор мы попали 1-го потомка.4.

Характеристики

Список файлов лекций

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6547
Авторов
на СтудИзбе
300
Средний доход
с одного платного файла
Обучение Подробнее