almaGRID API

Инструмент стохастического моделирования методом Монте-Карло. Используется для моделей с нечеткой логикой, для вероятностных вычислений на графах.

Класс ‘MonteCarlo’ #

Методы #

AddInput #

Описание
Добавляет заданное вероятностное значение, например, распределение вероятности значения узла графа.

AddInput  ( AttribDbl  Attrib , PrmXML  String , [Args  Dictionary  = null ] )MonteCarlo.MonteCarloInput

Возвращаемое значение
Тип: MonteCarlo.MonteCarloInput
Объект заданного вероятностного значения.

Параметры

AttribDbl Attrib Атрибут. Например, атрибут узла графа.

PrmXML String Строка параметров в виде <prm name1='value1' name2='value2' ... nameN='valueN'/>

Параметры:

vbExpression - выражение на языке VBScript, которое возвращает случайную величину.

Args Dictionary Необязательный параметр. Значение по умолчанию null .

Именованный список Dictionary аргументов, который будет передан вызываемым скриптам. Список пар 'ИмяОбъекта'-'ЭкземплярОбъекта'.

'Создаем инструмент стохастичесого моделирования
set mc = ag.app.NewEngine("MonteCarlo")

'Определяем узлы графа, значения которых будут изменяться
Set node1 = g1.Item("f4888b43f5c74221bc0a3bff0dca6462") 'узел [Отказ второго контура контроля давления]
Set node2 = g1.Item("97db804a44fb4c38acd2d78ea0e36f8c") 'узел [Отказ датчика давления газа]

'Указываем распределения значений в изменяемых узлах
set inp1 = mc.AddInput(node1.Attrib("Self"), "<prm vbExpression='ag.rnd.Triangular(0.5e-2, 1e-2, 1.5e-2)' />")
set inp2 = mc.AddInput(node2.Attrib("Self"), "<prm vbExpression='ag.rnd.Triangular(0.5e-2, 1e-2, 1.5e-2)' />")

almaGRID API

AddOutput #

Описание
Добавляет искомое вероятностное значение, например, распределение вероятности значения узла графа.

AddOutput  ( AttribDbl  Attrib , [PrmXML  String  = '' ], [Args  Dictionary  = null ] )MonteCarlo.MonteCarloOutput

Возвращаемое значение
Тип: MonteCarlo.MonteCarloOutput
Объект искомого вероятностного значения.

Параметры

AttribDbl Attrib Атрибут. Например, атрибут узла графа.

PrmXML String Необязательный параметр. Значение по умолчанию '' .

Строка параметров в виде <prm name1='value1' name2='value2' ... nameN='valueN'/>

Параметры:

comment - комментарий.

Args Dictionary Необязательный параметр. Значение по умолчанию null .

Именованный список Dictionary аргументов, который будет передан вызываемым скриптам. Список пар 'ИмяОбъекта'-'ЭкземплярОбъекта'.

'Создаем инструмент стохастичесого моделирования
set mc = ag.app.NewEngine("MonteCarlo")

'Определяем переменную, в которой находится результат вычислений - случайная величиной с искомым распределением
set out1 = mc.AddOutput(g1.Attrib("Result")) 

almaGRID API

ClearInputs #

Описание
Очищает список заданных вероятностных значений.

ClearInputs  

'Создаем инструмент стохастичесого моделирования
set mc = ag.app.NewEngine("MonteCarlo")
mc.ClearInputs

almaGRID API

ClearOutputs #

Описание
Очищает список искомых вероятностных значений.

ClearOutputs  

'Создаем инструмент стохастичесого моделирования
set mc = ag.app.NewEngine("MonteCarlo")
mc.ClearOutputs

almaGRID API

Run #

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

Run  ( TagId  String , TagLabel  String , PrmXML  String , Args  Dictionary  )

Параметры

TagId String Идентификатор тега (узла графа).

Строка длинной не более 32 символов. Идентификато содержит цифры от 0 до 9 и латинские буквы 'a', 'b', 'c', 'd', 'e' и 'f'. В идентификаторе, определенном пользователем, должен присутствовать хотя бы один буквенный символ. Например, 'fa0234'.

Идентификатор должн быть уникальным.

Тег, в котором сохранен скрипт для расчета модели. Например, скрипт для расчета атрибутов узлов графовой модели.

TagLabel String Название тега на текущем языке, например, 'Тег1'.

Тег, в котором сохранен скрипт для расчета модели. См. описание параметра TagId. Если задан TagId то TagLabel игнорируется.

PrmXML String Строка параметров в виде <prm name1='value1' name2='value2' ... nameN='valueN'/>

Параметры:

iterations - целое положительное число, количество выполняемых итераций.

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

Args Dictionary Именованный список Dictionary аргументов, который будет передан вызываемым скриптам. Список пар 'ИмяОбъекта'-'ЭкземплярОбъекта'.

'Создаем инструмент стохастичесого моделирования
set mc = ag.app.NewEngine("MonteCarlo")

'Определяем узлы графа, значения которых будут изменяться
Set node1 = g1.Item("f4888b43f5c74221bc0a3bff0dca6462") 'узел [Отказ второго контура контроля давления]
Set node2 = g1.Item("97db804a44fb4c38acd2d78ea0e36f8c") 'узел [Отказ датчика давления газа]

'Указываем распределения значений в изменяемых узлах
set inp1 = mc.AddInput(node1.Attrib("Self"), "<prm vbExpression='ag.rnd.Triangular(0.5e-2, 1e-2, 1.5e-2)' />")
set inp2 = mc.AddInput(node2.Attrib("Self"), "<prm vbExpression='ag.rnd.Triangular(0.5e-2, 1e-2, 1.5e-2)' />")

'Определяем переменную, в которой находится результат вычислений - случайная величиной с искомым распределением
set out1 = mc.AddOutput(g1.Attrib("Result")) 

'Задаем количество итераций стохастического моделирования
SeriesLength = 1000

'Создаем именованный массив параметров и помещаем в него параметр - граф g1
Set Args = ag.App.NewObject("Dictionary", Array("g1", g1)) 

'Запускаем инструмент стохастичесого моделирования 
mc.Run "saeca38b6b2824a27b4238f1f012d55f2s", "", "<prm iterations='" & SeriesLength & "' />", Args

almaGRID API

Класс ‘MonteCarloInput’ #

Свойства #

Series #

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

Series   : Series

Значение свойства (ReadOnly)
Тип: Series
Ряд значений.

Dim Arr()
Arr = inp1.Series.ArrDbl

almaGRID API

Класс ‘MonteCarloOutput’ #

Свойства #

Series #

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

Series   : Series

Значение свойства (ReadOnly)
Тип: Series
Ряд значений.

Dim Arr()
Arr = inp1.Series.ArrDbl

almaGRID API

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: