- Timestamp:
- 05/10/11 17:25:35 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/Scheduling/HeuristicLab.Problems.Scheduling/3.3/Resource.cs
r6121 r6177 30 30 using HeuristicLab.Common; 31 31 32 //ATTENTION! This class may have lots of parallels with the HeuristicLab.Problems.Scheduling.JSSPJob class.33 34 32 namespace HeuristicLab.Problems.Scheduling { 35 33 [Item("Resource Class", "Represents a resource used in scheduling problems.")] 36 34 [StorableClass] 37 public class Resource : ParameterizedNamedItem{35 public class Resource : IndexedTaskList { 38 36 [StorableConstructor] 39 37 protected Resource(bool deserializing) : base(deserializing) { } 40 38 protected Resource(Resource original, Cloner cloner) 41 39 : base(original, cloner) { 42 this.ResourceIndex = cloner.Clone(original.ResourceIndex);43 this.Tasks = cloner.Clone(original.Tasks);44 40 } 45 41 public override IDeepCloneable Clone(Cloner cloner) { … … 47 43 } 48 44 49 #region Parameter Properties50 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 #endregion57 58 #region Properties59 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 }67 45 public DoubleValue TotalDuration { 68 46 get { … … 73 51 } 74 52 } 75 #endregion76 53 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) { } 86 55 87 56 public override string ToString() { 88 57 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) { 91 60 sb.Append(t.ToString() + " "); 92 61 } … … 94 63 return sb.ToString(); 95 64 } 96 97 65 } 98 66 }
Note: See TracChangeset
for help on using the changeset viewer.