Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
07/12/17 21:07:36 (7 years ago)
Author:
abeham
Message:

#2696, #2790: merged revisions 15072, 15083, 15168 to stable

Location:
stable
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • stable

  • stable/HeuristicLab.Problems.VehicleRouting

  • stable/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MultiDepotVRPProblemInstance.cs

    r14186 r15219  
    2020#endregion
    2121
     22using System;
    2223using System.Collections.Generic;
    2324using System.Linq;
     
    174175    [StorableConstructor]
    175176    protected MultiDepotVRPProblemInstance(bool deserializing) : base(deserializing) { }
    176 
     177    protected MultiDepotVRPProblemInstance(MultiDepotVRPProblemInstance original, Cloner cloner)
     178      : base(original, cloner) {
     179      AttachEventHandlers();
     180    }
    177181    public MultiDepotVRPProblemInstance() {
    178182      Parameters.Add(new ValueParameter<IntValue>("Depots", "The number of depots", new IntValue(0)));
    179183      Parameters.Add(new ValueParameter<IntArray>("VehicleDepotAssignment", "The assignment of vehicles to depots", new IntArray()));
     184      AttachEventHandlers();
    180185    }
    181186
     
    184189    }
    185190
    186     protected MultiDepotVRPProblemInstance(MultiDepotVRPProblemInstance original, Cloner cloner)
    187       : base(original, cloner) {
    188     }
     191    [StorableHook(HookType.AfterDeserialization)]
     192    private void AfterDeserialization() {
     193      AttachEventHandlers();
     194    }
     195
     196    private void AttachEventHandlers() {
     197      DepotsParameter.ValueChanged += DepotsParameter_ValueChanged;
     198      Depots.ValueChanged += Depots_ValueChanged;
     199      VehicleDepotAssignmentParameter.ValueChanged += VehicleDepotAssignmentParameter_ValueChanged;
     200      VehicleDepotAssignment.Reset += VehicleDepotAssignment_Changed;
     201      VehicleDepotAssignment.ItemChanged += VehicleDepotAssignment_Changed;
     202    }
     203
     204    #region Event handlers
     205    private void DepotsParameter_ValueChanged(object sender, EventArgs e) {
     206      Depots.ValueChanged += Depots_ValueChanged;
     207      EvalBestKnownSolution();
     208    }
     209    private void Depots_ValueChanged(object sender, EventArgs e) {
     210      EvalBestKnownSolution();
     211    }
     212    private void VehicleDepotAssignmentParameter_ValueChanged(object sender, EventArgs e) {
     213      VehicleDepotAssignment.Reset += VehicleDepotAssignment_Changed;
     214      VehicleDepotAssignment.ItemChanged += VehicleDepotAssignment_Changed;
     215      EvalBestKnownSolution();
     216    }
     217    private void VehicleDepotAssignment_Changed(object sender, EventArgs e) {
     218      EvalBestKnownSolution();
     219    }
     220    #endregion
    189221  }
    190222}
Note: See TracChangeset for help on using the changeset viewer.