Commit 6bb3e9c
* Fix #494: Add SequencingWithReleaseTimesAndDeadlines model
Add the single-machine scheduling feasibility problem (Garey & Johnson
A5 SS1): given tasks with processing times, release times, and deadlines,
determine if a non-preemptive schedule exists. Strongly NP-complete.
- Model implementation with Problem/SatisfactionProblem traits
- CLI dispatch (load/serialize) and creation support
- 13 unit tests covering feasibility, infeasibility, brute-force solver
- Paper documentation in reductions.typ
- Schema registration
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* merge: resolve conflicts with main
Resolve merge conflicts from origin/main:
- Accept main's deletion of per-reduction example binaries
- Merge registry-based dispatch (main) with PR's model registration
- Combine both sides' additive entries in paper, schemas, CLI, and module files
- Fix declare_variants! syntax and ProblemSchemaEntry fields to match current API
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* refactor: use permutation encoding (Lehmer code) for SequencingWithReleaseTimesAndDeadlines
Switch from start-time encoding to permutation encoding consistent with
MinimumTardinessSequencing, as recommended in issue #494 review. This:
- Uses dims = [n, n-1, ..., 2, 1] instead of [max_deadline; n]
- Eliminates overflow concerns (no u64 arithmetic on config values)
- Dramatically reduces brute-force search space
- Schedules tasks left-to-right with greedy start times
Addresses Copilot review comments about overflow protection and
inflated search space.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: add canonical example and trait_consistency entry for SequencingWithReleaseTimesAndDeadlines
Add missing structural completeness items:
- Canonical model example in example-db (Lehmer code [3,0,0,0,0] for 5-task instance)
- trait_consistency test entry
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Replace hand-written feasibility test with brute-force enumeration
The canonical 5-task instance now verified by BruteForce::find_all_satisfying,
confirming exactly one feasible schedule exists (Lehmer code [3,0,0,0,0]).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Remove duplicate lengths/release_times CLI fields
These fields already exist on main (lines 442-445); the PR's copies at
lines 467-472 cause E0124 after merge.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Remove duplicate lengths/release_times checks in all_data_flags_empty
Lines 86-87 duplicated the checks already at lines 76-78 after merge.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Xiwei Pan <xiwei.pan@connect.hkust-gz.edu.cn>
Co-authored-by: Xiwei Pan <90967972+isPANN@users.noreply.github.com>
1 parent 514d5ff commit 6bb3e9c
10 files changed
Lines changed: 430 additions & 19 deletions
File tree
- docs/paper
- problemreductions-cli/src
- commands
- src
- example_db/fixtures
- models
- misc
- unit_tests
- models/misc
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
108 | 108 | | |
109 | 109 | | |
110 | 110 | | |
| 111 | + | |
111 | 112 | | |
112 | 113 | | |
113 | 114 | | |
| |||
2273 | 2274 | | |
2274 | 2275 | | |
2275 | 2276 | | |
| 2277 | + | |
| 2278 | + | |
| 2279 | + | |
| 2280 | + | |
| 2281 | + | |
| 2282 | + | |
| 2283 | + | |
| 2284 | + | |
| 2285 | + | |
| 2286 | + | |
| 2287 | + | |
| 2288 | + | |
| 2289 | + | |
| 2290 | + | |
| 2291 | + | |
| 2292 | + | |
| 2293 | + | |
| 2294 | + | |
| 2295 | + | |
| 2296 | + | |
| 2297 | + | |
| 2298 | + | |
| 2299 | + | |
| 2300 | + | |
| 2301 | + | |
| 2302 | + | |
| 2303 | + | |
| 2304 | + | |
| 2305 | + | |
| 2306 | + | |
| 2307 | + | |
| 2308 | + | |
| 2309 | + | |
| 2310 | + | |
| 2311 | + | |
| 2312 | + | |
| 2313 | + | |
| 2314 | + | |
| 2315 | + | |
| 2316 | + | |
| 2317 | + | |
| 2318 | + | |
2276 | 2319 | | |
2277 | 2320 | | |
2278 | 2321 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
473 | 473 | | |
474 | 474 | | |
475 | 475 | | |
476 | | - | |
| 476 | + | |
477 | 477 | | |
478 | 478 | | |
479 | 479 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
18 | | - | |
| 17 | + | |
| 18 | + | |
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| |||
1900 | 1900 | | |
1901 | 1901 | | |
1902 | 1902 | | |
| 1903 | + | |
| 1904 | + | |
| 1905 | + | |
| 1906 | + | |
| 1907 | + | |
| 1908 | + | |
| 1909 | + | |
| 1910 | + | |
| 1911 | + | |
| 1912 | + | |
| 1913 | + | |
| 1914 | + | |
| 1915 | + | |
| 1916 | + | |
| 1917 | + | |
| 1918 | + | |
| 1919 | + | |
| 1920 | + | |
| 1921 | + | |
| 1922 | + | |
| 1923 | + | |
| 1924 | + | |
| 1925 | + | |
| 1926 | + | |
| 1927 | + | |
| 1928 | + | |
| 1929 | + | |
| 1930 | + | |
| 1931 | + | |
| 1932 | + | |
| 1933 | + | |
| 1934 | + | |
| 1935 | + | |
| 1936 | + | |
| 1937 | + | |
| 1938 | + | |
| 1939 | + | |
| 1940 | + | |
| 1941 | + | |
| 1942 | + | |
| 1943 | + | |
1903 | 1944 | | |
1904 | 1945 | | |
1905 | 1946 | | |
| |||
0 commit comments