SlideShare a Scribd company logo
Структурный синтез и
планирование вычислений
Костенко Валерий Алексеевич
kost@cs.msu.su
Прикладные области
• Информационно-управляющие системы реального
времени (встроенные системы):
– авиационные,
– корабельные,
– автомобильные,
– роботы,
– автоматизированные системы управления технологическими
процессами.
• Центры обработки данных в том числе и
распределенные ЦОД.
– Предоставление вычислительных ресурсов пользователям
(например, «Ростелеком»).
– Использование ЦОД для обеспечения собственных
потребностей в вычислениях (например, «Сбербанк»).
Задачи комбинаторной оптимизации
Множество решений включает всевозможные:
• размещения исходно заданных объектов,
• упорядочивания исходно заданных объектов,
• разбиения на группы исходно заданных объектов.
Комбинаторная оптимизация включает в себя задачи
оптимизации, в которых множество допустимых
решений дискретно или может быть сведено к
дискретному множеству.
Этапы решения задачи
• Содержательная формулировка задачи
• Математическая формулировка задачи
• Анализ свойств задачи
• Выбор класса алгоритмов (или выбор
известного алгоритма)
• Разработка и реализация алгоритма
• Исследование свойств алгоритма
Задача о рюкзаке
(содержательная формулировка)
Дан рюкзак заданного объема и набор предметов.
Каждый предмет характеризуется:
• стоимостью
• и объемом.
Требуется упаковать рюкзак так, чтобы:
 суммарная стоимость упакованных предметов была
максимальной;
 суммарный объем упакованных предметов не превышал
