ОСНОВНЫЕ ПРАВИЛА И ОГРАНИЧЕНИЯ ИСПОЛЬЗОВАНИЯ СИСТЕМЫ
Скачать систему:
G_inter_CVF.rar
EXE_RASTRIGIN.rar
I. Структура системы
Раздел CVF это реализация «быстрой» системы случайно-генетической оптимизации в Compaq Visual Fortran.
Работа с системой в Compaq Visual Fortran для тех, кто имеет даже небольшой опыт, достаточно проста. Для этого надо установить Compaq Visual Fortran Version 6.x, запустить один из прилагаемых проектов и все станет понятно.
В папке EXE_RASTRIGIN приводятся EXE-файлы – примеры решения задач большой размерности.
Используемая в проекте LLIB.lib библиотека содержит необходимые компоненты реализации алгоритма случайно-генетического поиска, позволяющего решать непрерывные, дискретные и смешанные непрерывно-дискретные оптимизационные задачи. Управляющая информация располагается в файле &_in_gen.txt, откуда она считывается единожды в начале расчета. Необходимые комментарии расположены прямо в тексте этого файла. Например:
5 ! количество управляемых переменных
0 ! количество функциональных ограничений
100 100 ! шаг печати на дисплее и внешнем файле соответственно
-500 500 ! диапазон изменения 1-й оптимизируемой переменной
-500 500 !------------------ 2-й -------------------------
-500 500 !------------------ 3-й -------------------------
-500 500 !------------------ 4-й -------------------------
-500 500 !------------------ 5-й -------------------------
Ввод управляющей информации выполняется аналогично системе с произвольным языком программирования (см. read_me в папке FREE), однако файл &&&_Rab.txt не используется. Скорость расчета здесь намного выше, и даже задачи размерности 500 при высокой точности решаются в приемлемое время.
II. Дополнительные, необязательные управляющие файлы системы в начале имеют два символа - &&. Это файлы &&_in_X_start.txt и &&_in_iZEL.txt.
Файл &&_in_X_start.txt предназначен для передачи в систему и последующего анализа определенного представляющего интерес состояния системы (базисная точка – «базис»). Это может быть некоторый базовый проектный вариант.
Файл &&_in_iZEL.txt предназначен для идентификации целочисленных переменных. Единица символизирует целочисленность соответствующей переменной, ноль – произвольное значение в заданном диапазоне.
Файлы &&_in_X_start.txt и &&_in_iZEL.txt активируются (участвуют в расчете), если они подготовлены правильно: для каждой оптимизируемой переменной необходимо задать некоторое числовое значение, причем для &&_in_iZEL.txt эти значения должны быть либо 0 либо 1. Если эти файлы не используются (отсутствуют, то есть решается стандартная непрерывная оптимизационная задача без анализа уникального состояния), то система сама генерирует эти файлы, как пустые, а затем их удаляет.
Структура файлов подробно прокомментирована в примерах, смотри также read_me папки FREE.
III. Результаты расчета представлены в файлах:
1) z_РАЗГОН_ 0 (17).txt ( либо z_selection.txt) – генетический отбор, исследование пространства поиска оптимального решения
2) z_ЦЕЛЬ 4(21).txt ( либо z_result.txt) – результаты процесса оптимизации
IV. Ограничения. Данная программа случайно-генетического поиска бесплатна и предполагает решение задач малой размерности: не более 5-ти оптимизируемых переменных с общим количеством ограничений не более 15-ти, количеством функциональных ограничений (2-го рода) не более 5-ти.
Полный вариант системы позволяет решать все типы задач до 500-та оптимизируемых переменных и до 2000 ограничений.
V. Примеры использования системы 1. В папке Prog_f90 содержатся примеры построения моделей, логика отображена в операторах языка Fortran 90.
Программа model.f90 демонстрирует построение задачи без ограничений 2го рода. Программа model_ogr_2.f90 предполагает два таких ограничения (имеется в виду некоторая функциональная или алгоритмическая зависимость от оптимизируемых переменных). Обе модели реализуют тест Растригина.
VI. Управление работой программы.В DOC окне бегущая строка показывает значение критерия качества (целевой функции) по итерациям и значение параметра сходимости, ассоциированного с размером пространства поиска и имеющий тенденцию к уменьшению (нулевое значение свидетельствует о нарастании сложности в плане улучшения состояния системы; но еще не факт, что лучше быть не может). Бегущая строка останавливается нажатием клавиши «ПРОБЕЛ» и запускается далее клавишей «ENTER». Скорость продвижения бегущей строки зависит от производительности компьютера и шага печати, определяемого пользователем. Останов выполняется принудительно нажатием клавиши «1» после очередного просчета модели (автоматический останов зафиксирован числом 1950000, определяющим максимальное количество итераций; в генетической оптимизации это трактуется как количество эпох).
Имеются еще две редко применяемые клавиши управления. Их целесообразно использовать в конце поиска: если есть надежда на улучшение процесса в контексте локальности, то многократно нажимается клавиша «8» и случайно-генетический процесс уменьшает масштаб (при этом глобальные выбросы в пределах пространства поиска не прекращаются по вероятности); нажатием клавиши «9», наоборот, увеличиваем масштаб локального поиска. Разумеется, эти процедуры в значительной мере интуитивны.
Закончив счет, целесообразно просмотреть файл z_ЦЕЛЬ_4(21).txt ( либо z_result.txt), как основной, и вспомогательный файл z_РАЗГОН_0_ (17).txt ( либо z_selection.txt), где исследуется пространство поиска как начальная фаза процесса оптимизации.