Оптимизация решений, касающихся многочисленных объектов, при наличии различных основополагающих неопределенностей

Иллюстрации

Показать все

Изобретение относится к области оптимизации решений, касающихся нефте- и/или газовых месторождений. Техническим результатом является увеличение объема добычи нефти и/или газа. Раскрыт способ оптимизации решений, касающихся множества объектов, при этом объектами являются нефте- и/или газовые месторождения; способ содержит этапы, на которых принимают информацию, задающую переменные решения и переменные неопределенности для множества объектов и задающую для каждого объекта соответствующий набор из одного или нескольких алгоритмов; образуют вектор решения; выполняют процесс оценивания относительно вектора решения для определения, по меньшей мере, значения глобальной целевой функции для вектора решения; выполняют оптимизатор, в результате чего образуется множество векторов решения и соответствующих значений глобальной целевой функции; сохраняют данные в запоминающем устройстве; бурят ряд скважин во множестве месторождений, при этом количество скважин определяют посредством выбора одного из векторов решения эталонного набора. 3 н. и 26 з.п. ф-лы, 10 ил.

Реферат

Предпосылки создания изобретения

1. Область техники, к которой относится изобретение

В общем это изобретение относится к области принятия решения, неопределенности и анализу оптимизации, а более конкретно к системе и способу для оптимизации решений, относящихся к системе объектов, при наличии неопределенности.

2. Описание уровня техники

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

аренда земли;

регистрация сейсмических данных;

бурение разведочных скважин;

бурение продуктивных скважин;

заканчивание скважин;

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

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

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

сколько земли арендовать и какие участки земли арендовать;

как регистрировать сейсмические данные и какой объем сейсмических данных регистрировать;

сколько бурить разведочных скважин и где бурить разведочные скважины;

как разрабатывать месторождения;

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

сколько интервалов перфорации делать в каждой скважине и как распределять местоположения интервалов перфорации вдоль конструкции скважины для каждой скважины;

какой порядок бурения и перфорирования скважин;

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

как обрабатывать флюиды, добываемые из геологического пласта;

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

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

фьючерсные цены на сдачу в аренду нефтегазоносных участков;

запасы нефти и/или газа на месторождении;

форма и физические свойства коллекторов на каждом месторождении;

количество времени, которое будет затрачено на бурение каждой разведочной скважины и каждой продуктивной скважины;

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

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

фьючерсные цены на нефть и газ;

устойчивость погодных условий.

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

Сущность изобретения

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

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

(b) образуют вектор решения, при этом вектор решения включает в себя значение для каждой из переменных решения;

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

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

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

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

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

Операция процесса оценивания может включать в себя

(с1) образование вектора неопределенности, при этом вектор неопределенности включает в себя значение для каждой из переменных неопределенности;

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

(с3) инициирование выполнения набора алгоритмов для каждого объекта на основании соответствующего набора данных для получения выходных данных, соответствующих объекту;

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

(с5) выполнение операций, включающих в себя с (с1) по (с4), несколько раз, в результате чего образуется совокупность значений каждой величины для каждого объекта;

(с6) вычисление одного или нескольких статистических показателей для каждого объекта на основании соответствующей одной из совокупностей; и

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

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

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

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

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

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

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

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

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

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

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

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

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

Согласно некоторым осуществлениям способ может дополнительно включать в себя

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

повторение указанного действия для множества значений вспомогательной функции; и

сохранение поднаборов, идентифицированных при указанном повторении.

Согласно некоторым осуществлениям способ может также включать в себя

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

отображение геометрического места оптимальных значений.

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

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

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

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

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

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

имитатор движения флюидов в коллекторе, который оперирует трехмерной структурой данных (например, имитатор движения флюидов в коллекторе с конечно-разностным представлением, представлением на основе метода линий тока или представлением на основе метода конечных элементов);

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

Кроме того, набор из одного или нескольких алгоритмов для по меньшей мере одного из объектов может включать в себя один или несколько из

алгоритма для оценивания транспортировки нефти и газа на поверхности, например, имитатора процесса в сети наземных трубопроводов,

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

алгоритма для оценивания объема нефти и газа и трехмерных свойств коллектора.

Алгоритм для оценивания объема нефти и газа и трехмерных свойств коллектора может быть реализован с помощью

геостатистического алгоритма формирования свойств геологической среды;

алгоритма формирования структурного строения геологической среды;

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

имитатора материального баланса.

Алгоритм для вычисления экономических показателей объекта может быть реализован в виде

алгоритмов, основанных на электронных таблицах, которые могут включать в себя полные фискальные модели и модели долевого распределения добычи;

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

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

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

(b) образуют вектор решения, при этом вектор решения включает в себя значение для каждой из переменных решения;

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

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

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

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

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

Операция (с) выполнения процесса оценивания может включать в себя

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

(с2) образование NI наборов итерационных данных для каждого объекта, при этом каждый из наборов итерационных данных образуют, используя часть вектора решения и часть соответствующего одного из векторов неопределенности;

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

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

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

(с7) вычисление одного или нескольких статистических показателей для каждого объекта на основании соответствующей одной из совокупностей; и

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

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

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

На этапе операции распределения наборов итерационных данных инициируется распределенное выполнение наборов алгоритмов на основании наборов итерационных данных на большом количестве вторичных компьютеров. Вторичные компьютеры могут быть объединены в сетевую структуру.

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

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

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

(а) принимают информацию, задающую большое количество объектов, целевую функцию объекта для каждого из объектов и набор алгоритмов для каждого объекта;

(b) образуют вектор решения, включающий в себя значения для набора переменных решения;

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

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

(е) вычисляют первый статистический показатель объекта по каждой целевой функции объекта на основании соответствующей совокупности значений;

(f) вычисляют значение глобальной целевой функции на основании первых статистических показателей объекта;

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

Способ может также включать в себя операции

вычисления второго статистического показателя объекта для каждого объекта по соответствующей одной из совокупностей; и

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

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

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

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

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

Кроме того, программные команды (или поднаборы программных команд) могут быть переданы через любую из различных передающих сред, например, по компьютерной сети.

Заявка регистрационный номер 10/653829 на патент США, поданная 9/03/2003 под названием “Method and system for scenario and case decision management”, в которой в качестве изобретателей указаны Cullick, Narayanan и Wilson, полностью включена в настоящую заявку посредством ссылки.

Краткое описание чертежей

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

фигура 1 - иллюстрация модулей клиентского приложения и потокового сервера согласно одному ряду осуществлений;

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

фигура 3 - иллюстрация оптимизатора 210 из фигуры 2 согласно одному ряду осуществлений;

фигура 4 - иллюстрация процесса 220 оценивания из фигуры 2 согласно одному ряду осуществлений;

фигура 5 - иллюстрация способа оптимизации решений, относящихся к большому количеству объектов, согласно одному ряду осуществлений;

фигура 6 - иллюстрация операции 520 (то есть операции выполнения процесса оценивания) из фигуры 5 согласно одному ряду осуществлений;

фигура 7 - иллюстрация способа оптимизации решений согласно другому ряду осуществлений;

фигура 8 - иллюстрация операции 730 (то есть операции выполнения процесса оценивания) из фигуры 7 согласно одному ряду осуществлений с акцентированием действия по распределению наборов итерационных данных к другому компьютеру (компьютерам) для выполнения на другом компьютере (компьютерах);

фигура 9 - иллюстрация способа оптимизации решений согласно еще одному ряду осуществлений;

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

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

Подробное описание предпочтительных осуществлений

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

(а) построения произвольного потока;

(b) построения набора моделей, включающих в себя описания некоторого количества неопределенностей и некоторого количества решений;

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

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

(е) анализа результатов выполнения потока.

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

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

Цикл может включать в себя итератор, алгоритм (или, в более общем случае, библиотеку алгоритмов) и, при желании, диспетчер. При выполнении потока итератор является ответственным за образование наборов итерационных данных для соответствующих выполнений алгоритмов. Каждое выполнение алгоритма осуществляется на основании соответствующего одного из наборов итерационных данных. Каждый набор итерационных данных содержит данные, используемые для алгоритма в качестве входных данных. В настоящей заявке каждое выполнение алгоритма именуется «итерацией». Однако термин «итерация» не означает требования последовательной обработки одной итерации после другой. На самом деле итератор и диспетчер могут быть сконфигурированы для осуществления параллельных итераций. Например, в предвидении соответствующего числа итераций итератор может быть сконфигурирован для образования некоторого количества наборов итерационных данных. Диспетчер может обнаруживать другие компьютеры (или процессоры), которые имеют незанятый диапазон вычислительных возможностей, и распределять наборы итерационных данных к другим компьютерам с тем, чтобы итерации могли быть осуществлены параллельно или, в зависимости от числа свободных компьютеров, по меньшей мере частично параллельно.

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

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

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

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

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

Множество достижимых значений для переменной решения или переменной неопределенности может быть конечным множеством (например, конечным множеством численных значений, задаваемых пользователем) или бесконечным множеством (например, интервалом вещественной линии или области в n-мерном пространстве Евклида, где n - целое положительное число).

Пользователь может различными способами задавать распределение вероятностей для переменной неопределенности. Если переменная неопределенности имеет множество достижимых значений, которое является непрерывным, системой управления принятием решений может предоставляться пользователю возможность задавать плотность распределения вероятностей (ПРВ) путем выбора вида плотности распределения вероятностей (например, нормального, равномерного, треугольного и т.д.) и задавать параметры, определяющие конкретную плотность распределения вероятностей в рамках выбранного вида. Если переменная неопределенности имеет множество достижимых значений, которое является конечным, системой управления принятием решений может предоставляться пользователю возможность ввода значений вероятности (или численных значений, которые в дальнейшем могут быть нормированы относительно значений вероятности) для достижимых значений переменной неопределенности. Системой управления принятием решений может предоставляться пользователю возможность приводить плотность распределения вероятностей в качественное и количественное согласие с существующим множеством значений для переменной неопределенности (возможно, по