АРХІТЕКТУРА ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ СТРУКТУРНОЇ ТА ПАРАМЕТРИЧНОЇ ІДЕНТИФІКАЦІЇ НА ОСНОВІ АЛГОРИТМУ ШТУЧНОЇ БДЖОЛИНОЇ КОЛОНІЇ З ВИКОРИСТАННЯМ ТЕХНОЛОГІЇ NVIDIA CUDA - Дивак, Микола Петрович; Кіндзерський, Олександр Віталійович (Наукові праці Вінницького національного технічного університету, 2025)
В статті представлено комплексну архітектурну концепцію та реалізацію програмного забезпечення структурної та параметричної ідентифікації на основі алгоритму Штучної Бджолиної Колонії (ШБК) з використанням технології Nvidia CUDA. Система інтегрує три різні технологічні шари: користувацький інтерфейс Windows Forms, що забезпечує інтуїтивну конфігурацію параметрів та можливості візуалізації в реальному часі, високопродуктивну C# бібліотеку, що реалізує основний алгоритм ШБК з підтримкою як параметричних, так і структурних підходів до оптимізації, та Nvidia CUDA бекенд. Архітектура демонструє виняткову масштабованість, підтримуючи множинні стратегії виконання, включаючи послідовну обробку для маломасштабних проблем, паралельні обчислення CPU для помірнорозмірних оптимізацій та GPU-прискорені обчислення для великомасштабних, багатовимірних проблем. Модульний дизайн системи включає сучасні принципи інженерії програмного забезпечення, що характеризуються чітким розділенням відповідальності, комплексними механізмами обробки помилок та логування, розширюваними інтерфейсами, що сприяють інтеграції нових алгоритмів оптимізації та методів оцінки. Ключові архітектурні інновації включають динамічну генерацію CUDA-ядер, що адаптується до специфічних характеристик проблем, підтримку інтервальної арифметики для надійної оптимізації в умовах невизначеності та складну систему управління даними, що обробляє багатовимірні простори проблем з ефективним управлінням пам’яттю та очищенням ресурсів. Реалізація підтримує збереження проєктів у форматі JSON, що забезпечує відтворюваність досліджень та співпрацю в оптимізації, одночасно надаючи комплексні можливості імпорту/експорту даних у форматах CSV та JSON для безшовної інтеграції з зовнішніми інструментами та наборами даних. Аналіз продуктивності демонструє значні прискорення для великомасштабних проблем оптимізації через GPU-прискорення, зберігаючи при цьому гнучкість для обробки різноманітних предметних областей від оптимізації математичних функцій до складних інженерних проблем проєктування. Розширюваність архітектури демонструється через підтримку користувацьких функцій мети через динамічну компіляцію з використанням Roslyn-скриптингу, що дозволяє користувачам визначати специфічні для проблеми критерії оцінки як виконуваний C# код. Надійність системи забезпечується через комплексну перевірку вхідних даних, механізми обробки винятків та детальний моніторинг продуктивності, що допомагає в налагодженні та налаштуванні оптимізації. Цей архітектурний підхід надає дослідникам та інженерам потужну, масштабовану та підтримувану платформу для вирішення складних проблем оптимізації в багатьох вимірах, що робить її придатною як для академічних дослідницьких застосувань, так і для промислових викликів оптимізації, одночасно встановлюючи основу для майбутніх покращень, включаючи можливості розподілених обчислень.