diff --git a/src/main/java/jobshop/MainTest.java b/src/main/java/jobshop/MainTest.java index 96298d6..a70e06d 100644 --- a/src/main/java/jobshop/MainTest.java +++ b/src/main/java/jobshop/MainTest.java @@ -16,12 +16,12 @@ public class MainTest { // load the aaa1 instance Instance instance = Instance.fromFile(Paths.get("instances/aaa1")); - // builds a solution in the job-numbers encoding [0 1 1 0 0 1] + // builds a solution in the job-numbers encoding [0 0 1 1 0 1] JobNumbers enc = new JobNumbers(instance); enc.addTask(0); - enc.addTask(1); - enc.addTask(1); enc.addTask(0); + enc.addTask(1); + enc.addTask(1); enc.addTask(0); enc.addTask(1); diff --git a/src/main/java/jobshop/encodings/ResourceOrder.java b/src/main/java/jobshop/encodings/ResourceOrder.java index 556a51e..34fe43b 100644 --- a/src/main/java/jobshop/encodings/ResourceOrder.java +++ b/src/main/java/jobshop/encodings/ResourceOrder.java @@ -62,6 +62,16 @@ public class ResourceOrder extends Encoding { nextFreeSlot[machine] += 1; } + /** Returns the i-th task scheduled on a particular machine. + * + * @param machine Machine on which the task to retrieve is scheduled. + * @param taskIndex Index of the task in the queue for this machine. + * @return The i-th task scheduled on a machine. + */ + public Task getTaskOfMachine(int machine, int taskIndex) { + return tasksByMachine[machine][taskIndex]; + } + /** Exchange the order of two tasks that are scheduled on a given machine. * * @param machine Machine on which the two tasks appear (line on which to perform the exchange)