Сравнительный анализ двухэтапного алгоритма с методом последовательных уступок

Л.И. Замкова

СРАВНИТЕЛЬНЫЙ АНАЛИЗ ДВУХЭТАПНОГО АЛГОРИТМА С МЕТОДОМ ПОСЛЕДОВАТЕЛЬНЫХ УСТУПОК

Рассмотрим методы решения двухкритериальной задачи о рюкзаке (рис. 1). п

X Iг- • уу ^ тах; г = 1

2 Г  уі ^ тіп; і = 1

2 гі  Уі *о; і=1

і=1

У

є {0,1} і = 1,2,....

Рис. 1. Задача о рюкзаке

Уг ^ В;

г =1

Уг е {0,1} г = 1,2,..., п,

Рис. 2. Однокритериальная задача о рюкзаке

Автором разработан двухэтапный алгоритм (ДЭА) решения двухкритериальной задачи о рюкзаке. Этот метод решения предполагает последовательную оптимизацию. Сначала определяется множество оптимальных решений по первому критерию. Причем векторы этого множества могут различаться по значению второго критерия. Среди решений, оптимальных по первому критерию, выбирается наименьшее по значению второго критерия. Оно является решением двухкритериальной задачи о рюкзаке. Таким образом, двухкритериальная постановка сводится к нахождению множества оптимальных решений однокритериальной задачи о рюкзаке (рис. 2), а затем выбору элемента этого множества, минимального по ограничению. ДЭА подробно представлен в работе [1].

В литературе [2] рассматривается метод последовательных уступок (МПУ). Суть этого метода применительно к двухкритериальной задаче о рюкзаке заключается в максимизации главного первого критерия, а затем при заданной уступке от оптимального значения главного критерия производится минимизация второго критерия. Таким образом, двухкритериальная задача о рюкзаке разбивается на две последовательно решаемые однокритериальные задачи.

П

\ п

Ж У )= 2 Г У ^ тіп

і = 11 і

4 У ^ У ^ - Д

4 У)^ о

Уі є {0,1} і = 1,2,..., п

где у* - оптимальное решение первой задачи, Ь(у*) - оптимальное значение целевой функции в точке у* при решении первой задачи, Д - уступка (возможное отклонение от оптимального значения Ь(у*) первого критерия при решении второй задачи).

Раздел I. Информационные системы в управлении

Обозначим через у** оптимальное решение второй задачи. Оно же будет являться решением исходной двухкритериальной задачи о рюкзаке. Заметим, что первая задача решается методом функциональных уравнений динамического программирования [3]. Этот метод определяет L(y*). Вторая этапная задача решается методом отсечений Гомори [4]. Ее решением является вектор у**.

На основе методов созданы программы на языке C++ в среде Builder 4. Сравнивалось быстродействие в секундах программных реализаций на процессоре Celeron 2,6 ГГ ц. В методе последовательных уступок задавалась нулевая уступка Д=0. При этом программы выдавали оптимальное решение индивидуальной двухкритериальной задачи о рюкзаке. Рассматривалась выборка из 50 задач размерности n=50. Программы тестировались на следующем контрольном примере:

3000 • уi +1000 • у2 +10000 • У3 + 6000 • у4 + 4000 • У5 + 500 • у6 +

+ 800 • у7 + 300 • у^ + 900 • у 9 + 1000 • ую ^ max

2300 • уi + 2500 • у2 +1900 • у3 + 1600 • у4 + 200 • у5 + 3050 • уб +

+ 2555 • у7 + 2405 • у8 + 2055 • у9 + 4000 • ую ^ min

2300 • у1 + 2500 • у2 +1900 • у3 + 1600 • у4 + 200 • у5 + 3050 • у6 +

+ 2555 • у7 + 2405 • у8 + 2055 • у9 + 4000 • ую <= 2000 у1 е {0,1} i = 1,2,...,10.

Для этой задачи множество допустимых решений очевидно:

Оптимальное решение данной индивидуальной задачи выбирается среди допустимых: (0001100000). Это решение МПУ выдал за 0,047 секунд, а ДЭА - за

0,031 секунду. Оптимальное значение первого критерия - 10000, а второго - 1800.

Результаты эксперимента приведены в табл. 1.

В среднем для 50 запусков время работы МПУ обозначим 8МПУ, а время работы ДЭУ - БдЭУ. Рассчитанные по таблице значения БМПУ «0,2493 и БдЭУ «0,2355. Тогда вычисления по формуле

S • 100% S ДЭУ •100%

_ШУ------------------ДЭУ------« 5,54%

S S

МПУ МПУ

показывают, что МПУ в среднем работает на 5,54 % медленнее, чем ДЭУ. Исходные данные для опытных задач выбирались случайным образом. На основании вышеизложенного можно сделать вывод, что ДЭУ несколько эффективнее МПУ.

Таблица 1

№ опыта МПУ, сек. ДЭА, сек. № опыта МПУ, сек. ДЭА, сек. № опыта МПУ, сек. ДЭА, сек.

1 0,282 0,250 18 0,219 0,203 35 0,260 0,203

2 0,297 0,297 19 0,218 0,204 36 0,219 0,203

3 0,234 0,219 20 0,235 0,219 37 0,251 0,219

4 0,235 0,234 21 0,235 0,218 38 0,312 0,312

5 0,250 0,250 22 0,219 0,203 39 0,251 0,218

6 0,234 0,219 23 0,219 0,203 40 0,297 0,297

7 0,233 0,219 24 0,235 0,218 41 0,266 0,250

8 0,235 0,219 25 0,268 0,234 42 0,250 0,250

9 0,266 0,234 26 0,250 0,219 43 0,219 0,218

10 0,233 0,219 27 0,235 0,219 44 0,251 0,219

11 0,234 0,219 28 0,328 0,359 45 0,235 0,234

12 0,218 0,203 29 0,234 0,265 46 0,251 0,219

13 0,219 0,203 30 0,281 0,281 47 0,250 0,250

14 0,250 0,218 31 0,312 0,312 48 0,233 0,250

15 0,235 0,219 32 0,250 0,203 49 0,265 0,235

16 0,298 0,297 33 0,235 0,234 50 0,249 0,234

17 0,219 0,203 34 0,264 0,250

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Замкова Л.И. Разработка программной системы эффективной оплаты счетов / Известия ТРТУ. № 6. 2005.

2. Подиновский В.В., Гаврилов В.М. Оптимизация по последовательно применяемым критериям. 1975.

3. ДанцигДж. Линейное программирование его обобщения и приложения. 1966.

4. Пападимитриу Х, Стайглиц К. Комбинаторная оптимизация. Алгоритмы и сложность. 1985.

Э.М. Котов, Ю.А. Целых

РЕАЛИЗАЦИЯ ЗАДАЧИ СЕМАНТИЧЕСКОГО АНАЛИЗА В ИНФОРМАЦИОННО-ПОИСКОВЫХ СИСТЕМАХ

Существующие на сегодняшний день технологии информационного поиска не обеспечивают эффективной реализации поисковых систем в связи с отсутствием сложившихся подходов к реализации задачи семантического анализа текстовой информации [1]. И в существующих поисковых системах традиционно реализуются три задачи лингвистического анализа текстовой информации. А именно:

1. Лексический анализ - задача восприятия текста.

2. Морфологический анализ - задача выявления значения слов.

3. Синтаксический анализ - задача выявления значения членов предложения. Все это, в свою очередь, обуславливает низкую адекватность выдаваемой в

результате поиска информации, причем в больших объемах. Т.е. информационнопоисковые системы (ИПС) реализуют автоматическую индексацию большого количества документов, но им не присуще наличие развитых средств искусственного интеллекта для экспертной оценки смыслового содержания информации. И представляется целесообразным применение аппарата «интеллектуального поиска», что позволит осуществить автоматизацию всех этапов лингвистического анализа.