- •Лекция № 10
- •3.2.2. Метод неявного перебора по векторной решетке (мнпвр)
- •Преобразование оптимизационной задачи для применения мнпвр
- •Критерий недопустимости (кн).
- •Или, что одно и то же,
- •Критерий планомерного исключения альтернатив (кпиа).
- •Критерий предпочтительной переменной (кпп).
- •Алгоритм мнпвр
Критерий предпочтительной переменной (кпп).
Назначение этого критерия – упорядочение шагов вперед из каждой недопустимой точки, не являющейся конечной и не отсеянной по КН.
Такая задача возникает после первого прихода в новую точку векторной решетки с помощью шага вперед.
Цель упорядочения – рассматривать в первую очередь те маршруты, которые скорее всего могут привести к допустимым решениям.
Действие КПП по сокращению перебора, если цель упорядочения достигается, реализуется через совместную работу с КПИА: чем раньше будет найдено первое допустимое решение, тем раньше включится в работу КПИА; при нахождении затем лучших допустимых решений действие фильтрующего ограничения по отсеву шагов вперед становится более жестким.
Критерий КПП, применяемое к возможным шагам вперед из точки x (jÎ ), состоит в их упорядочении по возрастанию значений
. (3.46)
Для комбинаторной задачи (h[j]=1) упорядочение осуществляется по
Идея
такого упорядочения
состоит в том, чтобы в
первую очередь рассматривать маршруты,
не приводящие к сильному убыванию
балансовых переменных
в не выполняющихся ограничениях, а
приводящие
скорее к их возрастанию
(при отрицательных
),
т.е. к сокращению множества
.
Действие КПП в отличие от КН и КПИА носит эвристический характер и не всегда может привести к желаемым результатам, так как выбор маршрута по наименьшему значению (3.46) не гарантирует первоочередное движение к допустимым решениям.
Алгоритм мнпвр
Шаг 1. х=0.
Шаг 2.
Если ((x=0)ÎD),
то
=0,
=0,
переход на шаг 9.
Шаг 3. Если ((x≠0)ÎD), то
-вычисление значения целевой функции в очередной найденной допустимой точке;
-если фильтрующее ограничение еще не введено, то ввести его с правой частью =z(x), зафиксировать =x;
-если фильтрующее ограничение уже сформировано и выполняется условие z(x)< , то переопределить его правую часть ( =z(x)) и зафиксировать =x;
-переход на шаг 8 (шаг назад);
Шаг 4. Если (xÏD), то
- проверка точки х на принадлежность к множеству конечных точек ( =Æ). Если точка конечная на ветви векторной решетки, то - на шаг 8 (шаг назад);
- проверка точки х по критерию КН (3.42). Если точка не проходит по КН, то - на шаг 8 (шаг назад).
Шаг 5. Упорядочить возможные шаги вперед из точки х по критерию КПП.
Шаг 6. Если шаги вперед из точки х рассмотрены еще не все,
то выбор очередного шага вперед (в порядке, определенном критерием КПП),
иначе (все возможные шаги рассмотрены): если х¹0, то - переход на шаг 8 (шаг назад);
если х=0, то - переход на шаг 9 (конец).
Шаг 7. Если критерий КПИА включился в работу (уже найдено допустимое решение), то проверка очередного шага вперед по критерию КПИА:
если выбранный шаг вперед по критерию КПИА не проходит,
то - переход на шаг 6 (другой шаг), иначе - шаг вперед по векторной решетке, переход на шаг 3 (другая точка).
Шаг 8. Шаг назад по векторной решетке. Переход на шаг 6 (другие шаги).
Шаг 9.
Если (
,
)
определено, то это - оптимальное решение,
иначе D=Æ.
В заключение необходимо отметить следующие свойства МНПВР.
Как видно из алгоритма, метод перебирает в основном недопустимые точки области возможных решений задачи. Если начальную точку поиска обоснованно можно приблизить к границам активных ограничений исходной задачи, определив каким-то образом более точно возможное местоположение точки оптимального решения, то объем перебора может быть сокращен еще более значительно. Это свойство эффективно используется в рассмотренном ниже комбинированном методе.
