Record Class SolveRun
java.lang.Object
java.lang.Record
com.eqixiac.equinix.design.solve.SolveRun
- Record Components:
solution- what the solver returnedobjectiveIds- objective ids, in the order of every values rowdirections- objective directions, same orderweights- the weights used, same order (not necessarily summing to 1)feasible- every feasible portfolio, in enumeration orderrejectedOnlyBy- per constraint id, the portfolios that failed that constraint and no otherrelaxationComplete-falsewhen portfolios containing a metro that a constraint prunes per metro were not enumerated (the extended field exceeded the ceiling), so the binding analysis of those constraints is incompletecandidates- metros offered to the solverelapsedMillis- wall-clock time of the search, ms
public record SolveRun(DesignSolution solution, List<String> objectiveIds, Direction[] directions, ValueScale[] scales, double[] weights, List<SolveRun.Evaluated> feasible, Map<String, List<SolveRun.Evaluated>> rejectedOnlyBy, boolean relaxationComplete, int candidates, long elapsedMillis)
extends Record
A
DesignSolution plus the evidence behind it, kept so the answer can be interrogated without
searching again: every feasible portfolio with its raw objective values, and every portfolio that
failed exactly one constraint (grouped by that constraint). SensitivityAnalysis re-ranks
these sets under other weights, or with one constraint removed, using the solver's own
Ranking rules, so its answers are exact for the portfolios searched.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordA portfolio and its raw objective values (NaN = unknown). -
Constructor Summary
ConstructorsConstructorDescriptionSolveRun(DesignSolution solution, List<String> objectiveIds, Direction[] directions, ValueScale[] scales, double[] weights, List<SolveRun.Evaluated> feasible, Map<String, List<SolveRun.Evaluated>> rejectedOnlyBy, boolean relaxationComplete, int candidates, long elapsedMillis) Makes the collections immutable. -
Method Summary
Modifier and TypeMethodDescriptionintReturns the value of thecandidatesrecord component.Returns the value of thedirectionsrecord component.longReturns the value of theelapsedMillisrecord component.final booleanIndicates whether some other object is "equal to" this one.feasible()Returns the value of thefeasiblerecord component.final inthashCode()Returns a hash code value for this object.Returns the value of theobjectiveIdsrecord component.Returns the value of therejectedOnlyByrecord component.booleanReturns the value of therelaxationCompleterecord component.scales()Returns the value of thescalesrecord component.solution()Returns the value of thesolutionrecord component.final StringtoString()Returns a string representation of this record class.double[]weights()Returns the value of theweightsrecord component.
-
Constructor Details
-
SolveRun
public SolveRun(DesignSolution solution, List<String> objectiveIds, Direction[] directions, ValueScale[] scales, double[] weights, List<SolveRun.Evaluated> feasible, Map<String, List<SolveRun.Evaluated>> rejectedOnlyBy, boolean relaxationComplete, int candidates, long elapsedMillis) Makes the collections immutable.
-
-
Method Details
-
toString
-
hashCode
-
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared withObjects::equals(Object,Object); primitive components are compared with thecomparemethod from their corresponding wrapper classes. -
solution
-
objectiveIds
Returns the value of theobjectiveIdsrecord component.- Returns:
- the value of the
objectiveIdsrecord component
-
directions
Returns the value of thedirectionsrecord component.- Returns:
- the value of the
directionsrecord component
-
scales
Returns the value of thescalesrecord component.- Returns:
- the value of the
scalesrecord component
-
weights
-
feasible
-
rejectedOnlyBy
Returns the value of therejectedOnlyByrecord component.- Returns:
- the value of the
rejectedOnlyByrecord component
-
relaxationComplete
public boolean relaxationComplete()Returns the value of therelaxationCompleterecord component.- Returns:
- the value of the
relaxationCompleterecord component
-
candidates
public int candidates()Returns the value of thecandidatesrecord component.- Returns:
- the value of the
candidatesrecord component
-
elapsedMillis
public long elapsedMillis()Returns the value of theelapsedMillisrecord component.- Returns:
- the value of the
elapsedMillisrecord component
-