クラス OptimizerPipeline
IterativeSimulator.optimizeER(java.util.function.Function<java.util.Map<java.lang.String, java.lang.Double>, simulation.CombatSimulator>, java.util.function.Consumer<simulation.CombatSimulator>, int) is called with a sim factory that
ignores the DPS roll map (null) so the heuristic artifact generator
drives substat allocation. After convergence the pipeline inspects the
resulting simulator to extract the exact number of liquid ER rolls each
character required. These counts are stored in erRollsMap and are
used to shrink each character's DPS roll budget in Phase 2.
Phase 2 – DPS Hill-Climbing
IterativeSimulator.optimizeJointPartyCrit(java.util.function.Function<java.util.Map<java.lang.String, java.util.Map<model.type.StatType, java.lang.Integer>>, simulation.CombatSimulator>, java.util.function.Consumer<simulation.CombatSimulator>, java.util.Map<java.lang.String, java.util.List<model.type.StatType>>, java.util.Map<java.lang.String, java.lang.Integer>) performs coordinated
single-roll swaps across all DPS characters. The sim factory passed to
Phase 2 always merges the hill-climber's DPS rolls with the pre-reserved ER
rolls via mergeDPSAndER(java.util.Map<java.lang.String, java.util.Map<model.type.StatType, java.lang.Integer>>, java.util.Map<java.lang.String, java.lang.Integer>), ensuring artifact stats are complete
without allowing the optimizer to cannibalize ER budget.
The final TotalOptimizationResult contains the converged ER
targets and the fully merged party roll map ready for the final simulation.
-
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明static TotalOptimizationResultrun(BiFunction<Map<String, Double>, Map<String, Map<StatType, Integer>>, CombatSimulator> simFactory, Consumer<CombatSimulator> rotationRunner, Map<String, List<StatType>> dpsCharsAndStats) Runs the full optimization pipeline: Phase 1 – ER calibration via iterative rotation simulation. Phase 2 – DPS hill-climbing with ER rolls pre-reserved per character.
-
コンストラクタの詳細
-
OptimizerPipeline
public OptimizerPipeline()
-
-
メソッドの詳細
-
run
public static TotalOptimizationResult run(BiFunction<Map<String, Double>, Map<String, Map<StatType, Integer>>, CombatSimulator> simFactory, Consumer<CombatSimulator> rotationRunner, Map<String, List<StatType>> dpsCharsAndStats) Runs the full optimization pipeline:- Phase 1 – ER calibration via iterative rotation simulation.
- Phase 2 – DPS hill-climbing with ER rolls pre-reserved per character.
ER roll counts are extracted automatically from the heuristic artifacts produced by Phase 1 — no extra configuration needed. Each character's liquid roll budget in Phase 2 equals
20 - erRolls[char].- パラメータ:
simFactory- factory that accepts an ER target map and a DPS roll map and returns a fully configured simulator; either argument may benullduring calibrationrotationRunner- consumer that drives a complete rotation on the simulatordpsCharsAndStats- map ofcharName -> substats to optimizedefining which characters participate in Phase 2 and which substats the hill-climber may vary- 戻り値:
- a
TotalOptimizationResultcontaining the converged ER targets and the final merged party roll map
-