IOSO оптимизация
![]() |
![]() |
|
| в палитре | на схеме |
Описание
Блок IOSO оптимизации параметров модели предназначен для подбора таких параметров оптимизации, которые бы удовлетворяли необходимым значениям критериев оптимизации.
По назначению блок аналогичен блоку "Оптимизация параметров модели". Но в отличие от него, использует модифицированный алгоритм нахождения множества Парето–оптимальных точек одновременно в рамках решения одной задачи. При этом применяется метод непрямой многокритериальной оптимизации на основе самоорганизации (IOSONM).
- возможность решения практических задач для случая невыпуклых, недифференцируемых и стохастических целевых функций и ограничений;
- отсутствие необходимости значительной адаптации математической модели исследуемого объекта;
- возможность получения множества Парето–оптимальных решений при сравнительно небольшом количестве прямых обращений к исследуемой математической модели;
- достаточно высокая вероятность определения глобального экстремума в многоэкстремальных задачах.
Работа с блоком IOSO оптимизации
На вход блока подается вектор критериев оптимизации. На основании их значений, используя методы оптимизации, происходит подбор значения вектора параметров оптимизации так, чтобы значения критериев начали удовлетворять необходимым условиям. Использование блока во многом аналогично блоку Оптимизатор. С примерами настроек и использования при решении различных задач оптимизации можно ознакомиться в демонстрационных примерах в директории программы SimInTech\Demo\Оптимизация.
Входные порты
| Имя | Описание | Тип линии связи |
|---|---|---|
| InPort | Порт входа для критериев оптимизации | Математическая |
Выходные порты
| Имя | Описание | Тип линии связи |
|---|---|---|
| OutPort | Порт выхода вектора значений варьируемых переменных | Математическая |
Свойства
| Название | Имя | Описание | По умолчанию | Тип данных |
|---|---|---|---|---|
| Режим оптимизации параметров | optmode | Выбор между изменением оптимизируемых параметров:
|
По полному переходному процессу | Перечисление |
| Периодичность анализа критериев оптимизации при расчете в динамике, сек | optstep | Периодичность пересчета оптимизируемых параметров при динамическом режиме оптимизации. Опция имеет смысл только когда "Режим оптимизации параметров" имеет значение "В динамике непрерывно" либо "В динамике с остановкой" |
1 | Вещественное |
| Выдача информации о процессе оптимизации | printoptinfo | При включении опции, после каждого шага оптимизационного расчета, в окне сообщений выводится информация о значениях X и Y, где X – вектор значений варьируемых параметров, а Y – вектор значений критериев оптимизации | Да | Двоичное |
| Максимальное количество итераций поиска | kitmax | Максимальное число циклов оптимального расчета в ходе которых алгоритм будет пытаться подобрать оптимальные параметры. Если по окончании указанного числа расчетов, не были найдены значения параметров, удовлетворяющие критериям оптимизации, то расчет прерывается | 10 | Целое |
| Количество повторов вызова функции | nrepeat | Число повторов вызова функции | 1 | Целое |
| Число варьируемых переменных | nva | Число переменных, значения которых варьируются с целью достижения целевых значений критериев оптимизации. Ограничение по количеству составляет "20" переменных |
1 | Целое |
| Число откликов | nrs | Количество критериев оптимизации, значение которых оценивается при изменении значений варьируемых переменных. Ограничение составляет до "10" критериев и до "100" нелинейных ограничений типа "Неравенство" |
1 | Целое |
| Заданное количество Парето–оптимальных решений | npz | Желаемое количество Парето-оптимальных решений, равномерно распределенных в пространстве критериев. Предельная величина этого параметра зависит от размерности задачи. Рекомендуемый диапазон значений от "10" до "100" |
10 | Целое |
| Точность оптимизации | epsop | Условная точность решения задачи. Используется для вычисления stop-критерия при решении однокритериальных задач. Для многокритериальных задач данный параметр играет вспомогательную роль и должен иметь значение в диапазоне от "10-6" до "10-3" |
0.0001 | Вещественное |
| Точность соблюдения ограничений | epsogr | Ограничение считается нарушенным, если превышает предельное значение на величину, большую, чем заданная точность. Опция имеет смысл, когда "Код отклика" включает в себя ограничение | 0.0001 | Вещественное |
| Диапазоны варьируемых переменных [min(1), max(1)....min(NVA), max(NVA)] | vardes | Диапазон изменения варьируемых переменных. Задается в виде массива перечисления минимального и максимального значений каждой переменной | [1 , 20] | Массив |
| Код отклика | irsdes | Описывает способ контроль критериев оптимизации:
|
Целевая функция, минимизируемая, без ограничений | Множество |
| Значения для откликов [min(1), max(1), w(1)....min(NRS), max(NRS), w(NRS)] | rsdes | Массив значений для критериев оптимизации − перечисляются минимальное, максимальное значения, а также параметр значимости данного критерия (величина от 1 до 2) | [0 , 100 , 1] | Массив |
| Флаг запуска задачи на продолжение | klpr | Принимает значения:
После осуществления генерации начального плана эксперимента задача оптимизации может быть в любой момент остановлена, а затем запущена на продолжение. Необходимым условием запуска задачи на продолжение является включение флага и наличие бинарного файла, задаваемого в свойстве "Имя файла плана", в котором содержится информация о текущем плане эксперимента. Этот файл желательно не удалять после остановки программы, поскольку в противном случае запуск задачи на продолжение будет невозможен. |
Нет | Двоичное |
| Флаг записи лога решения задачи (все вызовы модели) | kllog | В случае включения флага, в окне сообщений проекта будет выводиться лог решения задачи | Нет | Двоичное |
| Флаг записи файла плана (нужен для запуска задачи на продолжение) | klplan |
записывать или нет файл продолжения расчета, указанный в свойстве "Имя файла плана" |
Нет | Двоичное |
| Ограничение по времени решения задачи [сутки, часы, минуты] | itimemax | Максимальная продолжительность решения задачи оптимизации | [0 , 3 , 0] | Целый массив |
| Количество начальных точек | num_ini | Пользователь имеет возможность задавать начальные точки для процесса оптимизации. Это может быть необходимо, если, например, существует прототип исследуемой системы, или имеются результаты предварительных исследований, для которых получены относительно высокие значения целевых функций. Ограничение по количеству точек составляет "20". Информация о начальных точках должна находиться в свойствах "Коды состояния начальных точек" и "Массив начальных точек, размерность NUM_INI*(NVA+NRS)" |
0 | Целое |
| Коды состояния начальных точек | ipini |
Массив состояний каждой начальной точки, может состоять из нулей и единиц, где 0 – код соответствующий отсутствию откликов для данной точки и говорящий о том, что их нужно рассчитывать, 1 — для данной точки есть отклики, значение можно брать из свойства "Массив начальных точек". Принимает значения:
|
− | Множество |
| Массив начальных точек, размерность NUM_INI*(NVA+NRS) | fini | массив начальных значений варьируемых переменных и критериев оптимизации; | [] | Массив |
| Имя файла плана | planfilename | имя бинарного файла, используемого для продолжения расчета. | − | Строка |
Параметры
Блок не имеет параметров.
Примеры
Блок не имеет примеров.

