|
Задача коммивояжера в 1С | ☑ | ||
---|---|---|---|---|
0
romba
23.10.13
✎
14:26
|
Народ, скажите кто-нибудь сталкивался с решением задачи коммивояжера в 1С? Надо решать такую задачу на 20 точках, полным перебором 1С не вывезет. Может кто подскажет другие способы?
|
|||
1
Fragster
модератор
23.10.13
✎
14:30
|
если не получается перенести готовые алгоритмы на 1с, то ИМХО нужно подумать о смене профессии. Если не получается найти готовые алгоритмы в поисквике - тоже.
|
|||
2
mikecool
23.10.13
✎
14:36
|
(0) а задача о коммивояжере решается полным перебором?
|
|||
3
Dmitry1c
23.10.13
✎
14:39
|
(0) решается генетическим алгоритмом, довольно просто, и не важно, на каком языке. Только результат не идеальный, а приблизительный.
|
|||
4
MadHead
23.10.13
✎
14:41
|
Решал задачу генетическим алгоритмом (есть еще из достойных муравьиный) На 1с генетический алгоритм выйдет тормознутым. Я логику генетического алгоритма переносил в ком объект на с#
|
|||
5
MadHead
23.10.13
✎
14:42
|
Маршрут из скольки точек планируется оптимизировать?
|
|||
6
Coldboy
23.10.13
✎
14:45
|
(1) почему все такие классные, сразу говорят о смене профессии? Если у человека возникла трудность, зато в другом бм он хорош.
(0) а в чем проблема ? нет алгоритма или перенести в 1с? |
|||
7
MadHead
23.10.13
✎
14:47
|
(6) просто все 1сники гении которых сразу приносят в род дом в желтых коробках с надписью 1с )
|
|||
8
Coldboy
23.10.13
✎
14:49
|
да я тоже смотрю и с людьми общаюсь, все их ненавидят гениев ...
|
|||
9
spectre1978
23.10.13
✎
14:57
|
(0) Эх, где мои 17 лет... Задача эта рассматривается на младших курсах ИТ-специальностей. Информации о методах решения в сети - вагон, например можно посмотреть здесь http://habrahabr.ru/post/160077/
|
|||
10
zak555
23.10.13
✎
14:58
|
(8) иди отчёт доделай по 7ке
|
|||
11
piter3
23.10.13
✎
15:03
|
(6) может и хорош, но здесь не форум садоводов:)
проблема автора в нежелании искать и чуть думать |
|||
12
Fragster
модератор
23.10.13
✎
15:03
|
(6) ну ты бы показал свой вариант на 1с, который осиливает 10 (5, 3, 2 или сколько он там у тебя осиливает), но не осиливает 20 (ну, и указал бы пирчину, почему не осиливает)
|
|||
13
Diversus
23.10.13
✎
15:11
|
Я делал используя генетический алгоритм. Правда на Delphi, но по сути можно использовать идею и в 1С.
Вот видео того, что получилось: http://www.youtube.com/watch?v=3cGyfyjUqrc |
|||
14
Serginio1
23.10.13
✎
15:25
|
(13) Делай COM DLL и вперед. На 1С вычисление по таким алгоритмам это долго и муторно.
|
|||
15
MadHead
23.10.13
✎
15:26
|
(12) Ради 10 вообще можно нечего не писать и попросить сделать оптимизацию за вас гугл мэп.
На 1с будет осиливать и 200 точек только другой вопрос, в том что считать будет больше часа. |
|||
16
Aleks73
23.10.13
✎
15:26
|
Писал такую программу после института, на квикбейсике. Успешно. Алгоритм придумал сам, как называется не знаю.
Вообще, тема рассматривалась в СССР как занимательная задача для школьников среднего возраста. По крайней мере, я читал такую книжку и даже примерно помню условие. |
|||
17
Михаил Козлов
23.10.13
✎
15:34
|
(16) Насчет занимательности для школьников это сильно. Думаю, найдете не одну вполне достойную диссертацию на эту или смежную тему.
|
|||
18
МойКодУныл
23.10.13
✎
15:39
|
(0) Решали подобную задачу(не в точности) - подбор суммы максимально близко к заданной из большого количества мелких сумм. Взяли метод ветвей и границ, перенесли в 1С - все ок. Так что мат методы нормально переносятся в 1С.
|
|||
19
be-may
23.10.13
✎
15:43
|
(16) не знаю-не знаю насчет школьников.. это была моя курсовая на 3 курсе.
В 1С делала такое, но очень давно, и на семерке. + там еще была одновременно "задача рюкзака", т.е. надо было не только максимально оптимально проехать маршрут, но и оптимально загрузить газельку под самую "крышечку". Первая часть решилась успешно (по-моему как раз методом ветвей и границ), вторая на практике оказалась невыполнимой. :( |
|||
20
shurikvz
23.10.13
✎
15:45
|
(9) Че эт на младших курсах? У меня диплом по этой теме был. (18) Думаю да, вот так проще будет, чем генетические алгоритмы на 1С реализовывать.
(0) Не известно, что эти 20 точек из себя представляют. Но если граф полный, то можно тупо использовать детерминированный спуск в лучшем направлении. Глобально-оптимальное решение не факт что получите, но даже в 1С хоть на 100 точках просвистит так, что раз не успеете сказать. |
|||
21
Михаил Козлов
23.10.13
✎
15:50
|
(18) Это не коммивояжер, а, скорее, рюкзак.
|
|||
22
Fragster
модератор
23.10.13
✎
15:52
|
(20) диплом на тему "реализация алгоритма" быть не может. максимум - курсовик, и именно на младших курсах. В составе диплома может быть решение такой задачи, но это не тема диплома, а кусочек одного из методов решения.
|
|||
23
shurikvz
23.10.13
✎
16:02
|
(22) Да естественно, тема диплома не назвалась "Решить задачу коммивояжера". Тема была связана с оптимизацией транспортных перевозок. Название уже забыл.
|
|||
24
EvgeniuXP
23.10.13
✎
19:53
|
(9) да ладно, в вышках это рассматривают на первых курсах :)
|
|||
25
EvgeniuXP
23.10.13
✎
19:57
|
(9) и в твои 17-лет компьютеры были еще у единиц и каждый первый не занимался программированием :)
|
|||
26
CepeLLlka
23.10.13
✎
20:58
|
Что такое Коммивояжер? О_О
|
|||
27
CepeLLlka
23.10.13
✎
21:01
|
Везёт вам, Ребят.. вы программисты :(
А подскажите пожалуйста.. а можно дистанционно выучиться на программиста сейчас? |
|||
28
Torquader
23.10.13
✎
21:39
|
На самом деле, задача по научному называется "задача на экстремум функционала" - вы описываете критерии, по ним строится функционал, а потом ищите его минимум.
Просто, чтобы всё взлетело, нужно правильно описать критерии, особенно, если потом из будут между собой сравнивать. Если точек мало, то можно простым перебором через стек, как это писалось для школьников - то есть мы просто имеем стек маршрута и в каждой точке перенумерованные направления в другие точки, которые мы будем перебирать по мере возрастания (ну и сразу исключая возвраты назад). |
|||
29
Torquader
23.10.13
✎
21:42
|
Если двадцать точек, то перебрать нужно 20! вариантов, а это очень много, но если сразу отбрасывать маршруты с пересечениями, то будет намного меньше.
|
|||
30
spectre1978
23.10.13
✎
23:39
|
(25) сейчас им занимается еще меньше народу, ибо специальность не престижная. Не набирает наша кафедра абитуру... Но задачки подобные решали. Как курсовая были на 1 курсе, кому не досталось, те разбирали на третьем в теме целочисленного программирования - метод ветвей и границ излучался как раз там.
|
|||
31
spectre1978
23.10.13
✎
23:40
|
* изучался
|
|||
32
Armando
24.10.13
✎
02:17
|
По букве "Я" вторая ссылка
http://infostart.ru/public/168209/ |
|||
33
opty
24.10.13
✎
02:38
|
Решал методом ближайшего соседа - прост в реализации , быстр ,достаточно точен с точки зрения практического использования , в среднем порядка 8-12 точек на маршруте
|
|||
34
romba
24.10.13
✎
11:04
|
Капец, из 30 постов один полезный.
spectre1978 - спасибо за ссылку, то что я хотел. А товарищу Fragster я бы рыло начистил, жаль нельзя это через интернет сделать. |
|||
35
Fragster
гуру
24.10.13
✎
11:30
|
(34) дружище? ты о чем? о том, что в поиске яндекса вторая ссылка - то, что тебе нужно?
|
|||
36
MadHead
25.10.13
✎
00:28
|
(32) о мой ком объект. Только там в обработке в парсере результата есть ошибка. Сам ком объект работает стабильно
|
|||
37
romba
25.10.13
✎
15:11
|
(36) Что-то у меня infostart не открывается, можешь обработку еще куда-нибудь выложить или скинуть в romanryt#mail.ru?
|
|||
38
МихаилМ
25.10.13
✎
15:29
|
капец.
(0) выпускник математического факультета ОмГУ. |
|||
39
spectre1978
25.10.13
✎
15:44
|
(34) да не за что, дружище. Мне яндекс открыть пока еще не влом :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |