Поиск экстремальных конфигураций в геометрических задачах при помощи библиотеки PyTorch

Слайд 2

Постановка задачи Задачи упаковки — это класс задач оптимизации в математике,

Постановка задачи
   Задачи упаковки — это класс задач оптимизации в математике, в которых

пытаются упаковать объекты в контейнеры.  Цель упаковки — либо упаковать отдельный контейнер как можно плотнее, либо упаковать все объекты, использовав как можно меньше контейнеров, либо нахождение конфигурации, которая упаковывает один контейнер с максимальной плотностью. При этом объекты не должны пересекаться и объекты не должны пересекать стены контейнера.
Слайд 3

Работа программы Создается квадратная область, в нее помещаются случайным образом сгенерированные

Работа программы

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

n точек. Далее программа увеличивает их радиусы, при этом ищет лучшее расположение. Все вычисления происходят посредством нейронной сети, которая обучается градиентным спуском.    *Градиентный спуск — это эвристический алгоритм, который выбирает случайную точку, рассчитывает направление скорейшего убывания/возрастания функции (пользуясь градиентом функции в данной точке), а затем пошагово рассчитывает новые значения функции, двигаясь в выбранную сторону. Если убывание/возрастаение значения функции становится слишком медленным, алгоритм останавливается и говорит, что нашел минимум.
Слайд 4

ПРИМЕР ВЫПОЛНЕНИЯ

ПРИМЕР ВЫПОЛНЕНИЯ

Слайд 5

Скорость обучения Скорость обучения стоит воспринимать как ширину шагов. В некоторых

Скорость обучения

   Скорость обучения стоит воспринимать как ширину шагов. В некоторых случаях

бывает так, что слишком широкие шаги вообще не позволяют достичь минимума, и машина бесконечно перешагивает через него, затем градиент «разворачивает» ее обратно, и алгоритм снова перескакивает через минимум. Маленькая скорость обучения хоть и придает точности, зато, конечно, увеличивает время на обучение нейросети.
Слайд 6

ПОДБОР СКОРОСТИ ОБУЧЕНИЯ

ПОДБОР СКОРОСТИ ОБУЧЕНИЯ

Слайд 7

ПОДБОР СКОРОСТИ ОБУЧЕНИЯ

ПОДБОР СКОРОСТИ ОБУЧЕНИЯ

Слайд 8

ПОДБОР СКОРОСТИ ОБУЧЕНИЯ

ПОДБОР СКОРОСТИ ОБУЧЕНИЯ

Слайд 9

ПОДБОР ЗНАЧЕНИЯ PATIENCE

ПОДБОР ЗНАЧЕНИЯ 
PATIENCE

Слайд 10

Первые выводы За 5000 запусков программы получилось 304 рекордных значение, что

Первые выводы

   За 5000 запусков программы получилось 304 рекордных значение, что составляет

6.08% 
   *Данные вычислялись при количестве шаров равном 15, значние считалось рекордным при разнице с рекордом меньше либо равной 10^(-5)