Вход
Регистрация

генетические алгоритмы, задача о коммивояжере

Здравствуйте!
Мне необходимо реализовать на Delphi решение задачи о коммивояжере с использованием генетических алгоритмов. Я новичек в этом деле, пользуюсь компонентом GeneBase (спасибо BaseGroup!). Проблема в кодировании и декодировании хромосом. (Входными данными является матрица стоимостей проезда). Я предполагаю кодировать хромосому след. образом: число генов равно числу городов. Ген - номер города в итоговом маршруте.
Вопрос 1: длина гена в моей реализации 8, 16 и 32 бит. Предположим, в условии 100 городов. 8-битный ген принимает значения от 0 до 255. Я беру остаток от деления значения гена на 100 (+1). Возможен ли такой вариант?
Вопрос 2: задание фитнесс-функции. Поскольку номера городов повторяться не могут, я декодирую 1-й ген как номер 1-го города, 2-й - как порядковый номер города из массива оставшихся и т.д. Но на примере для 5-ти городов этот алгоритм выдает далеко не лучшие решения. Или 5 для него слишком мало?