|
ГА в 1с | ☑ | ||
---|---|---|---|---|
0
natali_800
19.04.14
✎
12:51
|
добрый день!)
кто-нибудь сталкивался с генетическим алгоритмом?интересует кодирование самой хромосомы..и если есть примеры наработок на 1с, то вообще хорошо) |
|||
1
ДенисЧ
19.04.14
✎
12:55
|
А зачем это делать в 1с?
|
|||
2
егаис
19.04.14
✎
12:55
|
да все знают, но без фото не взлетит
|
|||
3
Torquader
19.04.14
✎
12:55
|
(0) Вам что - спросить больше нечего ?
|
|||
4
natali_800
19.04.14
✎
12:57
|
(1) для составления расписания вуза
|
|||
5
Torquader
19.04.14
✎
12:58
|
(4) Это проще делать перебором с поиском максимума заранее заданной функции - так как объектов для перебора не так уж и много, то всякое усложнение приведёт только к тому, что нельзя будет использовать весовые критерии.
|
|||
6
zak555
19.04.14
✎
12:58
|
(5) в 1с же есть методы для анализа данных
|
|||
7
Torquader
19.04.14
✎
13:01
|
(6) Вообще - оптимальное расписание - это поиск экстремума функционала. Соответственно, каждая функция "идеальности" - это его измерение. Вопрос в том, как потом задать веса для этих функций "идеальности", если полностью идеальное решение не получается.
|
|||
8
natali_800
19.04.14
✎
13:07
|
(5) переборы точно не подойдут, в этом случае ооочень долго будет составляться расписание.
|
|||
9
Diversus
19.04.14
✎
13:16
|
(0) Я когда то диплом писал по этой теме, но не на 1С
|
|||
10
Zamestas
19.04.14
✎
13:17
|
(8) Дык его расчитывать нужно раз в неделю )))
|
|||
11
natali_800
19.04.14
✎
13:25
|
(10) тут не на неделю в том-то и дело, а на 3-4 месяца
|
|||
12
Zamestas
19.04.14
✎
13:43
|
(11) Ну тем более на время выполнения расчета можно забить.
|
|||
13
Diversus
19.04.14
✎
13:57
|
(0) Вот видео демонстрационной программы. Создание расписания с использованием генетического алгоритма.
http://youtu.be/LTt1vWvPyjI Из исходных данных: - Список групп; - Размер каждой группы; - Список преподавателей - Список предметов, читаемых каждым преподавателем; - Количество часов каждого предмета в неделю; - Указание пар, проведение которых возможно в определенных аудиториях; - Время, когда у группы запрещено проводить пары; - Указание времени, когда преподаватель не может читать лекции; - Список доступных аудиторий; - Вместимость каждой аудитории; - Время, когда аудитория доступна для проведения занятий; - Учебные дни; - Максимальное количество пар в день; Кроме этих основных параметров "опытные пользователи" могут изменять также и следующие параметры, непосредственно влияющие на ход генетического алгоритма: - Количество особей в популяции; - Коэффициенты весовой функции оценки лучшей хромосомы. Строится расписание. |
|||
14
Asmody
19.04.14
✎
14:03
|
(4) пипец. Я наэту тему в дипломную делал в конце 90х.
ГА эту задачу решать можно только при наличии неограниченного объема памяти. |
|||
15
Asmody
19.04.14
✎
14:06
|
В случае с расписанием построение селекционной функции для ГА уже нетривиальная задача
|
|||
16
natali_800
19.04.14
✎
14:20
|
(13) "четкая прога"))
|
|||
17
natali_800
19.04.14
✎
14:23
|
(15) я так понимаю, от ГА вы отаказались?
|
|||
18
Asmody
19.04.14
✎
14:30
|
В результате мы использовали разновидность жадного алгоритма. Грубо говоря, расписание - это набор точек в пространстве {время, предмет, преподаватель, группа, аудитория}. Для каждого элемента рассчитывалась степень свободы, т.е. ОДЗ. Брали худшее, для каждого варианта размещения считали насколько уменьшается свободное пространство. И т.д.
|
|||
19
IamAlexy
19.04.14
✎
14:33
|
(1) ну это же очевидно - сделать самообучающуюся обработку на 1С которая после N поколений подготовки отчетности сможет сама собрать и оптимизировать с чтоки зрения налогов баланс, декларации по НДС и прибыли.
|
|||
20
Asmody
19.04.14
✎
14:37
|
(17) да. Кроме селекционной функции определенная сложность есть в построении хромосом. Получается весьма объемная структура, а учитывая мощьности персоналок того времени, парой-тройкой хромосом можно было забить всю оперативку
|
|||
21
Diversus
19.04.14
✎
14:58
|
(20) Да ладно! Хотя если конец 90-х...
Просто я на свой диплом делал поиск с помощью генетического алгоритма на транспортной сети города в собственном векторном редакторе. Там ориентированный граф тысяч на 10 точек и ничего искал, причем выдавал достаточно приемлимый результат. Может не оптимальную структуру хранения хромосом выбрал? С расписанием у меня тоже вроде бы получилось нормально, единственное, там результат зависит от хорошо подобранных штрафов в фитнесс-функции + надо побольше делать хромосом. |
|||
22
Traker
19.04.14
✎
15:45
|
||||
23
natali_800
19.04.14
✎
15:56
|
(22) видела такую)только он действительно простой (в смысле кодирования хромосомы), не говоря уже об оценке (есть идеальная строка), но не суть)
|
|||
24
Gepard
19.04.14
✎
16:13
|
(4) сколько вам платит 1С?
может быть все-таки стоит использовать язык программирования. который можно запустить без ключа, типа явы? |
|||
25
Torquader
20.04.14
✎
21:05
|
(24) В 1С задача будет полезна, так как на других языках она вполне реализована.
Мы решали почти полным перебором, когда откидывали заведомо неверные блоки в начале. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |