SCIP - run (nearly) same LP on different instances

Viewed 102

I have an LP, formulated in the modelling language Zimpl, that I want to run on many instances, which are in different files. Additionally, I want to change one parameter in this LP. For a single call, my file test.zpl looks like this:

param FILE := "file1.dat"
param BOUND := 42

[test_body: Rest of LP]

Now I want to change those two parameters. SCIP has the -c option, to execute some command. But I cannot find by which command to achieve this. All parameter changes I found affect the algorithm, not the data.

The command change to change the problem does not seem to allow new parameters/variables.

In the end, I expect the solution to look something like

scip -c "[set my parameters]; read test_body.zpl; optimize; quit"

How do I set these problem parameters?

1 Answers

I am not aware of any commands that support the modification of model parameters as you wish. However, if you don't hardcode the value of param BOUND in the .zpl file (instead, move the value to the .dat file and use a proper read command in the model), then you could procede as follows:

  1. Make a copy of your data file such that each copy contains a distinct value of param BOUND
  2. Call scip.exe separately with each data file (you could also use a simple batch script)
Related