объем рюкзака.
Задача о рюкзаке
(математическая формулировка)
Дано:
•b - объем рюкзака,
•{(ai , ci), I = 1,…,n}
n – число предметов,
ai и ci. - объем и стоимость предмета i.
Решение будем описывать вектором:
X = (x1,, x2, ….,xn)
Если предмет упакован в рюкзак, то xi=1, если нет xi=0.
Задача о рюкзаке
(математическая формулировка)
Целевая функция:
Функция ограничений:
.
)(max
1


n
i
ii
X
xc
bxa
n
i
ii 1
Задача о рюкзаке
(анализ свойств задачи)
Если все коэффициенты ai целые числа и b целое число, то
задача является NP-трудной.
Если все коэффициенты ai вещественные, то задача может
быть решена жадным алгоритмом сложности O(n∙log n).
Задача о рюкзаке
(алгоритм решения непрерывной задачи)
Вычислим относительную стоимость всех товаров в расчете
на единицу объема:
Оптимальный жадный алгоритм для непрерывной задачи
заключается в следующем:
•сначала в рюкзак укладывается по максимуму товар с самой
дорогой относительной стоимостью,
•если товар закончился, а рюкзак не заполнен, то
укладывается следующий по относительной стоимости товар,
затем следующий, и так далее, пока не набран вес b .
ii ac
Задача коммивояжера
Задачу коммивояжёра можно представить в виде нахождения
маршрута на графе.
Вершины графа – города.
Ребра - пути сообщения между
этими городами.
Каждому ребру сопоставлен вес.
Задача заключается в отыскании кратчайшего маршрута, в
который входит по одному разу каждая вершина графа.
Длина маршрута - сумма весов входящих в него ребер.
Задача коммивояжера
Маршрут может быть описан циклической перестановкой
номеров городов:
где - номер города находящийся в i –ой позиции
перестановки.
Пространством поиска решений является множество
перестановок n городов, таких, что все разные
и
Данная задача принадлежит к классу NP-трудных задач.
),,,( 121  nn jjjjJ 
ij
njjj ,, 21
11  njj
Итерационные алгоритмы построения
расписаний
• Алгоритмы случайного поиска
• Имитация отжига
• Муравьиные алгоритмы
• Генетические и эволюционные алгоритмы
f(HP)
HPHP1 HP2 HP3
Алгоритмы имитации отжига
• Алгоритмы имитации отжига с некоторой вероятностью
допускают переход в состояние с более высоким значением
целевой функции:
• где T - некоторая температура, - изменение целевой
функции.
• В ходе работы алгоритма температура постепенно снижается.






 
0),exp(
0,1
)( 1
F
T
F
F
XXP kk
F
Генетический алгоритм Холланда
(SGA)
• Holland J.N. Adaptation in Natural and
Artificial Systems. Ann Arbor, Michigan:
Univ. of Michigan Press, 1975.
Генетический алгоритм Холланда
(SGA)
• Основан на использовании
механизмов естественной эволюции:
1. Изменчивость → операция мутации
2. Наследственность → операция
скрещивания
3. Естественный отбор → операция селекции
Основные понятия
• Популяция - это множество битовых строк.
• Каждая строка - одно из возможных
решений задачи.
• По строке может быть вычислена функция
выживаемости, которая характеризует
качество решения.
• Основные операции алгоритма: селекция,
скрещивание и мутация выполняются над
элементами популяции.
Схема ГА
1. Сгенерировать случайным образом начальную
популяцию.
2. Вычислить функцию выживаемости для каждой строки
популяции.
3. Выполнить операцию селекции.
4. Выполнить операцию скрещивания:
– Выбрать пары для скрещивания.
– Для каждой выбранной пары выполнить скрещивание, получить
двух потомков и произвести в популяции замену родителей на их
потомков.
5. Выполнить операцию мутации.
6. Если критерий останова не достигнут, перейти к п.2,
иначе завершить работу.
Операция селекции
• Схема пропорциональной селекции:
• Схема рулетки:
…
Операция скрещивания
Операция мутации
Критерий останова
• Процесс продолжается итерационно
• Варианты критерия останова:
– Выполнение заданного числа итераций
– Выполнение заданного числа итераций без улучшения
функции выживаемости
– Достижение заданного значения функции выживаемости
Муравьиные алгоритмы
Муравьиные алгоритмы
(биологическая модель)
1. Изначально
вероятности выбора
маршрутов равны
2. Муравьи, выбравшие
кратчайший маршрут,
возвращаются
быстрее, количество
феромона на коротких
маршрутах больше
3. Вероятность выбора
кратчайшего маршрута
повышается
Муравьиные алгоритмы
(МА для решения задачи коммивояжера)
Общая схема итерации:
• «Создание» муравьев
• Построение маршрутов
муравьями
• Обновление
феромонного следа на
найденных маршрутах
Муравьиные алгоритмы
(построение маршрута)
- количество феромона на ребре (i,j),
τij(t) - значение локальной целевой функции на ребре
(i,j),
Lk – множество вершин, включенных в табу-список
муравья k,
a ≥ 0 и b ≥ 0 - параметры алгоритма, определяющие
важность феромонного следа и локальной целевой
функции.
)(tij
Муравьиные алгоритмы
(построение маршрута)
 
     
     











 

k
k
Jl
ilil
ijij
kij
Lj
Lj
tt
tt
tP
k
,0
,
,




ii
j
Муравьиные алгоритмы
(обновление феромонов)
Tk(t) – маршрут, построенный k-м муравьем,
F(Tk(t)) – целевая функция, определяющая качество
пути,
m – количество муравьев,
p [0,1] – коэффициент испарения феромонов.
Муравьиные алгоритмы
(обновление феромонов)
ii
j
       


m
k
kijijij ttpt
1
,11 
 
      
   





tTji
tTjitTF
t
k
kk
kij
,,0
,,
,
Муравьиные алгоритмы
(использование для построения расписаний)
Построение маршрутов
Построение расписаний
по маршрутам
Обновление
феромонного следа
Вычисление целевых
функции
останов?
нет
да
Конструктивные алгоритмы построения
расписаний
• Жадные алгоритмы
• Метод ветвей и границ
• Алгоритмы сочетающие жадные стратегии и
стратегии ограниченного перебора
523 76
2
4
t
1
2 3
4
t
1
2 3 5
4
t
1
6 7
Задача построения расписания выполнения
работ в одноприборном устройстве
• Шина может рассматриваться как
одноприборное устройство, обслуживающее
исходно заданный набор работ без
прерываний.
• Расписание выполнения работ, представляет
собой упорядоченное множество
• - исходно заданный набор работ
  JjsH
HN
kj  
,1
*
)},,{( jjj fstJ 
Задача построения расписания выполнения
работ в одноприборном устройстве
• Множество корректных расписаний
определим набором ограничений:
*
'
H
 
 
 ))()(())()((),),((:
)(:
)()()(:
3
2
1






ljljljlj
jjj
jjjj
ffsffsssljHljg
tsfHjg
ffssHjg
Жадные алгоритмы
(построение расписания выполнения работ
в одноприборном устройстве)
• Для частной задачи:
• известен оптимальный жадный алгоритм
сложности O(n∙log n).
jjj
HH
sftj
H


:
max*'
Жадные алгоритмы
(GrA - алгоритм построения расписания для
одноприборного устройства)
1. Упорядочиваем работы по возрастанию fj.
Заявки с одинаковым значением fj
располагаем в произвольном порядке.
Сложность - O(n∙log n).
2. Размещаем в расписание работу j=1.
3. Ищем первую работу для которой si≤ fj ,
размещаем ее в расписание и j=i.
4. Шаги 2, 3 повторяем пока список не
исчерпан. Количество повторов - O(n).
Иллюстрация работы алгоритма
0 1 2 3 7654 8 9 10 11 12
s1 f1
s2 f2 f3s3
Иллюстрация работы алгоритма
0 1 2 3 7654 8 9 10 11 12
s1 f1
s2 f2 f3s3
Иллюстрация работы алгоритма
0 1 2 3 7654 8 9 10 11 12
s1 f1
s2 f2 f3s3
Список не
размещенных работ
Иллюстрация работы алгоритма
0 1 2 3 7654 8 9 10 11 12
s1 f1
f3s3
Иллюстрация работы алгоритма
0 1 2 3 7654 8 9 10 11 12
s1 f1 f3s3
Алгоритмы сочетающие жадные стратегии и
стратегии ограниченного перебора
Выбор очередной ВМ (k1)
Построение мн. допустимых серверов (А)
для размещения ВМ
А=0
Разместить ВМ
Выбор места
размещения (k2)
Вызов процедуры
ограниченного перебора
нет да
Ограниченный перебор
4
3
5
2
3
5
2
4
4
1
1
R1 R2 R3
5
n=2 (R1,R2)
R1: 5, 5
R2: 3, 3, 4
R3: 4, 4, 1
n=3 (R1,R2, R3)
R1: 5, 5
R2: 3, 3, 4
R3: 4, 1, 5
Направления работы
Разработка алгоритмов решения конкретных задач структурного
синтеза и планирования вычислений:
• информационно-управляющие системы реального времени,
• центры обработки данных.
Разработка новых подходов к построению алгоритмов и
модификаций известных классов алгоритмов. Примеры:
• генетический алгоритм с самообучением,
• метод построения алгоритмов сочетающих жадные стратегии и
ограниченный перебор.
Машинное обучение:
• алгоритмы построения и обучения нейросетей для встроенных систем;
• алгоритмы построения и обучения нейросетей для больших баз данных.
Костенко Валерий Алексеевич
kost@cs.msu.su

More Related Content

PDF
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Mikhail Kurnosov
 
PDF
Семинар 1. Многопоточное программирование на OpenMP (часть 1)
Mikhail Kurnosov
 
PDF
Семинар 2. Многопоточное программирование на OpenMP (часть 2)
Mikhail Kurnosov
 
PDF
Семинар 11. Параллельное программирование на MPI (часть 4)
Mikhail Kurnosov
 
PDF
Лекция 6. Стандарт OpenMP
Mikhail Kurnosov
 
PDF
Семинар 4. Многопоточное программирование на OpenMP (часть 4)
Mikhail Kurnosov
 
PDF
Векторизация кода (семинар 1)
Mikhail Kurnosov
 
PDF
Евгений Крутько — Опыт внедрения технологий параллельных вычислений для повыш...
Yandex
 
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Mikhail Kurnosov
 
Семинар 1. Многопоточное программирование на OpenMP (часть 1)
Mikhail Kurnosov
 
Семинар 2. Многопоточное программирование на OpenMP (часть 2)
Mikhail Kurnosov
 
Семинар 11. Параллельное программирование на MPI (часть 4)
Mikhail Kurnosov
 
Лекция 6. Стандарт OpenMP
Mikhail Kurnosov
 
Семинар 4. Многопоточное программирование на OpenMP (часть 4)
Mikhail Kurnosov
 
Векторизация кода (семинар 1)
Mikhail Kurnosov
 
Евгений Крутько — Опыт внедрения технологий параллельных вычислений для повыш...
Yandex
 

What's hot (20)

PDF
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
Alexey Paznikov
 
PDF
Семинар 3. Многопоточное программирование на OpenMP (часть 3)
Mikhail Kurnosov
 
PDF
Хочу знать, сколько уникальных посетителей было на моём сайте за произвольный...
Ontico
 
PDF
Семинар 6. Многопоточное программирование на OpenMP (часть 6)
Mikhail Kurnosov
 
PDF
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)
Mikhail Kurnosov
 
PDF
Лекция 7. Язык параллельного программирования Intel Cilk Plus
Mikhail Kurnosov
 
PDF
Семинар 12. Параллельное программирование на MPI (часть 5)
Mikhail Kurnosov
 
PDF
Лекция 8. Intel Threading Building Blocks
Mikhail Kurnosov
 
PDF
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Mikhail Kurnosov
 
PDF
Лекция 6. Стандарт OpenMP
Mikhail Kurnosov
 
PDF
Семинар 8. Параллельное программирование на MPI (часть 1)
Mikhail Kurnosov
 
PDF
Факторизационные модели в рекомендательных системах
romovpa
 
PDF
Семинар 7. Многопоточное программирование на OpenMP (часть 7)
Mikhail Kurnosov
 
PPTX
CUDA Best Practices (2-3)
Alexander Mezhov
 
PDF
Семинар 9. Параллельное программирование на MPI (часть 2)
Mikhail Kurnosov
 
PPTX
Introduction in CUDA (1-3)
Alexander Mezhov
 
PDF
Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...
Nikolay Grebenshikov
 
PDF
Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...
Nikolay Grebenshikov
 
PDF
Стабилизация программных движений маятника переменной длины на вращающемся ос...
Theoretical mechanics department
 
PDF
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Alexey Paznikov
 
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
Alexey Paznikov
 
Семинар 3. Многопоточное программирование на OpenMP (часть 3)
Mikhail Kurnosov
 
Хочу знать, сколько уникальных посетителей было на моём сайте за произвольный...
Ontico
 
Семинар 6. Многопоточное программирование на OpenMP (часть 6)
Mikhail Kurnosov
 
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)
Mikhail Kurnosov
 
