Skip to content

Releases: linjing-lab/optimtool

optimtool-2.8.2

14 Dec 14:18
Compare
Choose a tag to compare

Improved Detail:

  • remove input parameter named res of both methods of nonmonotonic_search which exists in v2.8.1, and reduce the computed times of res.subs operation, replace res0 with a negative value of variable d (present as dk in barzilar_borwein method).

optimtool-2.8.1

14 Dec 06:00
Compare
Choose a tag to compare

Simplified Details:

  • disable .jacobian operation of any method of _search file, and input the first derivative from the main algorithms, mainly to reduce the gradient computed times of linear_search and nonmonotonic_search, in order to accelerate the execution of any method of constrain folder by reducing the computational burden of its search kernel.

optimtool-2.8.0

13 Dec 12:42
Compare
Choose a tag to compare

Improved Details:

  • reduced opening memory of hessiani in dfp method, v2.7.3 is an optimized version of newton_quasi compared to previous versions.
  • reduce the calculation times of Lasso.approximate_point method, mainly to simplify the executed updated gradient in iterating points.
  • unify the updated operation of penalty methods, and adjust the default epsilon of example.Lasso.* to balance precision in case of tests.
  • select "L1" mode in obtaining the last iteration value of objective function in Lasso method before it was appended into the final output.

optimtool-2.7.3

13 Dec 04:49
Compare
Choose a tag to compare

Upgraded Details:

  • reduce the calculation times of bfgs and dfp method of newton_quasi file, mainly to reduce the updated runtime of Hessian matrix.

optimtool-2.7.2

06 Dec 16:19
Compare
Choose a tag to compare

Enhancement:

  • add MulType, PowerType, AddType to support the most common operators in constructing input conform to FuncArray.

Users should make sure the differentiable objective function with local minima that can be constructed with operators from sympy and adapt to rules according to FuncType.

optimtool-2.7.1

01 Dec 14:33
Compare
Choose a tag to compare

Improved Comparison:

  • Enhance the comparison of internal values by taking indexes, like alpha_down from barzilar_borwein, pk from levenberg_marquardt, pk from steihaug_CG.

optimtool-2.7.0

27 Nov 02:48
Compare
Choose a tag to compare

Improved Details:

  • optimized the calculation times of delta value in newton_quasi methods by reusing delta (sk).
  • reshape dk returned from conjugate method of levenberg_marquardt algorithm to pass test.

optimtool-2.6.2

08 Nov 08:22
Compare
Choose a tag to compare

Upgraded Traits:

  • add p2t function to verify the input value named x_0 in optimtool.example.Lasso.py.
  • adjust break epsilon to 1e-4 in optimtool.hybrid.*, shorten algorithms execution time.

see test_hybrid.py which solved the underling issue:

$$ \min x^2+2xy+y^2+2x-2y \\ \ \mathrm{s.t.} x \geq 0, y \geq 0 $$

with optimal points around (0, 1).

optimtool-2.6.1

22 Oct 12:07
Compare
Choose a tag to compare

Improved Trait:

  • add assertion in L_BFGS to make users not to set value m with a negative which exists in double_loop.
  • add assertion in example to provide less rigorous validation for the methods involved.

see test_L_BFGS.py which tested L_BFGS method.

optimtool-2.6.0

19 Oct 15:18
Compare
Choose a tag to compare

Fixed Bug:

  • fixed bug returned from numpy.core._exceptions._UFuncOutputCastingError: Cannot cast ufunc 'add' output from dtype('float64') to dtype('int64') with casting rule 'same_kind', though manually set default parameter to float can avoid this issue.

see test_lag.py which solved the above issue in this version.