This commit is contained in:
Laurent Perron
2022-10-11 15:03:31 +02:00
parent d636529013
commit 5f43e9bc51

View File

@@ -0,0 +1,39 @@
from absl import app
from absl import flags
from ortools.linear_solver.python import model_builder
FLAGS = flags.FLAGS
_INPUT = flags.DEFINE_string('input', '', 'Input file to load and solve.')
_PARAMS = flags.DEFINE_string('params', '', 'Solver parameters in string format.')
_SOLVER = flags.DEFINE_string('solver', 'sat', 'Solver type to solve the model with.')
def main(_):
model = model_builder.ModelBuilder()
# Load MPS file.
if not model.import_from_mps_file(_INPUT.value):
print(f'Cannot import MPS file: \'{_INPUT.value}\'')
return
# Create solver.
solver = model_builder.ModelSolver(_SOLVER.value)
if not solver:
print(f'Cannot create solver with name \'{_SOLVER.value}\'')
return
# Set parameters.
if _PARAMS.value:
solver.set_solver_specific_parameters(_PARAMS.value)
# Enable the output of the solver.
solver.enable_output(True)
# And solve.
solver.solve(model)
if __name__ == '__main__':
app.run(main)