Hi everyone! I'm working with baron to solve an integer problem whose objective is to maximize a convex function (max f(x,u)) over a compact set where all variables are lower and upper bounded. The problem is that, sometimes, baron reports and objective value that does not coincide with the true value of the objective function once I substitute the optimal x* and u* (i.e., baron's reported objective is not equal to f(x*,u*)). As an illustration, I copy here one output and I attach simplified files so anyone can reproduce this on their computers. I would appreciate any help. Thanks!! ----------------------------------------------------------------------------------------------------------------------------------------------------------- BARON 18.11.12 (2018.11.12): maxtime=-1 outlev=1 =========================================================================== BARON version 18.11.12. Built: WIN-64 Mon Nov 12 22:19:44 EST 2018 BARON is a product of The Optimization Firm. For information on BARON, see https://minlp.com/about-baron If you use this software, please cite publications from https://minlp.com/baron-publications, such as: Kilinc, M. and N. V. Sahinidis, Exploiting integrality in the global optimization of mixed-integer nonlinear programming problems in BARON, Optimization Methods and Software, 33, 540-562, 2018. =========================================================================== This BARON run may utilize the following subsolver(s) For LP/MIP: CLP/CBC For NLP: IPOPT, FILTERSD, FILTERSQP =========================================================================== Preprocessing found feasible solution with value 97.4672000000 Preprocessing found feasible solution with value 138.369030126 Doing local search Preprocessing found feasible solution with value 7537.83972031 Solving bounding LP Starting multi-start local search Done with local search =========================================================================== Iteration Open nodes Time (s) Lower bound Upper bound 1 0 0.08 7537.84 7537.85 Cleaning up *** Normal completion *** Wall clock time: 0.00 Total CPU time used: 0.08 Total no. of BaR iterations: 1 Best solution found at node: 1 Max. no. of nodes in memory: 1 All done =========================================================================== BARON 18.11.12 (2018.11.12): 1 iterations, optimal within tolerances. Objective 7537.83972 of_Psubproblem_T_int = -16.8444 ampl: show Psubproblem_T_int; problem Psubproblem_T_int: u_int, x_int, of_Psubproblem_T_int, capacity_constraint_int, probability_constraint_int, resource_constraint_int; ampl: show of_Psubproblem_T_int; maximize of_Psubproblem_T_int: -theta_param[T] - sum{i in LEGS} W_param[T,i]* x_int[i] + sum{k in APPROX} V_param[T,k]*exp(-(sum{i in LEGS} beta_param[i,T ,k]*x_int[i])) + sum{j in PRODUCTS} p[j,T]*fare[j]*u_int[j]; You received this message because you are subscribed to the Google Groups "AMPL Modeling Language" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at https://groups.google.com/group/ampl. For more options, visit https://groups.google.com/d/optout. baron_testing.run (891 bytes) Download Attachment baron_testing.dat (81K) Download Attachment baron_testing.mod (1K) Download Attachment |
We are looking into this issue, and will report to the group after the cause is determined.
{#HS:804521655-38733#}
-- Robert Fourer [hidden email]
On Mon, Mar 18, 2019 at 11:59 AM UTC, Ampl Modeling Language <[hidden email]> wrote:
--
You received this message because you are subscribed to the Google Groups "AMPL Modeling Language" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at https://groups.google.com/group/ampl. For more options, visit https://groups.google.com/d/optout. |
In reply to this post by Alba Victoria
We found that the incorrect objective values seen in your BARON runs were caused by a bug in handling the unary minus operator, which occurs at the beginning of your objective function expression:
{#HS:804521655-38733#}
maximize of_Psubproblem_T_int: -theta_param[T] ... This has been fixed, and now BARON and AMPL report consistent objective values: BARON 18.11.12 (2018.11.12): 1 iterations, optimal within tolerances. Objective 118.7610936 of_Psubproblem_T_int = 118.761 The values appear to be a little different, but that is because BARON is showing the objective value to 10 significant digits, while AMPL's "display" command shows 6 significant digits by default. If you set the appropriate option to request 10 significant digits in "display", then it will show exactly the same value as BARON: ampl: option display_precision 10; ampl: display of_Psubproblem_T_int; of_Psubproblem_T_int = 118.7610936 All of our downloads now include a new build of BARON that incorporates this fix. -- Robert Fourer [hidden email]
On Tue, Mar 19, 2019 at 8:27 PM UTC, AMPL Google Group <[hidden email]> wrote:
You received this message because you are subscribed to the Google Groups "AMPL Modeling Language" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at https://groups.google.com/group/ampl. For more options, visit https://groups.google.com/d/optout. |
Free forum by Nabble | Edit this page |