Package com.eqixiac.equinix.design.optimizer


package com.eqixiac.equinix.design.optimizer
The Metro Optimizer: which set of Equinix metros best serves a DesignSpec, as a multi-objective search.

MetroOptimizer.forSpec(FabricGateway, DesignSpec) is the entry point (Design.over(fabric).optimizeMetros(spec) is the facade equivalent; the fluent MetroOptimizer.builder(fabric) only assembles a spec). A run gathers the facts once (context sub-package), measures the built-in objectives (design.objective: latency, cost, provider coverage, resilience, compliance), applies the built-in constraints (design.constraint), searches every admissible set of metros (design.solve.ExhaustiveSolver), analyses the answer's sensitivity (design.solve.SensitivityAnalysis) and places the workloads (design.placement). Money comes from one cost model (design.cost.RateCardCostModel).

The OptimizationResult carries the recommended option, the Pareto frontier, every constraint verdict, the sensitivity report, the placement and the calibrated latency factor, plus the views the Deployment Wizard, the exporters and the MCP server read.

Beta. When a workload depends on two clouds for which MulticloudEnvironmentCatalog lists a native provider-to-provider environment, the result carries an informational NATIVE_MULTICLOUD_ALTERNATIVE finding.

See Also: