|
|
Метод решения задачи дискретной оптимизации с неубывающей целевой функцией # 3, март 2005 А. И. Дивеев, канд. техн. наук, "ВЦ РАН"
Метод решения задачи дискретной оптимизации с неубывающей целевой функцией
Излагается метод, сокращающий множество вариантов за счет последовательного анализа и отсеивания бесперспективных значений. Метод использует трансформацию множества вариантов для исключения зацикливания и увеличения скорости поиска решения.
Введение К задаче дискретной оптимизации сводится задача варианта сложного технического изделия на этапе его создания. Если изделие состоит из элементов, каждый из которых допускает несколько реализаций, различающихся значениями параметров, то возникает проблема выбора реализаций элементов, дающих вариант изделия, отвечающего установленным требованиям. Если исходные данные по реализациям элементов расположены в таблицах базы данных, то задача оптимального выбора варианта — это поиск в базе данных записей, удовлетворяющих определенному агрегированному запросу. Задача является дискретной и не допускает интерполяционного сглаживания. Задача дискретной оптимизации относится к классу труднорешаемых задач, т. е. допускает нахождение решения в общем случае только с помощью экспоненциальных алгоритмов, которые строятся на основе свойств целевой функции и ограничений. Наиболее эффективный метод поиска оптимального решения — это метод последовательного анализа и отсеивания вариантов [1—3], который является развитием метода "ветвей и границ" для задачи дискретной оптимизации с рекурсивно-монотонными функциями. Метод позволяет по анализу некоторого числа вариантов отсеивать большее число, последовательно уменьшая множество вариантов до размеров, удовлетворительных для использования прямого перебора. Для задач большой размерности метод последовательного анализа и отсеивания вариантов практически всегда приводит к зацикливанию, причиной которого является методическое ограничение на число проверяемых вариантов. В результате возникает ситуация, при которой либо отсеиваются все допустимые варианты, либо ни один из вариантов не отсеивается. В настоящей работе зацикливание в алгоритме решения задачи дискретной оптимизации устраняется с помощью метода трансформации [4], который изменяет основные размерности задачи без изменения мощности множества вариантов. Использование трансформации в точках зацикливания алгоритма позволяет увеличить число проверяемых на отсеивание вариантов. Схема реализации метода трансформации предусматривает неоднократное изменение размерностей задачи, в пределе переводя алгоритм поиска решения к прямому перебору множества вариантов. Такая реализация алгоритма полностью исключает зацикливание. Постановка задачи. Рассматривается следующая задача дискретной оптимизации:
где Целевая
функция f0(x)
является неубывающей, Введем определения и обозначения: X —
множество вариантов;
Метод последовательного анализа и отсеивания вариантов. Неубывающий характер целевой функции f0(x) придает задаче (1), (2) свойство, позволяющее отсеивать бесперспективные варианты, не проверяя все множество X. Если Следовательно, На основании данного свойства построим алгоритм, позволяющий уменьшить мощность множества вариантов X. Шаг 0. Шаг 1. Шаг 2. Шаг 3. Если Шаг 4. Если Шаг 5. Если В алгоритме на шаге 5 величина M определяет значение мощности множества вариантов, при котором вычислительные средства допускают применение прямого перебора. Для персональных компьютеров с тактовой частотой около 100 МГц величина М ≈ 105. На шаге 3 алгоритма выполняется проверка всех значений множеств Для задач большой размерности алгоритм может привести к зацикливанию. Так как на шаге 3 проверяется не более, чем q вариантов, то имеем соответственно q значений функции f0(x). Упорядочим все значения f0(x). Вполне возможен случай, когда два соседних значения отличаются между собой настолько, что для параметра F*, находящегося между этими значениями, исключаются все допустимые варианты, а если параметр F* больше наибольшего из этих двух значений, то не исключается ни один вариант. Так как по конструкции алгоритм не позволяет получить промежуточное значение функции f0(x), то наступает зацикливание вычислительного процесса. Для исключения зацикливания необходимо увеличить число проверяемых вариантов на шаге 3. Такую возможность предоставляет метод трансформации. Метод трансформации. Трансформацией множества называется любое его преобразование, не изменяющее его мощности. Рассмотрим трансформацию множества вариантов X.
Пусть Последовательность приведенных шагов определяет отображение Трансформация приводит задачу (1), (2) к следующему виду:
К трансформированной задаче (3), (4) также может применяться алгоритм
метода последовательного анализа и отсеивания вариантов, причем мощность
множества вариантов при этом не изменяется, В трансформированной задаче (3), (4) P(Y) Вид трансформации определяется разбиением базового множества При получении повторного зацикливания в трансформированной задаче (3),
(4) преобразование трансформации можно повторить. Каждый раз при выполнении
трансформации мы будем получать взаимно однозначные отображения, по которым
сможем восстановить оптимальное решение. Обозначим При неоднократном трансформировании множество вариантов в пределе будет одномерным (h=1) и полностью совпадать с множеством значений (Y= Y1) В этом случае проверка метода последовательного анализа будет представлять собой поиск оптимального решения методом прямого перебора. Такой пошаговый переход в алгоритме к прямому перебору позволяет полностью исключить зацикливание. Построим алгоритм поиска оптимального решения задачи дискретной оптимизации (1), (2) с использованием метода трансформации. Шаг 0. Шаг 1. Шаг 2. Шаг 3. Шаг 4. Если Шаг 5. Если Шаг 6. Если Шаг 7. Если k > K, то выполняем трансформацию Шаг 8. Если Первоначально в алгоритме на шаге 1 выполняется тождественная
трансформация Алгоритм использовался при обработке базы данных элементов в задаче выбора оптимального варианта сложного электронного изделия по критерию стоимости с ограничением по надежности.
Список литературы 1. Волкович В. Л. Волошин А. Ф. Об одной схеме метода последовательного анализа и отсеивания вариантов // Кибернетика. 1978. № 4. С. 98-105. 2. Северцев Н. А. Дивеев А. И. Оптимальный выбор варианта технического изделия // Проблемы машиностроения и надежности машин / РАН. 1995. № 5. С. 3—8. 3. Дивеев А. И. К проблеме выбора варианта технической системы с монотонными параметрами // Проблемы машиностроения и надежности машин / РАН. 1996. № 4. С. 14—19. 4. Дивеев А. И., Северцев Н. А. Метод трансформации в схеме последовательного анализа и отсеивания вариантов // Труды международной конференции "Вопросы оптимизации вычислений (BOB-XXVII)". Киев, 6-8 окт., 1997 г. С. 94-97.
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ, № 6, 1998 МЕТОДЫ ОПТИМИЗАЦИИ
Ключевые слова: Дискретная оптимизация, зацикливание, трансформация множества, разбиение множества.
Публикации с ключевыми словами: дискретная оптимизация, последовательный анализ Публикации со словами: дискретная оптимизация, последовательный анализ Смотри так же: Тематические рубрики: |
|
|||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||