Научная статья на тему 'Исследование эффективности библиотеки MaLLBa на примере задач максимальной выполнимости'

Исследование эффективности библиотеки MaLLBa на примере задач максимальной выполнимости Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
76
30
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Исследование эффективности библиотеки MaLLBa на примере задач максимальной выполнимости»

Ьи = 2Ь, + /доп; КИк = 10-37,01кЬ1, (13)

где /доп - дополнительный пробег, км; у1 - плотность ГСМ 1-го вида, кг/л.

Jk

k д I

j=i

WikjCCMkj

(14)

где w1kj - расход эксплуатационного материала ]-го вида для автоцистерны (автопоезда) к-го типа на один рейс при доставке ГСМ 1-го вида, л (кг); Ссмщ - стоимость эксплуатационного материала j-го вида для автоцистерны (автопоезда) к-го типа, руб./л (руб./кг); 1к - количество эксплуатационных материалов, необходимых для автоцистерны (автопоезда) к-го типа.

Wikj = 0,01ч„кШч, (15)

где ту - норма расхода эксплуатационного материала j-го вида для автоцистерны (автопоезда) к-го типа на 100 л расхода топлива, л (кг).

: k Ш^

n c n c

"шксшк + пШксШк

l „

(16)

Шк 'Шк

где кШ - коэффициент, учитывающий затраты на доставку и хранение шин; пШк, пШк - количество шин, соответственно, у автоцистерны (тягача) к-го типа и прицепа (полуприцепа) без запасных колес; сШк, сШк - цена одной шины, соответственно, для автоцистерны (тягача) к-го типа и прицепа (полуприцепа), руб.; /Шк, 1Шк - норма пробега шин, соответственно, для автоцистерны (тягача) к-го типа и прицепа (полуприцепа), км.

2ТО1к = 10"3Ьр1 ( Нток + НТОк ), (17)

где НТОк, нТОк - нормы затрат на текущий ремонт и техническое обслуживание, соответственно, автоцистерны (тягача) к-го типа и прицепа (полуприцепа), руб./(1000 км).

2 Ак = 0,01 [10"3сАЦк НАЦкЬ

Р1 + СПЦк НПЦк ] , (18)

где САЦк, Спдк - балансовая стоимость, соответст-

венно, автоцистерны (тягача) k-го типа и прицепа (полуприцепа), руб.; Ндцк - норма амортизационных отчислений для автоцистерны (тягача) к-го типа, %/(1000 км); НПцк - норма амортизационных отчислений для прицепа (полуприцепа) к-го типа, %.

Анализ зависимостей (8)-(18) показывает, что затраты на доставку партии ГСМ зависят от расстояния доставки Lj и объема партии Qjk, определяющего тип автоцистерны (см. табл.) и величину грузовой работы RPjk. Зависимости (8)-(18) дополняют модель управления поставками ГСМ с учетом скидок (1) и позволяют установить оптимальный объем партии ГСМ i-го вида с учетом реальных затрат на ее доставку автотранспортными средствами.

На основании изложенного можно сделать следующие выводы.

Предложенная модель управления поставками ГСМ учитывает затраты на доставку партии ГСМ автотранспортными средствами и позволяет установить оптимальный объем партии ГСМ, обеспечивающий минимальные затраты на покупку, хранение и доставку ГСМ.

Затраты на доставку партии ГСМ автотранспортными средствами зависят от расстояния доставки, типа используемого специализированного подвижного состава и, соответственно, от объема перевозимых ГСМ.

Литература

1. Немцов В.П., Шестаков Б.А. Техническая эксплуатация автомобильного транспорта на лесозаготовительных предприятиях. М.: Лесн. пром., 1985. 272 с.

2. Справочник по технологическим и транспортным машинам лесопромышленных предприятий и техническому сервису; под ред. В.В. Быкова, А.Ю. Тесовского. М.: МГУЛ, 2000. 534 с.

3. Алесинская Т.В. Учебное пособие по решению задач по курсу «Экономико-математические методы и модели». Таганрог: Изд-во ТРТУ, 2002. 153 с.

4. Петровский В.С. Экономико-математические методы. Воронеж: ВГЛТА, 2000. 156 с.

z

z

ИССЛЕДОВАНИЕ ЭФФЕКТИВНОСТИ БИБЛИОТЕКИ MaLLBa НА ПРИМЕРЕ ЗАДАЧ МАКСИМАЛЬНОЙ ВЫПОЛНИМОСТИ

