Перейти к содержанию

Быстрый старт

В данном разделе представлены минимально необходимые основные шаги для начала работы с ArhiCloud.

Регистрация

Для того, чтобы воспользоваться базовыми возможностями сервиса ArhiCloud зарегистрируйте учётную запись на портале arhicloud.arhitex.com, заполнив регистрационную форму.

Получение пробной лицензии

Получите пробную лицензию. Пробная лицензия позволяет Пользователю оценить возможности облачного сервиса расчёта задач математической оптимизации. В рамках пробной лицензии Пользователю доступно решение задач с лимитом по времени не более 30 минут на решение одной задачи, а общее доступное время расчёта - не более 10 часов.

Для получения пробной лицензии:

  1. Авторизуйтесь в личном кабинете по адресу arhicloud.arhitex.com
  2. Перейдите на вкладку "Лицензии". Так как у вас ранее не было лицензий, вам будет предложено создать новую. alt text
  3. Нажмите на кнопку "Создать лицензию". После перехода на страницу выбора типа лицензии, активируйте пробную лицензию, нажав на кнопку "Активировать". alt text
  4. В открывшемся модальном окне нажмите кнопку "Активировать" alt text
  5. После активации пробной лицензии на вкладке "Лицензии" вам будет доступна информация по созданной лицензии и возможности управления ключами. alt text

Получение лицензионного ключа

Выпуск лицензионного ключа доступен после активации пробной или покупки полной версии лицензии. Без выпуска лицензионного ключа использование веб-версии расчётов, API невозможно.

Для выпуска лицензионного ключа:

  1. Перейдите на вкладку "Лицензии" в левом меню alt text
  2. Нажмите на иконку ключа в строке лицензии для открытия окна управления лицензионными ключами.
  3. В открывшемся окне нажмите кнопку "Сгенерировать ключ". alt text
  4. После генерации ключа вы можете скопировать ключ для дальнейшего использования. alt text

Если кнопка генерации ключа неактивна, а на ее месте отображается сообщение о превышении лимита доступных ключей, для генерации нового ключа необходимо деактивировать один из действующих нажатием кнопки "Деактивировать".

Для использования лицензионного ключа необходимо скопировать его значение из поля "Ключ" в окне управления лицензионными ключами.

Установка лицензионного ключа

В случае, если вы планируете использовать через Python API / C++ API, вам необходимо установить лицензионный ключ на свой ПК.

Установка осуществляется через запись ключа в переменную окружения X_API_KEY операционной системы. Доступна настройка постоянного и временного действия переменной.

Для настройки постоянного действия переменной:

  1. Откройте вкладку "Дополнительно" в свойствах системы;
  2. Выберите "Переменные среды...";
  3. В открывшемся окне выберите действие "Создать...";
  4. В поле "Имя переменной" введите значение: X_API_KEY;
  5. В поле "Значение" введите значение вашего ключа лицензии;
  6. Нажмите "ОК".

После сохранения этой переменной в списке переменных окружений при каждом запуске расчёта ключ будет передан на сервер расчёта.

Для настройки временного действия задайте значение ключа одним из способов:

  • В командной строке с помощью команды set:
    set = <значение вашего ключа лицензии>
    
  • В PowerShell с помощью команды:
    $Env:X_API_KEY = <значение вашего ключа лицензии>
    

В ОС Linux установка лицензионного ключа осуществляется через запись ключа в переменную окружения X_API_KEY операционной системы. Пример команды для добавления пользовательской переменной:

export X_API_KEY=<значение вашего ключа лицензии>

После установки ключа в переменные окружения операционной системы возможен запуск расчета на удаленном сервере ArhiCloud.

Установка клиентского приложения

Для запуска решения оптимизационных задач с ПК требуется установить клиентское приложение ArhiPlex Remote Client. Актуальную версию приложение для Windows или Linux вы можете запросить в технической поддержке или получите при приобретении лицензии.

После получения приложения ArhiPlex Remote Client (файл с расширением msi) запустите его от имени администратора. Это необходимо для корректной установки и дальнейшего функционирования программы. Нажмите "Далее".

alt text

Выберите место расположения установленного приложения и нажмите "Далее".

alt text

После предложения установить программу нажмите "Установить". После окончания установки приложения нажмите "Готово" - установка завершена.

alt text

Для установки клиентского приложения для ArhiCloud выполните следующую последовательность шагов.

  1. Распакуйте архив в любую папку
    tar -xzvf ArhiplexRemoteClient-<version>-Linux.tar.gz
    
  2. После распаковки появится папка ArhiplexRemoteClient--Linux. Ее можно перенести в любое удобное место, например в /opt:
    sudo mv ArhiplexRemoteClient-<version>-Linux /opt/
    
  3. Далее необходимо установить переменные окружения. Для этого добавьте в файл .bashrc в вашей ${HOME} папке следующие строки:
    export ARHIPLEX_HOME=/opt/ArhiplexRemoteClient-<version>-Linux
    export LD_LIBRARY_PATH=${ARHIPLEX_HOME} /lib64:${LD_LIBRARY_PATH}
    
  4. Проверьте корректность установки переменных окружения через команды в терминале
    echo ${ARHIPLEX_HOME}
    echo ${LD_LIBRARY_PATH}
    
  5. Готово. Клиентское приложение к ArhiCLoud для Linux готово к работе.

Установка пакета arhiplexpy для Python

Для запуска решения на Python установите пакет arhiplexpy для взаимодействия приложений на Python с ArhiPlex или ArhiCloud. Если работа с Python пока не требуется - перейдите к шагу "Решение задачи через веб-интерфейс ArhiCloud".

Для установки пакета arhiplexpy в вашей операционной системе должен быть установлен Python версий 3.8/3.11 и пакетный менеджер pip.

Перейдите в каталог установленного ранее приложения-клиента, по умолчанию - C:\Program Files\Arhiplex Remote Client\lib\python из командной строки Windows и выполните команду

pip install .
или
python -m pip install .
При установке в venv предварительно активируйте ваше окружение.

Перейдите в терминале в директорию, в которую был установлен клиент ArhiPlex Remote Client. Выполните следующую последовательность команд для установки arhiplexpy.

cd lib64/python
pip3 install .

Маппинг наименований и анонимизация

ArhiCloud не заинтересован в получении от Пользователя чувствительной информации, поэтому, при начале расчёта на стороне клиента осущесвтляется анонимизация модели - переименование всех переменных и ограничений модели. Для того, чтобы после получения результата в приложении Пользователя была возможность дальнейшей работы с исходными наименованиями, маппинг (соответствие) исходных наименований и отправленных на расчёт сохраняется в файл на машине клиента. Пользователь имеет возможность указать путь к файлу, в который осуществляется запись маппинга.

Путь к файлу маппинга указывается в качестве параметра name_mapping_file метода Model.solve_remote() и является обязательным.

result = model.solve_remote(name_mapping_file="test.map")

Решение задачи

Рассмотрим простой пример задачи линейного целочисленного программирования (MIP).

Maximize:
x1 + 2 x2 + 3 x3 + x4
Subject to:
– x1 + x2 + x3 + 10 x4 ≤ 20
x1 – 3 x2 + x3 ≤ 30
x2 – 3.5x4 = 0
Bounds:
0 ≤ x1 ≤ 40
0 ≤ x2
0 ≤ x3
2 ≤ x4 ≤ 3
Integers:
x4

Код решения на Python выглядит следующим образом

import arhiplexpy # (1)


