проектных процедур или использовать их программные модули непосредственно самой промышленной САПР (в данной УИ САПР -КлСаф.
Кроме того, можно изучать альтернативные реализации алгоритма проектной процедуры, не разрабатывая новую программу, а лишь реализуя отельные функции. Для демонстрации такого подхода разработаны несколько альтернативных программных модулей реализации алгоритмов получения псевдослучайных
, , провести анализ влияния различных алгоритмов генерации псевдослучайных чисел на проектируемую печатную плату. Состав альтернативных программных модулей может быть дополнен новыми модулями.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Норенков ИЛ. Разработка систем автоматизированного проектирования. - М.: Изд-во МГТУ им. Н. Э. Баумана, 1994. - 207 с.
2. http://www.lis.inpg.fr/realise аи ^/ккаММех.Мш!
3. http://www.gnu.org/licenses/gpl.html
4. http://ru.wikipedia.org/wiki/Kicad
Г.М. Касаткин, А.Ю. Таможникова ПРИБЛИЖЁННОЕ РЕШЕНИЕ ЗАДАЧИ О КОММИВОЯЖЁРА
Введение. Для обнаружения неисправностей электрооборудования, непрерывно находящегося в эксплуатации, проводят контрольные осмотры и периодические технические обслуживания. Поскольку контрольных точек, как правило, несколько (п >2), то суммарные затраты на их контроль и обслуживание раз. , задачи по минимизации суммарных затрат.
В качестве затрат могут выступать либо суммарные материальные затраты на средства технического обслуживания, либо суммарное время про. , ,
.
Суть решения задачи о коммивояжёре состоит в сокращении перебора возможных последовательностей обхода ограниченного множества из N городов. Эта одна из наиболее известных задач исследования операций была сформулирована К. Менгером следующим образом [2]: найти наикратчайший маршрут, проходящий по одному разу через каждый из заданных городов; взаимные расстояния между городами известны.
Формально задача матрица ЦС.Ц, 1 Ф . (., . = 0,1,2,3,..., п), где С. - за-
траты на перемещение между городами i и Т В роли затрат С.. могут выступать: пройденное расстояние, время нахождения в пути от города i до города стоимость проезда от i до \ и т.д. В общем случае может быть, что С.. Ф С ...
У
Требуется найти перестановку П(/1,/2,/3,..., 1п) чисел 1,2,...,п, минимизирующую суммарные затраты ¥п (., 12,..., 1п ) = С01 + С02 + ... + С1п .
При этом функционал Еп(/1,12,..., 1п) задается не только на перестановках всех п объектов, но и на перестановках, состоящих из любого числа элементов.
Переход на к-м шаге от ^ к ^.^ элементу интерпретируется как увеличение стоимости пути:
¥п (11, І2,..., .п-1,1п ) = Рп-1 .п-1 ) + 8п-1 1п ) •
где gnn_■^ - некоторый неотрицательный функционал, зависящий от всей перестановки ^..^ ^ ).
Требуется минимизировать Еп (., /2,..., 1п ) .
Для таких задач многошагового принятия решения определяющим в выборе метода оптимизации является вид функционала g’n_l(il,..., 1п). Функционал
Р (I,и,...,/ ) называют беллмановским, если gn , = ^ ^ , зависит от элемен-
п \ 15 25 5^/ 5 оп_1 п п _1
тов ^ ^ и от набора элементов (1^..., 1п-2) , но не зависит от порядка их прохождения. Если же gn_1 зависит от перестановки элементов (. ,...1п-3, 1п-2), то функционал (11,12,..., 1п ) не является беллмановским функционалом.
, -ре однозначно определяется методом полного перебора (МПП) всех возможных ( ). , планируемых коммивояжёром для посещения городов невелико. С увеличением числа посещаемых городов количество стратегий резко возрастает. Так, например, если число городов п = 10, то МПП требует оценки более 3,5 млн. последовательно.
Разработан ряд приближённых методов, позволяющих сократить перебор возможных последовательностей в задаче о коммивояжёре. Наиболее широко
, , , -
.
несимметричных задач о коммивояжёре. Однако все разработанные методы требу, .
, ,
независимым от последовательности ранее контролируемых точек, что приводит к необходимости решать задачу, когда оптимизируемый функционал не является белл.
Методика решения задачи. Для решения таких задач разработан ряд эври-
,
( ). , -
тить, что он требует минимального объёма вычислений, т.к. оценивает лишь одну , . этим методом зависят от исходной точки маршрута, причём они ухудшаются с увеличением числа городов. Чтобы результаты решения задачи о коммивояжёре были приемлемы по точности для практических инженерных расчётов, а объём перебора последовательностей городов при этом оставался бы сравнительно небольшим, предлагается методика приближённого (МП) решения задачи.
Рассмотрим задачу о коммивояжере. Пусть требуется выбрать оптимальную последовательность обхода. Пронумеруем объекты порядковыми числами, не связанными с последовательностью их обхода. Предположим дополнительно, что С. = С.
и что расстояние удовлетворяет неравенству треугольника, т.е. С. + С.к > Сл для любых и и к.
Для решения задачи может быть использован алгоритм "NN" (Nearest Neighbor -ближайший сосед). Согласно этому алгоритму, коммивояжер, прибыв в некоторый город, выбирает в качестве следующего пункта маршрута ближайший из еще не посещенных городов. Эффективность этого алгоритма невысока, т.к. алгоритм не требует при реализации независимости процесса от предистории и минимизирует затраты только на одном этапе перемещения. С учетом выбранного направления - расширение перебора последовательностей, запланированных для обхода объектов, на основе алгоритма "NN", сформулируем задачу нахождения оптимальной после.
Пусть район размещения N объектов задан фиксированной зоной. Требуется оценить эффективность затрат коммивояжёра посещения запланированных объектом с учетом выбора оптимальной последовательности их обхода.
Пронумеруем объекты порядковыми номерами 1, 2, ..., N, которые не связаны с последовательностью их посещения. В таком случае одну из возможных последовательностей можно записать в виде:
П={Pl, P2, Рз^. Pn-^ Pn }еР = 1,2 .. ,N.
Процесс выбора оптимальной последовательности посещения объектов яв. , -ется как посещённый один из запланированных объектов.
В соответствии с выбранным критерием максимизируем функционал j1 вида:
П
j1 = *10 T,a*T-
i=1
Решение задачи проведем путем своеобразного расширения перебора последовательностей поражения объектов на основе алгоритма "NN".
За последние годы появился ряд методов решения данной задачи, как точных, так и приближенных, значительно сокративших число вычислений по сравнению с простым перебором [1-4]. Приближенные методы разрабатываются на основе раз.
, , -ные для отыскания приближенных решений. В качестве примера можно привести метод ветвей и границ, который часто успешно используется для приближенного решения различных задач. Точные методы могут использоваться как элементы .
Большинство приближенных методов носит эвристических характер. Эвристическими принято называть методы, построенные на основе различных, подсказанных здравым смыслом, соображений. Эти соображения, как правило, исходят из , . Тем не менее, в ряде случаев удается доказать, что предлагаемый алгоритм позволяет гарантировать отыскание приближения, относительная ошибка которого не превышает .
Результаты, полученные при помощи алгоритма "NN", ухудшаются с увеличе-. 20
маршрута и математическим ожиданием длины маршрута, если расстояния представляют собой равномерно распределенные случайные величины, составила 38%, а при нормальном законе распределения - 26%.
Из этого следует, что при просмотре всех вариантов выбора исходной точки движения получаются результаты, промежуточные по отношению к тем, которые достигаются строгим методом.
,
последовательности, алгоритма "NN" приводит к большой погрешности в решении, что делает его мало приемлемым даже для приближенных расчетов.
Для приближенного решения задачи выбора оптимальной последовательности посещения объектов, можно использовать расширенный алгоритм "М№', в разумных пределах расширив перебор последовательностей, с тем, чтобы результаты решения задачи стали по точности приемлемыми для инженерных расчетов, а время получения решения оставалось бы сравнительно небольшим.
Целесообразность использования приближенных методов обусловлена рядом обстоятельств. Прежде всего, для большинства прикладных задач вполне достаточно вместо точного получить хорошее приближенное решение, в то время как отыскание точного решения может потребовать недопустимо больших затрат ресурсов ЭВМ. За счет отказа от поиска точного решения задачи в ряде случаев удается построить алгоритмы для сложных задач. Большие затраты ресурсов на поиск точного решения неоправданны в задачах, в которых оптимизация проводится в рамках упрощенных математических моделей, дающих грубое описание реальных процессов.
Для последующего построения оптимального маршрута сформулированной задачи и выбранных начальных условий определим последовательность ее решения.
Пусть П1 = {, р1, р2, р3,..., ры_1, ры } последовательности посещения N
объектов, в каждой из которых объектом под номером ^ т.е. для заданного количества точек с помощью метода "М№', находим маршрут подозрительный на экстремум, т.е. тот, который удовлетворяет условию П * (1, р1,..., рп ) = тт .
Перебор стратегий по ^ где ^ = 1, 2, ..., №), с последующим выбором очередности поражения всей совокупности запланированных объектов в соответствии с алгоритмом "МЫ" позволит получить:
♦ матрицу последователь ности поражения объектов:
П. = ||Пг||, i= 1,2, ...,^ ] = 1,
♦ вектор Z. = |^г||, i= 1,2, ...^; ] = 1, компоненты которого являются
суммарными затратами по П;.ой последовательности.
Попробуем улучшить выбранный маршрут полным перебором возможных
■ ■ ** ✓ , , •
переездов на каждом этаже и добиться П1 (11,12, р2, р3,..., рп ) = тт,
Среди элементов вектора ||^.|| выбираем наименьший, а в соответствующей
ему последовательности из матрицы ||Щ фиксируем как посещённый объект р*1.
После первого этапа остается N-1 еще не зафиксированных объектов. Для ) = 2 этапа перебираем по i все N-1 нефиксированных объектов для посещения с последующим определением очередности их по ьой стратегии в соответствии с алгоритмам "М№'. В результате получим:
♦ матрицу последователь ностей поражений объектов:
»| I >{< * I * I
П <1, где ^,2, ...^и^ 1 Ф рх П1 =\Pl, ^ р^ рз... рм },
♦ вектор затрат Z. = |^г ||, i= 1,2, ...^; ] = 1, 1 Ф р* .
Среди элементов вектора И выбираем наилучший, а в соответствующей ему последовательности из ||Щ (1=2) фиксируем объект р*2 как посещённых на втором этапе обхода.
Продолжая закрепление объектов последующих _|-х этапов 0= 3, 4, ,.. К) аналогичным образом, как это проделано на первых двух этапах, получим фиксиро-
т—т * I * * * I *
ванную последовательность П = \рг , р2 ,..., р N ], где р =1,2, ...,К
Эта последовательность объектов, в которой минимизируются суммарные затраты, т.е. выполняя эти условия, мы предполагаем, что эта перестановка элементов является оптимальной. Для нахождения фиксированной последовательности объектов по изложенной методике требуется оценить W* стратегий, число которых определяется следующей формулой:
п—1
Ж * = £ т * Ст л , где СП— - число сочетаний из п-1 по т.
т=1
, -
бора оптимальной последовательности требует оценки значительно меньшего , -
тода полного перебора.
Заключение. В таблице приведены результаты по оценке количества последовательностей для отыскания решения задачи о коммивояжёре на основании использования МПП метода динамического программирования ^Мпп) и предло-
,
решение, как для беллмановских, так и для не беллмановских функционалов.
Таблица
Результаты по оценке количества последовательностей для отыскания решения задачи о коммивояжёре
Анализ данных таблицы показывает, что предложенная методика решения задачи о коммивояжёре позволяет повысить оперативность планирования при составлении расписания работ, связанных с выбором последовательности об, .
БИБЛИОГРДФИЧЕСКИЙ СПИСОК
1. Оре О. Графы и их применение. Пер. с англ. под ред. И.М. Яглома. - М.: «Мир», 1965.
2. Кристофидес Н. Теория графов Алгоритмический подход. - М.: «Мир», 1978.
3. Маркова ЕМ., Лисенков А.Н. Комбинаторные планы в задачах многофакторного эксперимента. - М.: Наука, 1979.
4. Липатов ЕЛ. Теория графов и её применения. - М.: Знание, 1986.