Макрос для Excel с реализацией запуска итераций Crystal Ball

Последнее сообщение
Hvostik 5 9
Июн 17

Добрый день.

Прошу совета.

Если у кого был опыт написания макросов для Excel с реализацией запуска итераций crystal ball'а,

а конкретно цикла в цикле, не могли бы поделиться синтаксисом?

Всю голову сломал, не получается)

С уважением,

ПС

с использованием

CBBeforeSimulation — Runs immediately after the Start Simulation command or Single-
Step command
l CBBeforeTrial — Runs before random numbers have been placed in assumption cells
l CBAfterRecalc — Runs after Microsoft Excel has recalculated the model but before a trial
value has been retrieved from the forecast cells
l CBAfterTrial — Runs after the forecast trial values have been retrieved and entered into the
forecast charts
l CBAfterSimulation

VIT 1111 17
Июн 17 #1

Я делал пару лет назад. С crystall ball идут два мануала, один из них очень технический и там есть все функции. Насколько я помню там было все просто когда модель уже есть и надо только re-run ее. Там была функция, сейчас уже не вспомню, типа CBRunSimulation. То что вы привели в примерах это более тонкие функции и вам не нужны.

Гоша 1201 17
Июн 17 #2

Я думал, что с развитием пакетов в Питоне и R такие вещи как CB или @Risk уже не используются особо ...

Alexey A. 56 9
Июн 17 #3

Гоша пишет:

Я думал, что с развитием пакетов в Питоне и R такие вещи как CB или @Risk уже не используются особо ...

Есть примеры использования R?

Гоша 1201 17
Июн 17 #4

Alexey A. пишет:

Гоша пишет:

Я думал, что с развитием пакетов в Питоне и R такие вещи как CB или @Risk уже не используются особо ...

Есть примеры использования R?

Я сам делал Monte-Carlo в R, основываясь на этом примере: https://rdrr.io/rforge/mc2d/f/inst/doc/docmcEnglish.pdf

 

VIT 1111 17
Июн 17 #5

Гоша пишет:

Я думал, что с развитием пакетов в Питоне и R такие вещи как CB или @Risk уже не используются особо ...

Все упирается в вопрос удобства и фунциональности. Я несколько раз делал и сам monte carlo в базовом excel когда не было CB/@Risk, но занимает больше времени и не так удобно работать.

ArslanVB 101 15
Июн 17 #6

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

ShadowRaven 613 15
Июн 17 #7

Возможно в тему - Solver, кто-нибудь использовал, и если - ДА, то как?

Есть задача установить корреляцию между 3-5-ю измерениями, это реально селать в Solver'e?

Заранее спасибо

VIT 1111 17
Июн 17 #8

ShadowRaven пишет:

Возможно в тему - Solver, кто-нибудь использовал, и если - ДА, то как?

Есть задача установить корреляцию между 3-5-ю измерениями, это реально селать в Solver'e?

Заранее спасибо

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

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

Гоша 1201 17
Июн 17 #10

В Solver сейчас есть галочка "Multistart" и еще вариант алгоритма "Evolutionary". Возможно, это помогает найти глобальное решение. Ну или хотя бы "условно глобальное" - т.е. box-constrained optimization. Речь идет про Excel 2016, не помню про 2013 - может и там было. Сам немного попробовал тыкать - пока не ощутил особой разницы со старым солвером. Может быть, нужны какие-нибудь бенчмарки известных функций (типа Розенброка или Растригина) в сравнении с другими солверами. В общем, подробности, отзывы и тому подобное - ищите в сети. Если найдете - велкам сюда полезные ссылки.

Alexey A. 56 9
Июн 17 #11

Гоша пишет:

Alexey A. пишет:

Гоша пишет:

Я думал, что с развитием пакетов в Питоне и R такие вещи как CB или @Risk уже не используются особо ...

Есть примеры использования R?

Я сам делал Monte-Carlo в R, основываясь на этом примере: https://rdrr.io/rforge/mc2d/f/inst/doc/docmcEnglish.pdf

 

Спасибо, а есть оптимизационные алгоритмы?

Гоша 1201 17
Июн 17 #12

Alexey A. пишет:

Гоша пишет:

Alexey A. пишет:

Гоша пишет:

Я думал, что с развитием пакетов в Питоне и R такие вещи как CB или @Risk уже не используются особо ...

Есть примеры использования R?

Я сам делал Monte-Carlo в R, основываясь на этом примере: https://rdrr.io/rforge/mc2d/f/inst/doc/docmcEnglish.pdf

 

Спасибо, а есть оптимизационные алгоритмы?

Ответ - конечно есть! :) Думаю, даже на поиск "универсальный алгоритм" (general purpose optimizer), что-нибудь да выпадет.

Кроме шуток - немножко конкретнее выскажитесь, что ищете?

 

Alexey A. 56 9
Июн 17 #13

Гоша пишет:

Alexey A. пишет:

Гоша пишет:

Alexey A. пишет:

Гоша пишет:

Я думал, что с развитием пакетов в Питоне и R такие вещи как CB или @Risk уже не используются особо ...

Есть примеры использования R?

Я сам делал Monte-Carlo в R, основываясь на этом примере: https://rdrr.io/rforge/mc2d/f/inst/doc/docmcEnglish.pdf

 

Спасибо, а есть оптимизационные алгоритмы?

Ответ - конечно есть! :) Думаю, даже на поиск "универсальный алгоритм" (general purpose optimizer), что-нибудь да выпадет.

Кроме шуток - немножко конкретнее выскажитесь, что ищете?

 

Да конкретно ничего не ищу, просто тема интересная. Вдруг какие-то наработки уже есть, подсмотреть

Гоша 1201 17
Июн 17 #14

Alexey A. пишет:

Да конкретно ничего не ищу, просто тема интересная. Вдруг какие-то наработки уже есть, подсмотреть

Welcome: https://cran.r-project.org/web/views/Optimization.html

По питону наверняка подобные описания реализованных оптимизаторов тоже есть

 

Go to top