Научная статья на тему 'Интеграция метода «Анализ среды Функционирования» в СУБД PostgreSQL'

Интеграция метода «Анализ среды Функционирования» в СУБД PostgreSQL Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
188
43
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
эффективность систем / Data Envelopment Analysis / DEA / Анализ Среды Функционирования / АСФ / базы данных / PostgreSQL / efficiency of systems / Data Envelopment Analysis / DEA / databases / PostgreSQL

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Моргунов Евгений Павлович, Моргунова Ольга Николаевна, Постойко Анастасия Юрьевна

Рассмотрена технология интеграции метода «Анализ Среды Функционирования» (Data Envelopment Analysis), предназначенного для оценки эффективности систем, в среду системы управления базами данных PostgreSQL, имеющей открытый исходный код. Показаны преимущества такой интеграции.

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

INTEGRATION OF DATA ENVELOPMENT ANALYSIS METHOD INTO POSTGRESQL DATABASE MANAGEMENT SYSTEM

Technology of integration of Data Envelopment Analysis (DEA) method into open source PostgreSQL database management system is considered. DEA method is widely used for assessing of efficiency of systems. The advantages of such integration are explained.

Текст научной работы на тему «Интеграция метода «Анализ среды Функционирования» в СУБД PostgreSQL»

УДК 519.8:004.65

Моргунов Евгений Павлович,

доцент кафедры информатики и вычислительной техники,

канд. техн. наук, доцент, Моргунова Ольга Николаевна, доцент кафедры информатики и вычислительной техники,

канд. техн. наук, доцент, Постойко Анастасия Юрьевна,

студент

ИНТЕГРАЦИЯ МЕТОДА «АНАЛИЗ СРЕДЫ ФУНКЦИОНИРОВАНИЯ» В СУБД POSTGRESQL

Россия, г. Красноярск. ФГБОУ ВО «Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева». [email protected] [email protected] [email protected]

Аннотация: Рассмотрена технология интеграции метода «Анализ Среды Функционирования» (Data Envelopment Analysis), предназначенного для оценки эффективности систем, в среду системы управления базами данных PostgreSQL, имеющей открытый исходный код. Показаны преимущества такой интеграции.

Ключевые слова: эффективность систем; Data Envelopment Analysis; DEA; Анализ Среды Функционирования; АСФ; базы данных; PostgreSQL.

Evgeny P. Morgunov,

associate professor at computer science department, candidate of technical sciences, associate professor,

Olga N. Morgunova, associate professor at computer science department, candidate of technical sciences, associate professor,

Anastasia Yu. Postoyko, student

INTEGRATION OF DATA ENVELOPMENT ANALYSIS METHOD INTO POSTGRESQL DATABASE MANAGEMENT SYSTEM

Russia, Krasnoyarsk. Reshetnev Siberian State University of Science and Technology. [email protected],[email protected] [email protected]

Abstract: Technology of integration of Data Envelopment Analysis (DEA) method into open source PostgreSQL database management system is considered. DEA method is

widely used for assessing of efficiency of systems. The advantages of such integration are explained.

Keywords: efficiency of systems; Data Envelopment Analysis; DEA; databases; PostgreSQL.

Введение

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

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

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

В статье речь пойдет о методе Data Envelopment Analysis (DEA) и о предлагаемом способе его программной реализации.

1. Метод исследования

Метод DEA был предложен в 1978 г. американскими учеными A. Charnes, W.W. Cooper, E. Rhodes [3]. В России используется такое наименование метода - Анализ Среды Функционирования (АСФ) [1]. Он основан на построении так называемой границы эффективности в многомерном пространстве входных и выходных переменных, описывающих объекты, эффективность которых требуется определить. Эта граница строится по реальным данным. Степень эффективности конкретного объекта зависит от расстояния между ним и границей эффективности: чем дальше объект находится от границы, тем его эффективность ниже. Объекты, находящиеся на границе, считаются эффективными.

Метод требует разделения показателей на так называемые входные (входы, inputs) и выходные (выходы, outputs). Входные показатели - это используемые ресурсы, а выходные - это полученные результаты.

На рис. 1 представлена гипотетическая граница эффективности для случая, когда используется одна входная переменная, x, и одна выходная, y. Объекты, которые соответствуют точкам B, C, D и E, будут эффективными, а объект, соответствующий точке A, будет неэффективным. Для определения степени его неэффективности точку A проецируют на

границу эффективности. При этом возможны два направления проецирования, показанные стрелками. При проецировании в направлении, параллельном оси Ох, точка А перемещается в точку А'. В результате при неизменном значении выходной переменной у значение входной переменной х, т. е. ресурса, уменьшается. Математическая модель, описывающая эту ситуацию, называется ориентированной на вход. Гипотетический эффективный объект А' будет целевым объектом для объекта А, т. е. значения его показателей будут целями для неэффективного объекта А. Модель, ориентированная на выход, описывает ситуацию, когда точка А проецируется в точку А ". В этом случае при неизменном уровне затрат ресурса х неэффективный объект получает рекомендацию достичь более высокого уровня выпуска у.