if __name__ == "__main__":
    model = arhiplexpy.Model()

    model.set_dbl_param("mip_rel_gap", 0.1)

    x1 = model.add_variable(0, 40, 1, arhiplexpy.variable_type.continuous, 'x1')
    x2 = model.add_variable(0, arhiplexpy.kArhiplexInf, 2,
                                                arhiplexpy.variable_type.continuous, 'x2')
    x3 = model.add_variable(0, arhiplexpy.kArhiplexInf, 3,
                                                arhiplexpy.variable_type.continuous, 'x3')
    x4 = model.add_variable(2, 3, 1, arhiplexpy.variable_type.integer, 'x4')

    model.add_constraint(x1 + x2 + x3 + 10 * x4 <= 20, 'c1')
    model.add_constraint(x1  3 * x2 + x3 <= 30, 'c2')
    model.add_constraint(x2  3.5 * x4 == 0, 'c3')

    model.set_objective_sense(arhiplexpy.objective_sense.maximize)

    result = model.solve_remote(name_mapping_file="test.map")

    if result.get_solve_result() == arhiplexpy.solve_result.success and \
        (result.get_solution_status() == arhiplexpy.solution_status.optimal or \
            result.get_solution_status() == arhiplexpy.solution_status.feasible):
                    print(result.get_solve_result())
                    print('Objective value:', result.get_objective_value())
                    print('x1:', result.get_variable_value(x1))
                    print('x2:', result.get_variable_value(x2))
                    print('x3:', result.get_variable_value(x3))
                    print('x4:', result.get_variable_value(x4))
    else:
                print(result.get_solution_status())
  1. Подключение пакета arhiplexpy для работы с элементами модели

После запуска выполнения программы в процессе решения задачи Пользователь получает лог следующего формата:

Права на использование (c) 2024 Arhitex

Параметры запуска:
presolve : on
problem_type : max
time_limit : 1000000.000000
abs_gap : 0.000001
gap : 0.0001
remote_timeout : 300
Отправка запроса на расчет . . . успешно
UID : 20240426_161046_575b9c
Начало загрузки модели . . . успешно
Ожидание начала расчета . . . .

Запуск Arhiplex 1.0.10
Права на использование (c) 2024 Arhitex

Оригинальная задача MILP temp.aps содержит:
 всего ограничений: 3
  всего переменных: 4
дробных переменных: 3
  целых переменных: 3              
Результат решения задачи:

      Лучшая Граница    |      Лучшее Решение    |    Точность  |    Итераций  |    Время
------------------------+------------------------+--------------+--------------+---------
             125.208333 |             122.500000 |         2.21 |            3 |       0 с
Objective value: 122.5
x1: 40.0
x2: 10.5
x3: 19.5
x4: 3.0

Решение задачи через веб-интерфейс ArhiCloud

Для более быстрого старта работы с ArhiCloud и тестирования решения на ваших задачах имеется возможность решения задач из файла в веб-версии сервиса.

Сервис расчета в веб-версии доступен на вкладке "Расчеты" основного меню. Для запуска расчета:

  1. Перейдите на вкладку "Расчеты" основного меню сервиса. Затем - на вкладку "Загрузить файл". alt text

  2. Загрузите или перетащите в выделенную область для файлов нужное количество файлов с математической моделью форматов .lp или .mps. Количество файлов в рамках одного расчёта - не более 10. Выберите из выпадающего списка лицензионный ключ и укажите время расчёта в секундах (но не более 1800 - в соответствии с ограничениями пробной лицензии). alt text

  3. Нажмите кнопку "Начать расчет".
  4. После начала расчёта вы будете перенаправлены на страницу расчёта, на которой отображён список задач и статус их решения.

alt text Чтобы скачать решение задачи, воспользуйтесь кнопкой "Решение" (2). Файлы с решениями содержат значения переменных, описанные в загруженных задачах.

Скачать лог расчёта вы можете, нажав на кнопку "Лог" (1) напротив завершенного расчёта.

Для просмотра истории онлайн расчетов перейдите в раздел "Список расчетов" в верхней части экрана. Детализация каждого расчета по задачам доступна по нажатию кнопкой мыши на строку с выбранным расчетом.