Optimize slices of the model

  • 27 June 2019
  • 1 reply


I have a model that is indexed over N time periods, and each period is an independent problem. As a result, I want to solve N smaller optimization problems, instead of a big one.

The way that I am currently doing it, is by restricting the domain of the calendar to one year in a loop and the optimization model automatically drops irrelevant variables and constraints. At the end I collect the data from the N optimizations, and create my results.

Unfortunately, the above method is not bullet proof since, some of the optimization problems are falsely reported as infeasible. If I solve them manually for just 1 time period, then they get the correct optimal solution. The .lp files generated within the loop, are identical to the .lp files that I generate if I construct each model for just 1 time period, but in the first case I get infeasible statuses, whereas in the second everything is fine. The IIS of CPLEX gets into an infinite loop and cannot find the cause of infeasibility, and AIMMS eventually crashes.

Is there any better + fail safe way to solve slices of an optimization model ?


1 reply

Userlevel 4
Badge +3
Hi, what confuses me is if the two .lp files are the same, why the solving results are different. What options do you set for the solver? Like using advanced basis?

And would you try to solve the two lp files directly by using GMP::Tuning::SolveSingleMPS function (seeing example :https://www.aimms.com/english/developers/resources/examples/functional-examples/mps-file-functions/). Do they return the same result?


Didn't find what you were looking for? Try searching on our documentation pages:

AIMMS Developer & PRO | AIMMS How-To | AIMMS SC Navigator