Система поддержки принятия решений

Заказчик

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

 

Задача

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

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

Решение

Мы портировали существующее приложение, изначально написанное на C++ для ОС Windows, на платформу Eclipse RCP. В результате система стала доступна пользователям Mac OS X и Linux – без необходимости создания и поддержки отдельных веток кода для каждой операционной системы.
При переходе на новую платформу появилась возможность использовать 64-битный доступ к памяти, что позволило рассчитывать с приемлемой скоростью массивные модели с большим количеством узлов без вытеснения данных из оперативной памяти. На больших моделях было зафиксировано 50-кратное увеличение производительности по сравнению с оригинальным приложением.
Переход на Eclipse RCP также позволил нам внедрить обновление установленного приложения «на ходу», непосредственно из меню – без необходимости вручную заходить на сайт заказчика, скачивать и устанавливать обновления.

  • Рис. 1. Простая марковская модель для здравоохранения – развитие ракового заболевания
  • Рис. 2. Кривые вероятных исходов для модели, приведённой на рис. 1
  • Рис. 3. Результаты быстрого расчёта дерева решений (отбор по эффективности)
  • Рис. 4. Диалог выбора распределений

Описание функциональности системы

Разработанное нами программное решение обеспечивает широкие возможности для моделирования и принятия решений.

  • Доступные типы моделей:
  • Доступные методики обсчёта и анализа моделей:
  • Задание переменных для вычислений и фильтрация результатов анализа с помощью выражений на встроенном псевдоязыке.
  • Возможность использования в моделях формул и выражений на Python.
  • 23 типа встроенных распределений, возможность задавать распределения в виде таблиц «аргумент–значение».
  • Десятки графических и табличных отчётов по результатам анализа (на основе BIRT).
  • Распределённые вычисления: каждая из машин с установленным приложением может быть использована для обсчёта части большой задачи по анализу модели, запущенной на машине-координаторе.
  • Тесная интеграция с MS Excel: экспорт графических и табличных отчётов; возможность задавать наборы исходных данных в файлах Excel; возможность обсчитывать модели в Excel.
  • Открытый интерфейс, позволяющий вызывать различные функции системы из собственных программ, написанных на Java или на VBA.

Развитие и поддержка

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

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

Технологии

Базовые технологии
Java, Eclipse RCP, OSGi, Equinox, H2 Database, Jython
Визуальное моделирование
Eclipse GMF, Eclipse Modeling Framework, Eclipse GEF
Генерация отчётов
BIRT
Интеграция с MS Excel
VBA, Apache POI
Установка и обновления
izPack, Launch4j, ProGuard, P2
Система учёта лицензий
MySQL, Spring Framework, Twitter Bootstrap, NodeJS, React, Apache POI
Мы найдем лучшее решение вашей задачи!

Совпадений: 0