А.В. Цыганов, к.ф.-м.н.; О.И. Булычов; Д.С. Лавыгин

(Ульяновский государственный педагогический университет, andrew.tsyganov@gmail.com)

В статье рассматривается библиотека алгоритмических каркасов MaLLBa, предназначенная для решения трудных задач дискретной оптимизации. Исследуется эффективность последовательных и параллельных версий эвристических алгоритмов данной библиотеки на примере задач максимальной выполнимости из набора SAT-02 Challenge Set. Обсуждаются достоинства и недостатки библиотеки.

Ключевые слова: дискретная оптимизация, эвристики, параллельные вычисления, кластеры, алгоритмические каркасы.

Задачи дискретной оптимизации (ЗДО) возникают в различных областях науки и техники.

Несмотря на то, что к настоящему времени накоплен богатый арсенал программных средств для

решения ЗДО различных типов, с каждым годом в этой области продолжают появляться новые программные продукты. Данный процесс обусловлен, с одной стороны, разработкой новых методов решения ЗДО, а с другой - бурным развитием вычислительной техники, благодаря которому высокопроизводительные системы становятся доступными и для рядовых пользователей.

Одной из тенденций последних лет является появление универсальных программных средств, предназначенных для решения широкого класса задач. Как правило, в таких программных продуктах реализуются различные метаэвристические подходы к решению ЗДО. В качестве примера можно привести следующие библиотеки (в англоязычной литературе для них часто применяется термин frameworks): EasyLocal++ [1], MaLLBa [2], ParadisEO [3] и др. Основной особенностью данных библиотек является разделение программного кода на две части: проблемно-независимую, общую для всех решаемых задач, и проблемно-зависимую, отражающую специфику конкретной задачи. Эффективная реализация проблемно-независимой части выполняется разработчиками библиотеки, а реализация (точнее, модификация) проблемно-зависимой части ложится на плечи пользователя библиотеки.

Целью данной работы является исследование эффективности библиотеки MaLLBa, предназначенной для решения трудных ЗДО. Несмотря на то, что данная библиотека появилась довольно давно, информация о ней в отечественной литературе и Рунете практически отсутствует.

Архитектура и методы библиотеки MaLLBa

Библиотека MaLLBa (сокращение от названий трех городов: Malaga, La Laguna, Barcelona) является результатом сотрудничества исследователей из нескольких испанских университетов в 19992002 гг. Данная библиотека предоставляет в распоряжение пользователя так называемые алгоритмические каркасы (или скелеты, от англ. skeletons), реализующие различные методы комбинаторной оптимизации. В каждом из каркасов реализованы как последовательная версия алгоритма, так и параллельные версии для локальных (LAN) и глобальных (WAN) сетей с использованием технологии MPI.

Все каркасы в MaLLBa реализованы в рамках единой идеологии. Каждый из каркасов представляет собой набор классов на языке C++, которые делятся на две группы:

1) provided classes - классы, описывающие проблемно-независимую часть каркаса;

2) required classes - классы, описывающие проблемно-зависимую часть каркаса.

Основными классами первой группы являются классы-решатели: абстрактный класс Solver и его наследники Solver_Seq, Solver_Lan и Solver_Wan.

Классы второй группы имеют фиксированный интерфейс, но в них отсутствует реализация методов (таким образом, первоначально они представляют собой так называемые программные заглушки). Основные классы этой группы - Problem и Solution.

Проблемно-независимые классы реализованы авторами библиотеки, причем все особенности организации параллельных версий алгоритмов скрыты от конечного пользователя именно в данных классах. Проблемно-зависимые классы должны быть модифицированы пользователем библиотеки в зависимости от решаемой задачи. Кроме перечисленных классов, в каждой из групп имеются различные вспомогательные классы.

Основные файлы любого алгоритмического каркаса:

1) <skeleton>.hh - определения всех классов каркаса;

2) <skeleton>.pro.cc - реализация проблемно-независимых классов;

3) <skeleton>.req.cc - реализация проблемно-зависимых классов;

4) <skeleton>.cfg - параметры метода,

где <skeleton> - название каркаса, например, newga или chc.

