Python Gekko: Increasing value of objective_convergence_tolerance for Solver=2 (BPOPT)

Viewed 67

Is there a way to increase the value of objective_convergence_tolerance for Solver=2 (BPOPT)?

It seems to be working only for Solver = 1 and 2.

Thanks.

1 Answers

There are 4 parts that are checked for convergence including:

  1. max(abs(g + a^T * lam - zL + zU))/s_d
  2. max(abs(c))
  3. max(abs(diag[x-xL s-sL]*zL - mu))/s_c
  4. max(abs(diag[xU-x sU-s]*zU - mu))/s_c

The maximum of these 4 parts must be less than the convergence tolerance. Right now there is no separate objective function convergence criterion. Gekko has 3 solvers that are included with the publicly available version including:

  1. APOPT
  2. BPOPT
  3. IPOPT

The BPOPT solver isn't typically one one of the best solvers if you'd like to try m.options.SOLVER=1 (APOPT) or m.options.SOLVER=3 (IPOPT).

Related