Category Archives: Software

Spotfire для оценки запасов

Возможно кому-то будет интересно.
Мы активно используем Spotfire для визуализации данных. В данном ролике описывается, как использовать возможности Spotfire для оценки запасов:

Правда, видео прикрутилось немного кривовато.

Share

CPR: “Новый” линейный солвер в Eclipse

Я всего неделю назад узнал о том, что в Eclipse начиная с версии 2014.1 реализован новый линейный солвер – CPR (этот метод конечно же далеко не новый, я бы даже сказал, что он с бородой, просто в Эклипс он появился совсем недавно). Солвер этот на деле оказался очень шустрым и помог мне справиться со проблемами сходимости в расчетах, с которыми старый добрый “ортомин” справлялся мягко говоря с трудом. Если бы я узнал о нем всего пару месяцев назад, то это помогло бы мне сэкономить уйму рабочего времени и потратить оставшееся на что-то более продуктивное, чем попытки стабилизировать и сократить время выполнения расчетов.

Собственно, во многих крупных компаниях установка нового софта происходит с некоторой задержкой по времени, наша компания также не является исключением. К примеру, только на прошлой неделе на моем локальном компьютере был установлен Eclipse 2014.1 (а на дворе конец 2015), на кластере обновление произошло несколько раньше, около полугода назад. Причины такого отставания, в том, что IT-специалисты должны убедиться, что новые версии стабильны, не имеют багов (точнее не имеют очевидных багов, все быги они выявить все равно не в состоянии), ну и чтобы ненароком не были потеряны проекты, над которыми специалисты трудились не один месяц.

Ну да ладно, речь не об этом. Я хотел привести сравнение времени выполнения расчетов с использованием нового солвера CPR и стандартного ORTHOMIN. Возможно, кому-то это также поможет сократить время расчетов и сэкономить бесценное время.

Итак немного информации, в наличии имеется не очень большая по современным меркам, но достаточно сложная модель месторождения V, с продолжительной историей, которое находится в разработке с 1982 года. Желающие могут почитать о месторождении тут (статья старая, но представление о месторождении дает). Ну и вот еще тут (тоже старое). Более свежие данные на сайте npd.no

Модель содержит около 800 тыс. активных ячеек. К данному моменту пробурено более 170 скважин. Месторождение истыкано разбурено вдоль и поперек. Из них на текущий момент в добыче меньше трети. Дальнейшая разработка, также предполагает разбуривание уплотняющими скважинами и “перебурами” преждевременно вышедших из строя скважин. Собственно в некоторых вариантах расчетов и возникали проблемы со сходимостью, причем зачастую варианты с большим числом скважин работали стабильно. Сначала мы пытались вылечить проблемы настраивая параметры сходимости в TUNING. Но проблемы все равно возникали, причем в разные даты и в разных скважинах. К слову сказать, траектории пробуренных скважин заданы несколько замысловатым способом, которые скорее всего и приводят к этим проблемам, но пока приходится работать с тем, что есть. Модель сматчена и передана, как есть. И на новый матчинг времени пока нет.

Стандартно расчет прогноза модели мы осуществляли на 16 процессорах на Linux кластере. Если при расчете модели не возникало существенных проблем со сходимостью, то расчет с добавлением новых скважин занимал около 4-5 часов. При этом если проблемы возникали, то расчеты могли идти до 48 часов, а зачастую и не завершались вовсе.

Использование солвера CPR позволило существенно сократить время расчета. К примеру прогноз на 30 с копейками лет, который при отсутствии существенных проблем со сходимостью обычно занимал 4-5 часов на 16 процессорах, а при наличии проблем до 24-48 часов, стал считаться около 1-2 часов на 8 процессорах.cpr

К слову сказать, что на модели, где полностью отсутствуют проблемы со сходимостью CPR по производительности был сравним со стандартным ORTHOMIN-ом.

На графике снизу сравнение солверов при отсутствии проблем со сходимостью (вариант расчета на 4 CPUs). На графиках видны замедления расчетов для обоих вариантов во время включения новых скважин:

cpr2

Для использования этого солвера достаточно в секции RUNSPEC прописать:

CPR
/

Подробности в мануале.

Share

VBA: Early binding issue

Три дня провозился с одной проблемой с крайне неочевидным решением. В Excel 2010, пытаясь с помощью VBA соединиться с проектом(-ами) в Project 2007 (с MS Project 2010 не проверял за неимением оного) и вытащить оттуда необходимые данные, каждый раз при обращении к любому объекту получал сообщение об ошибке “Automation Error: Library is not registered”. Сначала думал, что это из-за проблем с разными версиями, хотя, и я много раз уже это делал, это не принципиально. Достаточно подключить нужную библиотеку в Tools –> References в окне Excel.

Проблема, как оказалось, была в так называемом раннем связывании/описании объекта и характерна, насколько я понял, погуглив в интернете, для MS Project, причем, начиная аж с версии 98 (!!!). На дворе 2012 год, а бага так и не исправлена.

Итак, вот пример исходного кода, который приводит к этой ошибке:

Dim appPrj As MSProject.Application
Dim aPrj As MSProject.Project
Set appPrj = CreateObject(“MSProject.Application”)
Set aPrj = appPrj.ActiveProject
….
n = aPrj.Tasks.Count ‘ тут возникает ошибка

Раннее связывание или другими словами присвоение типа объекта и вызывает данную ошибку, и чтобы она не появлялась придется немного переписать код:

Dim appPrj As Object ‘ MSProject.Application
Dim aPrj As Object ‘ MSProject.Project
Set appPrj = CreateObject(“MSProject.Application”)
Set aPrj = appPrj.ActiveProject
….
n = aPrj.Tasks.Count ‘ ошибки нет

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

Share

Визуализация данных в Spotfire

Известно, что Excel является достаточно мощным продуктом для представления, визуализации и анализа данных. При этом возможности практически безгарничны. Я, например, до сих пор открываю для себя все новые, и новые возможности неизвестные мне до этого. Но есть еще более мощные средства, позволяющие делать, то что не “умеет” Excel. Один из таких инструментов Spotfire разработанный компанией TIBCO.

Spotfire пошел гораздо дальше в вопросе использования сводных таблиц (Pivot Tables) и графиков.

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

Коротко возможности:

  • Интерактивный интерфейс для предоставления и управления данными, составление отчетов и публикация в веб
  • Визуализация и поиск настроены на данные любого вида, т.е. нет необходимости в предварительной настройке данных до загрузки их на сервер, также не стоит беспокоится о размерностях
  • Анализ нескольких массивов данных из различных источников в одном приложении
  • Подведение итогов, получение осредненных или совокупных значений на лету, фильтрование или углебление в детали
  • Постоянная связь с источником данных для получения наиболее оперативной информации
  • Поддержка огромного числа баз данных
  • Элегантные и настраиваемые инструменты визуализации: Карты, диаграммы, графики, 3D, кросс-таблицы, деревья и их всевозможые комбинации
  • Возможность добавления плагинов для более продвинутых возможностей для анализа
  • Плагины добавляющие возможности характерные для отдельных отравслей, таких как  сетевая аналитика, химические исследования, добыча полезных ископаемых и пр.
  • Использование языков программирования S+ или R позволяет решать задачи  моделирования, прогнозирования, оптимизации и пр.
  • Экспорт результатов напрямую в PowerPoint или HTML
  • Легкость настройки публикации данных в веб с помощью Spotfire Web Player. Результаты анализа также могут быть сохранены на Spotfire сервере.
Share

Office 2007: недостатки

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

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

Несколько таких недоработок, привели к необходимости переписывания кода многих макросов для оптимизации времени выполнения. В 2007 стали крайне медленно работать макросы с достаточно большим числом данных, по которым строятся графики. Как отключить обновление, пока не знаю.

Затем, по каким-то причинам в 2007 версии не реализована возможность изменения данных перетаскиванием точек на графиках. Перерыл многие форумы, проблема известна, но решения пока нет. В общем придется полностью переделать форму для анализа кривых падения добычи, добавить макросы. В 2003 версии удалось реализовать анализ без использования макросов одними формулами.

 

Share