Библиотека MaLLBa доступна в двух версиях: полной, для которой необходимо оформление соответствующей лицензии, и краткой, доступной для скачивания в исходных кодах по адресу: http://neo.lcc.uma.es/mallba/easy-mallba. Последней версией библиотеки является версия 2.0. По указанному адресу доступна on-line документация с кратким описанием архитектуры библиотеки и методов оптимизации.

В библиотеке реализованы три вида методов оптимизации: точные, эвристические и гибридные. В настоящей статье рассмотрим краткую версию библиотеки. В данной версии представлены алгоритмические каркасы для следующих методов:

1) ACO (Ant Colony Optimization) - метод муравьиной колонии;

2) CHC (Cross-generational elitist selection, Heterogeneous recombination, and Cataclysmic mutation) - разновидность генетического алгоритма с разрушительной рекомбинацией генов;

3) CLS (Cooperative Local Search) - совместный локальный поиск;

4) ES (Evolutionary Strategies) - эволюционный алгоритм;

5) newGA (Genetic Algorithm) - генетический алгоритм;

6) PSO (Particle Swarm Optimization) - метод роящихся частиц;

7) SA (Simulated Annealing) - метод имитации отжига (имитационной нормализации);

8) SS (Scatter Search) - рассеянный поиск.

Одним из принципов использования алгоритмических каркасов в программировании является возможность их комбинирования. Применительно к ЗДО это означает возможность получения на основе имеющихся методов новых гибридных методов. В рассматриваемой версии библиотеки гибриды представлены всего одним методом -newGA+SA. К сожалению, несмотря на заявления авторов библиотеки, процедура гибридизации методов не является достаточно прозрачной, так как требует внесения изменений в проблемно-независимые классы.

В краткой версии отсутствуют точные методы оптимизации, однако в полной они имеются. В частности, в нее входят метод ветвей и границ (BnB), динамическое программирование (DP) и др., а также гибридные методы на их основе, например BnB+SA.

Для каждого из перечисленных методов авторами библиотеки реализованы проблемно-зависимые классы для нескольких известных ЗДО, например, задачи коммивояжера, задачи максимальной выполнимости и др. Однако не все методы могут применяться для решения этих задач, например, задача коммивояжера решается только методом ACO.

Библиотека написана под Linux и не является кросс-платформенной, но опыт использования показывает, что перенос ее на другие платформы не является сложной задачей.

Тестовая конфигурация и методика тестирования

Исследование эффективности реализованных в библиотеке MaLLBa методов проводилось на примере задачи максимальной выполнимости: дана конъюнктивная нормальная форма (КНФ) функции N переменных из M клауз по K литералов в каждой. Необходимо определить, какое максимальное количество ее клауз может быть выполнено.

Расчеты производились на кластере Тольят-тинского государственного университета. Аппаратно-программная конфигурация кластера следующая: количество машин в кластере - 24; процессоры - Intel Core 2 Duo E7200@ 2.53 ГГц; ОЗУ - 2 ГБ; сеть - 100 Мбит Ethernet; операционная система - Linux 2.6.25-gentoo-r7; MPI - LAM 7.1.2.

Для тестирования были выбраны следующие алгоритмические каркасы: CHC, newGA, SA и SS. Тестирование проводилось на четырех задачах из набора SAT-02 Challenge Set, доступного на сайте SATLIB [4] по адресу: http://www.satlib.org. Параметры использованных задач приведены в таблице 1: N - число переменных, M - число клауз, K - число литералов.

Таблица 1

Задача N M K

unif-c2450-v700-s2097299623 700 2450 3

unif-c3500-v700-s994205410 700 3500 3

unif-c4550-v700-s97754000 700 4550 3

okgen-c4550-v700-s529536332-529536332 700 4550 3

Заметим, что одно из ограничений, примененных авторами при реализации проблемно-зависимых классов, - фиксированное число литералов в клаузе. Поэтому для тестирования были отобраны задачи, удовлетворяющие данному требованию. В общей постановке задачи максимальной выполнимости такое ограничение отсутствует.

Для решения задач выполнимости (SAT) и максимальной выполнимости (MAX-SAT) разработано большое количество специализированных алгоритмов и программ. Одной из лучших программ в своем классе является UBCSAT, доступная для скачивания на сайте SATLIB. В этой программе реализовано более 30 алгоритмов стохастического локального поиска для решения задач SAT и MAX-SAT с возможностью гибкой настройки алгоритмов и получения разнообразной статистики. В таблице 2 приведены лучшие решения рассматриваемых задач, найденные программой UBCSAT с использованием алгоритма GWSAT по результатам 10 попыток с ограничением на время одной попытки 120 секунд.

