Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/14/11 14:53:14 (13 years ago)
Author:
jhelm
Message:

#1329: Did some minor changes affecting datatypes.

Location:
branches/Scheduling/HeuristicLab.Problems.Scheduling/3.3/Decoders
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/Scheduling/HeuristicLab.Problems.Scheduling/3.3/Decoders/GTAlgorithmUtils.cs

    r6406 r6412  
    3131      foreach (Job j in jobData) {
    3232        foreach (Task t in j.Tasks) {
    33           if (!t.IsScheduled.Value) {
     33          if (!t.IsScheduled) {
    3434            result.Add(t);
    3535            break;
     
    5656      result.Add(conflictedTask);
    5757      foreach (Task t in earliestTasksList) {
    58         if (t.ResourceNr.Value == conflictedTask.ResourceNr.Value) {
     58        if (t.ResourceNr == conflictedTask.ResourceNr) {
    5959          if (ComputeEarliestStartTime(t, schedule) < conflictedCompletionTime)
    6060            result.Add(t);
     
    6565
    6666    public static double ComputeEarliestStartTime(Task t, Schedule schedule) {
    67       ScheduledTask previousTask = schedule.GetLastScheduledTaskForJobNr(t.JobNr.Value);
    68       Resource affectedResource = schedule.Resources[t.ResourceNr.Value];
    69       double lastMachineEndTime = affectedResource.TotalDuration.Value;
     67      ScheduledTask previousTask = schedule.GetLastScheduledTaskForJobNr(t.JobNr);
     68      Resource affectedResource = schedule.Resources[t.ResourceNr];
     69      double lastMachineEndTime = affectedResource.TotalDuration;
    7070      double previousJobTaskEndTime = 0;
    7171      if (previousTask != null)
    72         previousJobTaskEndTime = previousTask.EndTime.Value;
     72        previousJobTaskEndTime = previousTask.EndTime;
    7373
    7474      return Math.Max(previousJobTaskEndTime, lastMachineEndTime);
    7575    }
    7676    public static double ComputeEarliestCompletionTime(Task t, Schedule schedule) {
    77       return ComputeEarliestStartTime(t, schedule) + t.Duration.Value;
     77      return ComputeEarliestStartTime(t, schedule) + t.Duration;
    7878    }
    7979  }
  • branches/Scheduling/HeuristicLab.Problems.Scheduling/3.3/Decoders/JSMDecoder.cs

    r6406 r6412  
    8686      //scan conflictSet for given solutionCandidate, and return if found
    8787      foreach (Task t in conflictSet) {
    88         if (t.JobNr.Value == solutionCandidateJobNr)
     88        if (t.JobNr == solutionCandidateJobNr)
    8989          return t;
    9090      }
     
    9494      int newResolutionIndex = 0;
    9595
    96       while (newResolutionIndex < jsm[conflictedResourceNr].Length && jsm[conflictedResourceNr][newResolutionIndex] != result.JobNr.Value)
     96      while (newResolutionIndex < jsm[conflictedResourceNr].Length && jsm[conflictedResourceNr][newResolutionIndex] != result.JobNr)
    9797        newResolutionIndex++;
    98       ApplyForcingStrategy(jsm, conflictedResourceNr, newResolutionIndex, progressOnConflictedResource, result.JobNr.Value);
     98      ApplyForcingStrategy(jsm, conflictedResourceNr, newResolutionIndex, progressOnConflictedResource, result.JobNr);
    9999
    100100      return result;
     
    108108        for (int i = progress; i < resource.Length; i++) {
    109109          int j = 0;
    110           while (j < conflictSet.Count && conflictSet[j].JobNr.Value != resource[i])
     110          while (j < conflictSet.Count && conflictSet[j].JobNr != resource[i])
    111111            j++;
    112112
     
    145145      foreach (Job j in jobs) {
    146146        foreach (Task t in j.Tasks) {
    147           t.IsScheduled.Value = false;
     147          t.IsScheduled = false;
    148148        }
    149149      }
     
    155155        //STEP 1 - Get earliest not scheduled operation with minimal earliest completing time
    156156        Task minimal = GTAlgorithmUtils.GetTaskWithMinimalEC(earliestTasksList, resultingSchedule);
    157         int conflictedResourceNr = minimal.ResourceNr.Value;
     157        int conflictedResourceNr = minimal.ResourceNr;
    158158        Resource conflictedResource = resultingSchedule.Resources[conflictedResourceNr];
    159159
     
    166166
    167167        //STEP 4 - Add the selected task to the current schedule
    168         selectedTask.IsScheduled.Value = true;
     168        selectedTask.IsScheduled = true;
    169169        double startTime = GTAlgorithmUtils.ComputeEarliestStartTime(selectedTask, resultingSchedule);
    170         resultingSchedule.ScheduleTask(selectedTask.ResourceNr.Value, startTime, selectedTask.Duration.Value, selectedTask.JobNr.Value);
     170        resultingSchedule.ScheduleTask(selectedTask.ResourceNr, startTime, selectedTask.Duration, selectedTask.JobNr);
    171171
    172172        //STEP 5 - Back to STEP 1
  • branches/Scheduling/HeuristicLab.Problems.Scheduling/3.3/Decoders/PRVDecoder.cs

    r6406 r6412  
    7272      Task currentResult = RandomRule(tasks);
    7373      foreach (Task t in tasks) {
    74         if (t.Duration.Value < currentResult.Duration.Value)
     74        if (t.Duration < currentResult.Duration)
    7575          currentResult = t;
    7676      }
     
    8282      Task currentResult = RandomRule(tasks);
    8383      foreach (Task t in tasks) {
    84         if (t.Duration.Value > currentResult.Duration.Value)
     84        if (t.Duration > currentResult.Duration)
    8585          currentResult = t;
    8686      }
     
    9494      foreach (Task t in tasks) {
    9595        double remainingProcessingTime = 0;
    96         foreach (Task jt in jobs[t.JobNr.Value].Tasks) {
    97           if (!jt.IsScheduled.Value)
    98             remainingProcessingTime += jt.Duration.Value;
     96        foreach (Task jt in jobs[t.JobNr].Tasks) {
     97          if (!jt.IsScheduled)
     98            remainingProcessingTime += jt.Duration;
    9999        }
    100100        if (remainingProcessingTime > currentLargestRemainingProcessingTime) {
     
    112112      foreach (Task t in tasks) {
    113113        double remainingProcessingTime = 0;
    114         foreach (Task jt in jobs[t.JobNr.Value].Tasks) {
    115           if (!jt.IsScheduled.Value)
    116             remainingProcessingTime += jt.Duration.Value;
     114        foreach (Task jt in jobs[t.JobNr].Tasks) {
     115          if (!jt.IsScheduled)
     116            remainingProcessingTime += jt.Duration;
    117117        }
    118118        if (remainingProcessingTime < currentSmallestRemainingProcessingTime) {
     
    130130      foreach (Task t in tasks) {
    131131        int nrOfRemainingTasks = 0;
    132         foreach (Task jt in jobs[t.JobNr.Value].Tasks) {
    133           if (!jt.IsScheduled.Value)
     132        foreach (Task jt in jobs[t.JobNr].Tasks) {
     133          if (!jt.IsScheduled)
    134134            nrOfRemainingTasks++;
    135135        }
     
    148148      foreach (Task t in tasks) {
    149149        int nrOfRemainingTasks = 0;
    150         foreach (Task jt in jobs[t.JobNr.Value].Tasks) {
    151           if (!jt.IsScheduled.Value)
     150        foreach (Task jt in jobs[t.JobNr].Tasks) {
     151          if (!jt.IsScheduled)
    152152            nrOfRemainingTasks++;
    153153        }
     
    218218      foreach (Job j in jobs) {
    219219        foreach (Task t in j.Tasks) {
    220           t.IsScheduled.Value = false;
     220          t.IsScheduled = false;
    221221        }
    222222      }
     
    235235        //STEP 3 - Select an operation from the conflict set (various methods depending on how the algorithm should work..)
    236236        //Task selectedTask = SelectTaskFromConflictSet(conflictSet, solution.PriorityRulesVector [currentDecisionIndex++], solution.NrOfRules.Value);
    237         Task selectedTask = SelectTaskFromConflictSet(conflictSet, solution.PriorityRulesVector[minimal.JobNr.Value], solution.NrOfRules.Value);
     237        Task selectedTask = SelectTaskFromConflictSet(conflictSet, solution.PriorityRulesVector[minimal.JobNr], solution.NrOfRules.Value);
    238238
    239239        //STEP 4 - Adding the selected operation to the current schedule
    240         selectedTask.IsScheduled.Value = true;
     240        selectedTask.IsScheduled = true;
    241241        double startTime = GTAlgorithmUtils.ComputeEarliestStartTime(selectedTask, resultingSchedule);
    242         resultingSchedule.ScheduleTask(selectedTask.ResourceNr.Value, startTime, selectedTask.Duration.Value, selectedTask.JobNr.Value);
     242        resultingSchedule.ScheduleTask(selectedTask.ResourceNr, startTime, selectedTask.Duration, selectedTask.JobNr);
    243243
    244244        //STEP 5 - Back to STEP 1
  • branches/Scheduling/HeuristicLab.Problems.Scheduling/3.3/Decoders/PWRDecoder.cs

    r6406 r6412  
    6060      foreach (int jobNr in solution.PermutationWithRepetition) {
    6161        int i = 0;
    62         while (jobs[jobNr].Tasks[i].IsScheduled.Value) i++;
     62        while (jobs[jobNr].Tasks[i].IsScheduled) i++;
    6363        Task currentTask = jobs[jobNr].Tasks[i];
    6464        double startTime = GTAlgorithmUtils.ComputeEarliestStartTime(currentTask, resultingSchedule);
    65         currentTask.IsScheduled.Value = true;
    66         resultingSchedule.ScheduleTask(currentTask.ResourceNr.Value, startTime, currentTask.Duration.Value, currentTask.JobNr.Value);
     65        currentTask.IsScheduled = true;
     66        resultingSchedule.ScheduleTask(currentTask.ResourceNr, startTime, currentTask.Duration, currentTask.JobNr);
    6767      }
    6868      return resultingSchedule;
Note: See TracChangeset for help on using the changeset viewer.