Skip to content

Commit 68c6495

Browse files
committed
fix Taillard generation
1 parent a568a62 commit 68c6495

2 files changed

Lines changed: 17 additions & 16 deletions

File tree

library/sched/shop/instance/JobShopInstanceGenerator.cc

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
// Copyright (c) 2022-2025 Julien Bernard
33

44
#include <cstdint>
5+
#include <cmath>
6+
57
#include <sched/shop/instance/JobShopInstanceGenerator.h>
68
#include "sched/shop/instance/JobShopData.h"
79

@@ -57,8 +59,8 @@ namespace sched::shop {
5759

5860
for (std::size_t job = 0; job < instance.jobs; ++job) {
5961
for (std::size_t machine = 0; machine < instance.machines; ++machine) {
60-
const std::size_t other = taillard_uniform(machine_seed, static_cast<int32_t>(machine), static_cast<int32_t>(instance.machines));
61-
std::swap(instance_data.jobs[job].operations[machine], instance_data.jobs[job].operations[other]);
62+
const std::size_t other = taillard_uniform(machine_seed, static_cast<int32_t>(machine), static_cast<int32_t>(instance.machines - 1));
63+
std::swap(instance_data.jobs[job].operations[machine].machine, instance_data.jobs[job].operations[other].machine);
6264
}
6365
}
6466

tests/shop/HoistScheduling.cc

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -20,21 +20,20 @@ namespace {
2020
"unload": 0,
2121
"machines": 13,
2222
"operations": [
23-
{ "processing": { "lo": 120 }, "transport": 31 },
24-
{ "processing": { "lo": 150, "hi": 200 }, "transport": 22 },
25-
{ "processing": { "lo": 90, "hi": 120 }, "transport": 22 },
26-
{ "processing": { "lo": 120, "hi": 180 }, "transport": 22 },
27-
{ "processing": { "lo": 90, "hi": 125 }, "transport": 25 },
28-
{ "processing": { "lo": 30, "hi": 40 }, "transport": 23 },
29-
{ "processing": { "lo": 60, "hi": 120 }, "transport": 22 },
30-
{ "processing": { "lo": 60, "hi": 120 }, "transport": 22 },
31-
{ "processing": { "lo": 45, "hi": 75 }, "transport": 22 },
32-
{ "processing": { "lo": 130 }, "transport": 47 },
33-
{ "processing": { "lo": 120 }, "transport": 27 },
34-
{ "processing": { "lo": 90, "hi": 120 }, "transport": 22 },
35-
{ "processing": { "lo": 30, "hi": 60 }, "transport": 30 }
23+
{ "processing": { "lo": 120 }, "machines": 1, "transport": 31 },
24+
{ "processing": { "lo": 150, "hi": 200 }, "machines": 1, "transport": 22 },
25+
{ "processing": { "lo": 90, "hi": 120 }, "machines": 1, "transport": 22 },
26+
{ "processing": { "lo": 120, "hi": 180 }, "machines": 1, "transport": 22 },
27+
{ "processing": { "lo": 90, "hi": 125 }, "machines": 1, "transport": 25 },
28+
{ "processing": { "lo": 30, "hi": 40 }, "machines": 1, "transport": 23 },
29+
{ "processing": { "lo": 60, "hi": 120 }, "machines": 1, "transport": 22 },
30+
{ "processing": { "lo": 60, "hi": 120 }, "machines": 1, "transport": 22 },
31+
{ "processing": { "lo": 45, "hi": 75 }, "machines": 1, "transport": 22 },
32+
{ "processing": { "lo": 130 }, "machines": 1, "transport": 47 },
33+
{ "processing": { "lo": 120 }, "machines": 1, "transport": 27 },
34+
{ "processing": { "lo": 90, "hi": 120 }, "machines": 1, "transport": 22 },
35+
{ "processing": { "lo": 30, "hi": 60 }, "machines": 1, "transport": 30 }
3636
],
37-
"vehicles": 1,
3837
"empty": [
3938
[ 0, 11, 14, 16, 14, 19, 22, 24, 26, 29, 6, 8, 10 ],
4039
[ 11, 0, 2, 5, 2, 8, 10, 13, 15, 17, 10, 3, 1 ],

0 commit comments

Comments
 (0)