3
$\begingroup$

I am currently to invoke solvers, CPLEX, in particular.

As I am solving my problem sequentially, i.e., the top-level subproblem results are being used to generate the model of the next subproblem.

To prevent cycling and suboptimality, I would like to be able to retrieve all the solutions of the top-level subproblem so as to generate and solve all possible realizations of the next subproblem.

$\endgroup$
2
  • $\begingroup$ Does "I would like to be able to retrieve all the solutions of the top-level subproblem" mean that you would like all optimal solutions or all solutions found by cplex during the solution process? $\endgroup$
    – Sune
    Jan 2, 2021 at 23:41
  • $\begingroup$ Hi, I suppose I would like to have the freedom to do both so that I am able to cater to all possible scenarios for flexibility in implementation. Thanks! $\endgroup$
    – Mike
    Jan 3, 2021 at 3:05

1 Answer 1

5
$\begingroup$

It seems you should take a look at the solution pool feature in CPLEX. This allows you to collect multiple solutions during the branch and bound search and to examine these solutions afterwards. I don't know how to do this in pyomo but you can find more information here https://www.ibm.com/support/knowledgecenter/SSSA5P_12.5.1/ilog.odms.ide.help/OPL_Studio/usroplide/topics/opl_ide_solpool_ide.html In my version of CPLEX there is an example file called Populate/IloPopulate (depending on language) which was quite useful when I needed to know this feature. Maybe it could be of help to you too.

$\endgroup$
1
  • $\begingroup$ Thanks, appreciate your advice. Guess I would have to find a way to work around as Pyomo does have have the facility to invoke solution pools. $\endgroup$
    – Mike
    Feb 19, 2021 at 3:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.