Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Архив WinRAR_1 / trahtengerts5

.pdf
Скачиваний:
150
Добавлен:
09.03.2016
Размер:
6.83 Mб
Скачать

200 Часть 2. Математическое и алгоритмическое обеспечение …

операции B,C и D. Заметим, что возможность параллелизма вовсе не означает его обязательность, операции B,C и D могут быть выполнены и последовательно друг за другом. Значок / означает, что после операции, указанной в строке матрицы, выполняется операция, указанная в столбце. Цифра 4 на пересечении строки G и столбца I указывает на необходимость организации цикла, то есть повторения последовательности операций GI в данном случае 4 раза.

Исходя из матрицы в табл. 6.1, система поддержки принятия решений генерирует следующую грамматику РВ:

A’ B(tB); B F(tF); D E(tE); D I(ti); F J(tj); A’ C(tc); B G(tG); D F(tF); E G(tG); G H(tH); A’ D(tD);B H(tH); D G(tG); E I(tI); G J(tj);

B E(tE); B I(tI); D H(tH); F H(tH); H J(tj);

I G(tG); G(tG) I(tI).

Эта грамматика может быть получена из табл. 6.1 по следующему алгоритму:

1.В качестве начального символа S выбирается символ, определяемый пустым столбцом матрицы табл. 6.1. Если таких столбцов несколько - создается фиктивная начальная вершина.

2.В качестве терминальных символов VT выбираются символы, определяемые пустой строкой матрицы табл. 6.1.

3.В качестве нетерминальных символов VN используются все остальные символы, определяющие строки (и столбцы) матрицы табл. 6.1.

4.Множество грамматических правил P определяется значками

вклетках матрицы табл. 6.1.

Если в клетке табл. 6.1 на пересечении строки Х и столбца Y

стоит символ *, это означает порождение правила типа Х’ Y(ty). Если в клетке табл. 6.1 на пересечении строки X и столбца Y

стоит символ / то, это означает порождение правила типа ХY(ty). Если в клетке табл. 6.1 на пересечении строки X и столбца Y

стоит цифра - это означает порождение правила типа X(tx) Y(ty). Времена выполнения операций могут быть взяты из базы дан-

ных (см. табл. 6.2) или указаны экспертом. При оценке временных характеристик tx выполнения операций X необходимо учесть влияние операции Xi на время выполнения операции Xj. Времена выполнения операций могут быть показаны на таблицах, аналогичных табл. 6.2. В

Глава 6. … алгоритмическое обеспечение генерации вариантов …201

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

Дробь в клетке табл. 6.2 показывает, как сокращается время выполнения операции xi, указанной в строке, если она выполняется совместно с операцией xj, указанной в столбце. Черта в таблице показывает, что время выполнения операции xi не зависит от выполнения операции xj. Наконец, времена выполнения операции, зависящие от объема работ, например, распыление химических веществ, использование биологических и горючих веществ и т.п. указаны для единицы объема работы: 1 км2 загрязненной территории, 1 тонны пролитого вещества и т.д. на единицу оборудования. Такие характеристики как время активизации командного пункта, сбор и приведение в готовность оборудования и т.п. указаны в абсолютных цифрах. В табл. 6.2 это строки А-D. Возможно введение и других условий.

 

 

 

 

 

Таблица 6.2

 

 

 

 

 

 

 

операции

tx

F

G

H

I

X

 

 

 

 

 

 

A

2

-

-

-

-

 

B

5

-

-

-

-

 

C

8

-

-

-

-

 

D

20

-

-

-

-

 

E

10

-

-

-

-

 

F

4

-

1/4

1/2

1/2

 

G

12

3/4

-

1/2

1/2

 

H

8

1/2

3/4

-

-

 

I

5

-

-

-

-

 

J

3

-

-

-

-

 

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

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

202Часть 2. Математическое и алгоритмическое обеспечение …

2.Необходимо показать параллельно выполняемые операции, т.е. генерировать «параллельные строки».

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

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

Для выполнения первых двух особенностей можно модифицировать известный алгоритм backtracking [6.13].

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

1.i=1.

2.Если i-м элементом является символ А и существует правило

А В(tB), где ВVN, правило помечается и производится конкатенация символа В с порождаемой цепочкой. Символ В становится i+1 символом. За ним в круглых скобках указывается время выполнения обозначаемой им операции.

Пункт 2 повторяется до выполнения условия ВVT. Если ВVT , то переход к пункту 3.

3.Если i-м элементом является символ А и существует правило

А В(tB), где ВVT, то правило помечается и производится конкатенация символа В с порожденной цепочкой. За ним в круглых скобках указывается время выполнения обозначаемой им операции. Порождение последовательной цепочки заканчивается.

Переход к пункту 4.

4.Если в точке А есть еще не помеченные правила, то переход к пункту 2.

Если нет, то производится проверка порождены ли символом А строки, которые должны быть объединены в параллельную строку. Если да - производится их объединение. Если нет - переход к пункту

5.

5.Производится проверка условия А=S. Если АS, переход в точке i-1 к пункту 4. Если A=S - конец алгоритма.

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

Глава 6. … алгоритмическое обеспечение генерации вариантов …203

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

. A’(tA) . A’(tA)B(tB) . A’(tA)B(tB)C(tC)F(tF) .. A’(tA)B(tB)C(tC)F(tF)J(tJ)

. A’(tA)D(tD)F(tF) A’(tA)D(tD)E(tE) . A’(tA)D(tD)E(tE)F(tF). A’(tA)D(tD)E(tE) F(tF)H(tH) . A’(tA)D(tD)E(tE)F(tF)H(tH)J(tJ)

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

A’(tA)B(tB)C(tC)F(tF)J(tJ)

и

A’(tA)D(tD)E(tE)F(tF)H(tH)J(tJ).

Напомним, что левая строка обозначает следующую последовательность действий:

А. Активизация командного центра.

В. Сбор и приведение в готовность местного оборудования. С. Закрытие гавани.

F. Распыление химических веществ. J. Очистка побережья.

Правая строка формирует другую последовательность. А. Активизация командного центра.

D.Доставка дополнительного оборудования по воздуху.

E.Создание механических заграждений.

F.Распыление химических веществ.

H. Использование биологических веществ. J. Очистка побережья.

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

204 Часть 2. Математическое и алгоритмическое обеспечение …

Принадлежит ли точка F(tF) обеим строкам или только одной – вопрос соглашения, но для рассматриваемой задачи это не имеет значения, т.к. значения имеют временные (а в дальнейшем и другие) характеристики всего поддерева. Графически параллельновременные строки могут быть показаны так, как это сделано на рис. 6.5.

На рис. 6.5-а показано параллельно-временная строка: A’(2.) . [A(2.)С(8.)];[A’(2.)D(20.)G(12.)]

[A’(2.)B(5.)E(10.)G(12.)J(30.)]

 

 

A`

A`

 