Таблица 2

Задача Лучшее решение

unif-c2450-v700-s2097299623 2450

unif-c3500-v700-s994205410 3487

unif-c4550-v700-s97754000 4483

okgen-c4550-v700-s529536332-529536332 4486

Методика тестирования состояла в следующем. Каждая из задач поочередно решалась всеми методами. Для каждого из методов сначала использовался последовательный решатель Solver_Seq, а затем параллельный Solver_Lan с числом потоков 2, 4, 8, 16 и 32. Каждый запуск состоял из 10 попыток, при этом фиксировались полученное решение и время выполнения. Затем проводилась статистическая обработка результатов.

Практически все настройки (кроме основных) для всех методов брались по умолчанию. Основные настройки увеличивались с целью получения более точного решения. Измененные настройки приведены в таблице 3 (в скобках указаны значения по умолчанию).

Таблица 3

Метод Настройки

CHC Number of generation=800 (500) Number of individuals=200 (60)

newGA Number of generation=1000 (200) Number of individuals=200 (60)

SA Number of evaluations=10000 (500) Markov-Chain Length=100 (10) Interval of iterations to cooperate=100 (10)

SS Не изменялись

Результаты тестирования

Результаты, полученные для всех четырех задач, оказались схожими, поэтому приведем результаты решения только для одной из них, а именно unif-c4550-v700-s97754000.

Лучшие решения, найденные каждым из методов библиотеки MaLLBa, и их относительные погрешности по сравнению с лучшим решением, найденным UBCSAT (4483), приведены в таблице 4.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Таблица 4

Метод Лучшее решение Относительная погрешность, %

CHC 4449 0,76

newGA 4275 4,64

SA 4306 3,95

SS 4161 7,18

Из таблицы 4 видно, что лучший результат со значительным отрывом показал метод CHC, а худший - метод SS.

В таблице 5 приведено время выполнения одной итерации по результатам всех запусков. Значения в таблице округлены до целого числа секунд.

Таблица 5

Метод Время, с

минимальное максимальное

CHC 14 18

newGA 13 14

SA 2 16

SS 60 65

Как правило, при увеличении числа потоков время выполнения одной итерации для всех методов увеличивается, причем наиболее существенное увеличение наблюдается для метода SA.

В заключение приведем график зависимости средней относительной погрешности решения (по результатам 10 запусков) от числа потоков (см. рис.).

В целом полученные результаты можно считать хорошими для универсального пакета. Заме-

тим, что некоторые методы в специализированном пакете UBCSAT (например URWALK) показывают результаты хуже метода SS библиотеки MaLLBa даже при времени выполнения одной попытки порядка нескольких минут. Следует отметить, что все методы UBCSAT являются однопоточными.

Что касается параллелизма, то результаты тестирования оказались противоречивыми. С одной стороны, как видно из графика на рисунке, точность решения с увеличением числа потоков возрастает, с другой стороны, это происходит недостаточно быстро.

Проведенное в работе исследование позволяет сделать следующие выводы. Достоинствами библиотеки MaLLBa являются:

1) простота и наглядность организации библиотеки;

2) наличие общедоступной (хотя и значительно урезанной) версии с документацией и демонстрационными примерами;

3) большое количество точных и приближенных методов оптимизации (особенно в полной версии);

4) достаточно высокая эффективность реализованных методов;

5) наличие последовательных и параллельных версий для каждого метода оптимизации;

6) прозрачность параллелизма для пользователя библиотеки.

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

9,0

% 8,0 ь,

,0 ,0 ,0 ,0 ,0 ,0 о 1,0 0,0

S3 7,1

0

1 6,1

ш

£Р

о 5,1

¡5 4,1 л

g 3,'

о 2,1 о '

1 2 48 16 32

Число потоков

—А— CHC —□— newGA

—X— SA —О— SS

Зависимость средней относительной погрешности решения от числа потоков

Несмотря на указанные недостатки, библиотека MaLLBa может с успехом использоваться как в прикладных, так и в академических целях.

Литература

