1 | //using HeuristicLab.Algorithms.GeneticAlgorithm;
|
---|
2 | //using HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm;
|
---|
3 | //using HeuristicLab.Common;
|
---|
4 | //using HeuristicLab.Core;
|
---|
5 | //using HeuristicLab.Core.Networks;
|
---|
6 | //using HeuristicLab.Data;
|
---|
7 | //using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
|
---|
8 |
|
---|
9 | //namespace HeuristicLab.Networks.IntegratedOptimization {
|
---|
10 | // [Item("TtpNetwork", "An optimization network for the TTP.")]
|
---|
11 | // [Creatable("Optimization Networks")]
|
---|
12 | // [StorableClass]
|
---|
13 | // // partial ttp
|
---|
14 | // // User-defined variegation (exchange all cities with all deselected cities)
|
---|
15 | // // 1) best ksp
|
---|
16 | // // 2) best reduced tsp
|
---|
17 | // // 3) local optimization of tour
|
---|
18 | // // 4) if better quality, then increase ksp values for items found in better city
|
---|
19 | // public sealed class TtpNetwork : Network {
|
---|
20 | // [StorableConstructor]
|
---|
21 | // private TtpNetwork(bool deserializing) : base(deserializing) { }
|
---|
22 | // private TtpNetwork(TtpNetwork original, Cloner cloner) : base(original, cloner) { }
|
---|
23 | // public TtpNetwork() : base("TtpNetwork") {
|
---|
24 | // var orchestratorNode = new TtpOrchestratorNode1();
|
---|
25 | // Nodes.Add(orchestratorNode);
|
---|
26 |
|
---|
27 | // var tspSolverNode = new OrchestratedAlgorithmNode("TspSolver");
|
---|
28 | // tspSolverNode.Algorithm = new OffspringSelectionGeneticAlgorithm();
|
---|
29 | // tspSolverNode.Algorithm.Problem = orchestratorNode.TspParameter.Value;
|
---|
30 | // orchestratorNode.TspSolverOrchestrationPort.ConnectedPort = tspSolverNode.OrchestrationPort;
|
---|
31 | // Nodes.Add(tspSolverNode);
|
---|
32 |
|
---|
33 | // var kspSolverNode = new OrchestratedAlgorithmNode("KspSolver");
|
---|
34 | // kspSolverNode.Algorithm = new GeneticAlgorithm();
|
---|
35 | // kspSolverNode.Algorithm.Problem = orchestratorNode.KspParameter.Value;
|
---|
36 | // orchestratorNode.KspSolverOrchestrationPort.ConnectedPort = kspSolverNode.OrchestrationPort;
|
---|
37 | // Nodes.Add(kspSolverNode);
|
---|
38 |
|
---|
39 | // #region Import
|
---|
40 | // DoubleMatrix tspCoordinates;
|
---|
41 | // IntValue kspCapacity; IntArray kspItemWeights; IntArray kspItemValues;
|
---|
42 | // IntArray ttpAvailability; DoubleValue ttpMinSpeed; DoubleValue ttpMaxSpeed; DoubleValue ttpRentingRatio;
|
---|
43 | // TtpImporter.ImportTtpInstance(@"ttp-instances\berlin52-ttp\berlin52_n51_uncorr_01.ttp",
|
---|
44 | // out tspCoordinates,
|
---|
45 | // out kspCapacity, out kspItemValues, out kspItemWeights,
|
---|
46 | // out ttpAvailability, out ttpMinSpeed, out ttpMaxSpeed, out ttpRentingRatio);
|
---|
47 |
|
---|
48 | // var tsp = orchestratorNode.TspParameter.Value;
|
---|
49 | // tsp.Coordinates = tspCoordinates;
|
---|
50 | // var ksp = orchestratorNode.KspParameter.Value;
|
---|
51 | // ksp.KnapsackCapacity = kspCapacity;
|
---|
52 | // ksp.Penalty.Value = ksp.KnapsackCapacity.Value;
|
---|
53 | // ksp.Values = kspItemValues;
|
---|
54 | // ksp.Weights = kspItemWeights;
|
---|
55 |
|
---|
56 | // orchestratorNode.AvailabilityParameter.Value = ttpAvailability;
|
---|
57 | // orchestratorNode.MinSpeedParameter.Value = ttpMinSpeed;
|
---|
58 | // orchestratorNode.MaxSpeedParameter.Value = ttpMaxSpeed;
|
---|
59 | // orchestratorNode.RentingRatioParameter.Value = ttpRentingRatio;
|
---|
60 | // #endregion
|
---|
61 | // }
|
---|
62 |
|
---|
63 | // public override IDeepCloneable Clone(Cloner cloner) {
|
---|
64 | // return new TtpNetwork(this, cloner);
|
---|
65 | // }
|
---|
66 | // }
|
---|
67 | //}
|
---|