Sign in

    zhaoyuanjuns/moonbit_extractor/optimization does not have a README file

    CandidateAudit

    pub(all) struct CandidateAudit {
    candidate : DesignCandidate
    constraints : Array[DetailedConstraintAudit]
    feasible : Bool
    total_violation : Double
    minimum_margin : Double
    status : String
    } derive(Eq, ToJson,
    Debug
    )

    ConstraintAudit

    pub(all) struct ConstraintAudit {
    name : String
    value : Double
    violation : Double
    margin : Double
    passed : Bool
    } derive(Eq, ToJson,
    Debug
    )

    ConstraintKind

    pub(all) enum ConstraintKind {
    AtLeast(target~ : Double)
    AtMost(target~ : Double)
    Equal(target~ : Double, tolerance~ : Double)
    } derive(Eq, ToJson,
    Debug
    )

    CoordinateSearchResult

    pub(all) struct CoordinateSearchResult {
    values : Array[Double]
    objective : Double
    iterations : Int
    evaluations : Int
    converged : Bool
    } derive(Eq, ToJson,
    Debug
    )

    DesignCandidate

    pub(all) struct DesignCandidate {
    values : Array[Double]
    objective : Double
    constraint_values : Array[Double]
    total_violation : Double
    feasible : Bool
    rank : Int
    } derive(Eq, ToJson,
    Debug
    )

    DesignCandidate::dominates

    fn DesignCandidate::dominates(self : DesignCandidate, other : DesignCandidate) -> Bool

    DesignCandidate::new

    fn DesignCandidate::new(values~ : Array[Double], objective~ : Double, constraint_values~ : Array[Double], constraints~ : ArrayView[DesignConstraint]) -> DesignCandidate raise
    ExtractionError

    DesignCandidate::penalized_objective

    fn DesignCandidate::penalized_objective(self : DesignCandidate, penalty~ : Double) -> Double raise
    ExtractionError

    DesignConstraint

    pub(all) struct DesignConstraint {
    name : String
    kind : ConstraintKind
    } derive(Eq, ToJson,
    Debug
    )

    DesignConstraint::passes

    fn DesignConstraint::passes(self : DesignConstraint, value : Double) -> Bool

    DesignConstraint::violation

    fn DesignConstraint::violation(self : DesignConstraint, value : Double) -> Double

    DesignPoint

    pub(all) struct DesignPoint {
    name : String
    solvent : Double
    recovery : Double
    stages : Int
    cost : Double
    } derive(Eq, ToJson,
    Debug
    )

    DesignPoint::dominates

    fn DesignPoint::dominates(self : DesignPoint, other : DesignPoint) -> Bool

    DesignSpace

    pub(all) struct DesignSpace {
    variables : Array[DesignVariable]
    constraints : Array[DesignConstraint]
    } derive(Eq, ToJson,
    Debug
    )

    DesignSpace::constraints

    fn DesignSpace::constraints(self : DesignSpace) -> Array[DesignConstraint]

    DesignSpace::dimension

    fn DesignSpace::dimension(self : DesignSpace) -> Int

    DesignSpace::grid

    fn DesignSpace::grid(self : DesignSpace) -> Array[Array[Double]]

    DesignSpace::variables

    fn DesignSpace::variables(self : DesignSpace) -> Array[DesignVariable]

    DesignVariable

    pub(all) struct DesignVariable {
    name : String
    lower : Double
    upper : Double
    samples : Int
    } derive(Eq, ToJson,
    Debug
    )

    A bounded variable in a process design space.

    DesignVariable::contains

    fn DesignVariable::contains(self : DesignVariable, value : Double) -> Bool

    DesignVariable::midpoint

    fn DesignVariable::midpoint(self : DesignVariable) -> Double

    DesignVariable::new

    fn DesignVariable::new(name~ : String, lower~ : Double, upper~ : Double, samples~ : Int) -> DesignVariable raise
    ExtractionError

    DesignVariable::values

    fn DesignVariable::values(self : DesignVariable) -> Array[Double]

    DetailedConstraintAudit

    pub(all) struct DetailedConstraintAudit {
    name : String
    target : Double
    value : Double
    violation : Double
    margin : Double
    passed : Bool
    severity : String
    } derive(Eq, ToJson,
    Debug
    )

    KneePoint

    pub(all) struct KneePoint {
    vector : ObjectiveVector
    distance : Double
    index : Int
    } derive(Eq, ToJson,
    Debug
    )

    ObjectiveNormalization

    pub(all) struct ObjectiveNormalization {
    minimum : Array[Double]
    maximum : Array[Double]
    normalized : Array[ObjectiveVector]
    } derive(Eq, ToJson,
    Debug
    )

    ObjectiveVector

    pub(all) struct ObjectiveVector {
    name : String
    values : Array[Double]
    minimize : Array[Bool]
    } derive(Eq, ToJson,
    Debug
    )

    A candidate with multiple engineering objectives.

    ObjectiveVector::dominates

    fn ObjectiveVector::dominates(self : ObjectiveVector, other : ObjectiveVector) -> Bool

    ObjectiveVector::new

    OptimizationSummary

    pub(all) struct OptimizationSummary {
    candidates : Array[DesignCandidate]
    feasible_count : Int
    best : DesignCandidate?
    pareto_front : Array[DesignCandidate]
    evaluated : Int
    } derive(Eq, ToJson,
    Debug
    )

    RobustCandidate

    pub(all) struct RobustCandidate {
    candidate : DesignCandidate
    worst_objective : Double
    mean_objective : Double
    best_objective : Double
    worst_margin : Double
    feasible_scenarios : Int
    total_scenarios : Int
    robust : Bool
    } derive(Eq, ToJson,
    Debug
    )

    RobustRanking

    pub(all) struct RobustRanking {
    candidates : Array[RobustCandidate]
    selected_index : Int
    risk_tolerance : Double
    confidence : Double
    } derive(Eq, ToJson,
    Debug
    )

    ScenarioEvaluation

    pub(all) struct ScenarioEvaluation {
    scenario : String
    candidate : DesignCandidate
    objective : Double
    feasible : Bool
    constraint_margin : Double
    } derive(Eq, ToJson,
    Debug
    )

    Robust design helpers for selecting operating points under scenarios.

    SearchResult

    pub(all) struct SearchResult {
    argument : Double
    value : Double
    evaluations : Int
    converged : Bool
    } derive(Eq, ToJson,
    Debug
    )

    Deterministic one-dimensional search utilities for solvent sizing.

    audit_candidate_detailed

    audit_constraint

    fn audit_constraint(constraint : DesignConstraint, value : Double) -> DetailedConstraintAudit

    audit_constraint_count

    fn audit_constraint_count(audit : CandidateAudit, passed : Bool) -> Int

    audit_csv

    fn audit_csv(audit : CandidateAudit) -> String

    audit_has_critical_failure

    fn audit_has_critical_failure(audit : CandidateAudit) -> Bool

    audit_is_robust

    fn audit_is_robust(audit : CandidateAudit, minimum_margin : Double) -> Bool

    audit_margin_vector

    fn audit_margin_vector(audit : CandidateAudit) -> Array[Double]

    audit_markdown

    fn audit_markdown(audit : CandidateAudit) -> String

    audit_objective

    fn audit_objective(audit : CandidateAudit) -> Double

    audit_passed

    fn audit_passed(audit : CandidateAudit) -> Array[DetailedConstraintAudit]

    audit_recommendation

    fn audit_recommendation(audit : CandidateAudit) -> String

    audit_status_code

    fn audit_status_code(audit : CandidateAudit) -> Int

    audit_summary

    fn audit_summary(audit : CandidateAudit) -> String

    audit_violation_vector

    fn audit_violation_vector(audit : CandidateAudit) -> Array[Double]

    audit_violations

    fn audit_violations(audit : CandidateAudit) -> Array[DetailedConstraintAudit]

    audit_worst_constraint

    fn audit_worst_constraint(audit : CandidateAudit) -> DetailedConstraintAudit?

    best_audit

    fn best_audit(audits : ArrayView[CandidateAudit]) -> CandidateAudit?

    best_candidate

    Return the best feasible candidate, preferring lower violation if none pass.

    best_case_objective

    fn best_case_objective(objective_values : ArrayView[Double]) -> Double

    bounded_minimize

    fn bounded_minimize(objective : (Double) -> Double raise
    ExtractionError
    , lower~ : Double, upper~ : Double, tolerance? : Double, maximum_iterations? : Int) -> SearchResult raise
    ExtractionError

    chance_constraint

    fn chance_constraint(values : ArrayView[Double], limit : Double, probability : Double, lower_is_better : Bool) -> Bool raise
    ExtractionError

    constraint_margin

    fn constraint_margin(_candidate : DesignCandidate, constraint : DesignConstraint, value : Double) -> Double

    constraint_target

    fn constraint_target(constraint : DesignConstraint) -> Double

    fn coordinate_search(variables : ArrayView[DesignVariable], objective : (ArrayView[Double]) -> Double raise
    ExtractionError
    , step_fraction? : Double, maximum_iterations? : Int) -> CoordinateSearchResult raise
    ExtractionError

    Coordinate search for a bounded, derivative-free design objective.

    design_distance

    fn design_distance(first : ArrayView[Double], second : ArrayView[Double]) -> Double raise
    ExtractionError

    detailed_constraint_margin

    fn detailed_constraint_margin(constraint : DesignConstraint, value : Double) -> Double

    evaluate_candidate_scenarios

    fn evaluate_candidate_scenarios(candidate : DesignCandidate, scenarios : ArrayView[String], objective_values : ArrayView[Double], margins : ArrayView[Double], minimum_margin : Double) -> Array[ScenarioEvaluation] raise
    ExtractionError

    feasible_audits

    fn feasible_audits(audits : ArrayView[CandidateAudit]) -> Array[CandidateAudit]

    grid_minimize

    fn grid_minimize(objective : (Double) -> Double raise
    ExtractionError
    , lower~ : Double, upper~ : Double, samples~ : Int) -> SearchResult raise
    ExtractionError

    maximum_candidate_violation

    fn maximum_candidate_violation(audits : ArrayView[CandidateAudit]) -> Double

    minimum_candidate_margin

    fn minimum_candidate_margin(audits : ArrayView[CandidateAudit]) -> Double

    pareto_candidates

    fn pareto_candidates(candidates : ArrayView[DesignCandidate]) -> Array[DesignCandidate]

    pareto_front

    fn pareto_front(points : ArrayView[DesignPoint]) -> Array[DesignPoint]

    pareto_layers

    fn pareto_layers(vectors : ArrayView[ObjectiveVector]) -> Array[Array[ObjectiveVector]]

    rank_robust_candidates

    fn rank_robust_candidates(candidates : ArrayView[RobustCandidate], risk_weight : Double, feasibility_weight : Double, risk_tolerance : Double) -> RobustRanking raise
    ExtractionError

    regret_summary

    fn regret_summary(objective_values : ArrayView[Double], minimize : Bool) -> (Double, Double, Double)

    robust_audits

    fn robust_audits(audits : ArrayView[CandidateAudit], minimum_margin : Double) -> Array[CandidateAudit]

    robust_candidates

    fn robust_candidates(candidates : ArrayView[RobustCandidate]) -> Array[RobustCandidate]

    robust_design_csv

    fn robust_design_csv(ranking : RobustRanking) -> String

    robust_design_markdown

    fn robust_design_markdown(ranking : RobustRanking) -> String

    robust_score

    fn robust_score(candidate : RobustCandidate, risk_weight : Double, feasibility_weight : Double) -> Double

    robustness_index

    fn robustness_index(candidate : RobustCandidate) -> Double

    safety_factor

    fn safety_factor(nominal : Double, limit : Double, lower_is_better : Bool) -> Double

    scenario_regret

    fn scenario_regret(objective_values : ArrayView[Double], minimize : Bool) -> Array[Double]

    scenario_weighted_mean

    fn scenario_weighted_mean(values : ArrayView[Double], weights : ArrayView[Double]) -> Double raise
    ExtractionError

    summarize_robust_candidate

    fn summarize_robust_candidate(candidate : DesignCandidate, evaluations : ArrayView[ScenarioEvaluation], risk_tolerance : Double) -> RobustCandidate raise
    ExtractionError

    weighted_objective

    fn weighted_objective(vector : ObjectiveVector, weights : ArrayView[Double]) -> Double raise
    ExtractionError

    weighted_quantile

    fn weighted_quantile(values : ArrayView[Double], weights : ArrayView[Double], probability : Double) -> Double raise
    ExtractionError

    worst_case_objective

    fn worst_case_objective(objective_values : ArrayView[Double]) -> Double