Package org.optaplanner.examples.cheaptime.domain

Examples of org.optaplanner.examples.cheaptime.domain.TaskAssignment


            TaskAssignment[] sandboxPillar = basePillar.toArray(new TaskAssignment[basePillar.size()]); // Clone to avoid changing basePillar
            List<TaskAssignment> subPillar = new ArrayList<TaskAssignment>(subPillarSize);
            int minimumAbsDiff = Integer.MAX_VALUE;
            for (int i = 0; i < subPillarSize; i++) {
                int index = i + workingRandom.nextInt(basePillarSize - i);
                TaskAssignment taskAssignment = sandboxPillar[index];
                Task task = taskAssignment.getTask();
                int absDiff = positive ? task.getStartPeriodRangeTo() - 1 - taskAssignment.getStartPeriod()
                        : taskAssignment.getStartPeriod() - task.getStartPeriodRangeFrom();
                if (absDiff < minimumAbsDiff) {
                    minimumAbsDiff = absDiff;
                }
                subPillar.add(taskAssignment);
                sandboxPillar[index] = sandboxPillar[i];
View Full Code Here


    public void beforeEntityAdded(Object entity) {
        // Do nothing
    }

    public void afterEntityAdded(Object entity) {
        TaskAssignment taskAssignment = (TaskAssignment) entity;
        // Do not do modifyMachine(taskAssignment, null, taskAssignment.getMachine());
        // because modifyStartPeriod does all it's effects too
        modifyStartPeriod(taskAssignment, null, taskAssignment.getStartPeriod());
    }
View Full Code Here

        // because modifyStartPeriod does all it's effects too
        modifyStartPeriod(taskAssignment, null, taskAssignment.getStartPeriod());
    }

    public void beforeVariableChanged(Object entity, String variableName) {
        TaskAssignment taskAssignment = (TaskAssignment) entity;
        if (variableName.equals("machine")) {
            oldMachine = taskAssignment.getMachine();
        } else if (variableName.equals("startPeriod")) {
            oldStartPeriod = taskAssignment.getStartPeriod();
        } else {
            throw new IllegalArgumentException("The variableName (" + variableName + ") is not supported.");
        }
    }
View Full Code Here

            throw new IllegalArgumentException("The variableName (" + variableName + ") is not supported.");
        }
    }

    public void afterVariableChanged(Object entity, String variableName) {
        TaskAssignment taskAssignment = (TaskAssignment) entity;
        if (variableName.equals("machine")) {
            modifyMachine(taskAssignment, oldMachine, taskAssignment.getMachine());
        } else if (variableName.equals("startPeriod")) {
            modifyStartPeriod(taskAssignment, oldStartPeriod, taskAssignment.getStartPeriod());
        } else {
            throw new IllegalArgumentException("The variableName (" + variableName + ") is not supported.");
        }
    }
View Full Code Here

            throw new IllegalArgumentException("The variableName (" + variableName + ") is not supported.");
        }
    }

    public void beforeEntityRemoved(Object entity) {
        TaskAssignment taskAssignment = (TaskAssignment) entity;
        oldMachine = taskAssignment.getMachine();
        oldStartPeriod = taskAssignment.getStartPeriod();
    }
View Full Code Here

        oldMachine = taskAssignment.getMachine();
        oldStartPeriod = taskAssignment.getStartPeriod();
    }

    public void afterEntityRemoved(Object entity) {
        TaskAssignment taskAssignment = (TaskAssignment) entity;
        // Do not do modifyMachine(taskAssignment, oldMachine, null);
        // because modifyStartPeriod does all it's effects too
        modifyStartPeriod(taskAssignment, oldStartPeriod, null);
    }
View Full Code Here

        private void createTaskAssignmentList() {
            List<Task> taskList = solution.getTaskList();
            List<TaskAssignment> taskAssignmentList = new ArrayList<TaskAssignment>(taskList.size());
            for (Task task : taskList) {
                TaskAssignment taskAssignment = new TaskAssignment();
                taskAssignment.setId(task.getId());
                taskAssignment.setTask(task);
                // Notice that we leave the PlanningVariable properties on null
                taskAssignmentList.add(taskAssignment);
            }
            solution.setTaskAssignmentList(taskAssignmentList);
        }
View Full Code Here

TOP

Related Classes of org.optaplanner.examples.cheaptime.domain.TaskAssignment

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.