Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
02/16/17 15:16:55 (7 years ago)
Author:
abeham
Message:

#2205: added results tab to solution view to analyze vrp solution in more detail

  • reorganized insertion infos and adapted some evaluators and instances
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/OptimizationNetworks/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPTWEvaluation.cs

    r14185 r14677  
    2020#endregion
    2121
     22using System;
     23using System.Globalization;
     24using System.Text;
    2225
    2326namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
    24   public class CVRPTWInsertionInfo : CVRPInsertionInfo {
    25     private double tourStartTime;
    26 
    27     public double TourStartTime {
    28       get { return tourStartTime; }
    29     }
     27  public class CVRPTWStopInsertionInfo : CVRPStopInsertionInfo {
    3028
    3129    private double arrivalTime;
     
    5351    }
    5452
    55     public CVRPTWInsertionInfo(int start, int end, double spareCapacity, double tourStartTime, double arrivalTime, double leaveTime, double spareTime, double waitingTime)
    56       : base(start, end, spareCapacity) {
    57       this.tourStartTime = tourStartTime;
     53    public CVRPTWStopInsertionInfo(int start, int end, double distance, double spareCapacity, double arrivalTime, double leaveTime, double spareTime, double waitingTime)
     54      : base(start, end, distance, spareCapacity) {
    5855      this.arrivalTime = arrivalTime;
    5956      this.leaveTime = leaveTime;
    6057      this.spareTime = spareTime;
    6158      this.waitingTime = waitingTime;
     59    }
     60
     61    protected override void GetStopInsertionReport(StringBuilder builder) {
     62      base.GetStopInsertionReport(builder);
     63      builder.Append("SpareTime:\t");
     64      builder.AppendLine(SpareTime.ToString(CultureInfo.CurrentCulture));
     65      builder.Append("ArrivalTime:\t");
     66      builder.AppendLine(ArrivalTime.ToString(CultureInfo.CurrentCulture));
     67      builder.Append("WaitingTime:\t");
     68      builder.AppendLine(Math.Max(0, WaitingTime).ToString(CultureInfo.CurrentCulture));
     69      builder.Append("LeaveTime:\t");
     70      builder.AppendLine(LeaveTime.ToString(CultureInfo.CurrentCulture));
     71    }
     72  }
     73
     74  public class CVRPTWTourInsertionInfo : CVRPTourInsertionInfo {
     75    private double tourStartTime;
     76
     77    public double TourStartTime {
     78      get { return tourStartTime; }
     79    }
     80
     81    public CVRPTWTourInsertionInfo(int vehicle, double capacity, double tourStartTime)
     82      : base(vehicle, capacity) {
     83      this.tourStartTime = tourStartTime;
     84    }
     85
     86    protected override void GetTourInsertionReport(StringBuilder builder) {
     87      base.GetTourInsertionReport(builder);
     88      builder.Append("Tour start:\t");
     89      builder.AppendLine(TourStartTime.ToString(CultureInfo.CurrentCulture));
    6290    }
    6391  }
     
    6694    public double Tardiness { get; set; }
    6795    public double TravelTime { get; set; }
     96
     97    protected override void GetEvaluationReport(StringBuilder builder) {
     98      base.GetEvaluationReport(builder);
     99      builder.Append("TravelTime:\t");
     100      builder.AppendLine(TravelTime.ToString(CultureInfo.CurrentCulture));
     101      builder.Append("Tardiness:\t");
     102      builder.AppendLine(Tardiness.ToString(CultureInfo.CurrentCulture));
     103    }
    68104  }
    69105}
Note: See TracChangeset for help on using the changeset viewer.