1. Gaspero L.Di, Schaerf A. EasyLocal++: an object-oriented framework for the flexible design of local search algorithms and metaheuristics. In 4th Metaheuristics International Conference (MIC'2001), 2001, pp. 287-292.

2. E. Alba, et al. MaLLBa: A Library of Skeletons for Combinatorial Optimization. Proceedings of the Euro-Par'02, vol. 2004 of LNCS. - Springer-Verlag, 2002, pp. 927-932.

3. S. Cahon, N. Melab and E-G. Talbi. ParadisEO: A Framework for the Reusable Design of Parallel and Distributed Metaheuristics, Journal of Heuristics, vol. 10(3), pp. 357-380, May 2004.

4. Holger H. Hoos, Thomas Stutzle. SATLIB: An Online Resource for Research on SAT. In: I.P.Gent, H.v.Maaren, T.Walsh, editors, SAT 2000, pp. 283-292, IOS Press, 2000.

МЕТОД ИНТЕЛЛЕКТУАЛЬНОЙ ОБРАБОТКИ МЕДИКО-БИОЛОГИЧЕСКИХ ДАННЫХ

(Работа поддержана РФФИ, проект № 06-07-89184)

И.А. Цыганкова, к.т.н. (Учреждение Российской академии наук Санкт-Петербургский институт информатики РАН, pallada-ltd@infopro.spb.su)

В работе представлен метод интеллектуальной обработки многомерных плохо формализованных массивов медико-биологической информации, базирующийся на эволюционном подходе к решению экстремальных задач функции многих переменных. Предлагаемый метод позволяет прогнозировать результаты лечения с учетом медико-биологических и социальных особенностей пациентов. Приведены результаты численного эксперимента.

Ключевые слова: обработка данных, эволюционный метод, медико-биологическая информация, прогнозирование.

Рост требований к качеству жизни, появление новых диагностических и лечебных технологий привели к резкому увеличению стоимости медицинских услуг. Это обострило проблему оптимизации затрат на лечение и профилактику заболеваний как для пациентов, так и для медицинских организаций различного уровня. Решить ее можно только современными методами оптимизации и прогнозирования результатов лечения, учитывающими медико-биологические и социальные особенности пациентов.

Развитие вычислительной техники и информационных технологий позволяет перейти к решению задач прогнозирования в медицине с помощью интеллектуальных методов анализа данных [1-3]. Особенностями реальных медико-биологических данных являются высокая размерность и разнотипность, большое количество шумящих и дублирующих признаков, пропущенные и аномальные значения. В такой ситуации эффективными становятся методы, основанные на эволюционном подходе, которые, в отличие от традиционных методов поиска оптимального решения, ориентированы на наилучшее (приемлемое) решение по сравнению с полученным ранее или предложенным в качестве начального.

Рассматривается задача прогнозирования результатов лечения при заданной тактике лечения на примере кожного хронического заболевания псориаз. Исходная информация о больных представлена в виде числовых таблиц «объект-свойство» с описанием входных и выходных параметров (признаков, характеристик) пациентов.

К входным параметрам относятся индивидуальные сведения о больном: анамнез, сопутствующие заболевания, клинико-функциональные, метаболические и иммунологические показатели, тактика лечения. Выходными (целевыми) параметрами являются продолжительность пребывания пациента в стационаре (количество койко-дней), продолжительность лечения до наступления улучшения состояния (эффект лечения), продолжительность периода ремиссии, наличие (или отсутствие) типичных остаточных поражений на коже, число обострений болезни в год. Входные параметры в различной степени влияют на выходные параметры, но какие из них оказывают наиболее существенное влияние на целевые параметры и какой моделью описываются зависимости их влияния, неизвестно.

В общем случае исходная информация об объектах представлена в виде матрицы

Z=(Zl, Z2,•••,Zj,•••,ZN), ' где Zj = (г^, г^, •••, гц, ••• , гш) - вектор анализируемых параметров (свойств, признаков) ьго объекта. Каждый параметр г^ принимает значение из множества допустимых значений. Вся совокупность параметров объектов делится на входные у= (у1,у2,-,у1) и выходные У= (у1,у2,--,у5) параметры. Входные параметры V являются разнотипными, то есть измеряются в количественных и качественных шкалах. Обозначим через X = = (х1,х2, ••• ,хт) параметры, значения которых измеряются в количественных шкалах, а через и= (и1,и2, — ,иь) - параметры, значения кото-

i Надоели баннеры? Вы всегда можете отключить рекламу.