Hello all,

I have a NLP pooling model (water networks) and I solve it using the following strategy:

OPTION NLP=CONOPT4

OPTCR=0.0001;

MODEL WATER /ALL/;

SOLVE WATER using NLP minimising OB;

OPTION MINLP=ANTIGONE;

SOLVE WATER using MINLP minimising OB;

However ANTIGONE does not assume the CONOPT results as initialisation, and therefore starts from scratch. Any insight on why this happens?

Thanks

What do you mean starting from scratch? Antigone is a global solver and the only thing it could gather from the initial point produced by Conopt is a starting point for it’s heuristics to look for an integer feasible point. If you use a local MINLP solver based on NLP relaxations, e.g. SBB or DICOPT, the root relaxation would be fast because Conopt solved this already in the first solve statement (you probably had an RMINLP not NLP as the model type). MIP solvers like Cplex also don’t gain much if you provide it with an optimum basis for the relaxed LP problem.

-Michael

Initial point yes. I intend to find any initial feasible point to start Antigone with it.

For example, I know you can use a simplified model to find any initial non optimal point and provide that point to start the global solver.

Regardless, what you are saying is that to use a model in order to provide a solution to Antigone, it must be a RMINLP or a simpler MINLP?

Ill try that.

Thanks

No. It does not matter where the initial values come from. In your example you use “SOLVE WATER using NLP” and “SOLVE WATER using MINLP” that only works if you have no discrete variables in your model (and then solving it as MINLP is pointless). If you have discrete variables in model WATER and try to solve as “NLP” the compiler will already complain. You can solve the relaxed model of an MINLP with model type RMINLP.

-Michael