
Авторизация

Сброс пароля
Оптимизация кода Python для платформы планирования производства
Заказчик: Консалтинговая компания (NDA)
Страница кейса/результат: https://redlab.dev/success/optimizacija-koda-python-dlja-platformy-planirovanija-proizvodstva/

ИТ-специалисты RedLab выполнили рефакторинг кода, повысили скорость выполнения операций и обеспечили отказоустойчивость системы
1. Вводная задача от заказчика, проблематика, цели
Консалтинговая компания более 15 лет создает ИТ- и производственные стратегии, помогает реализовывать полномасштабные end-to-end проекты, оказывает сервисную поддержку и сопровождение компьютерных систем, а также разрабатывает ПО, используя технологии Machine Learning и Data Science, а также библиотеки для математической оптимизации. ИТ-решения и услуги предлагаются промышленным, нефтяным, газовым, химическим и фармацевтическим отраслям.
Платформа предназначена для планирования производства, эффективного распределения ресурсов, прогнозирования спроса и продаж. Технологии машинного обучения и AI-модели обеспечивают Data driven подход и гарантируют заказчикам высокую эффективность бизнеса за счет принятия решений на основе данных. Для обеспечения стабильной работы ПО и высокой скорости выполнения операций клиент нуждался в оптимизации кода.
Разработчикам RedLab требовалось создать высокопроизводительную архитектуру, которая будет справляться с большими нагрузками и выдавать корректные результаты за минимальное время. В зону ответственности входила реализация следующих задач:
- Дописать функционал в части расчета параметров для планирования производства.
- Улучшить качество кодовой базы без изменения ее поведения.
- Покрыть часть программы модульными тестами.
2. Описание реализации кейса и творческого пути по поиску оптимального решения
Команда RedLab детально рассмотрела используемые технологии и изучила функциональные и бизнес-требования к платформе. Далее ИТ-специалисты выполнили ряд задач:
- Выполнили рефакторинг кода, благодаря чему удалось улучшить читаемость исходников, упростить внесение изменений и повысить производительность ПО.
- Использовали библиотеку OR-Tools, чтобы найти оптимальные решения математических уравнений на основе входных ограничений.
- Улучшили работу с базой данных Postgresql с помощью драйвера psycopg2-binary, что помогло быстрее получать и отправлять итоговые Dataset.
- Оптимизировали управление технологией boto3, которая позволила интегрировать приложения, библиотеки и скрипты Python с сервисами AWS.
- Усовершенствовали pandas для чтения и анализа данных из Dataset. Теперь обрабатывать большие объемы информации стало проще.
- Для улучшенной работы с математическими алгоритмами построили список ограничений (временных, иерархических и т.д.), создали список переменных и загрузили эти данные в библиотеку OR-Tools.
3. Результаты сотрудничества
Python-разработчики RedLab повысили точность прогнозов платформы, которая стала отвечать требованиям клиента. Кроме того, внедренные технологии обеспечили бесперебойную работу ИТ-продукта, что важно для успешного функционирования сервиса с технологией машинного обучения.
4. Заключение
Новое ИТ-решение стало соответствовать требованиям бизнеса к функционалу, производительности и отказоустойчивости.