12.07.2015 Views

Методы построения конечных автоматов на основе ...

Методы построения конечных автоматов на основе ...

Методы построения конечных автоматов на основе ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

1604.2.2.2. Правила <strong>на</strong>писания плагинов к виртуальнойлабораторииНиже приведены базовые рекомендации, которым необходимоследовать при разработке собственных модулей, определяющих алгоритмрешения. Процесс создания плагинов описывается <strong>на</strong> примере созданияплаги<strong>на</strong> задачи и алгоритма решения.Основные этапы при реализации новой задачи в виртуальнойлаборатории GLOpt.1. Реализация класса-<strong>на</strong>следника от абстрактного класса Individual,определяющего объект к которому в дальнейшем применяется алгоритмоптимизации. Так, <strong>на</strong>пример, в задаче о расстановке ферзей таким объектомвыступает шахмат<strong>на</strong>я доска с расставленными <strong>на</strong> ней ферзями.2. Реализация класса-<strong>на</strong>следника от абстрактного класса Problem. В данномклассе должен быть определен метод OptimizationDirection.Также необходимо определить метод EvaluateIndividual,возвращающий з<strong>на</strong>чение типа double – з<strong>на</strong>чение целевой функции дляданного индивида.3. Для реализации компоненты визуализации текущего решения требуетсяопределить класс Viewer, <strong>на</strong>следуемый от классаIndividualViewer, и, в частности, определить методViewIndividual, вызывающий графическую форму, либо представляющийданные о решении в любом другом удобном для пользователявиде.Приведем основные этапы разработки подключаемого модуля,определяющего алгоритм.1. Реализация алгоритма поиска оптимального решения – класса, <strong>на</strong>следованногоот абстрактного класса Algorithm. Данный класс долженопределять следующие методы.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!