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

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions