Repository: optuna/optuna

Issue:
Add missing sampler and pruner classes to a tutorial page
<!-- Please write a clear and concise description of what content in https://optuna.readthedocs.io/ is an issue. -->

[Efficient Optimization Algorithms](https://optuna.readthedocs.io/en/latest/tutorial/10_key_features/003_efficient_optimization_algorithms.html) tutorial provides lists of samplers/pruners implemented in Optuna. However a few classes are not on the list. It would be great to mention them comprehensively from the tutorial pages for Optuna users. 


More concretely, please add the following entries to the tutorial page.

## Samplers

- `optuna.samplers.PartialFixedSampler`
- `optuna.samplers.NSGAIISampler`

## Pruners
- `optuna.pruners.PatientPruner`
- `optuna.pruners.PercentilePruner`



Discussion:
hi. would like to work on this.
@l-e-e-l-a Awesome! We're looking forward to reviewing your PR!
Hey @nzw0301 Please find the PR, Can I update the `tutorial/10_key_features/003_efficient_optimization_algorithms.py`, documented as part where we have added samplers is multiline and other are single line comment, which doesn't look uniform?
@sidshrivastav I'm afraid that @l-e-e-l-a has been working on this issue as he said, https://github.com/optuna/optuna/issues/3072#issuecomment-956379727...

> @sidshrivastav I'm afraid that @l-e-e-l-a has been working on this issue as he said, https://github.com/optuna/optuna/issues/3072#issuecomment-956379727...
> 

No problem.
> Can I update the tutorial/10_key_features/003_efficient_optimization_algorithms.py, documented as part where we have added samplers is multiline and other are single line comment, which doesn't look uniform?

You cannot do that because I suppose it does not work in my understanding as we expected.
So I'm afraid that I do not review #3076 at this moment. However, if @l-e-e-l-a allowed you to take over this issue from him, I'd like to review it. Thank you for your understanding!


Resolving patch:
diff --git a/tutorial/10_key_features/003_efficient_optimization_algorithms.py b/tutorial/10_key_features/003_efficient_optimization_algorithms.py
--- a/tutorial/10_key_features/003_efficient_optimization_algorithms.py
+++ b/tutorial/10_key_features/003_efficient_optimization_algorithms.py
@@ -17,13 +17,17 @@
 
 Optuna provides the following sampling algorithms:
 
+- Grid Search implemented in :class:`optuna.samplers.GridSampler`
+
+- Random Search implemented in :class:`optuna.samplers.RandomSampler`
+
 - Tree-structured Parzen Estimator algorithm implemented in :class:`optuna.samplers.TPESampler`
 
 - CMA-ES based algorithm implemented in :class:`optuna.samplers.CmaEsSampler`
 
-- Grid Search implemented in :class:`optuna.samplers.GridSampler`
+- Algorithm to enable partial fixed parameters implemented in :class:`optuna.samplers.PartialFixedSampler`
 
-- Random Search implemented in :class:`optuna.samplers.RandomSampler`
+- Nondominated Sorting Genetic Algorithm II implemented in :class:`optuna.samplers.NSGAIISampler`
 
 The default sampler is :class:`optuna.samplers.TPESampler`.
 
@@ -60,12 +64,18 @@
 #
 # Optuna provides the following pruning algorithms:
 #
+# - Median pruning algorithm implemented in :class:`optuna.pruners.MedianPruner`
+#
+# - Non-pruning algorithm implementd in :class:`optuna.pruners.NopPruner`
+#
+# - Algorithm to operate pruner with tolerance implemented in :class:`optuna.pruners.PatientPruner`
+#
+# - Algorithm to prune specified percentile of trials implemented in :class:`optuna.pruners.PercentilePruner`
+#
 # - Asynchronous Successive Halving algorithm implemented in :class:`optuna.pruners.SuccessiveHalvingPruner`
 #
 # - Hyperband algorithm implemented in :class:`optuna.pruners.HyperbandPruner`
 #
-# - Median pruning algorithm implemented in :class:`optuna.pruners.MedianPruner`
-#
 # - Threshold pruning algorithm implemented in :class:`optuna.pruners.ThresholdPruner`
 #
 # We use :class:`optuna.pruners.MedianPruner` in most examples,


Test patch: