Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/10/11 17:25:35 (13 years ago)
Author:
jhelm
Message:

#1329: Implemented PriorityRulesVector based encoding and added new operators to the JSMEncoding. Added Gantt-Charts for visualization of schedules and problems.

File:
1 edited

Legend:

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

    r6121 r6177  
    3030using HeuristicLab.Common;
    3131
    32 //ATTENTION! This class may have lots of parallels with the HeuristicLab.Problems.Scheduling.JSSPJob class.
    33 
    3432namespace HeuristicLab.Problems.Scheduling {
    3533  [Item("Resource Class", "Represents a resource used in scheduling problems.")]
    3634  [StorableClass]
    37   public class Resource : ParameterizedNamedItem {
     35  public class Resource : IndexedTaskList {
    3836    [StorableConstructor]
    3937    protected Resource(bool deserializing) : base(deserializing) { }
    4038    protected Resource(Resource original, Cloner cloner)
    4139      : base(original, cloner) {
    42       this.ResourceIndex = cloner.Clone(original.ResourceIndex);
    43       this.Tasks = cloner.Clone(original.Tasks);
    4440    }
    4541    public override IDeepCloneable Clone(Cloner cloner) {
     
    4743    }
    4844
    49     #region Parameter Properties
    50     public ValueParameter<IntValue> ResourceIndexParameter {
    51       get { return (ValueParameter<IntValue>)Parameters["ResourceIndex"]; }
    52     }
    53     public ValueParameter<ItemList<Task>> TasksParameter {
    54       get { return (ValueParameter<ItemList<Task>>)Parameters["Tasks"]; }
    55     }
    56     #endregion
    57 
    58     #region Properties
    59     public IntValue ResourceIndex {
    60       get { return ResourceIndexParameter.Value; }
    61       set { ResourceIndexParameter.Value = value; }
    62     }
    63     public ItemList<Task> Tasks {
    64       get { return TasksParameter.Value; }
    65       set { TasksParameter.Value = value; }
    66     }
    6745    public DoubleValue TotalDuration {
    6846      get {
     
    7351      }
    7452    }
    75     #endregion
    7653
    77 
    78     public Resource(IntValue ri) {
    79       Parameters.Add(new ValueParameter<IntValue>("ResourceIndex", "The index of the resource in the associated Scheduling Problem.", new IntValue()));
    80       Parameters.Add(new ValueParameter<ItemList<Task>>("Tasks", "Taskdata defining duration, start-time and resource assignment of the tasks.", new ItemList<Task>()));
    81 
    82       ResourceIndex = ri;
    83       Tasks = new ItemList<Task>();
    84     }
    85 
     54    public Resource(IntValue index) : base (index) { }
    8655
    8756    public override string ToString() {
    8857      StringBuilder sb = new StringBuilder();
    89       sb.Append("Job" + ResourceIndex + " [ ");
    90       foreach (Task t in Tasks) {
     58      sb.Append("Resource#" + Index + " [ ");
     59      foreach (JSSPTask t in Tasks) {
    9160        sb.Append(t.ToString() + " ");
    9261      }
     
    9463      return sb.ToString();
    9564    }
    96 
    9765  }
    9866}
Note: See TracChangeset for help on using the changeset viewer.