A`

B

 

B

 

B

 

 

 

C

 

C

 

 

E

 

 

 

 

 

E

C

 

I

 

 

 

 

 

 

 

D

 

 

 

 

 

 

G

 

G

 

G

 

 

 

 

 

 

 

 

 

 

 

 

H

 

 

 

 

 

 

J

J

J

a)

b)

c)

Рис. 6.5

Здесь время выполнения операции G взято в предположении, что никаких других операций, связанных с операцией G, не производится. На рис. 6.5-а обозначена также операция D – доставка дополнительного оборудования по воздуху. Доставленное оборудование может быть задействовано только после выполнения операции G. Если считать, что это оборудование позволит ускорить работы по

Глава 6. … алгоритмическое обеспечение генерации вариантов …205

расчистке территории (на табл. 6.2 это не отражено), то время выполнения операции J должно быть соответственно сокращено.

На рис. 6.5-b показана параллельно-временная строка:

A’(2.) * [A(2.)C(8.)];[A’(2.)(B(5.)E(10.)G(6.)H(6.)J(30.)]

Здесь времена выполнения операций G и H влияют друг на друга. Для операции G взято 1/2 времени ее автономного выполнения, а для операции H - 3/4 (см. табл. 6.2). Таким образом, общее время выполнения в примерах рис. 6.5-а и 6.5-b оказалось одинаковым, но один из вариантов может оказаться более дешевым и/или безопасным.

Реализацию третьей особенности легко осуществить развитием только что рассмотренного алгоритма.

Пункт 2 алгоритма расширяется правилом:

Если i-м элементом является грамматическое правило типа A(tA) B(tB) то после символа A(tA) ставится закрывающая фигурная скобка и за ней в круглой скобке ставится значение tA, а перед символом В в порождаемой строке ставится открывающая фигурная скобка.

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

A’(tA) * [A’(tA)B(tB){I(tI)G(tG)}(tN)J(tJ)];[A’(tA)C(tC)]

Графически циклические строки могут быть показаны так, как это сделано на рис. 6.5-c. На рис. 6.5-с показана параллельная строка

A’(2.) * [A’(2.)B(5.){I(5.)G(12.)}(4)J(30.)];[A’(2.)C(8.)]

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

206 Часть 2. Математическое и алгоритмическое обеспечение …

строки, время ее выполнения определяется строкой с максимальным временем выполнения.

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

Рассмотрим еще один пример генерации на основе грамматик возможных сценариев по организации проведения геофизических исследований скважин. В соответствии с общими задачами управления производством (см. рис. 1.4) система мероприятий (моделей), определяющих организацию проведения ГИС геофизическим предприятием, представляется так, как показано на рис. 6.6 [6.9]. Из этой схемы видно, что она, в основном, касается и раскрывает пункты 2, 3 и 4 задач управления производством представленных на схеме рис. 1.4. В частности, на схеме рис. 6.6 к задачам формирования струк- турно-образующих соотношений производства ГИС относятся задачи (и соответствующие им модели): оценки эффективности работы геофизических партий, материально-технических ресурсов (МТР) и скважин при производстве ГИС; оценки геологической эффективности ГИС; оптимизации числа геофизический партий и МТР и закрепления их за рабочими участками (группами скважин); выделения однородных по своим характеристикам групп (классов) скважин, на которых при решении одних и тех же задач ГИС применяются одинаковые комплексы ГИС. Соответствие задач оптимизации управления организацией проведения ГИС геофизическим предприятием (рис. 6.6) задачам управления, указанными на рис. 1.4, показано тем, что в каждом блоке этой схемы проставлен номер соответствующей задачи управления производством.

Глава 6. … алгоритмическое обеспечение генерации вариантов …207

Модели

 

оценки

 

 

 

 

 

 

 

Модели

 

классифи-

 

эффективности

 

Модели

 

оценки

 

 

 

 

работ

геофизиче-

 

геологической

эф-

 

 

кации, скважин

 

ских партий, МТР,

 

фективности ГИС

 

 

 

 

 

 

 

 

скважин

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Модели

оптимиза-

 

 

 

 

 

 

 

Модели

 

 

динамики

 

ции

числа партий,

 

Модели

 

выбора

 

 

реализации различ-

 

МТР и закрепления

 

оптимальных

ком-

 

 

ных стратегий про-

 

их

за

рабочими

 

плексов ГИС

 

 

 

ведения ГИС

 

 

участками

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Модель

 

расчета

 

Модели

 

оптимиза-

 

 

Модели

 

 

 

выбора

 

равновесных цен на

 

ции планов-графи-

 

 

оптимальной

стра-

 

ГИС

 

 

 

 

ков

проведения

 

 

тегии

проведения

 

 

 

 

 

 

ГИС

 

 

 

 

 

ГИС (по задачам)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Оптимизация

рас-

 

 

Расписание

работ

 

 

 

 

 

 

писаний

 

работы

 

 

для

 

 

 

"ГИС-

 

 

 

 

 

 

геофизических пар-

 

 

контроль"

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тий

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Расчет месячных

заданий для "ГИСбурение"

Расписание работ

для "ГИС-бурение"

Оценка качества

работ и их оперативное проведение

Оптимизация мар-

шрутов движения геофизических партий

Рис. 6.6

208 Часть 2. Математическое и алгоритмическое обеспечение …

Для упрощения примера, минуя когнитивный анализ, выделим среди задач (моделей), представленных на рис 6.6, десять следующих задач (работ):

А. Формирование перечня решаемых предприятием задач ГИС -

контроль технического состояния скважин, контроль газо-водяного контакта, «отбивка» границ пластов и т.д., то есть задачи, которые решаются как во время бурения скважин, так и во время контроля разработки месторождения или подземного хранилища газа, получившие условное название – задачи «ГИС-контроль» и «ГИСбурение».

Б. Выбор параметров (признаков) для классификации скважин с

целью выделения типового объекта (скважины), для которой по каждой решаемой задачи будут выбираться (назначаться) комплексы ГИС.

В. Классификация скважин на однородные по выбранным признакам классы скважин для проведения на них ГИС для решения выбранной задачи (см. пункт А).

Г. Определение количества измерений на каждом классе сква-

жин по выбранной задаче в течение рассматриваемого периода времени.

Д. Расчет необходимого количества бригад для проведения ГИС

по всем решаемым предприятием задачам.

Е. Расчет необходимого для проведения ГИС количества мате- риально-технических ресурсов (МТР).

Ж. Выбор оптимальных комплексов ГИС среди возможных для решения выбранных задач на соответствующих классах скважин.

З. Составление плана графика работ (геологического задания) проведения ГИС на скважинах.

И. Распределение объектов ГИС (объемов работ) между бригадами.

К. Выполнение ГИС бригадами - оптимизация расписаний их работы и маршрутов движения.

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

Глава 6. … алгоритмическое обеспечение генерации вариантов …209

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

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

Для построения таблицы 6.3 используются те же правила, что и для построения табл. 6.1. Повторим их.

На пересечении строк X и столбцов Y этой таблицы указываются характеристики работы Y, выполняемой за работой X.

Таблица 6.3

 

А

Б

В

Г

Д

Е

Ж

З

И

К

А

/ n *

 

 

/*

/*

/*

 

/

/n

/

Б

 

 

/*

/*

/*

/*

/*

/*

/*

/

В

 

 

 

/*

/*

/*

/*

/*

/*

/

Г

 

 

 

 

/*

/*

 

/

/

/

Д

 

/*

/*

/*

 

/*

/*

/

/

/

Е

 

/*

/*

/*

/*

 

/*

/

/

/

Ж

 

 

 

 

/*

/*

 

/

/

/

З

 

 

 

/*

/*

/*

 

 

/

/

И

 

 

 

 

 

 

 

 

 

/

К

 

 

 

 

 

 

 

 

 

 

Символ * показывает параллельность выполнения работы Y с какими-либо другими тоже отмеченными * в этой строке, но в других столбцах работами. Например, в строке А – это работы Г, Д, Е. Заметим, что параллелизм выполнения работ вовсе не означает его обязательность, операции отмеченные * могут быть выполнены и последовательно друг за другом.

Символ / означает, что после операции, указанной в строке матрицы, выполняется операция, указанная в столбце (или столбцах). При этом если после некоторой операции могут выполняться сразу несколько других операций, это означает, что существует альтернатива выполнения одной из них.

Соседние файлы в папке Архив WinRAR_1