I used BARON for my MINLP model (linear constraint but non linear objective function) and the solver report shows normal completion and solver did not provide marginals for model fulfilment. Does it mean the solution is not optimal? If so, how should I solve the problem? Thank you very much indeed!

Thank you for pointing that out for me! I totally forgot to complete my profile. Basically, I have developed a MINLP model for online order fulfilment for my study. I wanted to check the marginal value to see the shadow price for sensitivity analysis. I used ANTIGONE and it gives marginal but the values are like 2000ish for the decision variables. I am not sure whether I compiled the model correctly now. The solver summary for ANTIGONE says:
Solver status: 1 Normal completion
Model status: 8 Integer solution

Termination status: Global minimum.

Does it mean it is global optimal? Thank you very much indeed!

The model status of 8 Integer Solution indicates that the solver has found an integer solution, but it is not making the stronger claim that it is the globally optimal solution. This is somewhat at odds with the message “Termination status: Global minimum.” that you have in your note. Without seeing the log I could not say more about what ANTIGONE has claimed to find.

The question of whether marginals are returned and how to interpret them is orthogonal to the termination status question: whether the current integer-feasible point is a global optimum or not, the marginals would be computed and interpreted in the same way: the discrete vars are fixed at their current values and the resultant NLP marginals are returned.

Thank you so much for the reply. I got a screenshot for the log. I have reduced the the number of stores from 8 to 3 to hopefully understand the mechanism better.

I can get similar output using the procsel model from the GAMS model library, so I’ll use that output as an example. Running with defaults (but ANTIGONE as the solver) I get this in the .lst file:

S O L V E S U M M A R Y
MODEL process OBJECTIVE pr
TYPE MINLP DIRECTION MAXIMIZE
SOLVER ANTIGONE FROM LINE 96
**** SOLVER STATUS 1 Normal Completion
**** MODEL STATUS 8 Integer Solution
**** OBJECTIVE VALUE 1.9231
RESOURCE USAGE, LIMIT 0.054 1000.000
ITERATION COUNT, LIMIT 4 2000000000
EVALUATION ERRORS 0 0
ANTIGONE 25.1.2 r67455 Released Aug 1, 2018 WEI x86 64bit/MS Windows
-------------------------------------------------------------------------------
ANTIGONE: Algorithms for coNTinuous/Integer Global Optimization; Version 1.1
Ruth Misener and Christodoulos A. Floudas
Computer-Aided Systems Laboratory (CASL)
Department of Chemical & Biological Engineering; Princeton University
-------------------------------------------------------------------------------
Termination Status : Global maximum
Best Feasible Point: +1.923099e+00
Best Possible Point: +2.115409e+00
Relative Gap: +1.000000e-01

The MODEL STATUS of 8 Integer Solution indicates that an integer feasible solution has been found, but that no claim of global optimality is being made. This is consistent with the lines further down about Best Feasible Point, Best Possible Point, and Relative Gap. Unfortunately, the line just above that - Termination Status : Global maximum - is not consistent with what the solver is actually reporting. I’m not sure why that line is there, but I guess it has some history and that this is not the first time someone has been confused by it. If I learn more about that I’ll let you know.

Thank you very much indeed for the illustration and explanation! I shall try with the optimality tolerance reduction and see how it goes. Have a good week!