Skip to content

Upgrade FlowShopScheduling from satisfaction to optimization (Value = Min<u64>) #786

@isPANN

Description

@isPANN

Motivation

FlowShopScheduling is currently a satisfaction/decision model (Value = Or, with a deadline field). Per the convention established in #765 and the JobShopScheduling rework in #760, scheduling problems should be optimization models that minimize makespan directly.

Requested Change

  • Change Value from Or to Min<u64>
  • Remove the deadline field
  • evaluate() returns Min(Some(makespan)) for valid permutations, Min(None) for invalid configs
  • Update CLI --deadline to no longer apply to FlowShopScheduling
  • Update paper entry to optimization formulation
  • Update canonical example optimal_value from true to the actual makespan
  • Update tests accordingly

Reference

See the JobShopScheduling optimization conversion in PR #760 for the exact pattern.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions