Solver didn't provide marginals for model fulfilment

Solver related questions
Post Reply
lixlz51
User
User
Posts: 11
Joined: 5 years ago
Location: University of Nottingham, UK

Solver didn't provide marginals for model fulfilment

Post by lixlz51 »

Hi everyone,

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!
User avatar
dirkse
Moderator
Moderator
Posts: 214
Joined: 7 years ago
Location: Fairfax, VA

Re: Solver didn't provide marginals for model fulfilment

Post by dirkse »

Hello lixlz51,

Your post raised some questions. First, you don't say anything about yourself (name, affiliation, etc.) This forum isn't intended for anonymous usage.

Second, what do you mean by "model fulfillment"? What is it you would do with the marginal values (for a MINLP) that BARON might return?

-Steve
lixlz51
User
User
Posts: 11
Joined: 5 years ago
Location: University of Nottingham, UK

Re: Solver didn't provide marginals for model fulfilment

Post by lixlz51 »

Hi Steve,

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!
User avatar
dirkse
Moderator
Moderator
Posts: 214
Joined: 7 years ago
Location: Fairfax, VA

Re: Solver didn't provide marginals for model fulfilment

Post by dirkse »

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.

HTH,

-Steve
lixlz51
User
User
Posts: 11
Joined: 5 years ago
Location: University of Nottingham, UK

Re: Solver didn't provide marginals for model fulfilment

Post by lixlz51 »

Hi dirkse,

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.
Attachments
3JL.PNG
User avatar
dirkse
Moderator
Moderator
Posts: 214
Joined: 7 years ago
Location: Fairfax, VA

Re: Solver didn't provide marginals for model fulfilment

Post by dirkse »

Hi,

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:

Code: Select all

               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.

If you reduce the relative optimality tolerance (see https://www.gams.com/latest/docs/UG_Opt ... arch=optcr for details) you can get a better bound. If you set it to zero, you can get a model status of 1 Optimal.

HTH,

-Steve
lixlz51
User
User
Posts: 11
Joined: 5 years ago
Location: University of Nottingham, UK

Re: Solver didn't provide marginals for model fulfilment

Post by lixlz51 »

Dear Steve,

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!

Cheers,
Lina
Post Reply