Class JanusSmsEmoaCmixSampler
- Namespace
- OptunaSharp.Samplers
- Assembly
- OptunaSharp.dll
SMS-EMOA with JANUS-style CMIX candidate generation — the hypervolume-hosted sibling of
JanusMooCmixSampler, for low-objective (2–3) suites. SMS-EMOA keeps full control of
its steady-state hypervolume selection; past a warm-up a small fraction of children are replaced by
an inverse-curvature Gaussian sample (from component_losses or a diagonal-quadratic scalar
fallback). See JanusMooCmixSampler for the CMIX parameters and the RNG divergence.
public sealed class JanusSmsEmoaCmixSampler : SmsEmoaSampler
- Inheritance
-
JanusSmsEmoaCmixSampler
- Inherited Members
Constructors
JanusSmsEmoaCmixSampler(int, int?, double, string, double, double, double, int, int?, string, string, BaseMutation?, double?, BaseCrossover?, double, double, double)
Configures curvature-informed candidate injection into SMS-EMOA offspring.
public JanusSmsEmoaCmixSampler(int populationSize = 50, int? seed = null, double cmixProb = 0.02, string cmixWindow = "auto", double cmixRidge = 1, double cmixLambda = 1, double cmixSigma = 0.002, int cmixStartGeneration = 3, int? cmixStartTrial = 100, string componentAttr = "component_losses", string scalarFallback = "diag_quadratic", BaseMutation? mutation = null, double? mutationProb = null, BaseCrossover? crossover = null, double crossoverProb = 0.9, double swappingProb = 0.5, double hvReferenceEps = 10)
Parameters
populationSizeintSMS-EMOA population size (default 50).
seedint?Random seed (seeds both SMS-EMOA and, separately, the CMIX stream).
cmixProbdoubleProbability a child is replaced by a CMIX sample past the warm-up (default 0.02).
cmixWindowstringRecent-window size for the metric fit:
"auto"(= 3·populationSize) or an integer string.cmixRidgedoubleRidge regularization for the metric regression (default 1.0).
cmixLambdadoubleLevenberg–Marquardt damping added before inverting the metric (default 1.0).
cmixSigmadoubleNormalized step size scaling the inverse-curvature covariance (default 0.002).
cmixStartGenerationintWarm-up in generations, used only when
cmixStartTrialisnull(default 3).cmixStartTrialint?Warm-up in trials before CMIX may fire;
nullderives it fromcmixStartGeneration(default 100).componentAttrstringUser-attribute key the CMIX metric reads each trial's residual vector from. The default is
component_losses, the keytrial.SetComponentLosseswrites.A custom key is read exactly as given, so store the vector with
trial.SetUserAttr(componentAttr, …). Only the default key also accepts the legacyraealias.CMIX fits the component metric only when every trial in its window carries a numeric vector under this key; otherwise it uses
scalarFallback.nullturns the component channel off.scalarFallbackstringScalar metric when no components are present:
diag_quadratic(default) ornone.mutationBaseMutationSMS-EMOA mutation (forwarded).
mutationProbdouble?SMS-EMOA mutation probability (forwarded).
crossoverBaseCrossoverSMS-EMOA crossover (forwarded).
crossoverProbdoubleSMS-EMOA crossover probability (forwarded, default 0.9).
swappingProbdoubleSMS-EMOA swapping probability (forwarded, default 0.5).
hvReferenceEpsdoubleHypervolume reference-point epsilon (forwarded).
Methods
SampleRelative(Study, FrozenTrial, OrderedDict<string, BaseDistribution>)
Sample parameters in a given search space.
The trial invokes this method lazily when it first needs relative parameters and caches the result for its remaining suggestions. This method is suitable for sampling algorithms that use relationship between parameters such as Gaussian Process and CMA-ES.
public override OrderedDict<string, object?> SampleRelative(Study study, FrozenTrial trial, OrderedDict<string, BaseDistribution> searchSpace)
Parameters
studyStudyStudy supplying trial history, directions, and storage.
trialFrozenTrialCurrent trial snapshot; copy it before modifying its contents.
searchSpaceOrderedDict<string, BaseDistribution>Distributions returned by InferRelativeSearchSpace(Study, FrozenTrial).
Returns
- OrderedDict<string, object>
Jointly sampled external parameter values; omitted parameters use independent sampling.