Optimization
Run a simulation-optimization problem described by an OptimizationRunConfiguration.
KSLAppSession.submit validates the configuration via ksl.app.validation.OptimizationConfigurationValidator, builds a ksl.simopt.solvers.Solver via ksl.app.config.optimization.OptimizationSolverFactory, and then delegates to the existing ksl.app.orchestrator.OptimizationOrchestrator for asynchronous execution.
Programmatic users who already hold a built Solver should use the orchestrator directly: OptimizationOrchestrator().submit(solver, ...).