Общий алгоритм работы генетического алгоритма — КиберПедия 

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

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

Общий алгоритм работы генетического алгоритма

2018-01-04 194
Общий алгоритм работы генетического алгоритма 0.00 из 5.00 0 оценок
Заказать работу

Содержимое рюкзака представляется в виде хромосом или бинарных строк, i-й бит которых равен 1 если предмет положен в рюкзак, и нулю - в случае его отсутствия. Задается целевая функция S – вместимость рюкзака. Отбор осуществляется следующим образом:

1) Создание случайной популяции двоичных хромосом.

2) Оценка каждой из них.

3)
Изм.
Лист
№ докум.
Подпись
Дата
Лист
 
09.03.04.960000.000.ПЗ
Отбор на основе полученных чисел.

4) Скрещивание полученных на третьем этапе хромосом.

5) Мутация.

6) Переход на второй шаг.

Алгоритм прерывается после заданного числа итераций. Блок схема работы алгоритма представлена на рисунке 3.

Рисунок 3 – Бблок-схема генетического алгоритма

 

3
Изм.
Лист
№ докум.
Подпись
Дата
Лист
 
09.03.04.960000.000.ПЗ
Программное конструирование

Обоснование выбора языка программирования

Появление технологии.NET повлекло за собой массовую реконструкцию некоторых языков программирования, стремящихся использовать те или иные возможности платформы, такие как C++ и VisualBasic. Microsoft решили предложить разработчикам альтернативу – язык, ориентированный специально.NET и создали C#. Сами разработчики языка описывают его, как простой, современный, объектно-ориентированный и безопасный язык программирования. Синтаксически C# напоминает C++ и Java, что позволило программистам за достаточно короткое время изучить тонкости нового языка.

Несмотря на то, что C# и.NET предназначены в первую очередь для веб-разработки, их также активно применяют для создания приложений, которые должны устанавливаться на машине конечного пользователя, где и будет выполняться вся обработка данных. Разработку таких приложений обеспечивает библиотека WindowsForms, позволяющая проектировать графический интерфейс. Система, описанная в данной работе, разработана именно с помощью библиотеки WindowsForms.

1) Язык программирования C# претендует на подлинную объектную ориентированность.

2) Язык программирования C# призван реализовать компонентно-ориентированный подход к программированию, который способствует меньшей машинно-архитектурной зависимости результирующего программного кода, большей гибкости, переносимости и легкости повторного использования программ.

3) Принципиально важным отличием от предшественников является изначальная ориентация на безопасность кода.

4) Расширенная поддержка событийно-ориентированного программирования.

5)
Изм.
Лист
№ докум.
Подпись
Дата
Лист
 
09.03.04.960000.000.ПЗ
Язык программирования C# является «родным» для создания приложений в среде Microsoft.NET, поскольку наиболее тесно и эффективно интегрирован с ней.

Описание классов

ClassChromosome – класс который создает хромосому.

ClassBackpack – класс рюкзак, который содержит набор необходимых методов для работы с рюкзаком.

ClassGoldberg – класс, который содержит основные методы генетического алгоритма.

ClassProgram – класс для работы с меню.

Описание основных функций

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

Все эти методы описываются в классеclassGoldberg:

1) voidInit() – метод служит для инициализации кроссинговера и мутации.

2) voidInitBackpack() – метод служит для заполнения рюкзака.

3) voidInitPopulation(intlength) – метод служит для инициализации размера популяции.

4) voidWork() – метод работы алгоритма.

5) voidMutation(Chromosomechild) – метод служит для проведения мутации.

6) void NewPopulation(Chromosome childOne, Chromosome childTwo) – методсозданияновойпопуляции.

7) voidPrintBackpack() – метод вывода на экран масс предметов.

8) voidPrintPopulation() – метод вывода на экран популяции.

9) voidCrossover(intone, inttwo) – метод служит для проведения скрещивания двух особей.

Изм.
Лист
№ докум.
Подпись
Дата
Лист
 
09.03.04.960000.000.ПЗ
Подробное описание классов, полей и методов приведено в ПРИЛОЖЕНИИ В. Фрагменты кода программы приведены в ПРИЛОЖЕНИИ Г. UML диаграмма классов изображена в ПРИЛОЖЕНИИ Б.


Поделиться с друзьями:

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.008 с.