Hi Kim and Khalid,
Thank you for considering using MindtPy. I'm leading that solver development.
Regarding your questions:
0. MindtPy stands for Mixed-integer nonlinear decomposition toolbox in Pyomo. As such, it implements decomposition techniques to address MINLP problems. These techniques rely on breaking down the problem into subproblems, which can, for example, be addressed more efficiently using other solvers. In particular, the main algorithm implemented in MindtPy is Outer-approximation. The MINLP problem is decomposed on mixed-integer linear and continuous nonlinear programs there. Each one of those needs to be solved with a solver tailored to that problem structure. The solutions of these subproblems are synchronized to provide a solution to the original MINLP problem.
1. With MindtPy, you can use any solver supported by Pyomo for the mixed-integer linear program (CBC, CPLEX, GLPK, Gurobi) and the nonlinear program (IPOPT, BARON, SCIP). For the first case, the issue is mainly a matter of what works best for your problem and for which you have licenses to use, while in the NLP, the difference is a little more significant. IPOPT can only guarantee that you reach the global optimal solution if you have a convex problem, while SCIP and BARON can solve to global optimality, even non-convex problems, at the expense of taking some extra time to prove global optimality in these problems. We have a version of the algorithm called Global Outer Approximation, which can tackle those problems. Also, note that both SCIP and BARON can solve the original MINLP problem.
Cheers,
David