Подходы и методы решения задач


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

  • Функциональные методы.
    Используются хорошо зарекомендовавшие себя методы из предметной области решаемой задачи, в случае отсутствия таковых – они создаются, или импортируются, с адаптацией, из близких областей.

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

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

Математическое моделирование, Комплексный анализ данных, Высокопроизводительные вычисления

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

Основной платформой для построения математических моделей и проведения численных расчётов является программа Wolfram Mathematica версии 10.4.1.

Для решения задач Data Mining и Машинного Обучения используется язык Python версии 3.5. Базовая функциональность языка расширяется посредством библиотек:

Для сложных статистических расчётов применяется язык R версии 3.3.1. Разработка и отладка кода ведётся в программе RStudio. Для решения задач формата Big Data применяются специализированные решения.

В особо ресурсоёмких случаях вычислительные приложения разрабатываются на языке C/C++. В случае необходимости код портируется из системы Wolfram Mathematica, скриптов Python или R. При разработке программ на языке C/C++ применяются следующие технологии, средства разработки приложений и библиотеки:

  • Компилятор Intel, версия 14.0.

  • Технология OpenMP.

  • Технология GPGPU CUDA.

  • Библиотека Intel MKL (Math Kernel Library).

  • Библиотека Intel IPP (Integrated Performance Primitives).

Основной аппаратной платформой, под которую оптимизируются расчётные приложения, являются решения компании Intel: Intel Core и Intel Xeon. В качестве операционных систем применяются: Microsoft Windows 7 Professional (Service Pack 1) 64 bit и Red Hat Enterprise Linux Desktop Workstation 64 bit.

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