Аннотация:Настоящая статья посвящена обзору программных средств, позволяющих применять, разрабатывать и исследовать эволюционные и роевые методы оптимизации для решения сложных задач дискретной и непрерывной оптимизации. В статье рассматриваются различные виды и типы оптимизационных задач, возникающих в прикладных задачах, включая задачи многокритериальной оптимизации. Формализуется понятие популяционного алгоритма оптимизации и рассматриваются основные классы алгоритмов данного типа, в том числе эволюционные алгоритмы, роевые алгоритмы и многочастичные алгоритмы. Приводятся результаты детального анализа тринадцати современных наиболее популярных фреймворков для работы с эволюционными и роевыми алгоритмами оптимизации. Основной целью анализа является исследование предоставляемых данными программными средствами возможностей по созданию, настройке и применению популяционных алгоритмов оптимизации для решения прикладных оптимизационных задач. В том числе анализируются типы поддерживаемых рассматриваемыми программными средствами задач оптимизации, а также наличие встроенных средств тестирования и наборов тестовых задач оптимизации. Отдельный пункт исследования посвящен анализу поддержки рассматриваемыми фреймворками параллельных вычислений, так как известно, что применение популяционных алгоритмов с одной стороны является вычислительно затратным, а с другой стороны такие алгоритмы обладают значительным потенциалом к распараллеливанию. На основании результатов проведенного обзора даются рекомендации по применению рассмотренных программных средств в различных сценариях их практического использования.