Repository: fitbenchmarking/fitbenchmarking

Issue:
Remove hessian required minimizers from the default scipy minimizers
Currently when running scipy software it runs with the hessian required minimzers. A default scip run doesn't have the hessian enabled.  

![image](https://user-images.githubusercontent.com/83226114/212135247-9a6d0683-2f3b-484c-8fef-b3cf187528ac.png)


- [ ] remove hessian solvers from default minimizers  

Discussion:
github-actions[bot]: ## Unit & System Test Results
    4 files  ±0      4 suites  ±0   7m 24s [:stopwatch:](https://github.com/EnricoMi/publish-unit-test-result-action/blob/v1.20/README.md#the-symbols "duration of all tests") - 4m 0s
360 tests ±0  350 [:heavy_check_mark:](https://github.com/EnricoMi/publish-unit-test-result-action/blob/v1.20/README.md#the-symbols "passed tests")  - 2    8 [:zzz:](https://github.com/EnricoMi/publish-unit-test-result-action/blob/v1.20/README.md#the-symbols "skipped / disabled tests") ±0  2 [:x:](https://github.com/EnricoMi/publish-unit-test-result-action/blob/v1.20/README.md#the-symbols "failed tests") +2 
688 runs  ±0  634 [:heavy_check_mark:](https://github.com/EnricoMi/publish-unit-test-result-action/blob/v1.20/README.md#the-symbols "passed tests")  - 4  50 [:zzz:](https://github.com/EnricoMi/publish-unit-test-result-action/blob/v1.20/README.md#the-symbols "skipped / disabled tests") ±0  4 [:x:](https://github.com/EnricoMi/publish-unit-test-result-action/blob/v1.20/README.md#the-symbols "failed tests") +4 

For more details on these failures, see [this check](https://github.com/fitbenchmarking/fitbenchmarking/runs/10627444766).

Results for commit c3fabffe. ± Comparison against base commit f8ed2750.

[test-results]:data:application/gzip;base64,H4sIALkzwWMC/02MSw7DIAwFrxKx7oLwC+llKnBBspqEis8q6t0LakFZzvh5TuJxc4ncJ3GbSCqYBzxLNBnD0VA0UU+5HbminR6pADQlL+qF76r0EN7gVgUbwsUYYjXtJ5ajNZXWf+hJxcUwv6Ls+14cg2sQwr5jrkCAe2O9dxLUCtIuWhgLfqFMW1iNVpwzameYyecLtJJ3rwYBAAA=

joshuadkitenge: Some of the documentation had incorrect formatting. I've fixed that in the latest commit.  

Patch:
diff --git a/docs/source/users/options/minimizer_option.rst b/docs/source/users/options/minimizer_option.rst
index 5f62380c..7059eb57 100644
--- a/docs/source/users/options/minimizer_option.rst
+++ b/docs/source/users/options/minimizer_option.rst
@@ -65,7 +65,7 @@ The Bumps minimizers are set as follows:
    `de` is not included in the default list of minimizers for bumps. To run this solver, you must
    explicitly set the minimizer as seen above.
 
-.. _dfo:
+.. _ceres:
 
 Ceres Solver (``ceres``)
 =============
@@ -111,6 +111,8 @@ The Ceres Solver minimizers are set as follows:
 .. note::
    The PyCeres currently only works with Ceres Solver versions 2.0.0 
 
+.. _dfo:
+
 DFO (``dfo``)
 =============
 
@@ -312,6 +314,11 @@ spectrometers.*  We currently support:
 `proprietary product <https://www.mathworks.com/pricing-licensing.html>`__.
 Horace is made available under the the `GPL-3 licence <https://www.gnu.org/licenses/gpl-3.0.html>`__.
 
+.. code-block:: rst
+
+    [MINIMIZERS]
+    horace: lm-lsqr
+
 .. warning::
    The Horace Toolbox and MATLAB must be installed for this to be available; see :ref:`external-instructions`.
 
@@ -672,6 +679,10 @@ The SciPy minimizers are set as follows:
            trust-constr
            dogleg
 
+.. note::
+   The Hessian enabled solvers are not run by default when `scipy` software is selected. In order to run these minimizers, you must explicitly
+   set them as above.
+
 .. _scipy-ls:
 
 SciPy LS (``scipy_ls``)
diff --git a/fitbenchmarking/utils/options.py b/fitbenchmarking/utils/options.py
index a1ef0b19..a949521e 100644
--- a/fitbenchmarking/utils/options.py
+++ b/fitbenchmarking/utils/options.py
@@ -203,12 +203,7 @@ class Options:
                    'L-BFGS-B',
                    'TNC',
                    'SLSQP',
-                   'COBYLA',
-                   'trust-ncg',
-                   'trust-exact',
-                   'trust-krylov',
-                   'trust-constr',
-                   'dogleg'],
+                   'COBYLA'],
          'scipy_ls': ['lm-scipy', 'trf', 'dogbox'],
          'scipy_go': ['differential_evolution', 'dual_annealing']}
     DEFAULT_FITTING = \


Test patch:
diff --git a/fitbenchmarking/core/tests/test_fitting_benchmarking_software.py b/fitbenchmarking/core/tests/test_fitting_benchmarking_software.py
index 4b4fa7be..6c70a75e 100644
--- a/fitbenchmarking/core/tests/test_fitting_benchmarking_software.py
+++ b/fitbenchmarking/core/tests/test_fitting_benchmarking_software.py
@@ -191,7 +191,7 @@ class LoopOverSoftwareTests(unittest.TestCase):
                                 [fitbm_result.FittingResult(**self.result_args)
                                  for i in range(self.scipy_ls_len)]]
         loop_over_minimizers.side_effect = self.mock_func_call
-        expected_list_len = 19
+        expected_list_len = 14
         expected_minimizer_failed = self.minimizer_failed
         self.shared_test(expected_list_len, expected_minimizer_failed)
 
diff --git a/fitbenchmarking/utils/tests/test_options_minimizers.py b/fitbenchmarking/utils/tests/test_options_minimizers.py
index 7f7d7654..2cb7ade5 100644
--- a/fitbenchmarking/utils/tests/test_options_minimizers.py
+++ b/fitbenchmarking/utils/tests/test_options_minimizers.py
@@ -91,12 +91,7 @@ class MininimizerOptionTests(unittest.TestCase):
                     'L-BFGS-B',
                     'TNC',
                     'SLSQP',
-                    'COBYLA',
-                    'trust-ncg',
-                    'trust-exact',
-                    'trust-krylov',
-                    'trust-constr',
-                    'dogleg']
+                    'COBYLA']
         actual = self.options.minimizers['scipy']
         self.assertEqual(expected, actual)