Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Simple Genetic Router
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Работаем с трассировкой
Bogatyr
Вот сделал на курсовой проект по информационным технологиям в РЭС свой простой однослойный трассировщик печатных плат. Трассировка производится волновым алгоритмом. Вся "фишка" в применении эволюционного метода для определении оптимальной последовательности разводки дорожек.

Просьба к форумчанам потестировать программу.

Необходимо выполнение следующих требований:

1) В качестве исходных данных программа использует PCB ASCII файл
2) Используйте только Abs сетку (рекомендуется 2,5 мм или 2,54 (если детали импортные))
3) Монтажные отверстия должны строго лежать в узлах координатной сетки.
4) Границы печатной платы должны рисоваться инструментом Line в слое «Board». Применение других инструментов для задания границ ПП недопустимо.
5) Никаких деталей с поверхностным монтажом
6) ПП должна быть не очень сложной: около 10-30 деталей
7) Рекомендуется перед использование Simple Genetic Router выполнить в пакете P-CAD команду «optimize nets»
8) Программа не учитывает никаких настроек проекта, кроме как единиц измерения. Так что задание расстояния между дорожками и пр. не учитываются.
9) Дорожки всегда делаются толщиной 0,5 мм.

Как пользоваться:
1) создаем файл run.bat и пишем в нем sgr_vc8.exe <путь к файлу с данными>
2) В программе очень много загадочных параметров. Но вам необходимо обратить внимание только на 2, это:
размер популяции и останов. Параметр останов рекомендуется делать больше чем размер популяции. Время
поиска решений напрямую завист от величины этих параметров. Чем они будут больше, тем больше вариантов будет рассмотрено, и соотвественно больше вероятность найти лучшее решение, но при этом программа может работать очень долго. Но все же рекомендую оба эти параметра делать не меньше 10. Кому интересно, то можете поиграться и с другими параметрами.
3) Нажать на кнопку пуск и ждать. После того как будет найдено решение, нажмите на кнопку "Показать лучшее решение".
И просьба сверять индексы лучшего решения и индекс, на который кидает кнопка "Показать лучшее решение". Глюк такой, сорри wink.gif. Правильным будет тот, который появляется в информационном окне после того как решение найдено
4) При выходе будет создан PCB ASCII файл лучшего решения
5) Программа для одного и того же файла всегда дает разные решения.

В качестве результатов теста мне требуются:

- все что содержится в группе "Настройки"
- приблизительное время нахождения решения. Пишите словами: быстро, средне или долго.
- номер шага на котором была остановлена эволюция
- количество неразведенных дорожек у лучшей особи
- количество мутаций лучшей особи
- поколение лучшей особи
- исходный файл и файл с разведенными программой дорожками.
- марка вашего процессора
- ну, и конечно, будет интересно послушать ваше ИМХО biggrin.gif

качать отсюда http://avral.ru/2056

ВСЕМ ОГРОМНОЕ СПАСИБО!!!
Bogatyr
Если у кого то прога пишет, что она неправильно сконфигурирована, то надо скачать и поставить vcredist_x86.exe
http://www.microsoft.com/downloads/details...99-220b62a191ee

P.S.
Прошу просто посмотреть прогу, без всяких отчетов.
Yuri Potapoff
Посмотрел. Если курсовик был по программированию, то 5. Если по трассировке, то даже не знаю, что сказать.
Жека
Ну что, господа, Спектру можно отправлять на свалку истории? smile.gif
Как можно оценить эволюционность алгоритма на плате с 10 штыревыми элементами и фиксированным шагом? Что такое эволюционность применительно к однослойной плате?
Bogatyr
Цитата(Жека @ May 14 2007, 17:57) *
Ну что, господа, Спектру можно отправлять на свалку истории? smile.gif
Как можно оценить эволюционность алгоритма на плате с 10 штыревыми элементами и фиксированным шагом? Что такое эволюционность применительно к однослойной плате?


Ну, со спектрой пока рано тягаться. От уровня Quick Router тоже еще далеко, но на мой взгляд если бы Quick Router можно было бы поставить шаг 2,5 мм, то я домую, что мой трассировщик мог бы потягаться. Хотя я наверное приувеличиваю smile.gif

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

Вопрос: А что, все только смотрели пример из архива? Никто не пробовал свою плату подставлять?

P.S.
Неужели мой трассировщик так плохо трассирует? Можно ведь начальную трассировку им провести, а далее уже руками доделать.
Жека
Зачем так усложнять алгоритм? Хорошие результаты дает банальная сортировка цепей по длине
Pin-to-Pin. Вначале трассируем самые короткие цепи, в конце самые длинные.
А хромосомы и гомозиготы оставим биологам wink.gif

Потестить трассировщик не могу - просто не имею плат, удовлетворяющих Вашим условиям.
Yuri Potapoff
Bogatyr, вы для себе должны решить, что хотите получить в конце.

Если вы хотите сделать например заданный вам курсовик, то это одно.

Если вы хотите разработать собственный трассировщик, то вы должны определиться, для чего он вам будет нужен. Одно дело трассировать плату из двух проводов для утюга, другое дело - современные сложные платы.

Сейчас уже никому не нужны сеточные или бессеточные трассировщики, работающие по принципу "лишь бы дорожки проложить". Сейчас к платам предъявляются требования контроля длин проводников, порядка следования пинов, топологи цепи. В ряде случаев все эти требования не удается реализовать в полностью автоматическом режиме, поэтому сейчас все сакцентировались на интерактивных методах, когда человек рисует, а машина помогает.
Bogatyr
Конечно, цель у меня была написать курсовой проект. Сюда выложил, чтобы уже состоявшиеся специалисты поддержали, посоветовали что-нибудь.

Вообщем мне все ясно, всем спасибо.
Жека
Bogatyr, с удовольствием потестируем Вашу прогу,
только сделайте хотя бы двуслойную с поддержкой SMD компонентов и сетку помельче раз в 10.
Все-таки у специалистов и преподавателей немного разные цели и запросы
Удачи beer.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.