Лекция 7. Язык параллельного программирования Intel Cilk Plus
Mikhail Kurnosov
 
Семинар 12. Параллельное программирование на MPI (часть 5)
Mikhail Kurnosov
 
Лекция 8. Intel Threading Building Blocks
Mikhail Kurnosov
 
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Mikhail Kurnosov
 
Лекция 6. Стандарт OpenMP
Mikhail Kurnosov
 
Семинар 8. Параллельное программирование на MPI (часть 1)
Mikhail Kurnosov
 
Факторизационные модели в рекомендательных системах
romovpa
 
Семинар 7. Многопоточное программирование на OpenMP (часть 7)
Mikhail Kurnosov
 
CUDA Best Practices (2-3)
Alexander Mezhov
 
Семинар 9. Параллельное программирование на MPI (часть 2)
Mikhail Kurnosov
 
Introduction in CUDA (1-3)
Alexander Mezhov
 
Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...
Nikolay Grebenshikov
 
Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...
Nikolay Grebenshikov
 
Стабилизация программных движений маятника переменной длины на вращающемся ос...
Theoretical mechanics department
 
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Alexey Paznikov
 
Ad

Similar to 2020 03-31-lection (20)

PPT
лекция 8
student_kai
 
PDF
Лекция 1: Введение в алгоритмы
Mikhail Kurnosov
 
PDF
20130224 tsp csclub_spb
Computer Science Club
 
PPT
Sokolov
VeeRoute
 
PPTX
презентации по информатике
Nick535
 
PDF
Лекция №1. Введение. Предмет "Структуры и алгоритмы обработки данных"
Nikolay Grebenshikov
 
PPT
лекция 35
student_kai
 
PDF
Ярослав Воронцов - Алгоритмы и структуры данных
DataArt
 
PPT
Лекция 9 Жадные алгоритмы
simple_people
 
PPT
Оценка сложности алгоритма
Нижегородский институт управления
 
PDF
Лекция 1. Анализ эффективности алгоритмов
Mikhail Kurnosov
 
PDF
Лекция 1: Введение в алгоритмы
Mikhail Kurnosov
 
PPT
лекция 9
student_kai
 
DOCX
прак 15.docx
ssuser6d63bc1
 
DOCX
пр 15.docx
ssuser6d63bc1
 
PPT
Ga_intro
Philippovich Andrey
 
PDF
Лекция 11: Методы разработки алгоритмов
Mikhail Kurnosov
 
PDF
АВТОМАТИЧЕСКИЙ ПОДБОР ПАРАМЕТРОВ ВНЕШНЕЙ СРЕДЫ ПРИ ГЕНЕРАЦИИ АВТОМАТНЫХ ПРОГР...
ITMO University
 
PPT
Sapr web3
Jakobow
 
PDF
2014-2015_Алгор-структ_Раб-прогр_Мансуров
????? ????????
 
лекция 8
student_kai
 
Лекция 1: Введение в алгоритмы
Mikhail Kurnosov
 
20130224 tsp csclub_spb
Computer Science Club
 
Sokolov
VeeRoute
 
презентации по информатике
Nick535
 
Лекция №1. Введение. Предмет "Структуры и алгоритмы обработки данных"
Nikolay Grebenshikov
 
лекция 35
student_kai
 
Ярослав Воронцов - Алгоритмы и структуры данных
DataArt
 
Лекция 9 Жадные алгоритмы
simple_people
 
Оценка сложности алгоритма
Нижегородский институт управления
 
Лекция 1. Анализ эффективности алгоритмов
Mikhail Kurnosov
 
Лекция 1: Введение в алгоритмы
Mikhail Kurnosov
 
лекция 9
student_kai
 
прак 15.docx
ssuser6d63bc1
 
пр 15.docx
ssuser6d63bc1
 
Лекция 11: Методы разработки алгоритмов
Mikhail Kurnosov
 
АВТОМАТИЧЕСКИЙ ПОДБОР ПАРАМЕТРОВ ВНЕШНЕЙ СРЕДЫ ПРИ ГЕНЕРАЦИИ АВТОМАТНЫХ ПРОГР...
ITMO University
 
Sapr web3
Jakobow
 
2014-2015_Алгор-структ_Раб-прогр_Мансуров
????? ????????
 
Ad

2020 03-31-lection

  • 1. Структурный синтез и планирование вычислений Костенко Валерий Алексеевич [email protected]
  • 2. Прикладные области • Информационно-управляющие системы реального времени (встроенные системы): – авиационные, – корабельные, – автомобильные, – роботы, – автоматизированные системы управления технологическими процессами. • Центры обработки данных в том числе и распределенные ЦОД. – Предоставление вычислительных ресурсов пользователям (например, «Ростелеком»). – Использование ЦОД для обеспечения собственных потребностей в вычислениях (например, «Сбербанк»).
  • 3. Задачи комбинаторной оптимизации Множество решений включает всевозможные: • размещения исходно заданных объектов, • упорядочивания исходно заданных объектов, • разбиения на группы исходно заданных объектов. Комбинаторная оптимизация включает в себя задачи оптимизации, в которых множество допустимых решений дискретно или может быть сведено к дискретному множеству.
  • 4. Этапы решения задачи • Содержательная формулировка задачи • Математическая формулировка задачи • Анализ свойств задачи • Выбор класса алгоритмов (или выбор известного алгоритма) • Разработка и реализация алгоритма • Исследование свойств алгоритма
  • 5. Задача о рюкзаке (содержательная формулировка) Дан рюкзак заданного объема и набор предметов. Каждый предмет характеризуется: • стоимостью • и объемом. Требуется упаковать рюкзак так, чтобы:  суммарная стоимость упакованных предметов была максимальной;  суммарный объем упакованных предметов не превышал объем рюкзака.
  • 6. Задача о рюкзаке (математическая формулировка) Дано: •b - объем рюкзака, •{(ai , ci), I = 1,…,n} n – число предметов, ai и ci. - объем и стоимость предмета i. Решение будем описывать вектором: X = (x1,, x2, ….,xn) Если предмет упакован в рюкзак, то xi=1, если нет xi=0.
  • 7. Задача о рюкзаке (математическая формулировка) Целевая функция: Функция ограничений: . )(max 1   n i ii X xc bxa n i ii 1
  • 8. Задача о рюкзаке (анализ свойств задачи) Если все коэффициенты ai целые числа и b целое число, то задача является NP-трудной. Если все коэффициенты ai вещественные, то задача может быть решена жадным алгоритмом сложности O(n∙log n).
  • 9. Задача о рюкзаке (алгоритм решения непрерывной задачи) Вычислим относительную стоимость всех товаров в расчете на единицу объема: Оптимальный жадный алгоритм для непрерывной задачи заключается в следующем: •сначала в рюкзак укладывается по максимуму товар с самой дорогой относительной стоимостью, •если товар закончился, а рюкзак не заполнен, то укладывается следующий по относительной стоимости товар, затем следующий, и так далее, пока не набран вес b . ii ac
  • 10. Задача коммивояжера Задачу коммивояжёра можно представить в виде нахождения маршрута на графе. Вершины графа – города. Ребра - пути сообщения между этими городами. Каждому ребру сопоставлен вес. Задача заключается в отыскании кратчайшего маршрута, в который входит по одному разу каждая вершина графа. Длина маршрута - сумма весов входящих в него ребер.
  • 11. Задача коммивояжера Маршрут может быть описан циклической перестановкой номеров городов: где - номер города находящийся в i –ой позиции перестановки. Пространством поиска решений является множество перестановок n городов, таких, что все разные и Данная задача принадлежит к классу NP-трудных задач. ),,,( 121  nn jjjjJ  ij njjj ,, 21 11  njj
  • 12. Итерационные алгоритмы построения расписаний • Алгоритмы случайного поиска • Имитация отжига • Муравьиные алгоритмы • Генетические и эволюционные алгоритмы f(HP) HPHP1 HP2 HP3
  • 13. Алгоритмы имитации отжига • Алгоритмы имитации отжига с некоторой вероятностью допускают переход в состояние с более высоким значением целевой функции: • где T - некоторая температура, - изменение целевой функции. • В ходе работы алгоритма температура постепенно снижается.         0),exp( 0,1 )( 1 F T F F XXP kk F
  • 14. Генетический алгоритм Холланда (SGA) • Holland J.N. Adaptation in Natural and Artificial Systems. Ann Arbor, Michigan: Univ. of Michigan Press, 1975.
  • 15. Генетический алгоритм Холланда (SGA) • Основан на использовании механизмов естественной эволюции: 1. Изменчивость → операция мутации 2. Наследственность → операция скрещивания 3. Естественный отбор → операция селекции
  • 16. Основные понятия • Популяция - это множество битовых строк. • Каждая строка - одно из возможных решений задачи. • По строке может быть вычислена функция выживаемости, которая характеризует качество решения. • Основные операции алгоритма: селекция, скрещивание и мутация выполняются над элементами популяции.
  • 17. Схема ГА 1. Сгенерировать случайным образом начальную популяцию. 2. Вычислить функцию выживаемости для каждой строки популяции. 3. Выполнить операцию селекции. 4. Выполнить операцию скрещивания: – Выбрать пары для скрещивания. – Для каждой выбранной пары выполнить скрещивание, получить двух потомков и произвести в популяции замену родителей на их потомков. 5. Выполнить операцию мутации. 6. Если критерий останова не достигнут, перейти к п.2, иначе завершить работу.
  • 18. Операция селекции • Схема пропорциональной селекции: • Схема рулетки: …
  • 21. Критерий останова • Процесс продолжается итерационно • Варианты критерия останова: – Выполнение заданного числа итераций – Выполнение заданного числа итераций без улучшения функции выживаемости – Достижение заданного значения функции выживаемости
  • 23. Муравьиные алгоритмы (биологическая модель) 1. Изначально вероятности выбора маршрутов равны 2. Муравьи, выбравшие кратчайший маршрут, возвращаются быстрее, количество феромона на коротких маршрутах больше 3. Вероятность выбора кратчайшего маршрута повышается
  • 24. Муравьиные алгоритмы (МА для решения задачи коммивояжера) Общая схема итерации: • «Создание» муравьев • Построение маршрутов муравьями • Обновление феромонного следа на найденных маршрутах
  • 25. Муравьиные алгоритмы (построение маршрута) - количество феромона на ребре (i,j), τij(t) - значение локальной целевой функции на ребре (i,j), Lk – множество вершин, включенных в табу-список муравья k, a ≥ 0 и b ≥ 0 - параметры алгоритма, определяющие важность феромонного следа и локальной целевой функции. )(tij
  • 26. Муравьиные алгоритмы (построение маршрута)                             k k Jl ilil ijij kij Lj Lj tt tt tP k ,0 , ,     ii j
  • 27. Муравьиные алгоритмы (обновление феромонов) Tk(t) – маршрут, построенный k-м муравьем, F(Tk(t)) – целевая функция, определяющая качество пути, m – количество муравьев, p [0,1] – коэффициент испарения феромонов.
  • 28. Муравьиные алгоритмы (обновление феромонов) ii j           m k kijijij ttpt 1 ,11                    tTji tTjitTF t k kk kij ,,0 ,, ,
  • 29. Муравьиные алгоритмы (использование для построения расписаний) Построение маршрутов Построение расписаний по маршрутам Обновление феромонного следа Вычисление целевых функции останов? нет да
  • 30. Конструктивные алгоритмы построения расписаний • Жадные алгоритмы • Метод ветвей и границ • Алгоритмы сочетающие жадные стратегии и стратегии ограниченного перебора 523 76 2 4 t 1 2 3 4 t 1 2 3 5 4 t 1 6 7
  • 31. Задача построения расписания выполнения работ в одноприборном устройстве • Шина может рассматриваться как одноприборное устройство, обслуживающее исходно заданный набор работ без прерываний. • Расписание выполнения работ, представляет собой упорядоченное множество • - исходно заданный набор работ   JjsH HN kj   ,1 * )},,{( jjj fstJ 
  • 32. Задача построения расписания выполнения работ в одноприборном устройстве • Множество корректных расписаний определим набором ограничений: * ' H      ))()(())()((),),((: )(: )()()(: 3 2 1       ljljljlj jjj jjjj ffsffsssljHljg tsfHjg ffssHjg
  • 33. Жадные алгоритмы (построение расписания выполнения работ в одноприборном устройстве) • Для частной задачи: • известен оптимальный жадный алгоритм сложности O(n∙log n). jjj HH sftj H   : max*'
  • 34. Жадные алгоритмы (GrA - алгоритм построения расписания для одноприборного устройства) 1. Упорядочиваем работы по возрастанию fj. Заявки с одинаковым значением fj располагаем в произвольном порядке. Сложность - O(n∙log n). 2. Размещаем в расписание работу j=1. 3. Ищем первую работу для которой si≤ fj , размещаем ее в расписание и j=i. 4. Шаги 2, 3 повторяем пока список не исчерпан. Количество повторов - O(n).
  • 35. Иллюстрация работы алгоритма 0 1 2 3 7654 8 9 10 11 12 s1 f1 s2 f2 f3s3
  • 36. Иллюстрация работы алгоритма 0 1 2 3 7654 8 9 10 11 12 s1 f1 s2 f2 f3s3
  • 37. Иллюстрация работы алгоритма 0 1 2 3 7654 8 9 10 11 12 s1 f1 s2 f2 f3s3 Список не размещенных работ
  • 38. Иллюстрация работы алгоритма 0 1 2 3 7654 8 9 10 11 12 s1 f1 f3s3
  • 39. Иллюстрация работы алгоритма 0 1 2 3 7654 8 9 10 11 12 s1 f1 f3s3
  • 40. Алгоритмы сочетающие жадные стратегии и стратегии ограниченного перебора Выбор очередной ВМ (k1) Построение мн. допустимых серверов (А) для размещения ВМ А=0 Разместить ВМ Выбор места размещения (k2) Вызов процедуры ограниченного перебора нет да
  • 41. Ограниченный перебор 4 3 5 2 3 5 2 4 4 1 1 R1 R2 R3 5 n=2 (R1,R2) R1: 5, 5 R2: 3, 3, 4 R3: 4, 4, 1 n=3 (R1,R2, R3) R1: 5, 5 R2: 3, 3, 4 R3: 4, 1, 5
  • 42. Направления работы Разработка алгоритмов решения конкретных задач структурного синтеза и планирования вычислений: • информационно-управляющие системы реального времени, • центры обработки данных. Разработка новых подходов к построению алгоритмов и модификаций известных классов алгоритмов. Примеры: • генетический алгоритм с самообучением, • метод построения алгоритмов сочетающих жадные стратегии и ограниченный перебор. Машинное обучение: • алгоритмы построения и обучения нейросетей для встроенных систем; • алгоритмы построения и обучения нейросетей для больших баз данных.