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

Импорт и экспорт моделей

Для импорта готовых моделей, созданных с применением других инструментов, и экспорта моделей в файл в ArhiPlex имеется функционал работы с текстовыми описаниями моделей.

Импорт моделей из файла

Для чтения модели из файла и запуска расчёта используется метод Model.read().

import arhiplexpy 

model = arhiplexpy.Model()
model.read("model.lp")  

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

Экспорт модели в файл

ArhiPlex поддерживает два основных расширения файлов для хранения и обработки записи математических моделей - .lp, .mps. Для записи в файл .lp используется метод Model.write_lp(), а для записи в файл .mps - Model.write_mps(). В качестве параметра методу передается название файла (file_name).

import arhiplexpy

# Создание экземпляра модели
model = arhiplexpy.Model()

# Создание переменных
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.minimize)

# Сохранить в формат LP, MPS
model.write_lp(file_name='model_lp.lp')
model.write_mps(file_name='model_mps.mps')