О журнале
Рекомендации
Модель корректировки потребности системы в ресурсах и её программная реализация
Ерохина Т.В.
_______________________________
Ерохина Т.В.
В статье описана модель замены дефицитных ресурсов системы недефицитными и ее программная реализация средствами СУБД FOXBASE +, учитывающая мнения экспертов о потенциальных возможностях взаимной замены ресурсов различного вида.
В сложных организационных системах, имеющих потребность в большом количестве ресурсов, которые могут быть классифицированы по различным группам, возникает задача устранения (или уменьшения) дефицита отдельных видов ресурсов путем замены их другими ресурсами. Под ресурсами понимаются различные виды сырья, материалов, комплектующих изделий, услуг и другие составляющие, обеспечивающие получение конечного продукта системы.
Модель замены дефицитных видов ресурсов недефицитными может быть представлена в следующем виде.
Пусть в некоторой группе ресурсов содержится п наименований. Размер потребностей системы в ресурсах этой группы — вектор Z
Матрица коэфициентов замены (не зависящая от значений векторов Z и F) выглядит так:
где аij> = 0 число единиц ресурса i, заменяющее 1 единицу ресурса j. аii=1, j=1,n; аji = 1/aij, если aij > 0; i = 1, n; j = 1,n. Если аij=0, то аij= 0, значит j-й ресурс не может быть заменен i-м и наоборот.
Разобьем всю группу ресурсов на две подгруппы:
— подгруппу из m недефицитных ресурсов, для которых выполняется условие:
(индексы этих ресурсов принадлежат множеству I1= {i1, i2,..., im})
— подгруппу из (n - m) дефицитных ресурсов, для которых выполняется условие:
(индексы этих ресурсов принадлежат множеству I2= {im+1, im+2...in}).
Для каждого j-го из (n - m) элементов подгруппы дефицитных ресурсов можно записать соотношение, требуемое для осуществления "полной замены", в следующем виде:
где сij — количество единиц дефицитного ресурса j-го наименования, которое может быть заменено недефицитным ресурсом i-ro наименования.
Для каждого i-ro из m элементов подгруппы недефицитных ресурсов для того, чтобы он не превратился в дефицитный в результате "полной замены", должно выполняться следующее условие:
В этом случае скорректированный вектор потребности Z примет вид:
, где
Задача сводится к поиску таких значений элементов матрицы коэффициентов
"полной замены" С
при которых выполняется следующая система неравенств:
Другими словами, корректировка потребности может быть сведена к частному случаю задачи линейного программирования (или целочисленного программирования). При этом возможны три варианта:
1. Задача имеет единственное решение. Тогда скорректированный вектор потребности однозначен и определяется по формуле (9);
2. Задача имеет несколько возможных решений. Для выбора наиболее эффективного из них требуется введение критерия (который может быть многофакторным) оптимизации (например, в качестве критерия может выступать минимизация функции затрат);
3. Задача вообще не имеет решения. В этом случае должен быть разработан алгоритм корректировки значений, стоящих в правой части неравенств (6,7), исходя из заранее определенных критериев (например, если принять значения уровня удовлетворения потребности во всех видах ресурсов не за 1, а за некоторую величину у < 1 ) . В этом случае в правой части неравенства (6) вместо ( zj-fj) будет стоять
некоторая величина zj такая, что
а в правой части неравенства (7) вместо ( zj-fj) будет стоять некоторая величина zj такая, что
(13)
Тогда система неравенств (11) примет вид:
а в качестве целевой функции CF будет выступать максимизация вектора
CF = max Г (Υ1,Υ2, ...., Υn) . (15)
Учитывая тот факт, что вариант 1 является в сущности просто частным случаем варианта 2 (т.е. количество всех возможных вариантов решения задачи равно 1), а вариант 2 можно рассматривать как частный случай варианта 3 (при Г = 1), можно утверждать, что задача корректировки потребности в ресурсах на основе использования некоторой модели замены одних видов ресурсов другими сводится к задаче линейного (или целочисленного) программирования (14), а в качестве целевой функции выступает максимизация удовлетворения первоначальной заявки ( у -> max ) и минимизация затрат на "полную замену".
Модель замены дефицитных видов ресурсов недефицитными предполагает наличие у ЛПР информации о коэффициентах взаимозаменяемости ресурсов внутри каждой группы. В качестве группы может выступать любая совокупность различных видов ресурсов, внутри которой возможны Взаимные замены. При определении таких совокупностей действует только одно ограничение: один и тот же вид ресурса не может принадлежать одновременно нескольких группам.
Коэффициенты взаимозаменяемости двух типов ресурсов, принадлежащих одной и той же группе, могут определяться двумя способами:
а) если заменяемый и заменяющий ресурс имеют одинаковое наименование, но
различные единицы измерения, дозировки и т.д., то коэффициенты взаимной замены
могут быть определены математическим путем;
б) если заменяющий и заменяемый ресурс имеют различные наименования, то
коэффициенты взаимной замены могут быть определены путем обработки субъектив-
ных оценок, данных экспертами.
В данном случае может быть применен метод получения индивидуальных знаний экспертов с помощью "интервью по заданной программе" [1]. Под "знаниями экспертов" понимается оценка каждым экспертом компетентности каждого члена той экспертной комиссии, в состав которой он входит, и оценка значений коэффициентов взаимозаменяемости ресурсов, принадлежащих той группе, экспертом по которой он является. Число экспертных комиссий соответствует числу групп ресурсов, а любой из экспертов может являться одновременно членом нескольких комиссий.
"Интервью по заданной программе" предполагает получение от каждого эксперта ответов на ряд вопросов типа:
"Ваша фамилия?",
- "Экспертом по какой группе ресурсов Вы являетесь?", "Оцените компетентность экспертов по этой группе: <эксперт> 1
- <эксперт 2> .. . . Эксперт п>", "Каким количеством ресурса <ресурс i> можно заменить ресурс <ресурс j->
- оценка компетентности экспертов;
- определение численности каждой экспертной группы;
На основании полученных от экспертов ответов должны быть осуществлены:
Существуют два принципиально отличающиеся друг от друга метода построения ЭС [2,3]:
1. Использование одной из разработанных оболочек ЭС, которую нужно лишь наполнить предметными знаниями для получения готовой системы.
2. Надстройка механизмов вывода над существующим программным обеспечением, для чего желательно использовать тот язык, на котором ведется разработка прикладного пакета.
В случае корректировки потребности управляемой системы в ресурсах возникает необходимость объединения программных средств для обработки знаний и для проведения расчетов.
Создание интерфейса между оболочками ЭС, представляющими собой сложные, замкнутые комплексы, с традиционными пакетами программ, представляет собой достаточно сложную задачу, в результате решения которой получится громоздкая и плохо поддающаяся управлению система, отладка которой займет немало времени из-за появления непредсказуемых ошибок.
Интеграция экспертных систем с традиционными пакетами программ оптимизации, вычислительной математики, обработки информации (табличные процессоры и СУБД) позволяет, во-первых, использовать ЭС в качестве внешней по отношению к этим пакетам управляющей программы, которая осуществляет вызов нужного пакета в зависимости от вида решаемой задачи, и, во-вторых, дает возможность учитывать качественные факторы при решении количественных или аналитических задач.
Особенностью большинства функционирующих и разрабатываемых АСУ является то, что информация, подлежащая хранению и обработке, содержится на магнитных накопителях в виде файлов типа dbf (при этом действующие ППП написаны на одном из языков СУБД — DBASE, FOXBASE, CLIPPER и т.д.).
В качестве одного из языков, используемых при создании ЭС ППР, может быть выбран язык субд FOXBASE +. Целесообразность его использования обусловлена следующими причинами:
1. ППП. Функционирующие в среде DBASE 2, DBASE 3, DBASE 3+ не требуют никаких изменений для работы в среде FOXBASE+ и могут быть достаточно просто подключены к пакету, реализующему ЭС ППР.
2. Если действующие ППП функционируют в среде FOXPRO, FOXPR и т.д., то разработанный пакет может быть достаточно просто подключен к ним.
3. Если действующие ППП функционируют, в другой среде (например CLIPPER) с использованием файлов типа dbf, то эти файлы не требуют изменений при работе ЭС.
Разработан пакет прикладных программ, который представляет собой автоматизированную систему поддержки принятия решений аппаратом управления оргсисте-мой по осуществлению замен дефицитных видов ресурсов недефицитными с целью повышения уровня удовлетворения потребностей системы во всех видах ресурсов.
Функционирование пакета обеспечивает обработку'информации и о потребностях управляемой системы по каждому виду, ресурсов, и о возможностях удовлетворения этих потребностей путем рационального использования принадлежащих системе товарных ресурсов с учетом возможности взаимозаменяемости отдельных видов ресурсов.
Пакет функционирует в операционной системе MS DOS на всех IBM-совместимых компьютерах (PC/ XT/ AT).
Реализация экспертной системы поддержки принятия решений осуществляется средствами разработанных оригинальных прикладных программ, работающих в среде СУБД FOXBASE+.
Работа пакета обеспечивает решение следующих задач:
1. Хранение и корректировка справочной информации о группах и отдельных наименованиях продукции.
- Ввод, хранение и обработки знаний экспертов. 2.1. Ввод мнений экспертов о компетентности друг друга. 2.2. Расчет относительного веса каждого эксперта. 2.3. Ввод знаний экспертов о коэффициентах равноценной взаимной замены продукции различных наменований, принадлежащей одной группе.2.4. Расчет коэффициентов взаимозаменяемости различных наименований продукции по каждой группе на основе экспертных оценок.
- Решение задачи корректировки потребности управляемой системы в продукции каждого наименования по каждой группе.
- Формирование и печать выходных форм.
- Вывод информации, содержащейся в базах данных.
Пакет прикладных программ обеспечивает ввод, хранение и обработку информации в следующих базах данных, содержащих:
- SPRGR, SPRNOM и CONT — справочную информацию;
- ZAYAVKA — текущую информацию и результаты ее обработки.
Предусмотрено выполнение любого количества программ пользователя, которые могут быть написаны на языках СУБД DBASE 2, DBASE 3, DBASE 3 plus, FOXBASE+ в операционной системе MS DOS.
Для подключения, программ к пакету пользователю необходимо создать программу — меню пользовательских программ (на языке СУБД FOXBASE+ (или "КАРАТ") и записать ее на диск в файл *:mpr.prg.
Если пользовательских программ не существует, то при выборе "ВЫХОД В МЕНЮ ПРОГРАММ ПОЛЬЗОВАТЕЛЯ" из главного меню пакета на экране появится соответствующее сообщение.
При разработке новых программ пользователь может осуществлять добавление новых полей в уже существующие базы данных и создавать дополнительные базы данных, которые могут быть и не связаны с базами данных пакета.
Пакет прикладных программ выполняет сервисные функции:
- Вывод на экран и на принтер структуры баз данных.
- Вывод на экран и на принтер содержания полей, входящих в базы данных.
1. Вывод на экран и на принтер содержимого всех (кроме вспомогательных) полей баз данных —по 15 записей перед каждой паузой.
2. Корректировка содержимого всех полей (за исключением вспомогательных и тех, значения которых рассчитываются на основе вводимой в БД информации) любой выбранной пользователем записи БД.
- Добавление записей в базы данных.
- Удаление записей из баз данных.
- Изменение трактовки содержания полей баз данных.
Пакет содержит также сервисные программы для его установки и настройки и контрольные примеры.
ЛИТЕРАТУРА
1. Волков A.M. и др. Экспертные системы: структурно-функциональный подход к извлечению экспертного опыта: Препринт.—М.: МАИ, 191. —61 с.
2. К.Таунсенд, Д.Фохт. Проектирование и программная реализация экспертных систем на персональных ЭВМ: Пер. с англ.—М.:Финансы и статистика, 1990.—264с.
3. Нейлор К, Как построить свою экспертную систему: Пер. с англ.—М.: Энергоатомиздат. 1991.-286с.
Статья поступила в редакцию в январе 1992г.
Российский государственный гуманитарный университет.
© Информационное общество, 1991, вып. 5-6, с. 40-45.