А" Е D_______-

/ Ч \ Í *

В 1 *

х

Рис.1. Граница эффективности для двухмерного случая

Метод АСФ (DEA) имеет ряд привлекательных свойств, а именно [5, с. 8]:

- позволяет вычислить один интегральный (агрегированный) скалярный показатель для каждого из объектов, таким показателем удобно пользоваться;

- не требует указывать весовые коэффициенты для показателей, что снижает уровень субъективности при получении результата;

- может обрабатывать много входных и выходных показателей, при этом они могут быть представлены в разных единицах измерения;

- выдает рекомендуемые значения показателей для неэффективных объектов, при достижении которых эти объекты были бы выведены на границу эффективности;

- формирует Парето-оптимальное множество точек, соответствующих эффективным объектам;

- концентрируется на выявлении примеров так называемой лучшей практики (best practice), а не на каких-либо усредненных тенденциях, как, например, регрессионный анализ;

- не налагает никаких ограничений на функциональную форму зависимости между входами и выходами.

Представим формализованное описание метода на примере модели BCC, ориентированной на выход (ее название образовано из первых букв фамилий ее авторов: Banker, Charnes и Cooper) [4, с. 93]. Пусть требуется определить показатель эффективности каждого из n объектов. Такими объектами могут быть, например, предприятия, организации, университеты, банки и т. д. Для описания каждого объекта o, j = 1, n, служит пара векторов (x,, y,). При этом вектор x, = (xj1v.., xjV..,x,m)T содержит входные показатели (входы) для объекта oj, а вектор У j = (Уjr •••, Уjs)T содержит выходные показатели (выходы) для

объекта o. Тогда матрица X = (x,), имеющая размерность m х n, содержит вектор-столбцы с входными данными для всех n объектов, а матрица Y = (у,), имеющая размерность s х n, содержит вектор-столбцы с выходными данными для всех n объектов. В основе метода АСФ (DEA) лежит метод линейного программирования, поэтому модель формулируется в таком виде:

max j,X (ФХ

XX < х0,

jyо - YX < 0, (1)

eX = 1, X > 0.

Здесь е - это единичный вектор-строка. В данном случае показатель эффективности - скаляр ф е [1; ¥). Для неэффективных объектов (имеющих ф > 1) будут выданы рекомендации по пропорциональному увеличению значений выходных переменных в ф раз. При этом значения входных переменных увеличиваться не должны. На практике значение показателя эффективности зачастую переводится в диапазон (0; 1] с помощью преобразования 1 / ф.

Проецирование неэффективных объектов на границу эффективности обеспечивается за счет присутствия в модели коэффициента ф при векторе у0. Вектор констант X = (1х,..., ,..., 1п)т позволяет сформировать

неотрицательную линейную комбинацию объектов, которая и будет являться гипотетическим (и при этом - эффективным) целевым объектом

для того реального объекта, который оказался неэффективным. В этой линейной комбинации веса эффективных объектов будут ненулевыми (1j > 0), а веса неэффективных объектов будут равны нулю (1j = 0). Объекты, которые входят в эту линейную комбинацию с ненулевыми весами, называются эталонными. Значения коэффициентов 1j отражают степень подобия неэффективного объекта эталонным объектам с точки зрения соотношения значений его показателей и соотношения значений показателей эффективных эталонных объектов.

2. Предлагаемый подход к программной реализации метода АСФ (DEA)

В известных нам программных продуктах, реализующих метод АСФ (DEA), не используются «большие» системы управления базами данных (СУБД) - Oracle, PostgreSQL, MySQL и др. Данные хранятся в таблицах Excel, в базе данных формата Microsoft Access (mdb), в текстовых файлах [2].

На наш взгляд, представляется целесообразным не просто использовать одну из «больших» СУБД, а конкретно - PostgreSQL, но и интегрировать алгоритмы метода АСФ (DEA) в среду этой СУБД. Это позволит упростить включение данного метода в прикладные программы, решающие такие задачи, в которых может потребоваться получить оценку эффективности тех или иных объектов. Для этого будет не обязательно использовать какую-либо специализированную систему поддержки принятия решений, которая реализует данный метод.

СУБД PostgreSQL была изначально спроектирована таким образом, чтобы предоставлять программистам возможность расширять ее функциональность путем разработки так называемых расширений [7]. Расширить функциональность СУБД можно за счет разработки новых типов данных, за счет создания пользовательских функций, которые встраиваются в сервер баз данных и могут использоваться так же, как и встроенные функции, предоставляемые пользователям СУБД изначально.

PostgreSQL предоставляет пользователям целый набор функций, предназначенных для выполнения математических и статистических вычислений, в том числе: corr - вычисление корреляции двух величин, var_pop и var_samp - вычисление дисперсии для генеральной совокупности и для выборки, stddev_pop и stddev_samp - вычисление стандартного отклонения для генеральной совокупности и для выборки, а также многие другие функции [7]. Таким образом, расширение функциональности СУБД за счет включения в нее наукоемкого метода, предназначенного для оценки эффективности систем, представляется логичным шагом.

В результате выполнения интеграции метода АСФ (DEA) в среду PostgreSQL доступ к алгоритмам метода будет осуществляться путем выполнения обычной SQL-команды SELECT, в которой будет вызываться функция, реализующая метод:

SELECT dea();

Каким образом выполняется интеграция метода АСФ (DEA) в среду СУБД PostgreSQL? Для этого необходимо написать программы, реализующие метод, на языке C, собрать их в виде так называемой разделяемой библиотеки, а затем с помощью SQL-команды CREATE FUNCTION подключить запрограммированные функции метода к серверу PostgreSQL.

Предлагаемый подход даст возможность:

- использовать метод АСФ (DEA) из программы, написанной на любом языке программирования, который позволяет организовать взаимодействие с СУБД PostgreSQL (PHP, Python, Perl и др.), при этом не будет требоваться реализовывать данный метод на этом языке программирования;

- использовать метод АСФ (DEA) в интерактивном режиме непосредственно из среды интерактивного терминала psql (или другого аналогичного программного средства), подключенного к серверу баз данных.

Выше было сказано, что метод АСФ (DEA) основан на методе линейного программирования. Поэтому при выполнении программной реализации метода АСФ (DEA) нужно принять решение относительно того, какой пакет или библиотеку функций использовать для решения задачи линейного программирования. Это важный вопрос, поскольку такая задача в процессе определения эффективности группы объектов решается многократно, а именно, для каждого из исследуемых объектов, эффективность которых требуется определить. На данном этапе авторами принято решение использовать в качестве механизма для решения задачи линейного программирования свободную библиотеку lp_solve [6], имеющую открытый исходный код и распространяемую под свободной лицензией GNU LGPL (Lesser General Public License).

Следует отметить, что при выбранном авторами подходе пользователь получает возможность также решать задачи линейного программирования путем вызова SQL-команды SELECT:

SELECT lp();

Для использования метода АСФ (DEA) из среды PostgreSQL необходимо сначала подготовить исходные данные и сохранить их в таблицах базы данных, имеющих предопределенную структуру. Это можно

сделать как путем использования графического пользовательского интерфейса, созданного в прикладной программе, так и непосредственно в консольном интерактивном терминале psql, входящем в комплект поставки СУБД, или с помощью другого аналогичного программного средства.

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

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

Заключение

Таким образом, в настоящее время разработан прототип программной реализации метода АСФ (DEA) в виде расширения СУБД PostgreSQL. Предлагаемый подход позволит упростить включение данного метода оценки эффективности систем в прикладные программы и будет способствовать оснащению системных аналитиков современным математическим инструментарием.

Список литературы

1. Кривоножко В.Е., Лычев А.В. Анализ деятельности сложных социально-экономических систем. - М.: Изд. отдел ф-та ВМиК МГУ; МАКС Пресс, 2010. -208 с.

2. Моргунов Е.П., Моргунова О.Н. Обзор программного обеспечения, реализующего метод Data Envelopment Analysis [Электронный ресурс] // XXII Междунар. науч.-практ. конф. «Решетневские чтения», 12-16 ноября 2018 г. : материалы : в 2 ч. / СибГУ им. М.Ф. Решетнева. - Красноярск, 2018. - Ч. 2. - С. 359-360. - URL: https://reshetnev.sibsau.ru/page/materialy-konferentsii (дата обращения: 07.04.2019).

3. Charnes A., Cooper W.W., Rhodes E. Measuring the efficiency of decision making units // European Journal of Operational Research. - 1978. - Vol. 2. - P. 429-444.

4. Cooper W.W., Seiford L.M., Tone K. Data Envelopment Analysis : A comprehensive text with models, applications, references, and DEA-Solver software. - 2nd ed. -New York: Springer, 2007. - xxxviii, 490 p.

5. Data Envelopment Analysis: Theory, Methodology, and Application / A. Charnes, W.W. Cooper, A.Y. Lewin, L.M. Seiford. - Boston: Kluwer, 1994. - 513 p.

6. lp_solve : a Mixed Integer Linear Programming (MILP) solver [Электронный ресурс]. - Электрон. дан. - Б. м., [2019]. - URL: http:/ http://lpsolve.sourceforge.net/5.5/ (дата обращения: 07.04.2019). - Загл. с экрана.

7. PostgreSQL [Электронный ресурс] : официальный сайт / The PostgreSQL Global Development Group. - Электрон. дан. - Б. м., [1996]. - URL: http://www.postgresql.org (дата обращения: 07.04.2019). - Загл. с экрана.

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