Утилита командной строки (CLI)
Утилита командной строки позволяет решать модели, данные которых предварительно сохранены в виде двоичных файлов.
Для получения файла модели необходимо описать модель программным кодом (см. раздел "Создание модели") и вызвать метод Записать.
При решении модели результат решения также сохраняется в виде выходного файла, который может быть загружен в 1С для его дальнейшего анализа. Пример работы утилиты:
1. Создаем и записываем модель
Код на стороне 1С:
Модель = О2.СоздатьМодель();
// Описываем модель программным кодом
// ...
// ...
Модель.Записать("C:\path\to\model.o2m");
2. Решаем модель с помощью утилиты
В терминале выполняем команду:
o2 solve "C:\path\to\model.o2m" --output "C:\path\to\solution.o2s"
Утилита выполнит вычисления и создаст файл решения по указанному адресу.
3. Загружаем решение в 1С
Код на стороне 1С:
Решение = О2.ЗагрузитьРешение("C:\path\to\solution.o2s");
Если Решение.РешениеНайдено() Тогда
// Обрабатываем данные решения
// ...
// ...
КонецЕсли;
Данный механизм может быть использован для создания различных автоматизированных конвейеров обработки данных.
Установка утилиты
Утилита командной строки не требует отдельной установки, утилита становится доступна сразу после установки сервиса решателя. Установка сервиса решателя описана в соответсвующем разделе.
Чтобы проверить установку утилиты откройте интерфейс командной строки и выполните команду:
o2 --version
В результате выполнения должна отобразиться версия решателя.
Доступные команды
o2
Корневая команда o2 может быть вызвана только с одним из параметров, описанных ниже:
Параметры
| Параметр | По умолчанию | Описание |
|---|---|---|
-v, --version | При указании данного параметра выводит версию сборки | |
-h, -?, --help | Выводит справку по использованию утилиты |
Пример вызова
o2 --version
o2 --help
o2 solve
Выполняет решение модели и записывает результат в выходной файл.
Аргументы
| Аргумент | Описание |
|---|---|
| modelPath | Путь к файлу модели |
Параметры
| Параметр | По умолчанию | Описание |
|---|---|---|
-o, --output | ./{имя_файла_модели}.o2s | Путь, по которому необходимо сохранить решение |
-s, --solver | Тип решателя. Доступны значения: glop, clp, pdlp, cbc, scip, glpk, bop, sat, dp, items64, bf | |
-tl, --time-limit | 0 (без ограничения) | Максимальное время поиска решения в секундах |
-tn, --threads-number | 0 (использует все ядра) | Максимальное количество потоков при поиске |
-cc, --customer-code | Код лицензиата для отбора лицензий (если не указан, будет применяться только Community-лицензия) | |
-v, --verbosity | normal | Уровень детализации вывода. Возможные значения: quiet, minimal, normal, detailed, diagnostic |
-h, -?, --help | Выводит справку по использованию команды |
Примеры вызова
- Пример №1
- Пример №2
o2 solve "C:\path\to\model.o2m"
Решение будет сохранено в файл "model.o2s" в текущую директорию командной строки.
o2 solve "C:\path\to\model.o2m" -o "C:\other\path\to\solution.o2s" -v quiet
Решение будет сохранено в файл по адресу "C:\other\path\to\solution.o2s".
o2 validate
Выполняет проверку корректности модели и выводит результат.
Аргументы
| Аргумент | Описание |
|---|---|
| modelPath | Путь к файлу модели |
Параметры
| Параметр | По умолчанию | Описание |
|---|---|---|
-v, --verbosity | normal | Уровень детализации вывода. Возможные значения: quiet, minimal, normal, detailed, diagnostic |
-h, -?, --help | Выводит справку по использованию команды |
Примеры вызова
- Пример №1
- Пример №2
o2 validate "C:\path\to\model.o2m"
o2 validate "C:\path\to\model.o2m" -v quiet
o2 inspect
Выводит метаданные указанного файла модели или решения.
Аргументы
| Аргумент | Описание |
|---|---|
| filePath | Путь к файлу модели или решения |
Параметры
| Параметр | По умолчанию | Описание |
|---|---|---|
-v, --verbosity | normal | Уровень детализации вывода. Возможные значения: quiet, minimal, normal, detailed, diagnostic |
-h, -?, --help | Выводит справку по использованию команды |
Примеры вызова
- Пример №1
- Пример №2
o2 inspect "C:\path\to\model.o2m"
o2 inspect "C:\path\to\solution.o2s" -v quiet
o2 run
Запускает решатель в режиме web-сервиса.
Параметры
| Параметр | По умолчанию | Описание |
|---|---|---|
-p, --port | 4762 | Порт сервиса |
-v, --verbosity | normal | Уровень детализации вывода. Возможные значения: quiet, minimal, normal, detailed, diagnostic |
-h, -?, --help | Выводит справку по использованию команды |
Примеры вызова
- Пример №1
- Пример №2
o2 run
o2 run --port 5500