logo search
Диплом ИПОВС 2003 / Пояснительная запискаFinalVersion

Разработка структуры классов

Для реализации модели были разработаны следующие классы, представленные на диаграмме классов.

Рис.3 Диаграмма классов

Класс TGeneпредставляет собой описатель гена, в котором свойствоBegPosозначает положение гена в хромосоме, а свойствоDegree– длину гена. Как я уже упоминал, в этой конкретной системе длина гена постоянна и равна 32 битам.

Порождённый от TBitsклассTChromosomeсодержит битовую строку, в которой хранится вся информация, а также ряд методов для работы с генами. Наиболее важными из них являются функции установки значений генов. Немаловажную роль играет свойствоSuitability, в котором хранится текущая приспособленность хромосомы (или значение фитнесс-функции). Этот класс агрегирует описания всех генов.

Класс TGeneticAlgorithmописывает непосредственно алгоритм оптимизации и содержит в разделеprivateмножество параметров, которые определяют работу алгоритма. Функциями этого класса реализуются генетические операторы, а также механизмы функционирования алгоритма в целом. В этом классе агрегированы объекты классаTChromosomeв количестве, определяемом параметромChromosomeCountкласса.

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

Объединяет эти классы в единое целое класс, порождённый от TForm. В системе есть ещё несколько объектов классов, порождённых отTForm, но они не включены в диаграмму классов и не описываются подробно в связи с тем, что не несут особой функциональной нагрузки и служат только для более удобного сбора информации от пользователя.

Действие класса TChromosomeпокажу на диаграмме состояний.

Рис. 4 Диаграмма состояний – TChromosome.

Класс предназначен исключительно для хранения информации и не представляет особой сложности. На следующей диаграмме – класс TGeneticAlgorithm.

Рис.5 Диаграмма состояний – TGeneticAlgorithm