Бесплатный вебинар
Умное планирование производства
в 1С:ERP на основе математической оптимизации
Не просто собирайте данные — рассчитывайте лучший сценарий
Учитывайте реальные ограничения производства
Используйте полный доступ
к О2 на 30 дней
16 апреля, 15:00 (МСК)
к О2 на 30 дней
16 апреля, 15:00 (МСК)Антон Шаганов
ИТ директор компании ИТворкс. Архитектор медицинских информационных систем ITWorks Group
Ирина Ивлева
Ведущий бизнес-аналитик 1С. Более 10 лет в IT. Эксперт по внедрению 1С:ERP с фокусом
на производственные предприятия
Назначение библиотеки
O2 (Оптимизация операций) — это библиотека для платформы 1С:Предприятие, предназначенная для построения и решения математических моделей оптимизации непосредственно из кода 1С. Библиотека позволяет разработчикам 1С формировать числовые модели задач и получать оптимальные решения без необходимости писать код на других языках или выполнять сложные интеграции с внешними аналитическими системами.
С помощью O2 можно решать задачи:
Главная идея O2 — перенести построение оптимизационной модели прямо в прикладное решение 1С, используя уже имеющиеся в системе данные: заказы, ресурсы, графики работы, производственные ограничения и т.д.
Принцип работы библиотеки
O2 реализует архитектуру, в которой:
- • модель задачи формируется в коде 1С
- • вычисления выполняются внешним оптимизационным решателем
- • результат возвращается обратно в 1С
Общий процесс выглядит следующим образом:
- • Разработчик 1С описывает модель задачи через API библиотеки O2;
- • Модель сериализуется в структурированный формат;
- • Данные передаются в вычислительный сервис по HTTP или иным способом;
- • Сервис вычисляет оптимальное решение с помощью готовых алгоритмов;
- • Результат возвращается обратно в 1С и используется в бизнес-логике.
При этом:
- • вся бизнес-логика остается в 1С;
- • контроль за процессом полностью находится в прикладном решении;
- • вычислительный сервис выполняет только функцию расчета модели.
API библиотеки реализовано в универсальном расширении. Расширение не имеет зависимостей и может быть установлено на конфигурации без БСП.
Вычислительный сервис может быть развернут:
- • непосредственно на сервере 1С (встроен в расширение и не требует установки);
- • на отдельном сервере в локальной сети на Windows, Linux или Docker;
- • в виде облачной функции Яндекс.Облако в собственном аккаунте организации.
Работа с библиотекой предполагает обработку данных на собственных серверах без передачи данных третьим лицам.
Пример использования
Для демонстрации API библиотеки рассмотрим простейший пример оптимизации закупки:
// Хотим закупить груши и яблоки, но бюджет ограничен. Как быть?
// 1. Создаем модель
Модель = О2.СоздатьМодель();
// 2. Объявляем переменные модели
КолвоЯблок = Модель.Переменная("КолвоЯблок");
КолвоГруш = Модель.Переменная("КолвоГруш");
// 3. Описываем ограничения
Модель.Ограничения().Соотношение("КолвоЯблок >= 0; КолвоГруш >= 0");
Модель.Ограничения().Соотношение("210 * КолвоЯблок + 300 * КолвоГруш <= 10000"); // <-- макс. бюджет на закупку
// 4. Устанавливаем цель - максимизировать выручку
Модель.Максимизировать("300 * КолвоЯблок + 440 * КолвоГруш");
// 5. Решаем модель
Решение = Модель.Решить(); // <-- здесь происходит магия
// 6. Наслаждаемся результатом
Сообщить("Количество яблок: " + Решение.ЗначениеПеременной(КолвоЯблок));
Сообщить("Количество груш: " + Решение.ЗначениеПеременной(КолвоГруш));
Сообщить("Выручка: " + Решение.ЗначениеЦелевойФункции());
Из примера видно, что мы лишь описываем задачу, а решение происходит уже без участия прикладного программиста. Указанный пример содержит всего пару переменных и несколько условий, очевидно его можно решить на бумаге без всяких математических алгоритмов. Реальные же оптимизационные модели могут содержать тысячи, а иногда и миллионы, переменных и условий, а для их решения могут потребоваться существенные вычислительные ресурсы.
Преимущества библиотеки
Поддерживаемые модели
В текущей версии библиотеки поддерживаются следующие типы оптимизационных моделей:
- Непрерывные (LP)
- Целочисленные (IP)
- Смешанно-целочисленные (MIP)
- Модели с ограничениями (CP)
- Модели логической выполнимости (SAT)
- Гибридные (CP-SAT)
- Модель максимального потока
- Модель потока минимальной стоимости
- Модель задачи о рюкзаке
💡 Мы планируем расширять функциональность библиотеки. Следите за обновлениями.
Документация
Подробная документация доступна на официальном сайте проекта:
Лицензирование
Библиотека имеет следующие варианты лицензий:
Community лицензия
Бесплатная версия библиотеки для решения простых задач или задач с небольшим объемом исходных данных. Данная лицензия является бессрочной и разрешает использование библиотеки в коммерческих целях.
Ограничения Community-версии:
- ограничения на размер моделей;
- отсутствие гарантированной технической поддержки.
Community лицензия не требует отдельной установки. Вы можете скачать и установить компоненты библиотеки уже сейчас с официального сайта проекта.
При попытке решить задачу, сложность которой превышает Community ограничения, будет вызвано исключение с требованием приобретения коммерческой лицензии.
Емкостные CU-лицензии
Емкостные лицензии увеличивают допустимую сложность обрабатываемых моделей на величину своего номинала емкости (capacity units). Номинал емкостных лицензий суммируется между собой, а также с номиналом Community лицензии.
Емкостные лицензии имеют ограниченный срок действия, то есть распространяются по подписке.
Подробнее правила лицензирования библиотеки описаны в документации на официальном сайте проекта: https://o2.itworks.group/docs/licensing.
Лицензии поддержки
Данный вид лицензий предоставляет доступ к технической поддержке различного уровня:
Уровень «Start»
- • Предоставляет доступ к личному кабинету службы технической поддержки.
Уровень «Business»
- • Предоставляет доступ к личному кабинету службы технической поддержки.
- • Регламентированный срок реакции — до 2-х суток.
Уровень «Enterprise»
- • Предоставляет доступ к личному кабинету службы технической поддержки.
- • Регламентированный срок реакции — до 12-ти часов.
- • За клиентом закрепляется специалист.

Технические требования
Работоспособность:
- Расширение может быть установлено на произвольные конфигурации 1С с режимом совместимости 8.3.23 и выше.
- Вычислительный сервис может работать на платформах Windows, Linux и Docker.
- Полный список требований к среде развертывания указан в документации по установке
- Внимание! Расширение не работает на БАЗОВЫХ конфигурациях (в базовых конфигурациях 1С, возможности подключения расширений - отсутствуют)!
Код закрыт. Для проведения аудита безопасности могут быть предоставлены исходные коды всех компонентов в индивидуальном порядке..
Остались вопросы?
Для получения дополнительной информации и помощи в настройке модуля под нужды вашего бизнеса — оставьте заявку



15:00 МСК