Технологии программирования
Шрифт:
Трудность здесь такая же, как и в ситуации подбора одежды для девушки. Если ознакомиться с товаром в ряде магазинов, то нетрудно по рекомендации "лучшее — дорогое" купить отдельные элементы гардероба. Скорее всего эти "лучшие" элементы не будут в целом смотреться на девушке из-за несовместимости цветов, фасона, да и самого облика и характера девушки, т. е. отсутствует оптимизация по критерию целого.
Покупка в одиночку может превратиться в мучительное хождение по магазинам с тысячами примерок. При этом скорее всего будет ошибочно приобретен не тот товар.
Для анализа критерия целого лучше привлечь опытных экспертов (например, пойти по магазинам с подругами), которые
Опытный кутюрье поможет сделать выбор дорогой модной одежды. Возможно, чтобы еще лучше подходить под предложенную одежду, вам придется позаниматься с психологом, косметологом и инструктором физкультуры для изменения имиджа. К счастью, многие девушки способны сами одеваться "дешево и сердито" и умеют самостоятельно адаптировать свой имидж.
Морфологическая таблица, составленная в компактной форме, поможет избежать многократного хождения по одним и тем же магазинам, что сэкономит ваше время и время экспертов. Морфологическая таблица позволит вам и экспертам просмотреть значительно большее число вариантов и сделать более оптимальный выбор.
В 1983 г. В.В. Костериным была успешно применена морфологическая таблица для синтеза идей построения алгоритма нелинейного программирования поиска глобального экстремума функций многих переменных на сетке кода Грея. Алгоритмы нелинейного программирования предназначены для поиска экстремумов функций многих переменных. В методах прямого поиска экстремум выявляется путем расчета множества точек функции при аргументах, определяемых самим алгоритмом поиска. В табл. 2.2 приведена данная морфологическая таблица, которая содержит классификационные признаки отдельных механизмов алгоритмов нелинейного программирования на уровне основных принципов. Приведенные классификационные признаки выделялись по основным функциональным признакам отдельных механизмов. Каждому классификационному признаку соответствует множество реализаций механизмов в виде значений классификационных признаков.
Интересно отметить, что число возможных реализаций алгоритмов нелинейного программирования по этой таблице составляет N = 5*6*8*5*7*7*6 = 352800, что значительно превышает число опубликованных методов (около 2000)!
Таблица 2.2
Морфологическая таблица принципов функционирования алгоритмов нелинейного программирования
Классификационные признаки | Значения классификационных признаков | |||||||
Начальная точка поиска | 1.1 | 1.2 | 1.3 | 1.4 | 1.5 | |||
Зондирование гиперповерхности | 2.1 | 2.2 | 2.3 | 2.4 | 2.5 | 2.6 | ||
Стратегия шагов поиска | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 |
Направление поиска на шаге | 4.1 | 4.2 | 4.3 | 4.4 | 4.5 | |||
Стратегия шага поиска | 5.1 | 5.2 | 5.3 | 5.4 | 5.5 | 5.6 | ||
Механизм
| 6.1 | 6.2 | 6.3 | 6.4 | 6.5 | 6.6 | 6.7 | |
Механизм завершения поиска | 7.1 | 7.2 | 7.3 | 7.4 | 7.5 | 7.6 |
Значения классификационных признаков классификационного признака "Механизм начальной точки поиска":
признак 1.1 — из точки, указанной пользователем;
признак 1.2 — из средней точки области определения;
признак 1.3 — из точки на границе области определения;
признак 1.4 — из случайной начальной точки поиска;
признак 1.5 — начальная точка поиска не задается.
Значения классификационных признаков классификационного признака "Первичное зондирование гиперповерхности":
признак 2.1 — в виде большого числа случайных точек, зондирующих всю гиперповерхность;
признак 2.2 — поочередные спуски из ряда случайных начальных точек;
признак 2.3 — конкурирующие спуски из добавляемых случайных точек;
признак 2.4 — зондирование гиперповерхности случайными точками с выявлением и более тщательным исследованием "подозрительных областей";
признак 2.5 — сканирование всей гиперповерхности с использованием различных разверток, например Пеано;
признак 2.6 — отдельный механизм начала поиска отсутствует.
Значения классификационных признаков классификационного признака "Стратегия шагов поиска":
признак 3.1 — один шаг;
признак 3.2 — последовательные шаги до выявления экстремума;
признак 3.3 — осуществлять все шаги по одному и тому же механизму;
признак 3.4 — переключать механизмы шагов от глобального метода до локального;
признак 3.5 — переключать механизмы шагов от глобальных далее до усредненных и до локальных;
признак 3.6 — переключать механизмы шагов по эвристическим правилам;
признак 3.7 — малое количество последовательных шагов из ограниченного ряда лидирующих конкурирующих начальных точек;
признак 3.8 — шаги поиска отсутствуют.
Значения классификационных признаков классификационного признака "Направление поиска на шаге":
признак 4.1 — новая точка в направлении аппроксимации градиента, построенного на основе данных текущей и предшествующей пробной точек;
признак 4.2 — по результатам обработки небольшого числа перспективных точек, полученных на предшествующих шагах;
признак 4.3 — по результатам анализа функции, аппроксимирующей случайные точки в перспективном направлении;
признак 4.4 — зондирование гиперповерхности большим количеством случайных точек и последующим построением аппроксимирующей функции;
признак 4.5 — вдоль границы области определения целевой функции;
признак 4.6 — механизм отсутствует.
Значения классификационных признаков классификационного признака "Механизм стратегии шага поиска":
признак 5.1 — пробные точки только на расстоянии предполагаемого экстремума;
признак 5.2 — пробные точки на большем расстоянии, чем предполагаемый экстремум;
признак 5.3 — пробные точки на расстоянии, несколько меньшем, чем у предполагаемого экстремума;
признак 5.4 — объединение признаков 5.1 и 5.2;