
╔══════════════════════════════════════════════════════════════════╗
║          UNCONSTRAINED OPTIMIZATION BENCHMARKS                   ║
║          Default hyperparameters · 5 optimizers · 15 problems    ║
╚══════════════════════════════════════════════════════════════════╝

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Sphere
  Dim: 2 | Type: Unimodal, convex
  Known min: f(0.0000, 0.0000) = 0.000000
  x0 = (5.0000, -3.0000)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     | Method          | Settings                                              | Found Value  | Found Point               | |Error|      | Dist to Opt | Conv | Iters | Fn Evals | Time (ms)
  ---+-----------------+-------------------------------------------------------+--------------+---------------------------+--------------+-------------+------+-------+----------+----------
  ✅  | Nelder-Mead     | maxIterations=10000                                   | 1.333630e-10 | (1.1515e-5, 8.7146e-7)    | 1.333630e-10 | 1.154829e-5 | yes  |    49 |       97 |       0.4
  ✅  | PSO             | maxIterations=10000, swarmSize=50, seed=42            | 1.740071e-12 | (-6.7131e-7, -1.1355e-6)  | 1.740071e-12 | 1.319117e-6 | yes  |   120 |     6050 |       2.1
  ✅  | GradientDescent | maxIterations=10000, learningRate=0.001, momentum=0.9 |  1.301821e-8 | (9.7838e-5, -5.8703e-5)   |  1.301821e-8 | 1.140974e-4 | yes  |   419 |     2096 |       0.5
  ✅  | Adam            | maxIterations=10000, learningRate=0.1                 | 1.365305e-10 | (9.3130e-8, 1.1684e-5)    | 1.365305e-10 | 1.168463e-5 | yes  |   243 |     1216 |       0.4
  ✅  | L-BFGS          | maxIterations=1000, historySize=10                    | 5.247833e-16 | (-2.2903e-8, -4.6884e-10) | 5.247833e-16 | 2.290815e-8 | yes  |     1 |       11 |       0.2
  ✅  | L-BFGS-B        | maxIterations=1000, historySize=10                    | 1.274799e-15 | (3.5527e-8, 3.5527e-9)    | 1.274799e-15 | 3.570433e-8 | yes  |     2 |       15 |       1.3

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Rosenbrock
  Dim: 2 | Type: Unimodal, narrow valley
  Known min: f(1.0000, 1.0000) = 0.000000
  x0 = (-1.2000, 1.0000)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     | Method          | Settings                                              | Found Value  | Found Point      | |Error|      | Dist to Opt | Conv | Iters | Fn Evals | Time (ms)
  ---+-----------------+-------------------------------------------------------+--------------+------------------+--------------+-------------+------+-------+----------+----------
  ✅  | Nelder-Mead     | maxIterations=10000                                   | 6.107580e-11 | (1.0000, 1.0000) | 6.107580e-11 | 1.738552e-5 | yes  |    86 |      162 |       0.2
  ✅  | PSO             | maxIterations=10000, swarmSize=50, seed=42            |  5.161520e-9 | (1.0001, 1.0001) |  5.161520e-9 | 1.428731e-4 | yes  |   196 |     9850 |       2.1
  ⚠  | GradientDescent | maxIterations=10000, learningRate=0.001, momentum=0.9 |  7.899338e-7 | (0.9991, 0.9982) |  7.899338e-7 |    0.001988 | yes  |  1414 |     7071 |       0.8
  ✅  | Adam            | maxIterations=10000, learningRate=0.1                 |  1.847523e-7 | (0.9996, 0.9991) |  1.847523e-7 | 9.617030e-4 | yes  |  1223 |     6116 |       0.5
  ✅  | L-BFGS          | maxIterations=1000, historySize=10                    | 2.385698e-12 | (1.0000, 1.0000) | 2.385698e-12 | 2.232702e-6 | yes  |   671 |     3387 |       0.9
  ✅  | L-BFGS-B        | maxIterations=1000, historySize=10                    | 1.679813e-15 | (1.0000, 1.0000) | 1.679813e-15 | 2.267000e-8 | yes  |    37 |      220 |       4.1

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Beale
  Dim: 2 | Type: Unimodal, non-convex
  Known min: f(3.0000, 0.5000) = 0.000000
  x0 = (0.0000, 0.0000)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     | Method          | Settings                                              | Found Value  | Found Point      | |Error|      | Dist to Opt | Conv | Iters | Fn Evals | Time (ms)
  ---+-----------------+-------------------------------------------------------+--------------+------------------+--------------+-------------+------+-------+----------+----------
  ✅  | Nelder-Mead     | maxIterations=10000                                   | 5.525326e-10 | (2.9999, 0.5000) | 5.525326e-10 | 5.998370e-5 | yes  |    82 |      161 |       0.1
  ✅  | PSO             | maxIterations=10000, swarmSize=50, seed=42            | 1.640746e-12 | (3.0000, 0.5000) | 1.640746e-12 | 2.693101e-6 | yes  |   121 |     6100 |       0.4
  ⚠  | GradientDescent | maxIterations=10000, learningRate=0.001, momentum=0.9 |  1.172679e-6 | (2.9973, 0.4993) |  1.172679e-6 |    0.002785 | yes  |  1536 |     7681 |       0.2
  ✅  | Adam            | maxIterations=10000, learningRate=0.1                 |  1.547570e-8 | (2.9997, 0.4999) |  1.547570e-8 | 3.203392e-4 | yes  |   399 |     1996 |       0.1
  ✅  | L-BFGS          | maxIterations=1000, historySize=10                    | 1.955943e-11 | (3.0000, 0.5000) | 1.955943e-11 | 3.430138e-6 | yes  |     9 |       54 |       0.1
  ✅  | L-BFGS-B        | maxIterations=1000, historySize=10                    | 4.953978e-16 | (3.0000, 0.5000) | 4.953978e-16 | 1.703927e-8 | yes  |    13 |       70 |       0.7

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Booth
  Dim: 2 | Type: Unimodal, convex
  Known min: f(1.0000, 3.0000) = 0.000000
  x0 = (0.0000, 0.0000)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     | Method          | Settings                                              | Found Value  | Found Point      | |Error|      | Dist to Opt | Conv | Iters | Fn Evals | Time (ms)
  ---+-----------------+-------------------------------------------------------+--------------+------------------+--------------+-------------+------+-------+----------+----------
  ✅  | Nelder-Mead     | maxIterations=10000                                   | 3.024584e-10 | (1.0000, 3.0000) | 3.024584e-10 | 1.290332e-5 | yes  |    70 |      139 |       0.1
  ✅  | PSO             | maxIterations=10000, swarmSize=50, seed=42            | 3.952246e-12 | (1.0000, 3.0000) | 3.952246e-12 | 1.938133e-6 | yes  |   114 |     5750 |       0.4
  ✅  | GradientDescent | maxIterations=10000, learningRate=0.001, momentum=0.9 |  1.248685e-8 | (1.0001, 2.9999) |  1.248685e-8 | 1.117446e-4 | yes  |   367 |     1836 |       0.1
  ✅  | Adam            | maxIterations=10000, learningRate=0.1                 | 1.401979e-10 | (1.0000, 3.0000) | 1.401979e-10 | 3.973133e-6 | yes  |   297 |     1486 |       0.1
  ✅  | L-BFGS          | maxIterations=1000, historySize=10                    | 9.891883e-14 | (1.0000, 3.0000) | 9.891883e-14 | 2.271118e-7 | yes  |     8 |       49 |       0.0
  ✅  | L-BFGS-B        | maxIterations=1000, historySize=10                    | 2.104697e-17 | (1.0000, 3.0000) | 2.104697e-17 | 4.488685e-9 | yes  |     6 |       35 |       0.1

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Matyas
  Dim: 2 | Type: Unimodal, convex
  Known min: f(0.0000, 0.0000) = 0.000000
  x0 = (5.0000, -5.0000)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     | Method          | Settings                                              | Found Value  | Found Point              | |Error|      | Dist to Opt | Conv | Iters | Fn Evals | Time (ms)
  ---+-----------------+-------------------------------------------------------+--------------+--------------------------+--------------+-------------+------+-------+----------+----------
  ✅  | Nelder-Mead     | maxIterations=10000                                   | 1.518300e-10 | (6.0988e-5, 5.0489e-5)   | 1.518300e-10 | 7.917481e-5 | yes  |    43 |       82 |       0.1
  ✅  | PSO             | maxIterations=10000, swarmSize=50, seed=42            | 5.415947e-13 | (-3.4107e-6, -3.7502e-6) | 5.415947e-13 | 5.069182e-6 | yes  |   124 |     6250 |       0.6
  ✅  | GradientDescent | maxIterations=10000, learningRate=0.001, momentum=0.9 |  1.459864e-7 | (3.8208e-4, -3.8208e-4)  |  1.459864e-7 | 5.403451e-4 | yes  |   858 |     4291 |       0.1
  ⚠  | Adam            | maxIterations=10000, learningRate=0.1                 |  3.370642e-6 | (-0.0018, 0.0018)        |  3.370642e-6 |    0.002596 | yes  |   137 |      686 |       0.1
  ✅  | L-BFGS          | maxIterations=1000, historySize=10                    | 1.997598e-16 | (-5.1398e-9, 2.2903e-8)  | 1.997598e-16 | 2.347298e-8 | yes  |     1 |       10 |       0.0
  ✅  | L-BFGS-B        | maxIterations=1000, historySize=10                    | 1.072851e-16 | (-1.7764e-8, -3.5527e-8) | 1.072851e-16 | 3.972055e-8 | yes  |     2 |       15 |       0.1

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Himmelblau
  Dim: 2 | Type: Multimodal (4 minima)
  Known min: f(3.0000, 2.0000) = 0.000000
  x0 = (0.0000, 0.0000)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     | Method          | Settings                                              | Found Value  | Found Point       | |Error|      | Dist to Opt  | Conv | Iters | Fn Evals | Time (ms)
  ---+-----------------+-------------------------------------------------------+--------------+-------------------+--------------+--------------+------+-------+----------+----------
  ✅  | Nelder-Mead     | maxIterations=10000                                   | 1.427422e-10 | (3.0000, 2.0000)  | 1.427422e-10 |  1.902866e-6 | yes  |    86 |      168 |       0.1
  ✅  | PSO             | maxIterations=10000, swarmSize=50, seed=42            | 5.503297e-13 | (3.5844, -1.8481) | 5.503297e-13 |  5.128517e-7 | yes  |   130 |     6550 |       0.5
  ✅  | GradientDescent | maxIterations=10000, learningRate=0.001, momentum=0.9 | 1.033647e-12 | (3.0000, 2.0000)  | 1.033647e-12 |  1.717770e-7 | yes  |   260 |     1301 |       0.1
  ✅  | Adam            | maxIterations=10000, learningRate=0.1                 |  3.763733e-9 | (3.0000, 2.0000)  |  3.763733e-9 |  1.651527e-5 | yes  |   232 |     1161 |       0.0
  ✅  | L-BFGS          | maxIterations=1000, historySize=10                    | 6.191357e-12 | (3.0000, 2.0000)  | 6.191357e-12 |  3.881478e-7 | yes  |     9 |       57 |       0.0
  ✅  | L-BFGS-B        | maxIterations=1000, historySize=10                    | 5.465830e-20 | (3.0000, 2.0000)  | 5.465830e-20 | 6.509133e-11 | yes  |     9 |       75 |       0.2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Three-Hump Camel
  Dim: 2 | Type: Multimodal (3 local minima)
  Known min: f(0.0000, 0.0000) = 0.000000
  x0 = (2.0000, -1.0000)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     | Method          | Settings                                              | Found Value  | Found Point            | |Error|      | Dist to Opt | Conv | Iters | Fn Evals | Time (ms)
  ---+-----------------+-------------------------------------------------------+--------------+------------------------+--------------+-------------+------+-------+----------+----------
  ⚠  | Nelder-Mead     | maxIterations=10000                                   |     0.298638 | (1.7476, -0.8738)      |     0.298638 |    1.953818 | yes  |    33 |       67 |       0.1
  ✅  | PSO             | maxIterations=10000, swarmSize=50, seed=42            | 1.835536e-13 | (1.5109e-8, 4.2041e-7) | 1.835536e-13 | 4.206818e-7 | yes  |   127 |     6400 |       0.6
  ⚠  | GradientDescent | maxIterations=10000, learningRate=0.001, momentum=0.9 |     0.298638 | (1.7476, -0.8739)      |     0.298638 |    1.953893 | yes  |   289 |     1446 |       0.1
  ⚠  | Adam            | maxIterations=10000, learningRate=0.1                 |     0.298638 | (1.7476, -0.8738)      |     0.298638 |    1.953822 | yes  |   169 |      846 |       0.1
  ⚠  | L-BFGS          | maxIterations=1000, historySize=10                    |     0.298638 | (1.7476, -0.8738)      |     0.298638 |    1.953823 | yes  |     9 |       55 |       0.0
  ⚠  | L-BFGS-B        | maxIterations=1000, historySize=10                    |     0.298638 | (1.7476, -0.8738)      |     0.298638 |    1.953823 | yes  |     7 |       45 |       0.1

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Rastrigin
  Dim: 2 | Type: Multimodal (highly)
  Known min: f(0.0000, 0.0000) = 0.000000
  x0 = (2.5000, -3.5000)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     | Method          | Settings                                              | Found Value  | Found Point              | |Error|      | Dist to Opt | Conv | Iters | Fn Evals | Time (ms)
  ---+-----------------+-------------------------------------------------------+--------------+--------------------------+--------------+-------------+------+-------+----------+----------
  ⚠  | Nelder-Mead     | maxIterations=10000                                   |    24.873845 | (2.9849, -3.9798)        |    24.873845 |    4.974740 | yes  |    42 |       85 |       0.1
  ✅  | PSO             | maxIterations=10000, swarmSize=50, seed=42            | 4.263256e-14 | (-4.9633e-9, -1.3966e-8) | 4.263256e-14 | 1.482155e-8 | yes  |   141 |     7100 |       1.0
  ⚠  | GradientDescent | maxIterations=10000, learningRate=0.001, momentum=0.9 |    12.934432 | (1.9899, -2.9849)        |    12.934432 |    3.587355 | yes  |   223 |     1116 |       0.1
  ⚠  | Adam            | maxIterations=10000, learningRate=0.1                 |    12.934432 | (1.9899, -2.9849)        |    12.934432 |    3.587355 | yes  |   243 |     1216 |       0.1
  ✅  | L-BFGS          | maxIterations=1000, historySize=10                    | 3.730349e-14 | (6.3119e-9, -1.2389e-8)  | 3.730349e-14 | 1.390454e-8 | yes  |     1 |       11 |       0.0
  ⚠  | L-BFGS-B        | maxIterations=1000, historySize=10                    |    12.934432 | (1.9899, -2.9849)        |    12.934432 |    3.587355 | yes  |     6 |       60 |       0.1

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Ackley
  Dim: 2 | Type: Multimodal
  Known min: f(0.0000, 0.0000) = 0.000000
  x0 = (2.0000, -2.0000)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     | Method          | Settings                                              | Found Value  | Found Point               | |Error|      | Dist to Opt  | Conv | Iters | Fn Evals | Time (ms)
  ---+-----------------+-------------------------------------------------------+--------------+---------------------------+--------------+--------------+------+-------+----------+----------
  ⚠  | Nelder-Mead     | maxIterations=10000                                   |     6.559645 | (1.9745, -1.9744)         |     6.559645 |     2.792292 | yes  |    30 |       60 |       0.1
  ✅  | PSO             | maxIterations=10000, swarmSize=50, seed=42            | 6.764012e-11 | (-8.7280e-12, 2.2265e-11) | 6.764012e-11 | 2.391443e-11 | yes  |   198 |     9950 |       1.0
  ⚠  | GradientDescent | maxIterations=10000, learningRate=0.001, momentum=0.9 |     6.559645 | (1.9745, -1.9745)         |     6.559645 |     2.792297 | yes  |   127 |      636 |       0.1
  ⚠  | Adam            | maxIterations=10000, learningRate=0.1                 |     6.559645 | (1.9745, -1.9745)         |     6.559645 |     2.792304 | yes  |   137 |      686 |       0.1
  ✅  | L-BFGS          | maxIterations=1000, historySize=10                    | 8.391510e-12 | (2.0977e-12, -2.0977e-12) | 8.391510e-12 | 2.966604e-12 | yes  |    18 |      107 |       0.0
  ✅  | L-BFGS-B        | maxIterations=1000, historySize=10                    | 1.774083e-10 | (-4.4352e-11, 4.4352e-11) | 1.774083e-10 | 6.272326e-11 | yes  |     7 |      155 |       0.2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Lévi N.13
  Dim: 2 | Type: Multimodal
  Known min: f(1.0000, 1.0000) = 0.000000
  x0 = (-4.0000, 5.0000)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     | Method          | Settings                                              | Found Value  | Found Point      | |Error|      | Dist to Opt | Conv | Iters | Fn Evals | Time (ms)
  ---+-----------------+-------------------------------------------------------+--------------+------------------+--------------+-------------+------+-------+----------+----------
  ⚠  | Nelder-Mead     | maxIterations=10000                                   |    15.974616 | (1.0000, 4.9936) |    15.974616 |    3.993640 | yes  |    60 |      118 |       0.2
  ✅  | PSO             | maxIterations=10000, swarmSize=50, seed=42            | 9.777603e-15 | (1.0000, 1.0000) | 9.777603e-15 | 7.663767e-8 | yes  |   129 |     6500 |       0.8
  ⚠  | GradientDescent | maxIterations=10000, learningRate=0.001, momentum=0.9 |     0.109874 | (0.6704, 1.0000) |     0.109874 |    0.329619 | yes  |   284 |     1421 |       0.1
  ⚠  | Adam            | maxIterations=10000, learningRate=0.1                 |    16.966524 | (0.0112, 4.9944) |    16.966524 |    4.114971 | yes  |   253 |     1266 |       0.1
  ✅  | L-BFGS          | maxIterations=1000, historySize=10                    | 1.444057e-14 | (1.0000, 1.0000) | 1.444057e-14 | 1.688747e-8 | yes  |     1 |       11 |       0.0
  ⚠  | L-BFGS-B        | maxIterations=1000, historySize=10                    |    15.974616 | (1.0000, 4.9936) |    15.974616 |    3.993641 | yes  |    15 |      165 |       0.3

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Griewank
  Dim: 2 | Type: Multimodal
  Known min: f(0.0000, 0.0000) = 0.000000
  x0 = (100.0000, -200.0000)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     | Method          | Settings                                              | Found Value  | Found Point             | |Error|      | Dist to Opt | Conv | Iters | Fn Evals | Time (ms)
  ---+-----------------+-------------------------------------------------------+--------------+-------------------------+--------------+-------------+------+-------+----------+----------
  ⚠  | Nelder-Mead     | maxIterations=10000                                   |     3.740382 | (119.3555, -26.5625)    |     3.740382 |  122.275485 | yes  |    17 |       33 |       0.1
  ✅  | PSO             | maxIterations=10000, swarmSize=50, seed=42            | 7.011058e-13 | (-1.0663e-6, 7.2685e-7) | 7.011058e-13 | 1.290487e-6 | yes  |   238 |    11950 |       1.3
  ⚠  | GradientDescent | maxIterations=10000, learningRate=0.001, momentum=0.9 |    12.352951 | (97.3404, -199.7305)    |    12.352951 |  222.187826 | yes  |   978 |     4891 |       0.2
  ⚠  | Adam            | maxIterations=10000, learningRate=0.1                 |    12.352950 | (97.3402, -199.7291)    |    12.352950 |  222.186452 | yes  |   228 |     1141 |       0.1
  ⚠  | L-BFGS          | maxIterations=1000, historySize=10                    |    12.352950 | (97.3402, -199.7291)    |    12.352950 |  222.186456 | yes  |     7 |       40 |       0.0
  ⚠  | L-BFGS-B        | maxIterations=1000, historySize=10                    |    12.352950 | (97.3402, -199.7291)    |    12.352950 |  222.186456 | yes  |     5 |       40 |       0.1

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Styblinski-Tang
  Dim: 2 | Type: Multimodal
  Known min: f(-2.9035, -2.9035) = -78.332340
  x0 = (0.0000, 0.0000)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     | Method          | Settings                                              | Found Value | Found Point        | |Error|     | Dist to Opt | Conv | Iters | Fn Evals | Time (ms)
  ---+-----------------+-------------------------------------------------------+-------------+--------------------+-------------+-------------+------+-------+----------+----------
  ⚠  | Nelder-Mead     | maxIterations=10000                                   |  -64.195612 | (2.7468, -2.9035)  |   14.136728 |    5.650341 | yes  |    90 |      177 |       0.3
  ✅  | PSO             | maxIterations=10000, swarmSize=50, seed=42            |  -78.332331 | (-2.9035, -2.9035) | 8.592457e-6 | 1.257612e-7 | yes  |   124 |     6250 |       0.8
  ✅  | GradientDescent | maxIterations=10000, learningRate=0.001, momentum=0.9 |  -78.332331 | (-2.9035, -2.9035) | 8.592461e-6 | 4.051038e-7 | yes  |   227 |     1136 |       0.1
  ⚠  | Adam            | maxIterations=10000, learningRate=0.1                 |  -78.332150 | (-2.9058, -2.9058) | 1.900169e-4 |    0.003238 | yes  |    78 |      391 |       0.1
  ✅  | L-BFGS          | maxIterations=1000, historySize=10                    |  -78.332331 | (-2.9035, -2.9035) | 8.592457e-6 | 4.075089e-8 | yes  |     7 |       44 |       0.0
  ✅  | L-BFGS-B        | maxIterations=1000, historySize=10                    |  -78.332331 | (-2.9035, -2.9035) | 8.592459e-6 | 2.758015e-7 | yes  |     4 |       50 |       0.1

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Easom
  Dim: 2 | Type: Nearly flat, narrow peak
  Known min: f(3.1416, 3.1416) = -1.000000
  x0 = (1.0000, 1.0000)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     | Method          | Settings                                              | Found Value  | Found Point      | |Error|      | Dist to Opt | Conv | Iters | Fn Evals | Time (ms)
  ---+-----------------+-------------------------------------------------------+--------------+------------------+--------------+-------------+------+-------+----------+----------
  ⚠  | Nelder-Mead     | maxIterations=10000                                   | -8.110211e-5 | (1.3054, 1.3048) |     0.999919 |    2.597159 | yes  |    20 |       40 |       0.1
  ✅  | PSO             | maxIterations=10000, swarmSize=50, seed=42            |    -1.000000 | (3.1416, 3.1416) | 3.750333e-13 | 4.999965e-7 | yes  |   112 |     5650 |       0.7
  ⚠  | GradientDescent | maxIterations=10000, learningRate=0.001, momentum=0.9 | -3.031384e-5 | (1.0000, 1.0000) |     0.999970 |    3.028621 | yes  |    50 |      251 |       0.1
  ⚠  | Adam            | maxIterations=10000, learningRate=0.1                 | -8.110216e-5 | (1.3047, 1.3047) |     0.999919 |    2.597691 | yes  |    58 |      291 |       0.1
  ❌  | L-BFGS          | maxIterations=1000, historySize=10                    | -4.806856e-5 | (1.0940, 1.0940) |     0.999952 |    2.895706 | no   |  1000 |     5005 |       0.6
  ⚠  | L-BFGS-B        | maxIterations=1000, historySize=10                    | -8.109790e-5 | (1.3032, 1.3032) |     0.999919 |    2.599893 | yes  |     2 |       55 |       0.1

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Goldstein-Price
  Dim: 2 | Type: Multimodal
  Known min: f(0.0000, -1.0000) = 3.000000
  x0 = (0.0000, 0.0000)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     | Method          | Settings                                              | Found Value | Found Point          | |Error|      | Dist to Opt | Conv | Iters | Fn Evals | Time (ms)
  ---+-----------------+-------------------------------------------------------+-------------+----------------------+--------------+-------------+------+-------+----------+----------
  ⚠  | Nelder-Mead     | maxIterations=10000                                   |   30.000000 | (-0.6000, -0.4000)   |    27.000000 |    0.848528 | yes  |    75 |      143 |       0.1
  ✅  | PSO             | maxIterations=10000, swarmSize=50, seed=42            |    3.000000 | (3.6221e-8, -1.0000) | 3.845813e-13 | 3.709538e-8 | yes  |   136 |     6850 |       0.5
  ⚠  | GradientDescent | maxIterations=10000, learningRate=0.001, momentum=0.9 |  334.333604 | (-0.7200, -0.7200)   |   331.333604 |    0.772528 | yes  |     5 |       30 |       0.1
  ⚠  | Adam            | maxIterations=10000, learningRate=0.1                 |   30.000000 | (-0.6000, -0.4000)   |    27.000000 |    0.848528 | yes  |   255 |     1276 |       0.4
  ⚠  | L-BFGS          | maxIterations=1000, historySize=10                    |   30.000000 | (-0.6000, -0.4000)   |    27.000000 |    0.848528 | yes  |    11 |       71 |       0.1
  ⚠  | L-BFGS-B        | maxIterations=1000, historySize=10                    |   30.000000 | (-0.6000, -0.4000)   |    27.000000 |    0.848528 | yes  |    11 |       70 |       0.1

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  McCormick
  Dim: 2 | Type: Multimodal
  Known min: f(-0.5472, -1.5472) = -1.913300
  x0 = (0.0000, 0.0000)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     | Method          | Settings                                              | Found Value   | Found Point                | |Error|      | Dist to Opt  | Conv | Iters | Fn Evals | Time (ms)
  ---+-----------------+-------------------------------------------------------+---------------+----------------------------+--------------+--------------+------+-------+----------+----------
  ✅  | Nelder-Mead     | maxIterations=10000                                   |     -1.913223 | (-0.5472, -1.5472)         |  7.704520e-5 |  9.787508e-6 | yes  |    79 |      153 |       0.1
  ❌  | PSO             | maxIterations=10000, swarmSize=50, seed=42            | -38424.036630 | (-38423.9970, -38425.1132) | 38422.123330 | 54339.045974 | no   | 10000 |   500050 |      27.8
  ✅  | GradientDescent | maxIterations=10000, learningRate=0.001, momentum=0.9 |     -1.913223 | (-0.5471, -1.5471)         |  7.707080e-5 |  1.618549e-4 | yes  |   417 |     2086 |       0.1
  ✅  | Adam            | maxIterations=10000, learningRate=0.1                 |     -1.913223 | (-0.5472, -1.5472)         |  7.704525e-5 |  1.423530e-5 | yes  |   193 |      966 |       0.1
  ✅  | L-BFGS          | maxIterations=1000, historySize=10                    |     -1.913223 | (-0.5472, -1.5472)         |  7.704502e-5 |  1.068580e-5 | yes  |     7 |       41 |       0.0
  ✅  | L-BFGS-B        | maxIterations=1000, historySize=10                    |     -1.913223 | (-0.5472, -1.5472)         |  7.704502e-5 |  1.050765e-5 | yes  |     6 |       35 |       0.1

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Notes:
  · All optimizers use default hyperparameters (see Settings column)
  · Fn Evals = total calls to objective function (via counter wrapper)
  · |Error| = |found_value − known_minimum|
  · Dist to Opt = ‖found_point − known_point‖₂
  · PSO uses seed=42 for reproducibility
  · Himmelblau: Dist to Opt uses nearest of 4 known minima
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
